-
Notifications
You must be signed in to change notification settings - Fork 3
/
RGen.cc
31 lines (27 loc) · 857 Bytes
/
RGen.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "RGen.h"
/*##########################################################################*/
RGen * RGen::rg_ = 0;
/*===========================================================================*/
RGen::RGen(long a) :
seed_(a)
{
rg_ = this;
srandom(seed_);
}
/*===========================================================================*/
double RGen::sflat01() {
double a = random() * 1.0 / RAND_MAX;
return a;
}
/*===========================================================================*/
double RGen::flat_d(double low, double high) {
assert(low < high);
return (high - low) * sflat01() + low;
}
/*===========================================================================*/
long RGen::flat_l(long low, long high) {
assert(low < high);
long val = long((high - low) * sflat01() + low);
assert(val >= low && val < high);
return val;
}