Difference between revisions of "RandomLua"
Line 1: | Line 1: | ||
− | math.random give different numbers on different platforms. | + | math.random used to give different numbers on different platforms. |
− | Since I | + | Since I didn't intend to compile C code for every platform, I decided to create a Pure Lua Random Generator (probably another one...). |
+ | |||
+ | This is not true anymore, but the library still remains for the curious and those who want to try different pseudo-random generators. | ||
3 algorithms: | 3 algorithms: | ||
− | * Mersenne twister [http://en.wikipedia.org/wiki/Mersenne_twister], very good and slow | + | * Mersenne twister [http://en.wikipedia.org/wiki/Mersenne_twister], very good and slow. |
− | * Multiply-with-carry [http://en.wikipedia.org/wiki/Multiply-with-carry], probably the best option | + | * Multiply-with-carry [http://en.wikipedia.org/wiki/Multiply-with-carry], probably the best option. |
* Linear congruential generator [http://en.wikipedia.org/wiki/Linear_congruential_generator], fast and, well, it works... kind of. | * Linear congruential generator [http://en.wikipedia.org/wiki/Linear_congruential_generator], fast and, well, it works... kind of. | ||
MWC and LCG come with 3 pre-defined parameters. | MWC and LCG come with 3 pre-defined parameters. | ||
− | + | [http://love2d.org/forums/viewtopic.php?f=5&t=3424 Original Thread] | |
+ | [https://github.com/linux-man/randomlua Download] | ||
− | {{#set:LOVE Version= | + | {{#set:LOVE Version=Any}} |
{{#set:Description= Random numbers generator for all platforms}} | {{#set:Description= Random numbers generator for all platforms}} | ||
[[Category:Libraries]] | [[Category:Libraries]] |
Revision as of 19:42, 1 May 2016
math.random used to give different numbers on different platforms. Since I didn't intend to compile C code for every platform, I decided to create a Pure Lua Random Generator (probably another one...).
This is not true anymore, but the library still remains for the curious and those who want to try different pseudo-random generators.
3 algorithms:
- Mersenne twister [1], very good and slow.
- Multiply-with-carry [2], probably the best option.
- Linear congruential generator [3], fast and, well, it works... kind of.
MWC and LCG come with 3 pre-defined parameters.