Program Listing for File rng_engine.h¶
↰ Return to documentation for file (src/data/rng_engine.h
)
#pragma once
#include <random>
#include <sstream>
#include "common/config.h"
namespace marian {
namespace data {
class RNGEngine {
protected:
std::mt19937 eng_;
public:
RNGEngine() : eng_((unsigned int)Config::seed) {}
RNGEngine(size_t seed) : eng_((unsigned int)seed) {}
std::string getRNGState() {
std::ostringstream oss;
oss << eng_;
return oss.str();
}
void setRNGState(std::string engineState) {
std::istringstream iss(engineState);
iss >> eng_;
}
};
} // namespace data
} // namespace marian