diff options
| author | sanine <sanine.not@pm.me> | 2022-10-01 20:59:36 -0500 | 
|---|---|---|
| committer | sanine <sanine.not@pm.me> | 2022-10-01 20:59:36 -0500 | 
| commit | c5fc66ee58f2c60f2d226868bb1cf5b91badaf53 (patch) | |
| tree | 277dd280daf10bf77013236b8edfa5f88708c7e0 /libs/ode-0.16.1/OPCODE/Ice/IceRandom.h | |
| parent | 1cf9cc3408af7008451f9133fb95af66a9697d15 (diff) | |
add ode
Diffstat (limited to 'libs/ode-0.16.1/OPCODE/Ice/IceRandom.h')
| -rw-r--r-- | libs/ode-0.16.1/OPCODE/Ice/IceRandom.h | 42 | 
1 files changed, 42 insertions, 0 deletions
| diff --git a/libs/ode-0.16.1/OPCODE/Ice/IceRandom.h b/libs/ode-0.16.1/OPCODE/Ice/IceRandom.h new file mode 100644 index 0000000..3170b33 --- /dev/null +++ b/libs/ode-0.16.1/OPCODE/Ice/IceRandom.h @@ -0,0 +1,42 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/** + *	Contains code for random generators. + *	\file		IceRandom.h + *	\author		Pierre Terdiman + *	\date		August, 9, 2001 + */ +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Include Guard +#ifndef __ICERANDOM_H__ +#define __ICERANDOM_H__ + +	FUNCTION ICECORE_API	void	SRand(udword seed); +	FUNCTION ICECORE_API	udword	Rand(); + +	//! Returns a unit random floating-point value +	inline_ float UnitRandomFloat()	{ return float(Rand()) * ONE_OVER_RAND_MAX;	} + +	//! Returns a random index so that 0<= index < max_index +	ICECORE_API	udword GetRandomIndex(udword max_index); + +	class ICECORE_API BasicRandom +	{ +		public: + +		//! Constructor +		inline_				BasicRandom(udword seed=0)	: mRnd(seed)	{} +		//! Destructor +		inline_				~BasicRandom()								{} + +		inline_	void		SetSeed(udword seed)		{ mRnd = seed;											} +		inline_	udword		GetCurrentValue()	const	{ return mRnd;											} +		inline_	udword		Randomize()					{ mRnd = mRnd * 2147001325 + 715136305; return mRnd;	} + +		private: +				udword		mRnd; +	}; + +#endif // __ICERANDOM_H__ + | 
