unsigned long _seed; /***************************************************************************** *****************************************************************************/ //! Returns a pseudo-random number. /*! * The number returned by rand() in fact follows a complex series and should * not be used when a completely random number is needed. * * Use srand() to seed the random number generator; each random number seed * produces a reproducible random number sequence. * \return A pseudo-random number. */ long rand(void) /* stdlib.h */ { if(_seed == 0) _seed = 1; if((((_seed << 3) ^ _seed) & 0x80000000L) != 0) _seed = (_seed << 1) | 1; else _seed <<= 1; return _seed - 1; }