Lines Matching refs:Random
23 * \brief Random number generator utilities.
35 //! Random self-test - compare returned values against hard-coded values.
38 class Random
41 Random (deUint32 seed) { deRandom_init(&m_rnd, seed); }
42 ~Random (void) {}
72 bool operator== (const Random& other) const;
73 bool operator!= (const Random& other) const;
81 inline float Random::getFloat (float min, float max)
87 inline double Random::getDouble (double min, double max)
93 inline int Random::getInt (int min, int max)
105 void Random::choose (InputIter first, InputIter last, OutputIter result, int numItems)
128 T Random::choose (InputIter first, InputIter last)
137 T Random::chooseWeighted (InputIter first, InputIter last, WeightIter weight)
145 // Random point in 0..weightSum
168 void Random::shuffle (Iterator first, Iterator last)
182 template<typename T> T randomScalar (de::Random& rnd, T minValue, T maxValue);
183 template<> inline float randomScalar (de::Random& rnd, float minValue, float maxValue) { return rnd.getFloat(minValue, maxValue); }
184 template<> inline deInt32 randomScalar (de::Random& rnd, deInt32 minValue, deInt32 maxValue) { return rnd.getInt(minValue, maxValue); }
185 template<> inline deUint32 randomScalar (de::Random& rnd, deUint32 minValue, deUint32 maxValue) { if (minValue == 0 && maxValue == 0xffffffff) return rnd.getUint32();
187 template<> inline deInt16 randomScalar (de::Random& rnd, deInt16 minValue, deInt16 maxValue) { return (deInt16)rnd.getInt(minValue, maxValue); }
188 template<> inline deUint16 randomScalar (de::Random& rnd, deUint16 minValue, deUint16 maxValue) { return (deUint16)(minValue + rnd.getUint16() % (maxValue - minValue + 1)); }
189 template<> inline deInt8 randomScalar (de::Random& rnd, deInt8 minValue, deInt8 maxValue) { return (deInt8)rnd.getInt(minValue, maxValue); }
190 template<> inline deUint8 randomScalar (de::Random& rnd, deUint8 minValue, deUint8 maxValue) { return (deUint8)(minValue + rnd.getUint8() % (maxValue - minValue + 1)); }