.. _program_listing_file_src_data_rng_engine.h: Program Listing for File rng_engine.h ===================================== |exhale_lsh| :ref:`Return to documentation for file ` (``src/data/rng_engine.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include #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