Template:Random number/testcases

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Testing sandbox version compared to main version

[edit source]
Clic purge to get new ouputs.
Code Result with sandbox template Result with main template Note
{{Random number}} 33 33 default parameters (results range is 0..99)
{{Random number|100|184|67}} 33 (ok) 33 (ok) should be same as above (the default seed depends on current day of year, the default prime is 67)
{{Random number|10000}} 1633 1633 new parameters (results range in 0..9999)
{{Random number|10000|184|67}} 1633 (ok) 1633 (ok) Should be same as above
{{Random number|10000|184|61}} 4465 4465 (use another prime) this and others should all be different
{{Random number|10000|6}} 9707 9707 (varying the seed) note that the sequence is linear but the distance only depends on the value of the default prime (67)
{{Random number|10000|5}} 9640 9640
{{Random number|10000|4}} 9573 9573
{{Random number|10000|3}} 9506 9506
{{Random number|10000|2}} 9439 9439
{{Random number|10000|1}} 9372 9372
{{Random number|10000|0}} 9305 9305
{{Random number|10000|6|2}} 5365 5365 (varying the seed) with a small prime (2) should still get distinct values in the linear sequence
{{Random number|10000|5|2}} 5363 5363
{{Random number|10000|4|2}} 5361 5361
{{Random number|10000|3|2}} 5359 5359
{{Random number|10000|2|2}} 5357 5357
{{Random number|10000|1|2}} 5355 5355 (varying now the prime number) should get distinct non-linear sequences
{{Random number|10000|1|3}} 8032 8032
{{Random number|10000|1|5}} 3386 3386
{{Random number|10000|1|7}} 8743 8743
{{Random number|10000|1|11}} 9454 9454
{{Random number|10000|1|13}} 4802 4802
{{Random number|10000|1|17}} 5518 5518
{{Random number|10000|1|19}} 874 874
{{Random number|10000|1|23}} 1572 1572
{{Random number|10000|1|29}} 7645 7645
{{Random number|10000|1|31}} 3000 3000
{{Random number|10000|1|37}} 9059 9059
{{Random number|10000|1|41}} 9775 9775
{{Random number|10000|1|43}} 5138 5138
{{Random number|10000|1|47}} 5853 5853
{{Random number|10000|1|51}} 6570 6570
{{Random number|10000|1|53}} 1903 1903
{{Random number|10000|1|59}} 7947 7947
{{Random number|10000|1|61}} 3302 3302
{{Random number|10000|1|67}} 9372 9372
{{Random number|10000|1|71}} 73 73
{{Random number|10000|1|73}} 5446 5446
{{Random number|10000|1|79}} 1541 1541

Sandbox notes

[edit source]

This version uses fmod builtin operator (no longer need of Template:Mod) and the largest Mersenne prime (231−1) that fits in 32 bits.

This Mersenne prime is chosen to offer equal distribution when reducing the number of digits (better than bitmasking by an exact power of 2).

The next Mersenne prime (261−1) is too large to fit in 64-bit integers for computing products by reasonable primes (we could only use 2, 3, 5 or 7), or even just in the 52 bits of precision of a double float (used by #expr).