fix infinite check bug
[rofl0r-oopoker.git] / random.h
blobd18e4a67afb12ab20642c1ecb2fb92cc0c64818e
1 /*
2 OOPoker
4 Copyright (c) 2010 Lode Vandevenne
5 All rights reserved.
7 This file is part of OOPoker.
9 OOPoker is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
14 OOPoker is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with OOPoker. If not, see <http://www.gnu.org/licenses/>.
23 #pragma once
25 //these methods use the true-random facilities provided by the operating system (non blocking, so not necessarily every returned value is true random!)
26 //it uses SystemFunction036 on Windows, /dev/urandom on Linux.
27 unsigned int getRandomUint();
28 double getRandom(); //returns random double in range 0.0-1.0
29 int getRandom(int low, int high); //returns random in the given range. high is included.
31 //much faster than the true-random functions above, but only pseudo-random.
32 unsigned int getRandomUintFast();
33 double getRandomFast(); //returns random double in range 0.0-1.0
34 int getRandomFast(int low, int high); //returns random in the given range. high is included.
36 void seedRandomFast(unsigned int seed1, unsigned int seed2);
37 void seedRandomFastWithRandomSlow(); //seed the fast random generator, with two values from the slow random generator.