Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

rtmrascala.cpp File Reference

#include <math.h>
#include "stormdef.h"

Include dependency graph for rtmrascala.cpp:

Include dependency graph

Go to the source code of this file.

Defines

#define INVSQRT2   STORMDEF_MATHCONST_INVSQRT2

Functions

void rtmrascala (const int &Asize, const int &Msize, const int &amax, const int &mmax, const int &mrastep, const int *mracoef, const int &a, const int &m, int &scala)
void rtmrascala (const int &Asize, const int &Msize, const int &amax, const int &mmax, const int &mrastep, const double *mracoef, const int &a, const int &m, double &scala)
void rtmrascala (const int &Asize, const int &Msize, const int &amax, const int &mmax, const int &mrastep, const float *mracoef, const int &a, const int &m, float &scala)
void rtmrascala (const int &Msize, const int &mmax, const int &mrastep, const int *mracoef, const int &m, int &scala)
void rtmrascala (const int &Msize, const int &mmax, const int &mrastep, const double *mracoef, const int &m, double &scala)
void rtmrascala (const int &Msize, const int &mmax, const int &mrastep, const float *mracoef, const int &m, float &scala)


Define Documentation

#define INVSQRT2   STORMDEF_MATHCONST_INVSQRT2
 

Definition at line 24 of file rtmrascala.cpp.


Function Documentation

void rtmrascala const int Asize,
const int Msize,
const int amax,
const int mmax,
const int mrastep,
const int mracoef,
const int a,
const int m,
int scala
 

Definition at line 155 of file rtmrascala.cpp.

References iartmrascala1_().

Referenced by Rtmra< Data_t, array >.ave(), and Rtmra< Data_t, scalar >.ave().

00165   {
00166 #ifdef STORM_USEF
00167    iartmrascala1_(
00168      &Asize, &Msize,
00169      &amax, &mmax,
00170      &mrastep, mracoef,
00171      &a, &m, &scala
00172    );
00173 #else
00174 //   if ( ( a >= 0 ) && ( a <= amax ) && ( m >= 0 ) && ( m <= mmax) ) { 
00175       int tmp = mracoef[ a*2*Msize + 2*m ];
00176       if (tmp >= 0) {
00177          scala = tmp >> m;
00178       } else {
00179          if ((tmp & 0x00000001) != 0) {
00180             scala = - ( (-tmp) >> m);
00181          } else {
00182             scala = - ( (-tmp) >> m) - 1;
00183          }
00184       }
00185 //   } 
00186 //   else { 
00187 //      scala = 1/0; 
00188 //   }
00189 #endif
00190 }

void rtmrascala const int Asize,
const int Msize,
const int amax,
const int mmax,
const int mrastep,
const double *  mracoef,
const int a,
const int m,
double &  scala
 

Definition at line 127 of file rtmrascala.cpp.

00137   {
00138 #ifdef STORM_USEF
00139    dartmrascala1_(
00140      &Asize, &Msize,
00141      &amax, &mmax,
00142      &mrastep, mracoef,
00143      &a, &m, &scala
00144    );
00145 #else
00146 //   if ( ( a >= 0 ) && ( a <= amax ) && ( m >= 0 ) && ( m <= mmax) ) { 
00147       scala=mracoef[ a*2*Msize + 2*m ] * pow(INVSQRT2,m);
00148 //   } 
00149 //   else { 
00150 //      scala = 1.0/0; 
00151 //   }
00152 #endif
00153 }

void rtmrascala const int Asize,
const int Msize,
const int amax,
const int mmax,
const int mrastep,
const float *  mracoef,
const int a,
const int m,
float &  scala
 

Definition at line 98 of file rtmrascala.cpp.

00108   {
00109 #ifdef STORM_USEF
00110    artmrascala1_( 
00111       &Asize, &Msize, 
00112       &amax, &mmax, 
00113       &mrastep, mracoef, 
00114       &a, &m, &scala
00115    );
00116 #else
00117 //   if ( ( a >= 0 ) && ( a <= amax ) && ( m >= 0 ) && ( m <= mmax ) ) { 
00118       scala = mracoef[ a*2*Msize + 2*m ] * pow(INVSQRT2,m);
00119 //   } 
00120 //   else { 
00121 //      scala = 1.0/0; 
00122 //   }
00123 #endif
00124 }

void rtmrascala const int Msize,
const int mmax,
const int mrastep,
const int mracoef,
const int m,
int scala
 

Definition at line 68 of file rtmrascala.cpp.

00075   { 
00076 #ifdef STORM_USEF
00077    irtmrascala_( &Msize, &mmax, &mrastep, mracoef, &m, &scala );
00078 #else
00079 //   if ( ( m >= 0 ) && ( m <= mmax ) ) { 
00080       int tmp = mracoef[ 2*m ];
00081       if (tmp >= 0) {
00082          scala = tmp >> m;
00083       } else {
00084          if ((tmp & 0x00000001) != 0) {
00085             scala = - ( (-tmp) >> m);
00086          } else {
00087             scala = - ( (-tmp) >> m) - 1;
00088          }
00089       }
00090 //   } 
00091 //   else { 
00092 //      scala = 1/0; 
00093 //   }
00094 #endif
00095 }

void rtmrascala const int Msize,
const int mmax,
const int mrastep,
const double *  mracoef,
const int m,
double &  scala
 

Definition at line 47 of file rtmrascala.cpp.

00054   { 
00055 #ifdef STORM_USEF
00056    drtmrascala_( &Msize, &mmax, &mrastep, mracoef, &m, &scala );
00057 #else
00058 //   if ( ( m >= 0 ) && ( m <= mmax ) ) { 
00059       scala = mracoef[ 2*m ] * pow(INVSQRT2,m); 
00060 //   } 
00061 //   else { 
00062 //      scala = 1.0/0; 
00063 //   }
00064 #endif
00065 }

void rtmrascala const int Msize,
const int mmax,
const int mrastep,
const float *  mracoef,
const int m,
float &  scala
 

Definition at line 26 of file rtmrascala.cpp.

00033   { 
00034 #ifdef STORM_USEF
00035    rtmrascala_( &Msize, &mmax, &mrastep, mracoef, &m, &scala );
00036 #else
00037 //   if ( ( m >= 0 ) && ( m <= mmax ) ) { 
00038       scala = mracoef[ 2*m ] * pow(INVSQRT2,m); 
00039 //   } 
00040 //   else { 
00041 //      scala = 1.0/0; 
00042 //   }
00043 #endif
00044 } 


Generated on Mon May 31 21:40:32 2004 for SR2k4 Assembler by doxygen 1.3.6