#include <iostream.h>#include "stormdef.h"Include dependency graph for rtmrartjiwt.cpp:

Go to the source code of this file.
Defines | |
| #define | INVSQRT2 STORMDEF_MATHCONST_INVSQRT2 |
Functions | |
| void | rtmrartjiwt (const int &Asize, const int &Msize, const int &amax, const int &mmax, int &mrastep, int *mracoef, int *data) |
| void | rtmrartjiwt (const int &Asize, const int &Msize, const int &amax, const int &mmax, int &mrastep, double *mracoef, double *data) |
| void | rtmrartjiwt (const int &Asize, const int &Msize, const int &amax, const int &mmax, int &mrastep, float *mracoef, float *data) |
| void | rtmrartjiwt (const int &Msize, const int &mmax, int &mrastep, int *mracoef, int &data) |
| void | rtmrartjiwt (const int &Msize, const int &mmax, int &mrastep, double *mracoef, double &data) |
| void | rtmrartjiwt (const int &Msize, const int &mmax, int &mrastep, float *mracoef, float &data) |
|
|
Definition at line 24 of file rtmrartjiwt.cpp. |
|
||||||||||||||||||||||||||||||||
|
Definition at line 164 of file rtmrartjiwt.cpp. References iartmrartjiwt_(). Referenced by Rtmra< Data_t, array >.rtjiwt(), and Rtmra< Data_t, scalar >.rtjiwt().
00172 {
00173 #ifdef STORM_USEF
00174 iartmrartjiwt_( &Asize,&Msize, &amax,&mmax, &mrastep, mracoef, data );
00175 #else
00176 ++mrastep;
00177 for( int a =0; a <= amax; a++ ) {
00178 for(int m = (mmax-1); m >= 0; --m ) {
00179 if ( (mrastep & (1<<m)) != 0 ) { //right
00180 int tmp = mracoef[a*2*Msize+2*(m+1)+1];
00181 if ( (tmp >= 0) || ((tmp & 0x00000001) == 0) ) {
00182 mracoef[a*2*Msize+2*m]=mracoef[a*2*Msize+2*(m+1)] - tmp/2;
00183 } else {
00184 mracoef[a*2*Msize+2*m]=mracoef[a*2*Msize+2*(m+1)] - (tmp/2-1);
00185 }
00186 } else { //left
00187 int tmp = mracoef[a*2*Msize+2*(m+1)+1] + 1;
00188 if ( (tmp >= 0) || ((tmp & 0x00000001) == 0) ) {
00189 mracoef[a*2*Msize+2*m]=mracoef[a*2*Msize+2*(m+1)] + tmp/2;
00190 } else {
00191 mracoef[a*2*Msize+2*m]=mracoef[a*2*Msize+2*(m+1)] + (tmp/2-1);
00192 }
00193 }
00194 }
00195 data[a] = mracoef[a*2*Msize];
00196 }
00197 #endif
00198 }
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 135 of file rtmrartjiwt.cpp.
00143 {
00144 #ifdef STORM_USEF
00145 dartmrartjiwt_( &Asize,&Msize, &amax,&mmax, &mrastep, mracoef, data );
00146 #else
00147 ++mrastep;
00148 for( int a =0; a <= amax; a++ ) {
00149 for(int m = (mmax-1); m >= 0; --m ) {
00150 if ( (mrastep & (1<<m)) != 0 ) {
00151 mracoef[ a*2*Msize + 2*m] = ( mracoef[ a*2*Msize + 2*(m+1)]
00152 - mracoef[ a*2*Msize + 2*(m+1)+1] ) * INVSQRT2;
00153 } else {
00154 mracoef[ a*2*Msize + 2*m] = ( mracoef[ a*2*Msize + 2*(m+1)]
00155 + mracoef[ a*2*Msize + 2*(m+1)+1] ) * INVSQRT2;
00156 }
00157 }
00158 data[a] = mracoef[a*2*Msize];
00159 }
00160 #endif
00161 }
|
|
||||||||||||||||||||||||||||||||
|
Definition at line 106 of file rtmrartjiwt.cpp.
00114 {
00115 #ifdef STORM_USEF
00116 artmrartjiwt_( &Asize,&Msize, &amax,&mmax, &mrastep, mracoef, data );
00117 #else
00118 ++mrastep;
00119 for( int a =0; a <= amax; a++ ) {
00120 for(int m = (mmax-1); m >= 0; --m ) {
00121 if ( (mrastep & (1<<m)) != 0 ) {
00122 mracoef[ a*2*Msize + 2*m] = ( mracoef[ a*2*Msize + 2*(m+1)]
00123 - mracoef[ a*2*Msize + 2*(m+1)+1] ) * INVSQRT2;
00124 } else {
00125 mracoef[ a*2*Msize + 2*m] = ( mracoef[ a*2*Msize + 2*(m+1)]
00126 + mracoef[ a*2*Msize + 2*(m+1)+1] ) * INVSQRT2;
00127 }
00128 }
00129 data[a] = mracoef[a*2*Msize];
00130 }
00131 #endif
00132 }
|
|
||||||||||||||||||||||||
|
Definition at line 72 of file rtmrartjiwt.cpp.
00078 {
00079 #ifdef STORM_USEF
00080 irtmrartjiwt_( &Msize, &mmax, &mrastep, mracoef, &data );
00081 #else
00082 int tmp;
00083 ++mrastep;
00084 for(int m = (mmax-1); m >= 0; --m ) {
00085 if ( (mrastep & (1<<m)) != 0 ) { //right
00086 tmp = mracoef[2*(m+1)+1];
00087 if ( (tmp >= 0) || ((tmp & 0x00000001) == 0) ) {
00088 mracoef[2*m] = mracoef[2*(m+1)] - tmp/2;
00089 } else {
00090 mracoef[2*m] = mracoef[2*(m+1)] - (tmp/2-1);
00091 }
00092 } else { //left
00093 tmp = mracoef[2*(m+1)+1] + 1;
00094 if ( (tmp >= 0) || ((tmp & 0x00000001) == 0) ) {
00095 mracoef[2*m] = mracoef[2*(m+1)] + tmp/2;
00096 } else {
00097 mracoef[2*m] = mracoef[2*(m+1)] + (tmp/2-1);
00098 }
00099 }
00100 }
00101 data = mracoef[0];
00102 #endif
00103 }
|
|
||||||||||||||||||||||||
|
Definition at line 49 of file rtmrartjiwt.cpp.
00055 {
00056 #ifdef STORM_USEF
00057 drtmrartjiwt_( &Msize, &mmax, &mrastep, mracoef, &data );
00058 #else
00059 ++mrastep;
00060 for(int m = (mmax-1); m >= 0; --m ) {
00061 if ( (mrastep & (1<<m)) != 0 ) {
00062 mracoef[2*m] = ( mracoef[2*(m+1)] - mracoef[2*(m+1)+1] ) * INVSQRT2;
00063 } else {
00064 mracoef[2*m] = ( mracoef[2*(m+1)] + mracoef[2*(m+1)+1] ) * INVSQRT2;
00065 }
00066 }
00067 data = mracoef[0];
00068 #endif
00069 }
|
|
||||||||||||||||||||||||
|
Definition at line 26 of file rtmrartjiwt.cpp.
00032 {
00033 #ifdef STORM_USEF
00034 rtmrartjiwt_( &Msize, &mmax, &mrastep, mracoef, &data );
00035 #else
00036 ++mrastep;
00037 for(int m = (mmax-1); m >= 0; --m ) {
00038 if ( (mrastep & (1<<m)) != 0 ) {
00039 mracoef[2*m] = ( mracoef[2*(m+1)] - mracoef[2*(m+1)+1] ) * INVSQRT2;
00040 } else {
00041 mracoef[2*m] = ( mracoef[2*(m+1)] + mracoef[2*(m+1)+1] ) * INVSQRT2;
00042 }
00043 }
00044 data = mracoef[0];
00045 #endif
00046 }
|
1.3.6