#include "Filter.h" Filter::Filter () { coeff = NULL; size = 0; firstIndex = 0; } Filter::Filter(int size, int filterFirst, double *coeff) { init (size, filterFirst, coeff); } Filter::Filter (const Filter &filter) { coeff=0; copy(filter); } Filter::~Filter () { if (coeff != NULL) delete [] coeff; } /*---------------------------------------------------------------------------*/ void Filter::init (int filterSize, int filterFirst, double *data) { size = filterSize; firstIndex = filterFirst; center = -firstIndex; coeff = new double [size]; if (data != NULL) { for (int i = 0; i < size; i++) coeff[i] = data[i]; } else { for (int i = 0; i < size; i++) coeff[i] = 0; } } /*---------------------------------------------------------------------------*/ void Filter::copy (const Filter& filter) { if (coeff != NULL) delete [] coeff; init (filter.size, filter.firstIndex, filter.coeff); }