|
|
// ########################################################################## // #### #### // #### RTP Audio Server Project #### // #### ============================ #### // #### #### // #### Randomizer #### // #### #### // #### Version 1.00 -- February 04, 2001 #### // #### #### // #### Copyright (C) 1999 Thomas Dreibholz #### // #### 2000 Universität Bonn, Abt. IV #### // #### 2001 EMail: Dreibholz@bigfoot.com #### // #### WWW: http://www.bigfoot.com/~dreibholz #### // #### #### // ########################################################################## #ifndef RANDOM_H #define RANDOM_H #include "system.h" namespace Coral { /** * This class is an randomizer. The randomizer algorithm will calculate * random numbers with seed given by system timer (microseconds since * January 01, 1970) or given by a number. * * @short Randomizer * @author Thomas Dreibholz (Dreibholz@bigfoot.com) * @version 1.0 */ class Randomizer { // ====== Constructor ==================================================== public: /** * Constructor. Seed will be initialized by system timer (microseconds * since January 01, 1970). */ Randomizer(); // ====== Random functions =============================================== /** * Set seed by system timer (microseconds since January 01, 1970). */ void setSeed(); /** * Set seed by given number. * * @param seed Seed value. */ void setSeed(const cardinal seed); /** * Get 8-bit random number. * * @return The generated number. */ inline card8 random8(); /** * Get 16-bit random number. * * @return The generated number. */ inline card16 random16(); /** * Get 32-bit random number. * * @return The generated number. */ inline card32 random32(); /** * Get 64-bit random number. * * @return The generated number. */ inline card64 random64(); /** * Get double random number out of interval [0,1]. * * @return The generated number. */ inline double random(); /** * Get double random cardinal number out of interval [a,b]. * * @return The generated number. */ cardinal random(const cardinal a, const cardinal b); /** * Get double random double number out of interval [a,b]. * * @return The generated number. */ double random(const double a, const double b); // ====== Private data =================================================== private: card32 Value; }; } #include "randomizer.icc" #endif
Generated by: viper@odin on Sun Feb 4 18:54:51 2001, using kdoc 2.0a22. |