Subversion Repositories Games.Chess Giants

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
99 pmbaty 1
/*
2
    Texel - A UCI chess engine.
3
    Copyright (C) 2012-2013  Peter Ă–sterlund, peterosterlund2@gmail.com
4
 
5
    This program is free software: you can redistribute it and/or modify
6
    it under the terms of the GNU General Public License as published by
7
    the Free Software Foundation, either version 3 of the License, or
8
    (at your option) any later version.
9
 
10
    This program is distributed in the hope that it will be useful,
11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
    GNU General Public License for more details.
14
 
15
    You should have received a copy of the GNU General Public License
16
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18
 
19
/*
20
 * random.cpp
21
 *
22
 *  Created on: Mar 3, 2012
23
 *      Author: petero
24
 */
25
 
26
#include "random.hpp"
27
#include "timeUtil.hpp"
28
 
29
Random::Random()
30
    : gen(currentTimeMillis()) {
31
}
32
 
33
Random::Random(U64 seed)
34
    : gen(seed) {
35
}
36
 
37
void
38
Random::setSeed(U64 seed) {
39
    gen.seed(seed);
40
}
41
 
42
int
43
Random::nextInt(int modulo) {
44
    std::uniform_int_distribution<int> dist(0, modulo-1);
45
    return dist(gen);
46
}
47
 
48
U64
49
Random::nextU64() {
50
    return gen();
51
}