21#ifndef AAX_FASTINTERPOLATEDTABLELOOKUP_H
22#define AAX_FASTINTERPOLATEDTABLELOOKUP_H
33#include AAX_ALIGN_FILE_BEGIN
34#include AAX_ALIGN_FILE_ALG
35#include AAX_ALIGN_FILE_END
37template<
class TFLOAT,
class DFLOAT>
56 void SetParameters(
int iTableSize, TFLOAT iMin=0.0, TFLOAT iMax=1.0,
int iNumTables=1)
58 mTableSizeM1=(TFLOAT)(iTableSize-1);
59 mTableSize=(TFLOAT)iTableSize;
60 mIntTableSizeM1=iTableSize-1;
63 mMaxMinusMin=iMax-iMin;
64 mTableSizeM1DivMaxMinusMin=TFLOAT(iTableSize-1)/(iMax-iMin);
65 mTableSizeDivMaxMinusMin=TFLOAT(iTableSize)/(iMax-iMin);
66 mNumTables=iNumTables;
85 void DoTableLookupExtraFast(
const TFLOAT*
const iTable,
const TFLOAT*
const inpBuf, DFLOAT*
const outBuf,
int blockSize);
94 TFLOAT mTableSizeM1DivMaxMinusMin;
99 TFLOAT mTableSizeDivMaxMinusMin;
103#include AAX_ALIGN_FILE_BEGIN
104#include AAX_ALIGN_FILE_RESET
105#include AAX_ALIGN_FILE_END
Definition: AAX_FastInterpolatedTableLookup.h:39
void DoTableLookupExtraFastMulti(const TFLOAT *iTable, DFLOAT iValue, DFLOAT *oValues) const
Definition: AAX_FastInterpolatedTableLookup.hpp:39
void SetParameters(int iTableSize, TFLOAT iMin=0.0, TFLOAT iMax=1.0, int iNumTables=1)
Set the table lookup parameters.
Definition: AAX_FastInterpolatedTableLookup.h:56
TFLOAT GetMaxMinusMin()
Definition: AAX_FastInterpolatedTableLookup.h:88
DFLOAT DoTableLookupExtraFast(const TFLOAT *const iTable, DFLOAT iValue) const
Perform an extra fast table lookup :)
Definition: AAX_FastInterpolatedTableLookup.hpp:20
TFLOAT GetMin()
Definition: AAX_FastInterpolatedTableLookup.h:87