12 #define BIORTHOGONAL_CC
23 template<class DataType_t>
Haar<DataType_t>::
27 this->m_WaveType =
HAAR;
45 template<
class DataType_t>
50 template<
class DataType_t>
59 template<
class DataType_t>
63 register int stride = 1<<level;
66 double sq2 = sqrt(2.);
68 register DataType_t *dataA;
69 register DataType_t *dataD;
71 dataA=this->pWWS+this->getOffset(level,layer<<1);
72 dataD=this->pWWS+this->getOffset(level,(layer<<1)+1);
75 for(i=0; i<this->nWWS; i+=stride) {
76 *(dataD+
i) -= *(dataA+i);
80 for(i=0; i<this->nWWS; i+=stride) {
81 *(dataA+
i) += *(dataD+i) * 0.5;
85 for(i=0; i<this->nWWS; i+=stride) {
95 template<
class DataType_t>
99 register int stride = 1<<level;
102 double sq2 = sqrt(2.);
104 register DataType_t *dataA;
105 register DataType_t *dataD;
107 dataA=this->pWWS+this->getOffset(level,layer<<1);
108 dataD=this->pWWS+this->getOffset(level,(layer<<1)+1);
111 for(i=0; i<this->nWWS; i+=stride) {
117 for(i=0; i<this->nWWS; i+=stride) {
118 *(dataA+
i) -= *(dataD+i) * 0.5;
122 for(i=0; i<this->nWWS; i+=stride) {
123 *(dataD+
i) += *(dataA+i);
130 #define CLASS_INSTANTIATION(class_) template class Haar< class_ >;
137 #undef CLASS_INSTANTIATION
void inverse(int level, int layer)
virtual Haar * Clone() const
return: Wavelet* - duplicate of *this, allocated on heap
#define CLASS_INSTANTIATION(class_)
void forward(int level, int layer)