Difference between revisions of "User:Spdskatr"
(Fun little wiki reference) |
(I just wrote a report. A god damn senior school analysis report. At least it looks professional.) |
||
Line 1: | Line 1: | ||
− | < | + | <nowiki><!-- {{Impressive |title=Visionary}} --></nowiki>'''Be humble, little one.''' |
− | <nowiki> | ||
− | '' | ||
− | + | ==Behind the code== | |
− | + | ===RNG=== | |
+ | <div style=text-align:center><b style="font-size:2em">How does [[Template:RNG]] work?</b></div> | ||
− | + | Technically, the template does not generate ''truly'' random numbers, just numbers random enough so that you won't be able to tell that it is ordered. It works by exploiting the special property of square numbers, such that the last digit can be easily predicted, but the middle digits are statistically random for high values. Therefore, my RNG works by chopping off the last digit of a continuously changing square number (created by the magic word <nowiki>{{REVISIONTIMESTAMP}}</nowiki>), and then mashing the numbers around so the different seeds are unlike, until finally using modulo(<code>mod</code>) to truncate the number within the limits specified. | |
− | + | This does mean that if you type limit=10000... you may find yourself disappointed at the randomness of your generated number. I will include a warning for any number greater than 1 000 000, as randomness may break down after that level. | |
− | |||
− | |||
− | + | <b style="font-size:1.5em">Example</b> | |
− | + | Starting number: 621 | |
− | + | Step 1. Square it: 385 641 | |
− | + | Step 2. Chop it up: 38 564 | |
− | + | Step 3. Multiply it by plasteel and add xerigium: 20 439 704 | |
− | + | ||
− | < | + | Step 4. Repeat step 3: 1 083 305 043 |
− | </ | + | |
+ | Step 5. Number from 1 to 100: 43 | ||
+ | |||
+ | <b style="font-size:1.5em">Discussion</b> | ||
+ | |||
+ | Coming soon... Here are a few dot points. | ||
+ | |||
+ | *Limits of MediaWiki language | ||
+ | **Strings and length | ||
+ | **Arrays | ||
+ | **Digital roots | ||
+ | *Advantages of MediaWiki language | ||
+ | **Simplicity | ||
+ | **Similarity to HTML | ||
+ | *Own limitations | ||
+ | **PHP coding & super admin privileges |
Revision as of 10:15, 14 December 2016
<!-- {{Impressive |title=Visionary}} -->Be humble, little one.
Behind the code
RNG
Technically, the template does not generate truly random numbers, just numbers random enough so that you won't be able to tell that it is ordered. It works by exploiting the special property of square numbers, such that the last digit can be easily predicted, but the middle digits are statistically random for high values. Therefore, my RNG works by chopping off the last digit of a continuously changing square number (created by the magic word {{REVISIONTIMESTAMP}}), and then mashing the numbers around so the different seeds are unlike, until finally using modulo(mod
) to truncate the number within the limits specified.
This does mean that if you type limit=10000... you may find yourself disappointed at the randomness of your generated number. I will include a warning for any number greater than 1 000 000, as randomness may break down after that level.
Example
Starting number: 621
Step 1. Square it: 385 641
Step 2. Chop it up: 38 564
Step 3. Multiply it by plasteel and add xerigium: 20 439 704
Step 4. Repeat step 3: 1 083 305 043
Step 5. Number from 1 to 100: 43
Discussion
Coming soon... Here are a few dot points.
- Limits of MediaWiki language
- Strings and length
- Arrays
- Digital roots
- Advantages of MediaWiki language
- Simplicity
- Similarity to HTML
- Own limitations
- PHP coding & super admin privileges