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