32#ifndef BZ_RANDOM_UNIFORM_H
33#define BZ_RANDOM_UNIFORM_H
52const long double norm32open = .2328306436538696289062500000000000000000E-9L;
53const long double norm64open = .5421010862427522170037264004349708557129E-19L;
54const long double norm96open = .1262177448353618888658765704452457967477E-28L;
55const long double norm128open = .2938735877055718769921841343055614194547E-38L;
58template<
typename IRNG,
typename stateTag>
73 #if (FLT_MANT_DIG > 128) && !defined(BZ_IGNORE_RNG_ERRORS)
74 #error RNG code assumes float mantissa is <= 128 bits (not true for your platform). Use -DBZ_IGNORE_RNG_ERRORS to ignore this warning.
82#elif FLT_MANT_DIG > 64
87#elif FLT_MANT_DIG > 32
101template<
typename IRNG,
typename stateTag>
115 #if (DBL_MANT_DIG > 128) && !defined(BZ_IGNORE_RNG_ERRORS)
116 #error RNG code assumes double mantissa is <= 128 bits (not true for your platform). Use -DBZ_IGNORE_RNG_ERRORS to ignore this warning.
125#elif DBL_MANT_DIG > 64
130#elif DBL_MANT_DIG > 32
144template<
typename IRNG,
typename stateTag>
157#if LDBL_MANT_DIG > 96
158 #if (LDBL_MANT_DIG > 128) && !defined(BZ_IGNORE_RNG_ERRORS)
159 #error RNG code assumes long double mantissa is <= 128 bits (not true for your platform). Use -DBZ_IGNORE_RNG_ERRORS to ignore this warning.
168#elif LDBL_MANT_DIG > 64
173#elif LDBL_MANT_DIG > 32
204const long double norm32closed = .2328306437080797375431469961868475648078E-9L;
209 .23283064365386962891887177448353618888727188481031E-9L;
211 .54210108624275221703311375920552804341370213034169E-19L;
214const long double norm96closed1 = .2328306436538696289062500000029387358771E-9L;
216 .5421010862427522170037264004418131333707E-19L;
218 .1262177448353618888658765704468388886588E-28L;
222const long double norm128clos1 = .2328306436538696289062500000000000000007E-9L;
223const long double norm128clos2 = .5421010862427522170037264004349708557145E-19L;
224const long double norm128clos3 = .1262177448353618888658765704452457967481E-28L;
225const long double norm128clos4 = .2938735877055718769921841343055614194555E-38L;
228template<
typename T = double,
typename IRNG =
defaultIRNG,
232template<
typename IRNG,
typename stateTag>
245 #if (FLT_MANT_DIG > 128) && !defined(BZ_IGNORE_RNG_ERRORS)
246 #error RNG code assumes float mantissa is <= 128 bits (not true for your platform). Use -DBZ_IGNORE_RNG_ERRORS to ignore this warning.
255#elif FLT_MANT_DIG > 64
262#elif FLT_MANT_DIG > 32
278template<
typename IRNG,
typename stateTag>
291 #if (DBL_MANT_DIG > 128) && !defined(BZ_IGNORE_RNG_ERRORS)
292 #error RNG code assumes double mantissa is <= 128 bits (not true for your platform). Use -DBZ_IGNORE_RNG_ERRORS to ignore this warning.
301#elif DBL_MANT_DIG > 64
308#elif DBL_MANT_DIG > 32
324template<
typename IRNG,
typename stateTag>
337#if LDBL_MANT_DIG > 96
338 #if (LDBL_MANT_DIG > 128) && !defined(BZ_IGNORE_RNG_ERRORS)
339 #error RNG code assumes long double mantissa is <= 128 bits (not true for your platform). Use -DBZ_IGNORE_RNG_ERRORS to ignore this warning.
348#elif LDBL_MANT_DIG > 64
355#elif LDBL_MANT_DIG > 32
375template<
typename T = double,
typename IRNG =
defaultIRNG,
406template<
typename T = double,
typename IRNG =
defaultIRNG,
const long double norm128clos1
Definition: uniform.h:222
const long double norm128clos2
Definition: uniform.h:223
const long double norm64open
Definition: uniform.h:53
const long double norm32open
Definition: uniform.h:52
float defaultType
Definition: default.h:46
const long double norm96closed2
Definition: uniform.h:215
const long double norm128clos4
Definition: uniform.h:225
const long double norm96open
Definition: uniform.h:54
const long double norm96closed1
Definition: uniform.h:214
const long double norm64closed1
Definition: uniform.h:208
const long double norm64closed2
Definition: uniform.h:210
sharedState defaultState
Definition: default.h:55
unsigned int IRNG_int
Definition: default.h:57
const long double norm128open
Definition: uniform.h:55
MersenneTwister defaultIRNG
Definition: default.h:120
const long double norm32closed
Definition: uniform.h:204
const long double norm96closed3
Definition: uniform.h:217
const long double norm128clos3
Definition: uniform.h:224