12#include "MantidKernel/DllConfig.h"
28template <
typename SingleValueGenerator>
46 void setSeed(
const size_t seedValue);
48 void generateNextPoint()
override;
50 void restart()
override;
55 void restore()
override;
74template <
typename SingleValueGenerator>
76 const size_t seedValue)
90template <
typename SingleValueGenerator>
92 const size_t seedValue,
93 const double start,
const double end)
100template <
typename SingleValueGenerator>
102 m_singleValueGen.setSeed(seedValue);
107 for (
unsigned int i = 0; i < numberOfDimensions(); ++i) {
108 this->cacheGeneratedValue(i, m_singleValueGen.nextValue());
116 m_singleValueGen.restart();
121 m_singleValueGen.save();
127 m_singleValueGen.restore();
#define DLLExport
Definitions of the DLLImport compiler directives for MSVC.
Defines an ND pseudo-random number generator.
NDPseudoRandomNumberGenerator & operator=(const NDPseudoRandomNumberGenerator &)=delete
Disable assignment operator.
void restart() override
Resets the generator.
NDPseudoRandomNumberGenerator(const NDPseudoRandomNumberGenerator &)=delete
Disable copy operator.
void generateNextPoint() override
Generates the next ND point.
void setSeed(const size_t seedValue)
Set the random number seed.
SingleValueGenerator m_singleValueGen
The single value generator.
NDPseudoRandomNumberGenerator()=delete
Disable default constructor.
void save() override
Saves the current state of the generator.
void restore() override
Restores the generator to the last saved point, or the beginning if nothing has been saved.
This class defines an interface for N dimensional random number generators.
Helper class which provides the Collimation Length for SANS instruments.