24 #ifndef AAX_FASTINTERPOLATEDTABLELOOKUP_H
25 #define AAX_FASTINTERPOLATEDTABLELOOKUP_H
36 #include AAX_ALIGN_FILE_BEGIN
37 #include AAX_ALIGN_FILE_ALG
38 #include AAX_ALIGN_FILE_END
40 template<
class TFLOAT,
class DFLOAT>
59 void SetParameters(
int iTableSize, TFLOAT iMin=0.0, TFLOAT iMax=1.0,
int iNumTables=1)
61 mTableSizeM1=(TFLOAT)(iTableSize-1);
62 mTableSize=(TFLOAT)iTableSize;
63 mIntTableSizeM1=iTableSize-1;
66 mMaxMinusMin=iMax-iMin;
67 mTableSizeM1DivMaxMinusMin=TFLOAT(iTableSize-1)/(iMax-iMin);
68 mTableSizeDivMaxMinusMin=TFLOAT(iTableSize)/(iMax-iMin);
69 mNumTables=iNumTables;
88 void DoTableLookupExtraFast(
const TFLOAT*
const iTable,
const TFLOAT*
const inpBuf, DFLOAT*
const outBuf,
int blockSize);
97 TFLOAT mTableSizeM1DivMaxMinusMin;
102 TFLOAT mTableSizeDivMaxMinusMin;
106 #include AAX_ALIGN_FILE_BEGIN
107 #include AAX_ALIGN_FILE_RESET
108 #include AAX_ALIGN_FILE_END
Definition: AAX_FastInterpolatedTableLookup.h:42
void DoTableLookupExtraFastMulti(const TFLOAT *iTable, DFLOAT iValue, DFLOAT *oValues) const
Definition: AAX_FastInterpolatedTableLookup.hpp:42
void SetParameters(int iTableSize, TFLOAT iMin=0.0, TFLOAT iMax=1.0, int iNumTables=1)
Set the table lookup parameters.
Definition: AAX_FastInterpolatedTableLookup.h:59
TFLOAT GetMaxMinusMin()
Definition: AAX_FastInterpolatedTableLookup.h:91
DFLOAT DoTableLookupExtraFast(const TFLOAT *const iTable, DFLOAT iValue) const
Perform an extra fast table lookup :)
Definition: AAX_FastInterpolatedTableLookup.hpp:23
TFLOAT GetMin()
Definition: AAX_FastInterpolatedTableLookup.h:90