ESyS-Particle
2.3.4
Rng.h
Go to the documentation of this file.
1
// //
3
// Copyright (c) 2003-2017 by The University of Queensland //
4
// Centre for Geoscience Computing //
5
// http://earth.uq.edu.au/centre-geoscience-computing //
6
// //
7
// Primary Business: Brisbane, Queensland, Australia //
8
// Licensed under the Open Software License version 3.0 //
9
// http://www.apache.org/licenses/LICENSE-2.0 //
10
// //
12
13
14
#ifndef ESYS_LSMRNG_H
15
#define ESYS_LSMRNG_H
16
17
#include <boost/random.hpp>
18
19
namespace
esys
20
{
21
namespace
lsm
22
{
26
template
<
typename
TmplRng=boost::mt19937>
27
class
UniformRng
28
{
29
public
:
30
typedef
TmplRng
Rng
;
31
typedef
boost::uniform_real<>
UniformReal
;
32
typedef
boost::variate_generator<Rng &, UniformReal>
Generator
;
33
39
UniformRng
(
double
minRn,
double
maxRn);
40
45
double
operator()
();
46
50
void
seed
();
51
56
template
<
typename
Tmpl>
57
void
seed
(Tmpl &s);
58
64
template
<
typename
TmplIt>
65
void
seed
(TmplIt begin, TmplIt end);
66
67
private
:
68
Rng
m_rng
;
69
UniformReal
m_uniform
;
70
Generator
m_generator
;
71
};
72
73
typedef
UniformRng<>
DefaultUniformRng
;
74
75
namespace
rng
76
{
77
extern
DefaultUniformRng
s_zeroOneUniform
;
78
}
79
}
80
}
81
82
#include "
Foundation/Rng.hpp
"
83
84
#endif
esys::lsm::rng::s_zeroOneUniform
DefaultUniformRng s_zeroOneUniform(0.0, 1.0)
Definition:
Rng.h:77
esys::lsm::UniformRng::Generator
boost::variate_generator< Rng &, UniformReal > Generator
Definition:
Rng.h:32
Rng.hpp
esys::lsm::UniformRng::Rng
TmplRng Rng
Definition:
Rng.h:30
Rng.h
esys
Definition:
CheckPointable.cpp:17
esys::lsm::UniformRng::UniformReal
boost::uniform_real UniformReal
Definition:
Rng.h:31
esys::lsm::UniformRng::UniformRng
UniformRng(double minRn, double maxRn)
Definition:
Rng.hpp:19
esys::lsm::UniformRng::m_uniform
UniformReal m_uniform
Definition:
Rng.h:69
esys::lsm::UniformRng::m_rng
Rng m_rng
Definition:
Rng.h:68
esys::lsm::UniformRng
Definition:
Rng.h:28
esys::lsm::UniformRng::seed
void seed()
Definition:
Rng.hpp:33
esys::lsm::UniformRng::m_generator
Generator m_generator
Definition:
Rng.h:70
esys::lsm::UniformRng::operator()
double operator()()
Definition:
Rng.hpp:27
esys::lsm::DefaultUniformRng
UniformRng DefaultUniformRng
Definition:
Rng.h:73
Foundation
Rng.h
Generated by
1.8.20