34#ifndef AAX_FASTINTERPOLATEDTABLELOOKUP_H
35#define AAX_FASTINTERPOLATEDTABLELOOKUP_H
46#include AAX_ALIGN_FILE_BEGIN
47#include AAX_ALIGN_FILE_ALG
48#include AAX_ALIGN_FILE_END
50template<
class TFLOAT,
class DFLOAT>
69 void SetParameters(
int iTableSize, TFLOAT iMin=0.0, TFLOAT iMax=1.0,
int iNumTables=1)
71 mTableSizeM1=(TFLOAT)(iTableSize-1);
72 mTableSize=(TFLOAT)iTableSize;
73 mIntTableSizeM1=iTableSize-1;
76 mMaxMinusMin=iMax-iMin;
77 mTableSizeM1DivMaxMinusMin=TFLOAT(iTableSize-1)/(iMax-iMin);
78 mTableSizeDivMaxMinusMin=TFLOAT(iTableSize)/(iMax-iMin);
79 mNumTables=iNumTables;
98 void DoTableLookupExtraFast(
const TFLOAT*
const iTable,
const TFLOAT*
const inpBuf, DFLOAT*
const outBuf,
int blockSize);
107 TFLOAT mTableSizeM1DivMaxMinusMin;
112 TFLOAT mTableSizeDivMaxMinusMin;
116#include AAX_ALIGN_FILE_BEGIN
117#include AAX_ALIGN_FILE_RESET
118#include AAX_ALIGN_FILE_END
Definition: AAX_FastInterpolatedTableLookup.h:52
void DoTableLookupExtraFastMulti(const TFLOAT *iTable, DFLOAT iValue, DFLOAT *oValues) const
Definition: AAX_FastInterpolatedTableLookup.hpp:52
void SetParameters(int iTableSize, TFLOAT iMin=0.0, TFLOAT iMax=1.0, int iNumTables=1)
Set the table lookup parameters.
Definition: AAX_FastInterpolatedTableLookup.h:69
TFLOAT GetMaxMinusMin()
Definition: AAX_FastInterpolatedTableLookup.h:101
DFLOAT DoTableLookupExtraFast(const TFLOAT *const iTable, DFLOAT iValue) const
Perform an extra fast table lookup :)
Definition: AAX_FastInterpolatedTableLookup.hpp:33
TFLOAT GetMin()
Definition: AAX_FastInterpolatedTableLookup.h:100