5 # include <vcl_msvc_warnings.h> 7 #include "vnl/vnl_export.h" 27 enum {linear_congruential_multiplier = 1664525, mz_previous1 = 24};
33 unsigned long linear_congruential_lrand32();
80 void reseed(
unsigned long);
92 unsigned long lrand32();
95 int lrand32(
int a,
int b);
101 int lrand32(
int a,
int b,
int&);
105 double drand32(
double a,
double b);
110 unsigned long operator()(
unsigned n) {
return lrand32(0, n-1); }
122 double drand64(
double a,
double b);
147 #endif // vnl_random_h
double drand32(double b)
Generates a random double in the range 0 <= x <= b with 32 bit randomness.
A superior random number generator.
double mz_previous_normal
unsigned int mz_array_position
unsigned long operator()(unsigned n)
Generates a random unsigned integer in [0,n).
unsigned long linear_congruential_previous
int mz_previous_normal_flag
double drand32()
Generates a random double in the range 0 <= x <= 1 with 32 bit randomness.
int lrand32(int b)
Generates a random unsigned long in [0,b].
double drand64()
Generates a random double in the range 0 <= x <= 1 with 64 bit randomness.
constexpr unsigned int vnl_random_array_size
double drand64(double b)
Generates a random double in the range 0 <= x <= b with 64 bit randomness.