OpenStructure
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Data Structures | Namespaces | Macros | Typedefs
transcendentals.hh File Reference
#include <ost/img/image.hh>
#include <ost/img/image_state.hh>
#include <ost/img/alg/module_config.hh>

Go to the source code of this file.

Data Structures

struct  CosFnc
struct  ExpFnc
struct  LogFnc
struct  Log10Fnc
struct  SinFnc
struct  SqrtFnc
struct  TanFnc
struct  PowFnc

Namespaces

namespace  ost
namespace  ost::img
namespace  ost::img::alg

Macros

#define IMG_ALG_TRANSCENDENTALS_BLOCK(FF, NN, SS)

Typedefs

typedef
ImageStateConstModIPAlgorithm
< CosFnc > 
Cos
typedef
ImageStateConstModIPAlgorithm
< ExpFnc > 
Exp
typedef
ImageStateConstModIPAlgorithm
< LogFnc > 
Log
typedef
ImageStateConstModIPAlgorithm
< Log10Fnc > 
Log10
typedef
ImageStateConstModIPAlgorithm
< SinFnc > 
Sin
typedef
ImageStateConstModIPAlgorithm
< SqrtFnc > 
Sqrt
typedef
ImageStateConstModIPAlgorithm
< TanFnc > 
Tan
typedef
ImageStateConstModIPAlgorithm
< PowFnc > 
Pow

Macro Definition Documentation

#define IMG_ALG_TRANSCENDENTALS_BLOCK (   FF,
  NN,
  SS 
)
Value:
struct FF { \
FF() {} \
~FF() {} \
template <typename T, class D> \
void VisitState(ImageStateImpl<T,D>& isi) const { \
T* end = isi.Data().GetEnd(); \
for(T* it = isi.Data().GetData(); it!=end; ++it) { \
(*it) = SS (*it); \
} \
} \
template <class D> \
void VisitState(ImageStateImpl<Word,D>& isi) const { \
Word* end = isi.Data().GetEnd(); \
for(Word* it = isi.Data().GetData(); it!=end; ++it) { \
(*it) = static_cast<Word>(SS(static_cast<Real>(*it))); \
} \
} \
static String GetAlgorithmName() {return "";} \
}; \
typedef ImageStateConstModIPAlgorithm<FF> NN;

Definition at line 39 of file transcendentals.hh.