/** * @file FastMath.cpp * @brief lookup tables and more * @author Erik Rodner * @date 07/31/2008 */ #include "FastMath.h" #include #include #include using namespace NICE; using namespace std; FastMath::~FastMath () { if ( sqrtTable != NULL ) delete [] sqrtTable; if ( atan2Table != NULL ) delete [] atan2Table; } FastMath::FastMath() { sqrtTable = new double[sqrtTableMaximum]; for ( int j = 0 ; j < sqrtTableMaximum; j++ ) sqrtTable[j] = sqrt((double)j); atan2Table = new double[atan2TableMaximum]; long k = 0 ; for ( int i = -gradientMaximum ; i <= gradientMaximum ; i++ ) for ( int j = -gradientMaximum ; j <= gradientMaximum ; j++,k++ ) atan2Table[k] = atan2((double)i,(double)j); assert ( k == atan2TableMaximum ); }