Free cookie consent management tool by TermsFeed Policy Generator

source: stable/HeuristicLab.ExtLibs/HeuristicLab.SimSharp/3.1.1/SimSharp-3.1.1/Random/PcgRandom.cs @ 17053

Last change on this file since 17053 was 17053, checked in by abeham, 5 years ago

#2975: merged to stable

File size: 1.4 KB
Line 
1#region License Information
2/* SimSharp - A .NET port of SimPy, discrete event simulation framework
3Copyright (C) 2019  Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 3 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program.  If not, see <http://www.gnu.org/licenses/>.*/
17#endregion
18
19namespace SimSharp {
20  public class PcgRandom : IRandom {
21    private Pcg pcg;
22
23    public PcgRandom() {
24      pcg = new Pcg();
25    }
26
27    public PcgRandom(int seed) {
28      pcg = new Pcg(seed);
29    }
30    public int Next() {
31      return pcg.Next();
32    }
33
34    public int Next(int upperBound) {
35      return pcg.Next(upperBound);
36    }
37
38    public int Next(int lowerBound, int upperBound) {
39      return pcg.Next(lowerBound, upperBound);
40    }
41
42    public double NextDouble() {
43      return pcg.NextDouble();
44    }
45
46    public void Reinitialise(int seed) {
47      pcg = new Pcg(seed);
48    }
49  }
50}
Note: See TracBrowser for help on using the repository browser.