-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathRandomNumbers.cs
37 lines (33 loc) · 1.4 KB
/
RandomNumbers.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
namespace МатКлассы
{
/// <summary>
/// Класс, выдающий случайное число
/// </summary>
public static class RandomNumbers
{
private static MathNet.Numerics.Random.SystemRandomSource r=new MathNet.Numerics.Random.SystemRandomSource(true);
public static void SetSeed(int seed) => r = new MathNet.Numerics.Random.SystemRandomSource(seed, true);
/// <summary>
/// Случайное положительное число типа int
/// </summary>
/// <returns></returns>
public static int NextNumber() => r.Next();
/// <summary>
/// Случайное число int до 0 до ceiling
/// </summary>
/// <param name="ceiling"></param>
/// <returns></returns>
public static int NextNumber(int ceiling) => r.Next(ceiling);
/// <summary>
/// Случаное число от 0 до 1
/// </summary>
public static double NextDouble => r.NextDouble();
/// <summary>
/// Возвращает случайное число из указанного диапазона
/// </summary>
/// <param name="min"></param>
/// <param name="max"></param>
/// <returns></returns>
public static double NextDouble2(double min = 0, double max = 1) => min + NextDouble * (max - min);
}
}