Commit Graph

36 Commits

Author SHA1 Message Date
3bf2c2205d random: use decltype for choose return type
This simplifies support for const-ref arguments
2020-12-14 13:08:39 +10:00
f091e97f11 random: prefer internal uniform distributions 2020-11-12 11:08:11 +10:00
5d585d405f random: add a generator parameter overload of uniform(ValueT) 2020-11-06 12:27:55 +10:00
34270e5b8f rand: prefer our own generators 2020-08-18 07:20:26 +10:00
c64cd2eb29 build: don't fully qualify the installation path 2019-06-18 15:12:49 +10:00
14e1e7e7c1 random: choose should return iterators/pointers 2019-05-26 10:11:01 +10:00
b5fdedfe5e random: add 0-to-n uniform convenience function 2019-05-13 16:16:14 +10:00
831b02c907 random: add an explicit generator parameter for container choice 2019-05-12 14:34:53 +10:00
9a8679c733 random: materialise the offset temporary for container choose
This helps a little in some debugging situations and isn't terrifically
expensive.
2019-05-12 11:31:29 +10:00
98705a61c9 random: add container random choice 2019-05-12 11:04:36 +10:00
7b2ae1029c random: clarify the intervals for 'uniform' calls 2019-04-11 11:49:16 +10:00
6f440d0bcf random: generate rather than fill coordinate types 2019-04-10 14:06:35 +10:00
6142f7fb1d random: separate the generator initialisation code 2019-02-21 20:53:32 +11:00
54ec225a5a random: don't use default_random_engine by default 2019-02-09 14:57:22 +11:00
c7eb82c993 random: use decltype auto for wrapper functions 2018-11-28 15:24:01 +11:00
210c963d9f geom: remove template templates from geom::sampler 2018-11-19 15:36:29 +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
5dadd8eb38 random: add coord generator 2018-05-30 14:33:31 +10:00
d21b7809dd random: add unit float and ranged int generator 2018-05-30 14:33:17 +10:00
a90ce0920f random: use more robust seeding strategy 2018-05-30 14:32:39 +10:00
1350ea93c7 random: don't hardcode mt19937 2018-05-03 21:22:05 +10:00
0351313c36 Merge branch 'master' into coord 2017-11-23 17:24:11 +11:00
d3f434b523 coord: make template parameters more flexible
The coordinate system was unable to support types that prohibited
redim or retype operations. Additionally, the `tags' type used for
providing named data parameters was unwiedly.

We remove much of the dependance on template template parameters in the
defined operations and instead define these in terms of a template
specialisation of is_coord.

The tag types were replaced with direct specialisation of the `store'
struct by the primary type, and passing this type through use of the
CRTP.
2017-11-22 17:03:00 +11:00
d67a990de3 random: add uniform integer generator for whole range 2017-09-21 15:59:03 +10:00
b04f0b0c9e random: threadlocal generator should be inline
this avoids multiply defined symbols
2017-09-21 15:58:55 +10:00
b2cf1ae188 random: add forgotten template param to distributions 2017-08-28 16:02:04 +10:00
107947899c random: remove generator choice from easy API
it's supposed to be an easy replacement for std::rand, we don't need to
let the user choose their generator.
2017-08-28 14:12:36 +10:00
246357e279 random: remove typed randomisers without generators 2016-11-17 18:38:08 +11:00
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
ea36bae110 whitespace 2015-04-01 17:05:13 +11:00
d6c0a821f4 Add choose implementation for fixed size arrays 2013-08-06 12:24:00 +10:00
db6c603517 Add array randomisation helper routine 2012-05-22 14:13:07 +10:00
77942e008d Change my email to an active domain 2012-04-23 13:10:50 +10:00
f07dda9116 Add a random choice from container function 2012-01-04 17:03:27 +11:00
7d32257fa2 Add randomisation helper functions 2011-09-13 15:13:55 +10:00