#include "stormdef.h"Include dependency graph for pd4fwt.cpp:

Go to the source code of this file.
Defines | |
| #define | H0 STORMDEF_MATHCONST_D4H0 |
| #define | H1 STORMDEF_MATHCONST_D4H1 |
| #define | H2 STORMDEF_MATHCONST_D4H2 |
| #define | H3 STORMDEF_MATHCONST_D4H3 |
Functions | |
| int | pd4fwt (const int &Sizef, const int &ns, const int &ks, const int &size, const double *sdata, double *wdata, double *ws) |
| int | pd4fwt (const int &Sizef, const int &ns, const int &ks, const int &size, const float *sdata, float *wdata, float *ws) |
| int | pd4fwt (const int &Sizef, const int &ns, const int &ks, const int &size, const double *sdata, double *wdata) |
| int | pd4fwt (const int &Sizef, const int &ns, const int &ks, const int &size, const float *sdata, float *wdata) |
|
|
Definition at line 15 of file pd4fwt.cpp. Referenced by pd4fwt(), pd4fwt2ds(), pd4fwt3ds(), pd4ifwt(), pd4ifwt2ds(), and pd4ifwt3ds(). |
|
|
Definition at line 16 of file pd4fwt.cpp. Referenced by pd4fwt(), pd4fwt2ds(), pd4fwt3ds(), pd4ifwt(), pd4ifwt2ds(), and pd4ifwt3ds(). |
|
|
Definition at line 17 of file pd4fwt.cpp. Referenced by pd4fwt(), pd4fwt2ds(), pd4fwt3ds(), pd4ifwt(), pd4ifwt2ds(), and pd4ifwt3ds(). |
|
|
Definition at line 18 of file pd4fwt.cpp. Referenced by pd4fwt(), pd4fwt2ds(), pd4fwt3ds(), pd4ifwt(), pd4ifwt2ds(), and pd4ifwt3ds(). |
|
||||||||||||||||||||||||||||||||
|
Definition at line 193 of file pd4fwt.cpp.
00201 {
00202
00203 #ifdef STORM_USEF
00204
00205 int iflag;
00206 dpd4fwtws_( &Sizef, &ns, &ks, &size, sdata, wdata, ws, &iflag );
00207 return iflag;
00208
00209 #else
00210
00211 int j;
00212 int j1,j2,j3;
00213 int size2;
00214 int size1 = size;
00215
00216 #ifdef STORM_FWT_CCHECKUSAGE
00217 if ( size1 < ns ) return 1;
00218 #endif
00219
00220 for( int i = 0; i < size1; i++ ) { wdata[i] = sdata[i]; }
00221 if ( size1 == ns ) return 0;
00222 while ( size1 > ns ) {
00223 size2 = size1 / 2;
00224 for( int i = 0; i < size2; i++ ) {
00225 j = 2 * i;
00226 j1 = (j+1)%size1;
00227 j2 = (j+2)%size1;
00228 j3 = (j+3)%size1;
00229 ws[i] = H0*wdata[j] + H1*wdata[j+1]
00230 + H2*wdata[j2] + H3*wdata[j3];
00231 ws[size2+i] = H3*wdata[j] - H2*wdata[j1]
00232 + H1*wdata[j2] + H0*wdata[j3];
00233 }
00234 for( int i = 0; i < size1; i++ ) { wdata[i] = ws[i]; }
00235 size1 = size2;
00236 }
00237
00238 #ifdef STORM_FWT_CCHECKUSAGE
00239 if ( size1 != ns ) return 2;
00240 #endif
00241
00242 return 0;
00243
00244 #endif
00245
00246 }
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 136 of file pd4fwt.cpp.
00144 {
00145
00146 #ifdef STORM_USEF
00147
00148 int iflag;
00149 pd4fwtws_( &Sizef, &ns, &ks, &size, sdata, wdata, ws, &iflag );
00150 return iflag;
00151
00152 #else
00153
00154 int j;
00155 int j1,j2,j3;
00156 int size2;
00157 int size1 = size;
00158 if ( size1 < ns ) return 1;
00159 for( int i = 0; i < size1; i++ ) { wdata[i] = sdata[i]; }
00160
00161 #ifdef STORM_FWT_CCHECKUSAGE
00162 if ( size1 == ns ) return 0;
00163 #endif
00164
00165 while ( size1 > ns ) {
00166 size2 = size1 / 2;
00167 for( int i = 0; i < size2; i++ ) {
00168 j = 2 * i;
00169 j1 = (j+1)%size1;
00170 j2 = (j+2)%size1;
00171 j3 = (j+3)%size1;
00172 ws[i] = H0*wdata[j] + H1*wdata[j+1]
00173 + H2*wdata[j2] + H3*wdata[j3];
00174 ws[size2+i] = H3*wdata[j] - H2*wdata[j1]
00175 + H1*wdata[j2] + H0*wdata[j3];
00176 }
00177 for( int i = 0; i < size1; i++ ) { wdata[i] = ws[i]; }
00178 size1 = size2;
00179 }
00180
00181 #ifdef STORM_FWT_CCHECKUSAGE
00182 if ( size1 != ns ) return 2;
00183 #endif
00184
00185 return 0;
00186
00187 #endif
00188
00189 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 78 of file pd4fwt.cpp.
00085 {
00086
00087 #ifdef STORM_USEF
00088
00089 int iflag;
00090 dpd4fwt_( &Sizef, &ns, &ks, &size, sdata, wdata, &iflag );
00091 return iflag;
00092
00093 #else
00094
00095 int j;
00096 int j1,j2,j3;
00097 int size2;
00098 int size1 = size;
00099 double *xx = new double[Sizef];
00100
00101 #ifdef STORM_FWT_CCHECKUSAGE
00102 if ( size1 < ns ) return 1;
00103 #endif
00104
00105 for( int i = 0; i < size1; i++ ) { wdata[i] = sdata[i]; }
00106 if ( size1 == ns ) return 0;
00107 while ( size1 > ns ) {
00108 size2 = size1 / 2;
00109 for( int i = 0; i < size2; i++ ) {
00110 j = 2 * i;
00111 j1 = (j+1)%size1;
00112 j2 = (j+2)%size1;
00113 j3 = (j+3)%size1;
00114 xx[i] = H0*wdata[j] + H1*wdata[j+1]
00115 + H2*wdata[j2] + H3*wdata[j3];
00116 xx[size2+i] = H3*wdata[j] - H2*wdata[j1]
00117 + H1*wdata[j2] + H0*wdata[j3];
00118 }
00119 for( int i = 0; i < size1; i++ ) { wdata[i] = xx[i]; }
00120 size1 = size2;
00121 }
00122 delete [] xx;
00123
00124 #ifdef STORM_FWT_CCHECKUSAGE
00125 if ( size1 != ns ) return 2;
00126 #endif
00127
00128 return 0;
00129
00130 #endif
00131
00132 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 20 of file pd4fwt.cpp.
00027 {
00028
00029 #ifdef STORM_USEF
00030
00031 int iflag;
00032 pd4fwt_( &Sizef, &ns, &ks, &size, sdata, wdata, &iflag );
00033 return iflag;
00034
00035 #else
00036
00037 int j;
00038 int j1,j2,j3;
00039 int size2;
00040 int size1 = size;
00041 float *xx = new float[Sizef];
00042
00043 #ifdef STORM_FWT_CCHECKUSAGE
00044 if ( size1 < ns ) return 1;
00045 #endif
00046
00047 for( int i = 0; i < size1; i++ ) { wdata[i] = sdata[i]; }
00048 if ( size1 == ns ) return 0;
00049 while ( size1 > ns ) {
00050 size2 = size1 / 2;
00051 for( int i = 0; i < size2; i++ ) {
00052 j = 2 * i;
00053 j1 = (j+1)%size1;
00054 j2 = (j+2)%size1;
00055 j3 = (j+3)%size1;
00056 xx[i] = H0*wdata[j] + H1*wdata[j+1]
00057 + H2*wdata[j2] + H3*wdata[j3];
00058 xx[size2+i] = H3*wdata[j] - H2*wdata[j1]
00059 + H1*wdata[j2] + H0*wdata[j3];
00060 }
00061 for( int i = 0; i < size1; i++ ) { wdata[i] = xx[i]; }
00062 size1 = size2;
00063 }
00064 delete [] xx;
00065
00066 #ifdef STORM_FWT_CCHECKUSAGE
00067 if ( size1 != ns ) return 2;
00068 #endif
00069
00070 return 0;
00071
00072 #endif
00073
00074 }
|
1.3.6