12 #define BIORTHOGONAL_CC
39 WaveDWT<DataType_t>(m,m,tree,border)
45 template<
class DataType_t>
48 if(PForward)
delete [] PForward;
49 if(PInverse)
delete [] PInverse;
50 if(UForward)
delete [] UForward;
51 if(UInverse)
delete [] UInverse;
55 template<
class DataType_t>
62 template<
class DataType_t>
71 PForward=
new double[
n];
72 PInverse=
new double[
n];
73 UForward=
new double[
n];
74 UInverse=
new double[
n];
76 for(
int i=0;
i<
n;
i++)
79 UForward[
i] = 0.5*PForward[
i];
80 PInverse[
i] = -PForward[
i];
81 UInverse[
i] = -UForward[
i];
92 template<
class DataType_t>
97 this->predict(level, layer, PForward);
98 this->update(level, layer, UForward);
99 const int nS = this->nWWS>>level;
100 DataType_t *pData = this->pWWS+this->getOffset(level,layer);
101 if(this->m_Heterodine){
102 for(i=1; i<nS; i+=4) {pData[i*step] *= -1;}
109 template<
class DataType_t>
114 const int nS = this->nWWS>>level;
115 DataType_t *pData = this->pWWS+this->getOffset(level,layer);
117 if(this->m_Heterodine){
118 for(i=1; i<nS; i+=4) {pData[i*step] *= -1;}
121 this->update(level, layer, UInverse);
122 this->predict(level, layer, PInverse);
128 #define CLASS_INSTANTIATION(class_) template class Biorthogonal< class_ >;
135 #undef CLASS_INSTANTIATION
#define CLASS_INSTANTIATION(class_)
virtual Biorthogonal * Clone() const
return: Wavelet* - duplicate of *this, allocated on heap
void inverse(int level, int layer)
void forward(int level, int layer)
double Lagrange(const int n, const int i, const double x)
Biorthogonal(const Wavelet &)