48 env.
GetPoints( when.get(), value.get(), numPoints );
52 mCurves[ curve ].points.clear();
57 for (
size_t point = 0; point < numPoints; point++)
59 double freq = when[ point ] * hiFreq;
60 double db = value[ point ];
68 double loLog = log10( 20. );
69 double hiLog = log10( hiFreq );
70 double denom = hiLog - loLog;
73 for (
size_t point = 0; point < numPoints; point++)
75 double freq = pow( 10., ( ( when[ point ] * denom ) + loLog ));
76 double db = value[ point ];
87 size_t numPoints = logEnvelope.GetNumberOfPoints();
90 logEnvelope.GetPoints(when.get(), value.get(), numPoints);
91 for (
size_t i = 0, j = 0; j + 2 < numPoints; i++, j++)
93 if ((value[i] < value[i + 1] + .05) && (value[i] > value[i + 1] - .05) &&
94 (value[i + 1] < value[i + 2] + .05) && (value[i + 1] > value[i + 2] - .05))
96 logEnvelope.Delete(j + 1);
Piecewise linear or piecewise exponential function from double to double.
size_t GetNumberOfPoints() const
Return number of points.
void GetPoints(double *bufferWhen, double *bufferValue, int bufferLen) const
Returns the sets of when and value pairs.
EqualizationFilter & mParameters