474 Commits

Author SHA1 Message Date
Matt Borland dbd4281d89 Cast result to the proper result type 2026-03-04 10:17:21 -05:00
Matt Borland 88d6840a19 Cast arguments prior to taking abs 2025-12-02 12:39:36 +01:00
Matt Borland 66b201c12b Fix seed sequence constructor 2025-11-12 08:58:04 +01:00
Matt Borland 35a469e97a Replace branched assertions with single assertion to fix compile error 2025-10-29 14:45:08 +01:00
Matt Borland 852cb0e37b Improve performance of splitmix discard 2025-10-24 06:21:17 +02:00
Matt Borland 072c4c2dce Remove static from internal dists 2025-07-02 15:02:48 -04:00
Matt Borland 093554f4a7 Avoid re initializing the gamma distributions for each operator() call 2025-06-30 15:34:31 -04:00
Matt Borland 176a2775e7 Mark gamma_dist operator() as const 2025-06-30 15:22:28 -04:00
Matt Borland c98dc05550 Use do loop to avoid division by 0 2025-06-30 11:39:00 -04:00
Matt Borland c759809c22 Fix unused variable warning 2025-02-10 14:03:04 -05:00
Young Geun Kim 4f6fdb9dc7 Feature: Generalized inverse Gaussian random generator (#126)
* use Devroye instead of Hormann for GIG

* add gig header file

* add gig test

* move using declarations before member declaration

* move using into each function

* fix tab size and add init()

* add test to jamfile

* remove duplicate iostream operators

* fix formatting again

* add to docs

* remove static because they use non-static member

* add const in member functions

* remove duplicate test

* fix typo

* need dist3 in three parameter test

* specify test1 params

* missing using std::cosh

* sinh and cosh under c++11

* set arg3 different in test

* set test arg value different from the default

* add test3 to cover every line in gig

* remove uninitialized variables compile warning in gig operator

* did not add test3 mistakenly
2025-02-06 08:11:18 -05:00
Matt Borland 8378063ac7 Merge pull request #124 from ygeunkim/inverse-gaussian
Feature: Inverse gaussian random generator
2025-02-03 20:17:53 -05:00
Matt Borland efb6d03ed4 Use workaround for std::size() 2025-02-03 11:47:01 -05:00
Matt Borland e04c12c751 Add workaround for std::size being C++17 2025-02-03 11:42:54 -05:00
Matt Borland e9dbb6d160 Remove boost.range dependency 2025-02-03 10:56:12 -05:00
Matt Borland 534b10981e Remove dependency of Boost.Array and Boost.cstdint 2025-02-03 10:41:56 -05:00
Matt Borland 59bc72ab6c General formatting fixes 2025-02-03 09:52:20 -05:00
Matt Borland ea9e1d11b6 Remove duplicate iostream operators 2025-02-03 09:40:44 -05:00
Young Geun Kim db5b58bd72 remove using inside init 2025-02-02 16:52:22 +09:00
Young Geun Kim 473d4203c0 add precomputed variable 2025-02-02 16:43:54 +09:00
Young Geun Kim 631f7dfe2b add using random::inverse_gaussian_distribution as other headers 2025-02-01 20:54:41 +09:00
Young Geun Kim 1c8bd5bc66 fix misspecified iG algorithm 2025-02-01 18:36:00 +09:00
Young Geun Kim 1faf29e025 fix typo for explicit in inverse gaussian 2025-02-01 17:39:15 +09:00
Young Geun Kim 2b54d0fc6a add header includsion in random.hpp 2025-02-01 17:28:17 +09:00
Young Geun Kim c9749977c7 add inverse gaussian header 2025-02-01 12:47:59 +09:00
Matt Borland e00e4b27fe Fix -Wundef with new macro 2025-01-31 09:58:36 -05:00
Matt Borland 71ff3f6aaa Add configuration macro for C++17 hex float literals 2025-01-31 09:58:25 -05:00
Matt Borland 963d75cf55 Add xoshiro128f 2025-01-30 16:20:08 -05:00
Matt Borland 5151e91492 Correct floating point min and max values 2025-01-30 16:20:08 -05:00
Matt Borland 3ee4c9b8f5 Add xoshiro128mm 2025-01-30 16:20:08 -05:00
Matt Borland 2f809444dd Add xoshiro128pp 2025-01-30 16:20:08 -05:00
Matt Borland 61455d6818 Enable use of 32 bit family 2025-01-30 16:20:08 -05:00
Matt Borland e1b95577c4 Add 128 bit jump and long jump 2025-01-30 16:20:08 -05:00
Matt Borland c6bc559e5f Add xoshiro512d 2025-01-30 14:29:45 -05:00
Matt Borland ab5173817c Fix xoshiro256d min and max 2025-01-30 14:29:45 -05:00
Matt Borland 627db23d17 Add xoshiro512mm 2025-01-30 14:29:45 -05:00
Matt Borland a65d1f410a Add xoshiro512pp 2025-01-30 14:29:44 -05:00
Matt Borland fa075862ad Rename generators 2025-01-30 12:49:33 -05:00
Matt Borland 847f403afb Update xoshiro256_plus to return doubles instead of uint64_ts 2025-01-30 12:42:02 -05:00
Matt Borland aeb9659268 Replace macros with stricter template parameters 2025-01-30 11:11:54 -05:00
Matt Borland e7e70650ba Use base class constructors 2025-01-30 09:33:46 -05:00
Matt Borland 2974f039ee Switch to CTRP for performance improvements 2025-01-30 09:23:39 -05:00
Matt Borland 9b1190b1cc Add all rule of 5 overloads 2025-01-30 09:12:12 -05:00
Matt Borland 4c62a1b35e Fix conversion warning 2025-01-30 09:11:57 -05:00
Matt Borland 3d38bf3a8d Add copy constructor definitions to the derived classes 2025-01-30 08:48:01 -05:00
Matt Borland 7882436e98 Use pre-existing macros to define required functions 2025-01-30 08:29:44 -05:00
Matt Borland 5aa3db31fe Make explicit our rule of 5 instead of defaulting 2025-01-29 20:56:06 -05:00
Matt Borland 0d11f01ed5 Fix seed and init from iter pair 2025-01-29 17:55:05 -05:00
Matt Borland 7850ba110b Update main header 2025-01-29 17:04:33 -05:00
Matt Borland ad7309121e Add xoshiro256_starstar impl 2025-01-29 16:43:55 -05:00