hl2sdk/mathlib/halton.cpp
Scott Ehlert 0912401df2 Added reverse-engineered interfaces lib code and hacked up tier1 and mathlib to build against the newer headers.
--HG--
extra : rebase_source : 8a0863b93ca0391f0aa7270767bd3adcfa3a09fc
2012-05-21 02:49:35 -05:00

32 lines
631 B
C++

//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=====================================================================================//
#include <halton.h>
#include "mathlib/mathlib.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;
}