14 template <
class T>
inline 19 int end = sz_ * space;
21 for (
int idx=0; idx<end; idx+=space )
27 for (
int nn=sz_; nn>=2; nn>>=1 )
30 OD::memZero( wksp,
sizeof(T)*nn );
31 int nmod = nn*filtersz_;
36 for (
int ii=0; i<=nn; i+=2, ii++ )
41 for (
int k=1; k<=filtersz_; k++ )
46 wksp[ii] += cc_[k]*out[jf*space];
47 wksp[ii+nh] += cr_[k]*out[jr*space];
51 for (
int j=0; j<nn; j++ )
52 out[j*space] = wksp[j];
57 for (
int nn=2; nn<=sz_; nn<<=1 )
60 OD::memZero( wksp,
sizeof(T)*nn );
61 int nmod = nn*filtersz_;
66 for (
int ii=0; i<nn; i+=2, ii++ )
69 T ai1=out[(ii+nh)*space];
73 for (
int k=1; k<=filtersz_; k++ )
75 int jf = (n1 & (ni+k));
76 int jr = (n1 & (nj+k));
78 wksp[jf] += cc_[k]*ai;
79 wksp[jr] += cr_[k]*ai1;
83 for (
int j=0; j<nn; j++ )
84 out[j*space] = wksp[j];
void transform1Dt(const T *in, T *out, int space) const
Definition: templ_wavlttransimpl.h:15
#define mAllocLargeVarLenArr(type, varnm, __size)
Definition: varlenarray.h:29