19 :
Sine(frequency), mTableSize(size) {
39 for (
unsigned i = 0; i < mTableSize/6; i++)
41 for (
unsigned i = mTableSize/6; i < 5*mTableSize/6; i++) {
45 for (
unsigned i = 5*mTableSize/6; i <
mTableSize; i++)
50 *sampPtr++ = val * val * val;
55 for (
unsigned i = 0; i < mTableSize/4; i++)
57 for (
unsigned i = mTableSize/4; i < 3*mTableSize/4; i++) {
61 for (
unsigned i = 3*mTableSize/4; i <
mTableSize; i++)
73 sample * buffer = outputBuffer.buffer(outBufNum);
74 unsigned numFrames = outputBuffer.mNumFrames;
76 sample *
function = mTransferFunction.buffer(0);
77 unsigned fcnLength = mTransferFunction.mNumFrames;
78 unsigned fcnLengthHalf = fcnLength / 2;
82 for (
unsigned i = 0; i < numFrames; i++) {
84 unsigned index = (samp + 1.0) * fcnLengthHalf;
85 if (index < 0) index = 0;
86 if (index >= fcnLength) index = fcnLength - 1;
88 samp =
function[index];