| 171 | } |
| 172 | |
| 173 | int64_t RandomSource::stochasticRound(double val) { |
| 174 | double fpart = val - floor(val); |
| 175 | if (randd() < fpart) |
| 176 | return ceil(val); |
| 177 | else |
| 178 | return floor(val); |
| 179 | } |
| 180 | |
| 181 | uint32_t RandomSource::gen32() { |
| 182 | uint64_t a = 809430660; |