https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Classes | Functions
MooseRandomStateless.h File Reference

Go to the source code of this file.

Classes

class  MooseRandomStateless
 A deterministic, indexable random number generator built on top of the randistrs library. More...
 
class  MooseRandomStateless::Generator< T >
 Template class wrapping a single random number generator function. More...
 

Functions

template<>
void dataStore (std::ostream &stream, MooseRandomStateless &v, void *context)
 
template<>
void dataLoad (std::istream &stream, MooseRandomStateless &v, void *context)
 
template<>
void dataStore (std::ostream &stream, std::unique_ptr< MooseRandomStateless > &v, void *context)
 
template<>
void dataLoad (std::istream &stream, std::unique_ptr< MooseRandomStateless > &v, void *context)
 

Function Documentation

◆ dataLoad() [1/2]

template<>
void dataLoad ( std::istream &  stream,
MooseRandomStateless v,
void *  context 
)
inline

Definition at line 281 of file MooseRandomStateless.h.

282{
283 std::size_t count;
284 loadHelper(stream, count, context);
285 v.advance(count);
286}
void loadHelper(std::istream &stream, P &data, void *context)
Scalar helper routine.
Definition DataIO.h:1081
unsigned int count
Definition MortarUtils.C:53
void advance(std::size_t count)
Advance all generators by the specified number.

◆ dataLoad() [2/2]

template<>
void dataLoad ( std::istream &  stream,
std::unique_ptr< MooseRandomStateless > &  v,
void *  context 
)
inline

Definition at line 299 of file MooseRandomStateless.h.

300{
301 unsigned int seed;
302 loadHelper(stream, seed, context);
303 v = std::make_unique<MooseRandomStateless>(seed);
304 loadHelper(stream, *v, context);
305}

◆ dataStore() [1/2]

template<>
void dataStore ( std::ostream &  stream,
MooseRandomStateless v,
void *  context 
)
inline

Definition at line 273 of file MooseRandomStateless.h.

274{
275 std::size_t count = v.getAdvanceCount();
276 storeHelper(stream, count, context);
277}
void storeHelper(std::ostream &stream, P &data, void *context)
Scalar helper routine.
Definition DataIO.h:989
std::size_t getAdvanceCount() const
Get the amount that the RNGs have advanced by advance(count) calls.

◆ dataStore() [2/2]

template<>
void dataStore ( std::ostream &  stream,
std::unique_ptr< MooseRandomStateless > &  v,
void *  context 
)
inline

Definition at line 290 of file MooseRandomStateless.h.

291{
292 unsigned int seed = v->getSeed();
293 storeHelper(stream, seed, context);
294 storeHelper(stream, *v, context);
295}