eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
RandomNumbers.h
Go to the documentation of this file.
1
/*
2
** This file is part of eOn.
3
**
4
** SPDX-License-Identifier: BSD-3-Clause
5
**
6
** Copyright (c) 2010--present, eOn Development Team
7
** All rights reserved.
8
**
9
** Repo:
10
** https://github.com/TheochemUI/eOn
11
*/
12
#pragma once
13
14
namespace
eonc
{
15
16
// Random number generator constants
17
constexpr
double
IM
= 2147483647.0;
18
constexpr
double
AM
= 1.0 /
IM
;
19
constexpr
int
NTAB
= 32;
20
constexpr
int
NDIV
= 1 + (
IM
/
NTAB
);
21
constexpr
double
EPS
= 1.2e-7;
22
constexpr
double
RNMX
= 1.0 -
EPS
;
23
constexpr
long
IM1
= 2147483563;
24
constexpr
long
IM2
= 2147483399;
25
constexpr
long
IMM1
=
IM1
- 1;
26
constexpr
long
IA1
= 40014;
27
constexpr
long
IA2
= 40692;
28
constexpr
long
IQ1
= 53668;
29
constexpr
long
IQ2
= 52774;
30
constexpr
long
IR1
= 12211;
31
constexpr
long
IR2
= 3791;
32
33
namespace
rng
{
34
35
double
random
(
long
newSeed = 0);
36
double
randomDouble
();
37
double
randomDouble
(
int
max);
38
double
randomDouble
(
long
max);
39
double
randomDouble
(
double
max);
40
long
randomInt
(
int
lower,
int
upper);
41
double
gaussRandom
(
double
avg,
double
std);
42
43
}
// namespace rng
44
45
}
// namespace eonc
eonc::rng
Definition
RandomNumbers.h:33
eonc::rng::random
double random(long newSeed=0)
Definition
RandomNumbers.cpp:16
eonc::rng::randomInt
long randomInt(int lower, int upper)
Definition
RandomNumbers.cpp:76
eonc::rng::randomDouble
double randomDouble()
Definition
RandomNumbers.cpp:62
eonc::rng::gaussRandom
double gaussRandom(double avg, double std)
Definition
RandomNumbers.cpp:80
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:19
eonc::AM
constexpr double AM
Definition
RandomNumbers.h:18
eonc::NDIV
constexpr int NDIV
Definition
RandomNumbers.h:20
eonc::IA2
constexpr long IA2
Definition
RandomNumbers.h:27
eonc::EPS
constexpr double EPS
Definition
RandomNumbers.h:21
eonc::IR2
constexpr long IR2
Definition
RandomNumbers.h:31
eonc::IQ1
constexpr long IQ1
Definition
RandomNumbers.h:28
eonc::NTAB
constexpr int NTAB
Definition
RandomNumbers.h:19
eonc::IA1
constexpr long IA1
Definition
RandomNumbers.h:26
eonc::IQ2
constexpr long IQ2
Definition
RandomNumbers.h:29
eonc::IM1
constexpr long IM1
Definition
RandomNumbers.h:23
eonc::IMM1
constexpr long IMM1
Definition
RandomNumbers.h:25
eonc::IM2
constexpr long IM2
Definition
RandomNumbers.h:24
eonc::IM
constexpr double IM
Definition
RandomNumbers.h:17
eonc::IR1
constexpr long IR1
Definition
RandomNumbers.h:30
eonc::RNMX
constexpr double RNMX
Definition
RandomNumbers.h:22
include
eon
RandomNumbers.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf