mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-01-04 00:23:25 +08:00
31 lines
601 B
C++
31 lines
601 B
C++
|
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
|||
|
//
|
|||
|
// Purpose:
|
|||
|
//
|
|||
|
//=====================================================================================//
|
|||
|
|
|||
|
#include <halton.h>
|
|||
|
|
|||
|
HaltonSequenceGenerator_t::HaltonSequenceGenerator_t(int b)
|
|||
|
{
|
|||
|
base=b;
|
|||
|
fbase=(float) b;
|
|||
|
seed=1;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
float HaltonSequenceGenerator_t::GetElement(int elem)
|
|||
|
{
|
|||
|
int tmpseed=seed;
|
|||
|
float ret=0.0;
|
|||
|
float base_inv=1.0/fbase;
|
|||
|
while(tmpseed)
|
|||
|
{
|
|||
|
int dig=tmpseed % base;
|
|||
|
ret+=((float) dig)*base_inv;
|
|||
|
base_inv/=fbase;
|
|||
|
tmpseed/=base;
|
|||
|
}
|
|||
|
return ret;
|
|||
|
}
|