/* ----------------------------------------------------------------------- *//** * * @file NativeRandomNumberGenerator_proto.hpp * *//* ----------------------------------------------------------------------- */ #ifndef MADLIB_POSTGRES_NATIVERANDOMNUMBERGENERATOR_PROTO_HPP #define MADLIB_POSTGRES_NATIVERANDOMNUMBERGENERATOR_PROTO_HPP namespace madlib { namespace dbconnector { namespace postgres { /** * @brief Front-end to the RDBMS random number generator * * This pseudo-RNG is special in that it has no own state. Instead, its state is * externally defined. It is therefore not necessary to keep a global instance * of this RNG. */ class NativeRandomNumberGenerator { public: typedef double result_type; NativeRandomNumberGenerator(); void seed(result_type inSeed); result_type operator()(); static result_type min(); static result_type max(); }; } // namespace postgres } // namespace dbconnector } // namespace madlib #endif // defined(MADLIB_POSTGRES_NATIVERANDOMNUMBERGENERATOR_PROTO_HPP)