https://mooseframework.inl.gov
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 advance(std::size_t count)
Advance all generators by the specified number.
void loadHelper(std::istream &stream, P &data, void *context)
Scalar helper routine.
Definition: DataIO.h:1030

◆ 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 }
void loadHelper(std::istream &stream, P &data, void *context)
Scalar helper routine.
Definition: DataIO.h:1030

◆ 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:938
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 }
void storeHelper(std::ostream &stream, P &data, void *context)
Scalar helper routine.
Definition: DataIO.h:938