# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

random.h

Go to the documentation of this file.
00001 
00006 /* Copyright, 2000, 2001, 2002 Nevrax Ltd.
00007  *
00008  * This file is part of NEVRAX NEL.
00009  * NEVRAX NEL is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License as published by
00011  * the Free Software Foundation; either version 2, or (at your option)
00012  * any later version.
00013 
00014  * NEVRAX NEL is distributed in the hope that it will be useful, but
00015  * WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00017  * General Public License for more details.
00018 
00019  * You should have received a copy of the GNU General Public License
00020  * along with NEVRAX NEL; see the file COPYING. If not, write to the
00021  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
00022  * MA 02111-1307, USA.
00023  */
00024 
00025 
00026 #ifndef NL_RANDOM_H
00027 #define NL_RANDOM_H
00028 
00029 
00030 namespace NLMISC
00031 {
00032 
00038 class CRandom
00039 {
00040 public:
00041         // The max value that can be returned by the random generator
00042         enum { RandMax = 0x7fff };
00043 public:
00044         // ctor
00045         CRandom();
00046         // generate a random value
00047         sint32  rand();
00048         // set a new seed for the random generator
00049         void   srand(sint32 seed);
00050         // generate a floating point random value in [0, mod]
00051         float  frand(float mod);
00052 private:
00053         sint32 _Seed;
00054 };
00055 
00056 
00057 
00058 
00059 }
00060 
00061 #endif
00062 
00063