#include <Rtrsmra_Data_t_array.h>
Collaboration diagram for Rtrsmra< 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) |
| void | assign (const Data_t data) |
| virtual Data_t | ave (const int a, const int m) |
| virtual Data_t | ave0 (const int a, const int m) |
| virtual Data_t | ave1 (const int a, const int m) |
| virtual Data_t | avers (const int a, const int m) |
| virtual Data_t | chg (const int a, const int m) |
| virtual Data_t | chg0 (const int a, const int m) |
| virtual Data_t | chg1 (const int a, const int m) |
| virtual Data_t | chgrs (const int a, const int m) |
| virtual void | clear () |
| virtual void | detectge (const Data_t *thresh, int *hit) |
| virtual void | detectgt (const Data_t *thresh, int *hit) |
| virtual void | detectle (const Data_t *thresh, int *hit) |
| virtual void | detectlt (const Data_t *thresh, int *hit) |
| virtual int | imcycle () |
| bool | isvalid (const int m) |
| bool | isvalid0 (const int m) |
| bool | isvalid1 (const int m) |
| bool | isvalidrs (const int m) |
| virtual int | mcycle () |
| virtual int | mcycle0 () |
| virtual int | mcycle1 () |
| virtual int | mcyclers () |
| int | mmax () |
| int | 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 () |
| Rtrsmra (const Rtrsmra &rhs) | |
| Rtrsmra (const int asize=1, const int msize=8) | |
| virtual void | rtwt () |
| virtual void | scal (const int a, const int m, Data_t tmp) |
| virtual Data_t | scal (const int a, const int m) |
| virtual Data_t | scal0 (const int a, const int m) |
| virtual Data_t | scal1 (const int a, const int m) |
| virtual Data_t | scalrs (const int a, const int m) |
| virtual void | wav (const int a, const int m, Data_t tmp) |
| virtual Data_t | wav (const int a, const int m) |
| virtual Data_t | wav0 (const int a, const int m) |
| virtual Data_t | wav1 (const int a, const int m) |
| virtual Data_t | wavrs (const int a, const int m) |
| void | zero () |
| virtual | ~Rtrsmra () |
Static Public Attributes | |
| const int | ArrayDim = 1 |
Protected Attributes | |
| int | _amax |
| int | _Asize |
| Data_t * | _data |
| int | _mmax |
| Data_t * | _mracoef |
| Data_t * | _mracoefrs |
| int | _mrastep |
| int | _Msize |
|
|||||
|
Definition at line 26 of file Rtrsmra_Data_t_array.h. |
|
|||||||||
|
Definition at line 129 of file Rtrsmra_Data_t_array.h.
00130 {
00131 if ( _data != 0 ) { delete [] _data; _data = 0; }
00132 if ( _mracoefrs != 0 ) { delete [] _mracoefrs; _mracoefrs = 0; }
00133 if ( _mracoef != 0 ) { delete [] _mracoef; _mracoef = 0; }
00134 }
|
|
|||||||||
|
Definition at line 45 of file Rtrsmra_Data_t_array.h.
00045 { return _amax; }
|
|
||||||||||||||||||||
|
Definition at line 183 of file Rtrsmra_Data_t_array.h.
|
|
||||||||||
|
Definition at line 175 of file Rtrsmra_Data_t_array.h.
|
|
||||||||||
|
Definition at line 167 of file Rtrsmra_Data_t_array.h.
|
|
||||||||||||||||
|
Definition at line 61 of file Rtrsmra_Data_t_array.h.
00061 { return ave0(a,m); }
|
|
||||||||||||||||
|
Definition at line 313 of file Rtrsmra_Data_t_array.h. References INVSQRT2, and rtrsmrascala().
00314 {
00315 Data_t scala;
00316 #ifdef STORM_USEC
00317 rtrsmrascala(
00318 _Asize, _Msize,
00319 _amax, _mmax, _mrastep,
00320 _mracoef, _mracoefrs,
00321 a, m, scala
00322 );
00323 #else
00324 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax ) ) {
00325 scala = _mracoef[ _Msize*2*a + 2*m ] * pow(INVSQRT2,m);
00326 // } else {
00327 // scala = 1.0/0;
00328 // }
00329 #endif
00330 return scala;
00331 }
|
|
||||||||||||||||
|
Definition at line 397 of file Rtrsmra_Data_t_array.h. References INVSQRT2, and rtrsmrascalars().
00398 {
00399 Data_t scalars;
00400 #ifdef STORM_USEC
00401 rtrsmrascalars( _Asize, _Msize,
00402 _amax, _mmax, _mrastep,
00403 _mracoef, _mracoefrs,
00404 a, m, scalars
00405 );
00406 #else
00407 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax ) ) {
00408 scalars = _mracoefrs[ _Msize*2*a + 2*m ] * pow(INVSQRT2,m);
00409 // } else {
00410 // scalars = 1.0/0;
00411 // }
00412 #endif
00413 return scalars;
00414 }
|
|
||||||||||||||||
|
Definition at line 69 of file Rtrsmra_Data_t_array.h.
00069 { return ave1(a,m); }
|
|
||||||||||||||||
|
Definition at line 63 of file Rtrsmra_Data_t_array.h.
00063 { return chg0(a,m); }
|
|
||||||||||||||||
|
Definition at line 334 of file Rtrsmra_Data_t_array.h. References INVSQRT2, and rtrsmrawavd().
00335 {
00336 Data_t wavd;
00337 #ifdef STORM_USEC
00338 rtrsmrawavd(
00339 _Asize, _Msize,
00340 _amax, _mmax, _mrastep,
00341 _mracoef, _mracoefrs,
00342 a, m, wavd
00343 );
00344 #else
00345 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax ) ) {
00346 wavd = _mracoef[ _Msize*2*a + 2*m + 1 ] * pow(INVSQRT2,m);
00347 // } else {
00348 // wavd = 1.0/0;
00349 // }
00350 #endif
00351 return wavd;
00352 }
|
|
||||||||||||||||
|
Definition at line 417 of file Rtrsmra_Data_t_array.h. References INVSQRT2, and rtrsmrawavdrs().
00418 {
00419 Data_t wavdrs;
00420 #ifdef STORM_USEC
00421 rtrsmrawavdrs( _Asize, _Msize,
00422 _amax, _mmax, _mrastep,
00423 _mracoef, _mracoefrs,
00424 a, m, wavdrs
00425 );
00426 #else
00427 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax ) ) {
00428 wavdrs = _mracoefrs[ _Msize*2*a + 2*m + 1 ] * pow(INVSQRT2,m);
00429 // } else {
00430 // wavdrs = 1.0/0;
00431 // }
00432 #endif
00433 return wavdrs;
00434 }
|
|
||||||||||||||||
|
Definition at line 71 of file Rtrsmra_Data_t_array.h.
00071 { return chg1(a,m); }
|
|
|||||||||
|
Definition at line 158 of file Rtrsmra_Data_t_array.h.
|
|
||||||||||||||||
|
Definition at line 498 of file Rtrsmra_Data_t_array.h. References rtrsdetectge().
00499 {
00500 #ifdef STORM_USEC
00501 rtrsdetectge(
00502 _Asize, _Msize,
00503 _amax, _mmax, _mrastep,
00504 _mracoef, _mracoefrs,
00505 thresh, hit
00506 );
00507 #else
00508 for( int m = 0; m <= _mmax; m++ ) {
00509 hit[m] = 0;
00510 for( int a = 0; a <= _amax; a++ ) {
00511 if ( abs( _mracoef[ _Msize*2*a + 2*m + 1 ]
00512 + _mracoefrs[_Msize*2*a + 2*m + 1 ] ) >= thresh[m] ) { hit[m]++; }
00513 }
00514 }
00515 #endif
00516 }
|
|
||||||||||||||||
|
Definition at line 477 of file Rtrsmra_Data_t_array.h. References rtrsdetectgt().
00478 {
00479 #ifdef STORM_USEC
00480 rtrsdetectgt(
00481 _Asize, _Msize,
00482 _amax, _mmax, _mrastep,
00483 _mracoef, _mracoefrs,
00484 thresh, hit
00485 );
00486 #else
00487 for( int m = 0; m <= _mmax; m++ ) {
00488 hit[m] = 0;
00489 for( int a = 0; a <= _amax; a++ ) {
00490 if ( abs( _mracoef[ _Msize*2*a + 2*m + 1 ]
00491 + _mracoefrs[_Msize*2*a + 2*m + 1 ] ) > thresh[m] ) { hit[m]++; }
00492 }
00493 }
00494 #endif
00495 }
|
|
||||||||||||||||
|
Definition at line 457 of file Rtrsmra_Data_t_array.h. References rtrsdetectle().
00458 {
00459 #ifdef STORM_USEC
00460 rtrsdetectle( _Asize, _Msize,
00461 _amax, _mmax, _mrastep,
00462 _mracoef, _mracoefrs,
00463 thresh, hit
00464 );
00465 #else
00466 for(int m=0; m <= _mmax; m++) {
00467 hit[m]=0;
00468 for(int a=0; a <= _amax; a++) {
00469 if (abs(_mracoef[ _Msize*2*a + 2*m + 1 ]
00470 +_mracoefrs[_Msize*2*a + 2*m + 1 ] ) <= thresh[m] ) { hit[m]++; }
00471 }
00472 }
00473 #endif
00474 }
|
|
||||||||||||||||
|
Definition at line 437 of file Rtrsmra_Data_t_array.h. References rtrsdetectlt().
00438 {
00439 #ifdef STORM_USEC
00440 rtrsdetectlt( _Asize, _Msize,
00441 _amax, _mmax, _mrastep,
00442 _mracoef, _mracoefrs,
00443 thresh, hit
00444 );
00445 #else
00446 for( int m = 0; m <= _mmax; m++ ) {
00447 hit[m] = 0;
00448 for( int a=0; a <= _amax; a++ ) {
00449 if ( abs( _mracoef[ _Msize*2*a + 2*m + 1 ]
00450 + _mracoefrs[ _Msize*2*a + 2*m + 1 ] ) < thresh[m] ) { hit[m]++; }
00451 }
00452 }
00453 #endif
00454 }
|
|
|||||||||
|
Definition at line 73 of file Rtrsmra_Data_t_array.h.
00073 { return 0; }
|
|
||||||||||
|
Definition at line 54 of file Rtrsmra_Data_t_array.h.
00054 { return ( m < mcycle() ) ; }
|
|
||||||||||
|
Definition at line 53 of file Rtrsmra_Data_t_array.h.
00053 { return ( m < mcycle0() ) ; }
|
|
||||||||||
|
Definition at line 55 of file Rtrsmra_Data_t_array.h.
00055 { return ( m < mcycle1() ) ; }
|
|
||||||||||
|
Definition at line 56 of file Rtrsmra_Data_t_array.h.
00056 { return ( m < mcyclers() ) ; }
|
|
|||||||||
|
Definition at line 49 of file Rtrsmra_Data_t_array.h.
00049 { return mcycle0(); }
|
|
|||||||||
|
Definition at line 243 of file Rtrsmra_Data_t_array.h. References rtrsmramcycle().
00244 {
00245 int mcycle;
00246 #ifdef STORM_USEC
00247 rtrsmramcycle( _Msize, _mmax, _mrastep, mcycle);
00248 #else
00249 while ( ( _mrastep & (1<<mcycle) ) && ( mcycle < _mmax ) ) { mcycle++; }
00250 #endif
00251 return mcycle;
00252 }
|
|
|||||||||
|
Definition at line 255 of file Rtrsmra_Data_t_array.h. References rtrsmramcyclers().
00256 {
00257 int mcyclers;
00258 #ifdef STORM_USEC
00259 rtrsmramcyclers( _Msize, _mmax, _mrastep, mcyclers );
00260 #else
00261 while ( ( _mrastep & (1<<mcyclers) ) && ( mcyclers < _mmax ) ) {
00262 mcyclers++;
00263 }
00264 mcyclers++;
00265 if ( ( _mrastep < (1<<mcyclers) ) || ( mcyclers > _mmax ) ) { mcyclers = 0; }
00266 #endif
00267 return mcyclers;
00268 }
|
|
|||||||||
|
Definition at line 51 of file Rtrsmra_Data_t_array.h.
00051 { return mcycle1(); }
|
|
|||||||||
|
Definition at line 46 of file Rtrsmra_Data_t_array.h.
00046 { return _mmax; }
|
|
||||||||||
|
Definition at line 48 of file Rtrsmra_Data_t_array.h.
00048 { _mrastep = mrastep; } //DEBUG
|
|
|||||||||
|
Definition at line 47 of file Rtrsmra_Data_t_array.h.
00047 { return _mrastep; }
|
|
||||||||||
|
Definition at line 42 of file Rtrsmra_Data_t_array.h.
00042 { rtwt(); return 0; }
|
|
|||||||||
|
Definition at line 41 of file Rtrsmra_Data_t_array.h.
00041 { rtwt(); return 0; }
|
|
||||||||||
|
Definition at line 44 of file Rtrsmra_Data_t_array.h.
00044 { rtiwt(); return 0; }
|
|
|||||||||
|
Definition at line 43 of file Rtrsmra_Data_t_array.h.
00043 { rtiwt(); return 0; }
|
|
||||||||||
|
Definition at line 38 of file Rtrsmra_Data_t_array.h.
00038 { return _data[a]; }
|
|
||||||||||||||||
|
Definition at line 137 of file Rtrsmra_Data_t_array.h.
00138 {
00139 _Asize = asize;
00140 _Msize = msize;
00141 _amax = asize-1;
00142 _mmax = msize-1;
00143 _mrastep = -1;
00144 if (_mracoef) delete [] _mracoef; _mracoef = 0;
00145 _mracoef = new Data_t[ _Asize*_Msize*2 ];
00146 for( int i = 0; i < _Asize*_Msize*2; i++ ) { _mracoef[i] = 0; }
00147
00148 if (_mracoefrs) delete [] _mracoefrs; _mracoefrs = 0;
00149 _mracoefrs = new Data_t[ _Asize*_Msize*2 ];
00150 for( int i = 0; i < _Asize*_Msize*2; i++ ) { _mracoefrs[i] = 0; }
00151
00152 if (_data) delete [] _data; _data = 0;
00153 _data = new Data_t[ _Asize ];
00154 for( int i = 0; i < _Asize; i++ ) { _data[i] = 0; }
00155 }
|
|
|||||||||
|
Definition at line 40 of file Rtrsmra_Data_t_array.h.
00040 {}
|
|
||||||||||
|
Definition at line 109 of file Rtrsmra_Data_t_array.h.
00110 : _Asize( rhs._Asize ), _Msize( rhs._Msize ), 00111 _amax( rhs._amax ), _mmax( rhs._mmax ), 00112 _mrastep( rhs._mrastep ) 00113 { 00114 _mracoef = new Data_t[ _Asize* _Msize*2 ]; 00115 for( int i = 0; i < _Asize*_Msize*2; i++ ) { 00116 _mracoef[i] = rhs._mracoef[i]; 00117 } 00118 00119 _mracoefrs = new Data_t[ _Asize*_Msize*2 ]; 00120 for(int i = 0; i < _Asize*_Msize*2; i++) { 00121 _mracoefrs[i] = rhs._mracoefrs[i]; 00122 } 00123 00124 _data = new Data_t[ _Asize ]; 00125 for( int i = 0; i< _Asize; i++ ) { _data[i] = rhs._data[i]; } 00126 } |
|
||||||||||||||||
|
Definition at line 95 of file Rtrsmra_Data_t_array.h.
00096 : _Asize(asize), _Msize(msize), _amax(asize-1), _mmax(msize-1), _mrastep(-1) 00097 { 00098 _mracoef = new Data_t[ _Asize* _Msize*2 ]; 00099 for( int i = 0; i < _Asize*_Msize*2; i++ ) { _mracoef[i] = 0; } 00100 00101 _mracoefrs = new Data_t[ _Asize*_Msize*2 ]; 00102 for( int i = 0; i < _Asize*_Msize*2; i++ ) { _mracoefrs[i] = 0; } 00103 00104 _data = new Data_t[ _Asize ]; 00105 for( int i = 0; i< _Asize; i++ ) { _data[i] = 0; } 00106 } |
|
|||||||||
|
Definition at line 202 of file Rtrsmra_Data_t_array.h. References INVSQRT2, and rtrsmrartrswt().
00203 {
00204 #ifdef STORM_USEC
00205 rtrsmrartrswt(
00206 _Asize, _Msize,
00207 _amax, _mmax, _mrastep,
00208 _mracoef, _mracoefrs,
00209 _data
00210 );
00211 #else
00212 _mrastep++;
00213 int mcycle = 0;
00214 while ( ( _mrastep & (1<<mcycle) ) && ( mcycle < _mmax ) ) { mcycle++; }
00215 int mcyclers = mcycle + 1;
00216 if ( ( _mrastep < (1<<mcyclers) ) || ( mcyclers > _mmax ) ) { mcyclers = 0; }
00217 for( int a=0; a <= _amax; a++ ) {
00218 Data_t tmp = _data[a];
00219 int m = 1;
00220 Data_t tmpold,tmps,tmpw;
00221 while ( m <= mcycle ) {
00222 tmpold = _mracoef[ _Msize*2*a + 2*(m-1) ];
00223 tmps = (tmpold+tmp) * INVSQRT2;
00224 tmpw = (tmpold-tmp) * INVSQRT2;
00225 _mracoef[ _Msize*2*a + 2*(m-1) ] = tmp;
00226 _mracoef[ _Msize*2*a + 2*m + 1 ] = tmpw;
00227 tmp = tmps;
00228 m++;
00229 }
00230 if ( m == mcyclers ) {
00231 tmpold = _mracoef[ _Msize*2*a + 2*(m-1) ];
00232 tmps = (tmpold+tmp) * INVSQRT2;
00233 tmpw = (tmpold-tmp) * INVSQRT2;
00234 _mracoefrs[ _Msize*2*a + 2*m ] = tmps;
00235 _mracoefrs[ _Msize*2*a + 2*m + 1 ] = tmpw;
00236 }
00237 _mracoef[ _Msize*2*a + 2*(m-1) ] = tmp;
00238 }
00239 #endif
00240 }
|
|
||||||||||||||||||||
|
Definition at line 74 of file Rtrsmra_Data_t_array.h.
00074 {}
|
|
||||||||||||||||
|
Definition at line 57 of file Rtrsmra_Data_t_array.h.
00057 { return scal0(a,m); }
|
|
||||||||||||||||
|
Definition at line 271 of file Rtrsmra_Data_t_array.h. References rtrsmrascalcoef().
00272 {
00273 Data_t scalcoef;
00274 #ifdef STORM_USEC
00275 rtrsmrascalcoef(
00276 _Asize, _Msize,
00277 _amax, _mmax, _mrastep,
00278 _mracoef, _mracoefrs,
00279 a, m, scalcoef
00280 );
00281 #else
00282 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax ) ) {
00283 scalcoef = _mracoef[ _Msize*2*a + 2 *m ];
00284 // } else {
00285 // scalcoef = 1.0/0;
00286 // }
00287 #endif
00288 return scalcoef;
00289 }
|
|
||||||||||||||||
|
Definition at line 355 of file Rtrsmra_Data_t_array.h. References rtrsmrascalcoefrs().
00356 {
00357 Data_t scalcoefrs;
00358 #ifdef STORM_USEC
00359 rtrsmrascalcoefrs(
00360 _Asize, _Msize,
00361 _amax, _mmax, _mrastep,
00362 _mracoef, _mracoefrs,
00363 a, m, scalcoefrs
00364 );
00365 #else
00366 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax ) ) {
00367 scalcoefrs = _mracoefrs[ _Msize*2*a + 2*m ];
00368 // } else {
00369 // scalcoefrs = 1.0/0.0;
00370 // }
00371 #endif
00372 return scalcoefrs;
00373 }
|
|
||||||||||||||||
|
Definition at line 65 of file Rtrsmra_Data_t_array.h.
00065 { return scal1(a,m); }
|
|
||||||||||||||||||||
|
Definition at line 75 of file Rtrsmra_Data_t_array.h.
00075 {}
|
|
||||||||||||||||
|
Definition at line 59 of file Rtrsmra_Data_t_array.h.
00059 { return wav0(a,m); }
|
|
||||||||||||||||
|
Definition at line 292 of file Rtrsmra_Data_t_array.h. References rtrsmrawavcoef().
00293 {
00294 Data_t wavcoef;
00295 #ifdef STORM_USEC
00296 rtrsmrawavcoef(
00297 _Asize, _Msize,
00298 _amax, _mmax, _mrastep,
00299 _mracoef, _mracoefrs,
00300 a, m, wavcoef
00301 );
00302 #else
00303 // if ( ( a >= 0 ) && ( a <= _amax ) && ( m >= 0 ) && ( m <= _mmax ) ) {
00304 wavcoef = _mracoef[ _Msize*2*a + 2*m + 1 ];
00305 // } else {
00306 // wavcoef = 1.0/0;
00307 // }
00308 #endif
00309 return wavcoef;
00310 }
|
|
||||||||||||||||
|
Definition at line 376 of file Rtrsmra_Data_t_array.h. References rtrsmrawavcoefrs().
00377 {
00378 Data_t wavcoefrs;
00379 #ifdef STORM_USEC
00380 rtrsmrawavcoefrs(
00381 _Asize, _Msize,
00382 _amax, _mmax, _mrastep,
00383 _mracoef, _mracoefrs,
00384 a, m, wavcoefrs
00385 );
00386 #else
00387 // if ( ( a >= 0 ) && ( a <= _amax ) && (m >=0 ) && ( m <= _mmax ) ) {
00388 wavcoefrs = _mracoefrs[ _Msize*2*a + 2*m + 1 ];
00389 // } else {
00390 // wavcoefrs = 1.0/0;
00391 // }
00392 #endif
00393 return wavcoefrs;
00394 }
|
|
||||||||||||||||
|
Definition at line 67 of file Rtrsmra_Data_t_array.h.
00067 { return wav1(a,m); }
|
|
|||||||||
|
Definition at line 194 of file Rtrsmra_Data_t_array.h.
|
|
|||||
|
Definition at line 85 of file Rtrsmra_Data_t_array.h. |
|
|||||
|
Definition at line 83 of file Rtrsmra_Data_t_array.h. |
|
|||||
|
Definition at line 90 of file Rtrsmra_Data_t_array.h. |
|
|||||
|
Definition at line 86 of file Rtrsmra_Data_t_array.h. |
|
|||||
|
Definition at line 88 of file Rtrsmra_Data_t_array.h. |
|
|||||
|
Definition at line 89 of file Rtrsmra_Data_t_array.h. |
|
|||||
|
Definition at line 87 of file Rtrsmra_Data_t_array.h. |
|
|||||
|
Definition at line 84 of file Rtrsmra_Data_t_array.h. |
|
|||||
|
Definition at line 27 of file Rtrsmra_Data_t_array.h. |
1.3.6