Skip to content

Commit

Permalink
Change uint to uint32_t and add os header files
Browse files Browse the repository at this point in the history
  • Loading branch information
AchimTuran committed Sep 20, 2015
1 parent ef228e4 commit 234a58a
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 45 deletions.
38 changes: 19 additions & 19 deletions Biquads/Biquad_Native/asplib_Biquad_Native.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,29 +32,29 @@ using namespace std;
namespace asplib
{

CBiquad_Native::CBiquad_Native(uint Amount, float SampleFrequency) :
CBiquad_Native::CBiquad_Native(uint32_t Amount, float SampleFrequency) :
IBaseBiquad<float>(Amount, SampleFrequency)
{
if(!Amount)
if (!Amount)
{
// ToDo: throw error!
}

this->m_parameters = new float[MAX_PARAM_PER_BIQUAD*Amount];
if(!m_parameters)
if (!m_parameters)
{
// ToDo: throw error!
}

for(uint ii = 0; ii < MAX_PARAM_PER_BIQUAD*Amount; ii++)
for (uint32_t ii = 0; ii < MAX_PARAM_PER_BIQUAD*Amount; ii++)
{
m_parameters[ii] = 0.0f;
}
}

CBiquad_Native::~CBiquad_Native()
{
if(this->m_parameters)
if (this->m_parameters)
{
delete this->m_parameters;
this->m_parameters = NULL;
Expand All @@ -64,18 +64,18 @@ CBiquad_Native::~CBiquad_Native()
ASPLIB_ERR CBiquad_Native::updateCoefficients(ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, float D0)
{
ASPLIB_ERR err = ASPLIB_ERR_NO_ERROR;
const uint maxAmount = getMaxBiquads();
for(uint ii = 0; ii < maxAmount && err == ASPLIB_ERR_NO_ERROR; ii++)
const uint32_t maxAmount = getMaxBiquads();
for (uint32_t ii = 0; ii < maxAmount && err == ASPLIB_ERR_NO_ERROR; ii++)
{
err = updateCoefficients(Coefficients, D0, ii);
}

return err;
}

ASPLIB_ERR CBiquad_Native::updateCoefficients(ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, float D0, uint BiquadIdx)
ASPLIB_ERR CBiquad_Native::updateCoefficients(ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, float D0, uint32_t BiquadIdx)
{
if(BiquadIdx >= getMaxBiquads() || !Coefficients)
if (BiquadIdx >= getMaxBiquads() || !Coefficients)
{
// ToDo: throw error!
return ASPLIB_ERR_INVALID_INPUT;
Expand All @@ -98,12 +98,12 @@ ASPLIB_ERR CBiquad_Native::updateCoefficients(ASPLIB_BIQUAD_COEFFICIENTS *Coeffi
// Set all past values (x[k-1], x[k-2], y[k-1] & y[k-2]) to zero.
void CBiquad_Native::resetState()
{
const uint maxBiquads = getMaxBiquads();
for(uint ii = 0; ii < maxBiquads; ii++)
const uint32_t maxBiquads = getMaxBiquads();
for (uint32_t ii = 0; ii < maxBiquads; ii++)
{
// only destroy the past values of the filter!
float *filterParam = m_parameters + MAX_PARAM_PER_BIQUAD*ii + 8;
for (uint kk = 0; kk < 4; ii++)
for (uint32_t kk = 0; kk < 4; ii++)
{
filterParam[kk] = 0.0f;
}
Expand All @@ -114,9 +114,9 @@ void CBiquad_Native::resetState()
// y[k] = a0*x[k] + a1*x[k-1] + a2*x[k-2] - (b1*y[k-1] + b2*y[k-2])
float CBiquad_Native::calcSample(float In)
{
const uint maxBiquads = getMaxBiquads();
const uint32_t maxBiquads = getMaxBiquads();
float out = In;
for(uint ii = 0; ii < maxBiquads; ii++)
for (uint32_t ii = 0; ii < maxBiquads; ii++)
{
float *filterParam = m_parameters + MAX_PARAM_PER_BIQUAD*ii;

Expand All @@ -140,18 +140,18 @@ float CBiquad_Native::calcSample(float In)
return out;
}

ASPLIB_ERR CBiquad_Native::calcSamples(float *In, float *Out, uint N)
ASPLIB_ERR CBiquad_Native::calcSamples(float *In, float *Out, uint32_t N)
{
if(!In || !Out || !N)
if (!In || !Out || !N)
{
return ASPLIB_ERR_INVALID_INPUT;
}

for(uint ii = 0; ii < N; ii++)
for (uint32_t ii = 0; ii < N; ii++)
{
const uint maxBiquads = getMaxBiquads();
const uint32_t maxBiquads = getMaxBiquads();
float out = In[ii];
for(uint jj = 0; jj < maxBiquads; jj++)
for (uint32_t jj = 0; jj < maxBiquads; jj++)
{
float *filterParam = m_parameters + MAX_PARAM_PER_BIQUAD*jj;

Expand Down
6 changes: 3 additions & 3 deletions Biquads/Biquad_Native/asplib_Biquad_Native.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,21 +37,21 @@ class CBiquad_Native : public IBaseBiquad<float>
{
public:
// use this constructor to create a biquad filter with coefficients
CBiquad_Native(uint Amount, float SampleFrequency);
CBiquad_Native(uint32_t Amount, float SampleFrequency);
//CBiquad_Native(float A0, float A1, float A2, float B1, float B2);
~CBiquad_Native();

// Set all past values (y[k-1] & y[k-2]) to zero.
virtual void resetState();

virtual ASPLIB_ERR updateCoefficients(ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, float D0);
virtual ASPLIB_ERR updateCoefficients(ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, float D0, uint BiquadIdx);
virtual ASPLIB_ERR updateCoefficients(ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, float D0, uint32_t BiquadIdx);

// calculate one output sample with the following difference equation
// y[k] = a0*x[k] + a1*x[k-1] + a2*x[k-2] - (b1*y[k-1] + b2*y[k-2])
virtual float calcSample(float In);
// calculate output samples with the following difference equation
// y[k] = a0*x[k] + a1*x[k-1] + a2*x[k-2] - (b1*y[k-1] + b2*y[k-2])
virtual ASPLIB_ERR calcSamples(float *In, float *Out, uint N);
virtual ASPLIB_ERR calcSamples(float *In, float *Out, uint32_t N);
};
};
22 changes: 11 additions & 11 deletions Biquads/apslib_BiquadFactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ namespace asplib
{
// helper function prototypes
ASPLIB_ERR helper_calcConstQPeakingParam(ASPLIB_CONST_Q_PEAKING_PARAM *ConstQPeakingParam, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients);
ASPLIB_ERR helper_checkBiquadIdx(ASPLIB_BIQUAD_HANDLE *Biquads, uint BiQaudIdx);
ASPLIB_ERR helper_checkBiquadIdx(ASPLIB_BIQUAD_HANDLE *Biquads, uint32_t BiQaudIdx);


// Handle Biquads
Expand Down Expand Up @@ -85,7 +85,7 @@ ASPLIB_ERR CBiquadFactory::destroy_Biquads(ASPLIB_BIQUAD_HANDLE **Biquads)
return err;
}

uint CBiquadFactory::get_maxBiquads(ASPLIB_BIQUAD_HANDLE *Biquads)
uint32_t CBiquadFactory::get_maxBiquads(ASPLIB_BIQUAD_HANDLE *Biquads)
{
if(!Biquads)
{
Expand All @@ -106,7 +106,7 @@ uint CBiquadFactory::get_maxBiquads(ASPLIB_BIQUAD_HANDLE *Biquads)
}
}

ASPLIB_BIQUAD_HANDLE* CBiquadFactory::get_Biquads(uint Amount, float SampleFrequency, ASPLIB_OPT_MODULE OptModule)
ASPLIB_BIQUAD_HANDLE* CBiquadFactory::get_Biquads(uint32_t Amount, float SampleFrequency, ASPLIB_OPT_MODULE OptModule)
{
ASPLIB_BIQUAD_HANDLE *p = new ASPLIB_BIQUAD_HANDLE;
if(!p)
Expand Down Expand Up @@ -164,7 +164,7 @@ ASPLIB_ERR CBiquadFactory::calc_BiquadSample(ASPLIB_BIQUAD_HANDLE *Biquads, floa
return ASPLIB_ERR_NO_ERROR;
}

ASPLIB_ERR CBiquadFactory::calc_BiquadSamples(ASPLIB_BIQUAD_HANDLE *Biquads, float *In, float *Out, uint FrameSize)
ASPLIB_ERR CBiquadFactory::calc_BiquadSamples(ASPLIB_BIQUAD_HANDLE *Biquads, float *In, float *Out, uint32_t FrameSize)
{
if(!Biquads)
{
Expand Down Expand Up @@ -217,7 +217,7 @@ ASPLIB_ERR CBiquadFactory::set_BiquadCoefficients(ASPLIB_BIQUAD_HANDLE *Biquads,
return err;
}

ASPLIB_ERR CBiquadFactory::set_BiquadCoefficients(ASPLIB_BIQUAD_HANDLE *Biquads, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, uint BiquadIdx, float C0, float D0)
ASPLIB_ERR CBiquadFactory::set_BiquadCoefficients(ASPLIB_BIQUAD_HANDLE *Biquads, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, uint32_t BiquadIdx, float C0, float D0)
{
ASPLIB_ERR err = ASPLIB_ERR_NO_ERROR;

Expand Down Expand Up @@ -255,7 +255,7 @@ ASPLIB_ERR CBiquadFactory::set_constQPeakingParams(ASPLIB_BIQUAD_HANDLE *Biquads
return ASPLIB_ERR_INVALID_INPUT;
}

uint maxBands = 0;
uint32_t maxBands = 0;
switch(Biquads->optModule)
{
case ASPLIB_OPT_NATIVE:
Expand All @@ -269,15 +269,15 @@ ASPLIB_ERR CBiquadFactory::set_constQPeakingParams(ASPLIB_BIQUAD_HANDLE *Biquads
}

ASPLIB_ERR err = ASPLIB_ERR_NO_ERROR;
for(uint ii = 0; ii < maxBands && err == ASPLIB_ERR_NO_ERROR; ii++)
for (uint32_t ii = 0; ii < maxBands && err == ASPLIB_ERR_NO_ERROR; ii++)
{
err = CBiquadFactory::set_constQPeakingParams(Biquads, Gain, ii);
}

return err;
}

ASPLIB_ERR CBiquadFactory::set_constQPeakingParams(ASPLIB_BIQUAD_HANDLE *Biquads, float Gain, uint BiquadIdx)
ASPLIB_ERR CBiquadFactory::set_constQPeakingParams(ASPLIB_BIQUAD_HANDLE *Biquads, float Gain, uint32_t BiquadIdx)
{
if(!Biquads)
{
Expand Down Expand Up @@ -355,7 +355,7 @@ ASPLIB_ERR CBiquadFactory::set_constQPeakingParams(ASPLIB_BIQUAD_HANDLE *Biquads
return err;
}

ASPLIB_ERR CBiquadFactory::get_constQPeakingBiquadCoes(ASPLIB_BIQUAD_HANDLE *Biquads, float Gain, uint BiquadIdx, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients)
ASPLIB_ERR CBiquadFactory::get_constQPeakingBiquadCoes(ASPLIB_BIQUAD_HANDLE *Biquads, float Gain, uint32_t BiquadIdx, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients)
{
if(!Biquads || !Coefficients || Gain < 0.0f)
{
Expand Down Expand Up @@ -416,7 +416,7 @@ ASPLIB_ERR CBiquadFactory::get_constQPeakingBiquadCoes(ASPLIB_BIQUAD_HANDLE *Biq
return helper_calcConstQPeakingParam(&ConstQPeakingParam, Coefficients);
}

ASPLIB_ERR CBiquadFactory::get_constQPeakingBiquadCoes(uint SampleFrequency, uint MaxFreqBands, float Gain, uint BiquadIdx, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients)
ASPLIB_ERR CBiquadFactory::get_constQPeakingBiquadCoes(uint32_t SampleFrequency, uint32_t MaxFreqBands, float Gain, uint32_t BiquadIdx, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients)
{
if(SampleFrequency <= 0 || MaxFreqBands <= 0 || BiquadIdx >= MaxFreqBands || !Coefficients)
{
Expand Down Expand Up @@ -497,7 +497,7 @@ ASPLIB_ERR helper_calcConstQPeakingParam(ASPLIB_CONST_Q_PEAKING_PARAM *ConstQPea
return ASPLIB_ERR_NO_ERROR;
}

ASPLIB_ERR helper_checkBiquadIdx(ASPLIB_BIQUAD_HANDLE *Biquads, uint BiQaudIdx)
ASPLIB_ERR helper_checkBiquadIdx(ASPLIB_BIQUAD_HANDLE *Biquads, uint32_t BiQaudIdx)
{
if(!Biquads)
{
Expand Down
15 changes: 8 additions & 7 deletions Biquads/apslib_BiquadFactory.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@

#include "asplib_utils/constants_typedefs/asplib_constants.h"
#include "asplib_utils/constants_typedefs/asplib_typedefs.h"
#include "asplib_utils/os/asplib_base_os.h"

namespace asplib
{
Expand All @@ -37,19 +38,19 @@ class CBiquadFactory
// Handle Biquads
static ASPLIB_ERR reset_Biquads(ASPLIB_BIQUAD_HANDLE *Biquads);
static ASPLIB_ERR destroy_Biquads(ASPLIB_BIQUAD_HANDLE **Biquads);
static uint get_maxBiquads(ASPLIB_BIQUAD_HANDLE *Biquads);
static ASPLIB_BIQUAD_HANDLE* get_Biquads(uint BiquadQuantity, float SampleFrequency, ASPLIB_OPT_MODULE OptModule);
static uint32_t get_maxBiquads(ASPLIB_BIQUAD_HANDLE *Biquads);
static ASPLIB_BIQUAD_HANDLE* get_Biquads(uint32_t BiquadQuantity, float SampleFrequency, ASPLIB_OPT_MODULE OptModule);
static ASPLIB_ERR calc_BiquadSample(ASPLIB_BIQUAD_HANDLE *Biquads, float In, float *Out);
static ASPLIB_ERR calc_BiquadSamples(ASPLIB_BIQUAD_HANDLE *Biquads, float *In, float *Out, uint FrameSize);
static ASPLIB_ERR calc_BiquadSamples(ASPLIB_BIQUAD_HANDLE *Biquads, float *In, float *Out, uint32_t FrameSize);

// set Biquad Parameters
static ASPLIB_ERR set_BiquadCoefficients(ASPLIB_BIQUAD_HANDLE *Biquads, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, float C0 = 1.0f, float D0 = 0.0f);
static ASPLIB_ERR set_BiquadCoefficients(ASPLIB_BIQUAD_HANDLE *Biquads, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, uint BiquadIdx, float C0 = 1.0f, float D0 = 0.0f);
static ASPLIB_ERR set_BiquadCoefficients(ASPLIB_BIQUAD_HANDLE *Biquads, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, uint32_t BiquadIdx, float C0 = 1.0f, float D0 = 0.0f);
// Octave EQs, 1 Octave (9 to 11 bands), 2/3 octave (15 - 17 bands), 1/2 octave (17 to 22 bands), and 1/3 octave (30 - 31 bands)
// frequency bands are defined in ISO R 266-1997 or ANSI S1.6-1984
static ASPLIB_ERR set_constQPeakingParams(ASPLIB_BIQUAD_HANDLE *Biquads, float Gain);
static ASPLIB_ERR set_constQPeakingParams(ASPLIB_BIQUAD_HANDLE *Biquads, float Gain, uint BiquadIdx);
static ASPLIB_ERR get_constQPeakingBiquadCoes(ASPLIB_BIQUAD_HANDLE *Biquads, float Gain, uint BiquadIdx, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients);
static ASPLIB_ERR get_constQPeakingBiquadCoes(uint SampleFrequency, uint MaxFreqBands, float Gain, uint BiquadIdx, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients);
static ASPLIB_ERR set_constQPeakingParams(ASPLIB_BIQUAD_HANDLE *Biquads, float Gain, uint32_t BiquadIdx);
static ASPLIB_ERR get_constQPeakingBiquadCoes(ASPLIB_BIQUAD_HANDLE *Biquads, float Gain, uint32_t BiquadIdx, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients);
static ASPLIB_ERR get_constQPeakingBiquadCoes(uint32_t SampleFrequency, uint32_t MaxFreqBands, float Gain, uint32_t BiquadIdx, ASPLIB_BIQUAD_COEFFICIENTS *Coefficients);
};
}
11 changes: 6 additions & 5 deletions interfaces/asplib_IBaseBiquad.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@

#include "asplib_utils/constants_typedefs/asplib_constants.h"
#include "asplib_utils/constants_typedefs/asplib_typedefs.h"
#include "asplib_utils/os/asplib_base_os.h"

#if defined(TARGET_LINUX)
#include <stddef.h>
Expand All @@ -40,7 +41,7 @@ class IBaseBiquad
{
public:
// use this constructor to create a biquad filter with coefficients
IBaseBiquad(uint Amount, float SampleFrequency)
IBaseBiquad(uint32_t Amount, float SampleFrequency)
{
m_parameters = NULL;

Expand All @@ -60,19 +61,19 @@ class IBaseBiquad
virtual ~IBaseBiquad() {}

virtual ASPLIB_ERR updateCoefficients(ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, float D0) = 0;
virtual ASPLIB_ERR updateCoefficients(ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, float D0, uint BiquadIdx) = 0;
virtual ASPLIB_ERR updateCoefficients(ASPLIB_BIQUAD_COEFFICIENTS *Coefficients, float D0, uint32_t BiquadIdx) = 0;

// calculate one output sample with the following difference equation
// y[k] = d0*x[k] + a0*x[k] + a1*x[k-1] + a2*x[k-2] - (b1*y[k-1] + b2*y[k-2])
virtual float calcSample(float In) = 0;
virtual ASPLIB_ERR calcSamples(float *In, float *Out, uint N) = 0;
virtual ASPLIB_ERR calcSamples(float *In, float *Out, uint32_t N) = 0;

// Set all past values (x[k-1], x[k-2], y[k-1] and y[k-2]) to zero.
virtual void resetState() = 0;

//--- helper functions ---
// get Biquad quantity
uint getMaxBiquads()
uint32_t getMaxBiquads()
{
return m_maxBiquads;
}
Expand All @@ -89,7 +90,7 @@ class IBaseBiquad
// [8]=x[k-1], [9]=x[k-2], [10]=y[k-1], [11]=y[k-2]

private:
uint m_maxBiquads; // maximum Biquad quantity
uint32_t m_maxBiquads; // maximum Biquad quantity
float m_sampleFrequency;
};
}

0 comments on commit 234a58a

Please sign in to comment.