Updates, etc.

git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@357 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
ahodgkinson
2006-04-27 15:59:33 +00:00
parent ba23819e9b
commit eb0f9e82cc
23 changed files with 7737 additions and 8308 deletions

View File

@@ -61,6 +61,52 @@ implement SWB, nor does he give any simple test to determine whether an SWB
implementation is correct.
****************************************************************************/
#define MAX_RANDOM 2147483646L
/****************************************************************************
Desc:
****************************************************************************/
class F_RandomGenerator : public IF_RandomGenerator, public F_Base
{
public:
void FLMAPI randomize( void);
void FLMAPI setSeed(
FLMINT32 i32seed);
FLMINT32 FLMAPI getInt32( void);
FLMINT32 FLMAPI getInt32(
FLMINT32 i32Low,
FLMINT32 i32High);
FLMBOOL FLMAPI getBoolean( void);
FLMINT32 FLMAPI getSeed( void)
{
return( m_i32Seed);
}
private:
FLMINT32 m_i32Seed;
};
/****************************************************************************
Desc:
****************************************************************************/
RCODE FLMAPI FlmAllocRandomGenerator(
IF_RandomGenerator ** ppRandomGenerator)
{
if( (*ppRandomGenerator = f_new F_RandomGenerator) == NULL)
{
return( RC_SET( NE_FLM_MEM));
}
return( NE_FLM_OK);
}
/*************************************************************************
Desc: Set the seed from the date and time
*************************************************************************/
@@ -69,7 +115,7 @@ void F_RandomGenerator::randomize( void)
FLMUINT uiTime;
f_timeGetSeconds( &uiTime );
randomSetSeed( (FLMUINT32)(((FLMUINT32)uiTime % MAX_RANDOM) + 1));
setSeed( (FLMUINT32)(((FLMUINT32)uiTime % MAX_RANDOM) + 1));
}
/*************************************************************************
@@ -84,7 +130,7 @@ void F_RandomGenerator::setSeed(
}
else
{
randomSetSeed( (FLMUINT32)
setSeed( (FLMUINT32)
(i32Seed < 1
? i32Seed + MAX_RANDOM
: i32Seed - MAX_RANDOM));