#include <Rtmra_Data_t_array.h>
Collaboration diagram for Rtmra< Data_t, array >:

Public Types | |
| typedef Data_t | DataType |
Public Member Functions | |
| int | amax () |
| void | assign (const int a0, const int a1, const Data_t *data) |
| void | assign (const Data_t data) |
| virtual Data_t | ave (const int a, const int m) |
| virtual Data_t | chg (const int a, const int m) |
| virtual void | clear () |
| virtual int | imcycle () |
| bool | isvalid (const int m) |
| virtual int | mcycle () |
| int | mmax () |
| void | mrastep (const int mrastep) |
| int | mrastep () |
| int | operator++ (int) |
| int | operator++ () |
| int | operator-- (int) |
| int | operator-- () |
| Data_t & | operator[] (const int a) |
| virtual void | remalloc (const int asize=1, const int msize=8) |
| virtual void | rtiwt () |
| virtual void | rtjiwt () |
| Rtmra (const int asize=1, const int msize=8) | |
| virtual void | rtwt () |
| virtual void | scal (const int a, const int m, Data_t scalcoef) |
| virtual Data_t | scal (const int a, const int m) |
| virtual void | wav (const int a, const int m, Data_t wavcoef) |
| virtual Data_t | wav (const int a, const int m) |
| virtual | ~Rtmra () |
Static Public Attributes | |
| const int | ArrayDim = 1 |
Protected Attributes | |
| int | _amax |
| int | _Asize |
| Data_t * | _data |
| int | _mmax |
| Data_t * | _mracoef |
| int | _mrastep |
| int | _Msize |
|
|||||
|
Definition at line 26 of file Rtmra_Data_t_array.h. |
|
|||||||||
|
Definition at line 80 of file Rtmra_Data_t_array.h.
|
|
|||||||||
|
Definition at line 43 of file Rtmra_Data_t_array.h.
00043 { return _amax; }
|
|
||||||||||||||||||||
|
Definition at line 119 of file Rtmra_Data_t_array.h.
|
|
||||||||||
|
Definition at line 111 of file Rtmra_Data_t_array.h.
|
|
||||||||||||||||
|
Definition at line 291 of file Rtmra_Data_t_array.h. References INVSQRT2, and rtmrascala().
00292 {
00293 Data_t scala;
00294 #ifdef STORM_USEC
00295 rtmrascala(
00296 _Asize, _Msize,
00297 _amax, _mmax,
00298 _mrastep, _mracoef,
00299 a, m, scala
00300 );
00301 #else
00302 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax ) ) {
00303 scala = _mracoef[ _Msize*2*a + 2*m ] * pow(INVSQRT2,m);
00304 // } else { scala=1.0/0; }
00305 #endif
00306 return scala;
00307 }
|
|
||||||||||||||||
|
Definition at line 310 of file Rtmra_Data_t_array.h. References INVSQRT2, and rtmrawavd().
00311 {
00312 Data_t wavd;
00313 #ifdef STORM_USEC
00314 rtmrawavd(
00315 _Asize, _Msize,
00316 _amax, _mmax,
00317 _mrastep, _mracoef,
00318 a, m, wavd
00319 );
00320 #else
00321 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax ) ) {
00322 wavd = _mracoef[ _Msize*2*a + 2*m + 1 ] * pow(INVSQRT2,m);
00323 // }
00324 // else {
00325 // wavd = 1.0/0;
00326 // }
00327 #endif
00328 return wavd;
00329 }
|
|
|||||||||
|
Definition at line 103 of file Rtmra_Data_t_array.h.
|
|
|||||||||
|
Definition at line 332 of file Rtmra_Data_t_array.h. References rtmraimcycle().
00333 {
00334 int imcycle=0;
00335 #ifdef STORM_USEC
00336 rtmraimcycle( _Msize, _mmax, _mrastep, imcycle);
00337 #else
00338 int itmp = (1<<_mmax) - 1;
00339 itmp = itmp - ( itmp & ( _mrastep +1 ) );
00340 while ( ( itmp & (1<<imcycle) ) && ( imcycle < _mmax ) ) { imcycle++; }
00341 #endif
00342 return imcycle;
00343 }
|
|
||||||||||
|
Definition at line 48 of file Rtmra_Data_t_array.h.
00048 { return ( m < mcycle() ) ; }
|
|
|||||||||
|
Definition at line 235 of file Rtmra_Data_t_array.h. References rtmramcycle().
00236 {
00237 int mcycle = 0;
00238 #ifdef STORM_USEC
00239 rtmramcycle( _Msize, _mmax, _mrastep, mcycle);
00240 #else
00241 while ( ( _mrastep & (1<<mcycle) ) && ( mcycle < _mmax ) ) { mcycle++; }
00242 #endif
00243 return mcycle;
00244 }
|
|
|||||||||
|
Definition at line 44 of file Rtmra_Data_t_array.h.
00044 { return _mmax; }
|
|
||||||||||
|
Definition at line 46 of file Rtmra_Data_t_array.h.
00046 { _mrastep = mrastep; } //DEBUG
|
|
|||||||||
|
Definition at line 45 of file Rtmra_Data_t_array.h.
00045 { return _mrastep; }
|
|
||||||||||
|
Definition at line 40 of file Rtmra_Data_t_array.h.
00040 { rtwt(); return 0; }
|
|
|||||||||
|
Definition at line 39 of file Rtmra_Data_t_array.h.
00039 { rtwt(); return 0; }
|
|
||||||||||
|
Definition at line 42 of file Rtmra_Data_t_array.h.
00042 { rtiwt(); return 0; }
|
|
|||||||||
|
Definition at line 41 of file Rtmra_Data_t_array.h.
00041 { rtiwt(); return 0; }
|
|
||||||||||
|
Definition at line 35 of file Rtmra_Data_t_array.h.
00035 { return _data[a]; }
|
|
||||||||||||||||
|
Definition at line 87 of file Rtmra_Data_t_array.h.
00088 {
00089 _Asize = asize;
00090 _Msize = msize;
00091 _amax = asize-1;
00092 _mmax = msize-1;
00093 _mrastep = -1;
00094 if (_mracoef) delete [] _mracoef; _mracoef = 0;
00095 if (_data) delete [] _data; _data = 0;
00096 _mracoef = new Data_t[ _Asize*_Msize*2 ];
00097 _data = new Data_t[ _Asize ];
00098 for( int i = 0; i < _Asize*_Msize*2; i++ ) { _mracoef[i] = 0; }
00099 for( int i = 0; i < _Asize; i++) { _data[i] = 0; }
00100 }
|
|
|||||||||
|
Definition at line 163 of file Rtmra_Data_t_array.h. References INVSQRT2, and rtmrartiwt().
00164 {
00165 #ifdef STORM_USEC
00166 rtmrartiwt(
00167 _Asize, _Msize,
00168 _amax, _mmax,
00169 _mrastep, _mracoef,
00170 _data
00171 );
00172 #else
00173 _mrastep++;
00174 int itmp = ( 1 << _mmax) - 1;
00175 itmp = itmp - ( itmp & _mrastep );
00176 int imcycle = 0;
00177 while ( ( itmp & ( 1 << imcycle ) ) && ( imcycle < _mmax ) ) { imcycle++; }
00178 int m;
00179 for(int a = 0; a <= _amax; a++ ) {
00180 m = imcycle;
00181 if ( m < _mmax ) {
00182 _mracoef[ _Msize*2*a + 2*m ] =
00183 ( _mracoef[ _Msize*2*a + 2*(m+1) ]
00184 - _mracoef[ _Msize*2*a + 2*(m+1) + 1 ] ) * INVSQRT2;
00185 }
00186 m--;
00187 while ( m >= 0 ) {
00188 _mracoef[ _Msize*2*a + 2*m ] =
00189 ( _mracoef[ _Msize*2*a + 2*(m+1) ]
00190 + _mracoef[ _Msize*2*a + 2*(m+1) + 1 ] ) * INVSQRT2;
00191 m--;
00192 }
00193 _data[a] = _mracoef[a];
00194 }
00195 #endif
00196 }
|
|
|||||||||
|
Definition at line 199 of file Rtmra_Data_t_array.h. References rtmrartjiwt().
00200 {
00201 //#ifdef STORM_USEC
00202 rtmrartjiwt(
00203 _Asize, _Msize,
00204 _amax, _mmax,
00205 _mrastep, _mracoef,
00206 _data
00207 );
00208 //#else
00209 // _mrastep++;
00210 // int itmp = ( 1 << _mmax) - 1;
00211 // itmp = itmp - ( itmp & _mrastep );
00212 // int imcycle = 0;
00213 // while ( ( itmp & ( 1 << imcycle ) ) && ( imcycle < _mmax ) ) { imcycle++; }
00214 // int m;
00215 // for(int a = 0; a <= _amax; a++ ) {
00216 // m = imcycle;
00217 // if ( m < _mmax ) {
00218 // _mracoef[ _Msize*2*a + 2*m ] =
00219 // ( _mracoef[ _Msize*2*a + 2*(m+1) ]
00220 // - _mracoef[ _Msize*2*a + 2*(m+1) + 1 ] ) * INVSQRT2;
00221 // }
00222 // m--;
00223 // while ( m >= 0 ) {
00224 // _mracoef[ _Msize*2*a + 2*m ] =
00225 // ( _mracoef[ _Msize*2*a + 2*(m+1) ]
00226 // + _mracoef[ _Msize*2*a + 2*(m+1) + 1 ] ) * INVSQRT2;
00227 // m--;
00228 // }
00229 // _data[a] = _mracoef[a];
00230 // }
00231 //#endif
00232 }
|
|
||||||||||||||||
|
Definition at line 70 of file Rtmra_Data_t_array.h.
00071 : _Asize(asize), _Msize(msize), _amax(asize-1), _mmax(msize-1), _mrastep(-1) 00072 { 00073 _mracoef = new Data_t[ _Asize*_Msize*2 ]; 00074 _data = new Data_t[ _Asize ]; 00075 for( int i = 0; i< _Asize*_Msize*2; i++) { _mracoef[i] = 0; } 00076 for( int i = 0; i< _Asize; i++) { _data[i] = 0; } 00077 } |
|
|||||||||
|
Definition at line 132 of file Rtmra_Data_t_array.h. References INVSQRT2, and rtmrartwt().
00133 {
00134 #ifdef STORM_USEC
00135 rtmrartwt(
00136 _Asize, _Msize,
00137 _amax, _mmax,
00138 _mrastep, _mracoef,
00139 _data
00140 );
00141 #else
00142 _mrastep++;
00143 int mcycle = 0;
00144 while ( ( _mrastep & (1 << mcycle) ) && ( mcycle < _mmax ) ) { mcycle++; }
00145 int m;
00146 Data_t tmp,tmpold;
00147 for(int a = 0; a <= _amax; a++) {
00148 tmp = _data[a];
00149 m = 1;
00150 while ( m <= mcycle ) {
00151 tmpold = _mracoef[ _Msize*2*a + 2*(m-1) ];
00152 _mracoef[ _Msize*2*a + 2*(m-1) ] = tmp;
00153 _mracoef[ _Msize*2*a + 2*m + 1 ] = (tmpold-tmp) * INVSQRT2;
00154 tmp = (tmpold+tmp) * INVSQRT2;
00155 m++;
00156 }
00157 _mracoef[ _Msize*2*a + 2*(m-1) ] = tmp;
00158 }
00159 #endif
00160 }
|
|
||||||||||||||||||||
|
Definition at line 347 of file Rtmra_Data_t_array.h. References rtmraputscalcoef().
00348 {
00349 #ifdef STORM_USEC
00350 rtmraputscalcoef(
00351 _Asize, _Msize,
00352 _amax, _mmax,
00353 _mrastep, _mracoef,
00354 a, m, scalcoef
00355 );
00356 #else
00357 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && (m <= _mmax ) ) {
00358 _mracoef[ _Msize*2*a + 2*m ] = scalcoef;
00359 // }
00360 #endif
00361 }
|
|
||||||||||||||||
|
Definition at line 247 of file Rtmra_Data_t_array.h. References rtmrascalcoef().
00248 {
00249 Data_t scalcoef;
00250 #ifdef STORM_USEC
00251 rtmrascalcoef(
00252 _Asize, _Msize,
00253 _amax, _mmax,
00254 _mrastep, _mracoef,
00255 a, m, scalcoef
00256 );
00257 #else
00258 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax ) ) {
00259 scalcoef = _mracoef[ _Msize*2*a + 2*m ];
00260 // }
00261 // else {
00262 // scalcoef = 1.0/0;
00263 // }
00264 #endif
00265 return scalcoef;
00266 }
|
|
||||||||||||||||||||
|
Definition at line 365 of file Rtmra_Data_t_array.h. References rtmraputwavcoef().
00366 {
00367 #ifdef STORM_USEC
00368 rtmraputwavcoef(
00369 _Asize, _Msize,
00370 _amax, _mmax,
00371 _mrastep, _mracoef,
00372 a, m, wavcoef
00373 );
00374 #else
00375 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax ) ) {
00376 _mracoef[ _Msize*2*a + 2*m + 1] = wavcoef;
00377 // }
00378 #endif
00379 }
|
|
||||||||||||||||
|
Definition at line 269 of file Rtmra_Data_t_array.h. References rtmrawavcoef().
00270 {
00271 Data_t wavcoef;
00272 #ifdef STORM_USEC
00273 rtmrawavcoef(
00274 _Asize, _Msize,
00275 _amax, _mmax,
00276 _mrastep, _mracoef,
00277 a, m, wavcoef
00278 );
00279 #else
00280 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax) ) {
00281 wavcoef = _mracoef[ _Msize*2*a + 2*m + 1 ];
00282 // }
00283 // else {
00284 // wavcoef = 1.0/0;
00285 // }
00286 #endif
00287 return wavcoef;
00288 }
|
|
|||||
|
Definition at line 61 of file Rtmra_Data_t_array.h. |
|
|||||
|
Definition at line 59 of file Rtmra_Data_t_array.h. |
|
|||||
|
Definition at line 65 of file Rtmra_Data_t_array.h. |
|
|||||
|
Definition at line 62 of file Rtmra_Data_t_array.h. |
|
|||||
|
Definition at line 64 of file Rtmra_Data_t_array.h. |
|
|||||
|
Definition at line 63 of file Rtmra_Data_t_array.h. |
|
|||||
|
Definition at line 60 of file Rtmra_Data_t_array.h. |
|
|||||
|
Definition at line 27 of file Rtmra_Data_t_array.h. |
1.3.6