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 dataLoad(stream, count, context);
285 v.advance(count);
286}
void dataLoad(std::istream &stream, MooseRandomStateless &v, void *context)
unsigned int count
Definition MortarUtils.C:53
void advance(std::size_t count)
Advance all generators by the specified number.

Referenced by dataLoad(), and dataLoad().

◆ 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 dataLoad(stream, seed, context);
303 v = std::make_unique<MooseRandomStateless>(seed);
304 dataLoad(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 dataStore(stream, count, context);
277}
void dataStore(std::ostream &stream, MooseRandomStateless &v, void *context)
std::size_t getAdvanceCount() const
Get the amount that the RNGs have advanced by advance(count) calls.

Referenced by dataStore(), and dataStore().

◆ 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 dataStore(stream, seed, context);
294 dataStore(stream, *v, context);
295}