5cea4fb7b5
rand/dist/uniform: avoid sign comparison warning in assertion
2020-11-12 13:08:11 +10:00
f116422086
rand: add uniform distribution routines
2020-11-12 11:07:53 +10:00
82d3c36ebd
rand/xoshiro: simplify state initialisation from seed_seq
2020-11-12 11:07:14 +10:00
7185af7961
rand/xoshiro: use a std::array to store the state
...
This makes it marginally easier to work use with std algorithms
2020-11-12 11:06:28 +10:00
34270e5b8f
rand: prefer our own generators
2020-08-18 07:20:26 +10:00
5f4c95aa11
rand/xoshiro: add a std::seed_seq constructor
2020-08-18 07:19:55 +10:00
fde275feb2
rand: add xoshiro256plusplus generator
2020-08-17 14:30:55 +10:00
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