Commit Graph

17 Commits

Author SHA1 Message Date
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