// Author: Aime' Fournier // E-mail: fournier@ucar.edu #include #include "qf.h" // for pqf ... #include "real.h" // See 2009/8/4 e-mail from john@michalakes.us #ifndef CRAY # ifdef NOUNDERSCORE # define DWTAI_W dwtai_w # else # ifdef F2CSTYLE # define DWTAI_W dwtai_w__ # else # define DWTAI_W dwtai_w_ # endif # endif #endif void DWTAI_W (char *nam,// in: filter name int *ran, // in: filter length real *u, // in/out: data & transform real *s, // scratch space int *iv, // v-space lengths int *ia, // w-space starts int *lm) { // maximum level pqf *g,*h; // wavelet hpf & lpf static int call1=1; //printf("dwtai_w::dwtai_w(%s,%2d,{%6.3f,...},{%6.3f,...},{%2d,...},{%2d,...},%2d)\n",nam,*ran,*u,*s,*iv,*ia,*lm); if( *ran ) { h=qf(nam,*ran,0); // assign h g=qf(nam,*ran,1); // assign g // PrintFilter(nam,*ran,0,h); // PrintFilter(nam,*ran,1,g); dwtai(u,s,iv,ia,*lm,h,g); free(g->fp);free(g);free(h->fp);free(h); }else{ if( call1 ) { printf(" dwtai_w: abort because *ran==0.\n"); call1=0; abort(); } } }