Releases: nin93/alea
Releases · nin93/alea
v0.3.0-alpha
Added
- Single precision support for all methods.
- Exception interface:
Alea::NoConvergeError
Alea::UndefinedError
Alea::InfinityError
Alea::NaNError
- Spec interface with macros to simplify testing:
arg_test
sanity_test
param_test
dist_test
Alea::Random
:- all standard sampling methods now accepts any-typed values.
- Poisson distribution support.
Alea::XSR128
,Alea::XSR256
:UInt32
generation capabilities.new
now accepts initial states (32/64 bits) asStaticArray
.new
now accepts initial seeds (32/64 bits) asInt
.#jump_*
methods to advance states.
Alea::CDF
:- all cdf methods now accepts any-typed values.
- Poisson distribution support.
- ChiSquare distribution support.
- Gamma distribution support.
- Modules:
Alea::Core
to store internal implementations.Alea::Core::SpecFun
to store special functions implementations.Alea::Core::SpecFun::Gamma
for special gamma functions.
- Engines:
Alea::Core::SplitMix64(N)
struct for state64 initializations.Alea::Core::Mulberry32(N)
struct for state32 initializations.
Changed
Alea::Random
is now a struct.- Renamed all occurences of
chi_square
intochisq
. - Renamed all occurences of
exponential
intoexp
. - Renamed all occurences of
mean
intoloc
. - Renamed all occurences of
freedom
intodf
. - Renamed
initstate
into properseed
inAlea::Random.new
. Alea::CDF.chisq*
have no more defaultdf
.#next_u
,#next_f
are deprecated. Now they have bit-fixed names:#next_u32 : UInt32
#next_u64 : UInt64
#next_f32 : Float32
#next_f64 : Float64
#jump
inAlea::Random
is deprecated. Use jump method directly
fromAlea::Random#prng
instead.- Unparsed sampling methods (e.g.:
#next_gamma
) now have specific
types for arguments.
Fixed
- A bug causing splitmix to generate bad values.