Commit Graph

25 Commits

Author SHA1 Message Date
4bd9ec982b rand: add the splitmix64 generator
This is the suggested initialiser for xoshiro256plusplus state.
2020-08-17 13:55:54 +10:00
e723684347 rdrand: silence a type conversion warning under clang 2019-07-29 11:20:09 +10:00
2089893124 rand/system_linux: avoid the 'linux' symbol as it's a platform define 2019-06-29 08:18:59 +10:00
3cace81ea5 rand/system;win32: add an RtlGenRandom generator 2019-06-20 16:58:32 +10:00
f86989bc67 rand/rdrand: add rdrand generator 2019-06-19 12:02:50 +10:00
3a83851e90 rand/system: add system generator for Linux 2019-06-19 12:02:40 +10:00
8beada1646 debug: split debug headers into components 2019-05-17 12:26:08 +10:00
35916e2854 rand/pcg: add pcg_xsh_rr generator 2019-02-21 20:53:58 +11:00
8f88569f61 rand: conform to the std generator concept 2019-02-21 20:53:07 +11:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
24a530e23e maths: remove pow2 function
pow2 has been used enough times to mean 2^x and x^2 that it's not worth
the ambiguity. just use pow(b,e) directly.
2018-04-09 12:30:22 +10:00
d0f075108e maths: remove gcd in favour of the std implementation 2018-03-11 15:21:36 +11:00
34788756d2 build: don't use './' as an include prefix
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
25e19b5810 build: use explicit constructors 2017-05-23 12:50:51 +10:00
353cf839d4 use nested namespace declarations 2017-01-05 15:06:49 +11:00
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
2bf3e3c431 rand/xorshift: add min/max/discard operations 2016-07-01 16:26:25 +10:00
138cac23fe rand/xorshift: throw on zero seed
zero seeds are a hard runtime error which shouldn't be compiled out in
release mode.
2016-07-01 16:25:48 +10:00
f741986c3f rand/xorshift: simplify result operator specialisations 2016-07-01 16:23:55 +10:00
325a7405b5 rand/lcg: add min/max/discard operations 2016-07-01 16:21:13 +10:00
2e700e6444 rand: add mwc64x generator 2016-06-30 18:20:57 +10:00
74fc943f53 build: quiesce type conversion warnings 2016-06-29 17:55:12 +10:00
c8afad1e5b rand/lcg: add naive LCG RNG 2016-02-03 12:13:03 +11:00
8841e9d055 rand/xorshift: add trivial xorshift RNG 2016-02-02 11:32:55 +11:00