31 #ifndef FLANN_RANDOM_H
32 #define FLANN_RANDOM_H
65 return low + ((high-low) * (std::rand() / (RAND_MAX + 1.0)));
74 inline int rand_int(
int high = RAND_MAX,
int low = 0)
76 return low + (int) (
double(high-low) * (std::rand() / (RAND_MAX + 1.0)));
93 std::vector<int> vals_;
117 for (
int i = 0; i <
size_; ++i) vals_[i] = i;
120 std::random_device rd;
121 std::mt19937 gen(rd());
122 std::shuffle(vals_.begin(), vals_.end(), rd);
134 if (counter_ ==
size_) {
138 return vals_[counter_++];
ptrdiff_t operator()(ptrdiff_t i)
double rand_double(double high=1.0, double low=0)
void seed_random(unsigned int seed)
int rand_int(int high=RAND_MAX, int low=0)