nemo/Mapping.h File Reference

Go to the source code of this file.

Classes

class  nemo::MappingDefinition< InType, OutType >
 A MappingDefinition defines the behavior of a function object. More...
class  nemo::Mapping< InType, OutType >
 A Mapping represents an input-output behavior (for instance a mathematical function) that is defined be a MappingDefinition. More...

Namespaces

namespace  nemo

Defines

#define _nemo_scalar_inversion_(Type)
#define _nemo_signed_integer_inversion_(Type)

Functions

template<class T >
static Mapping< T, T > nemo::arg ()
 Returns an identity mapping such that x==arg<X>()(x).
template<class OutType , typename InType , typename Intermediate >
Mapping< InType, OutType > nemo::reinterpret (const Mapping< InType, Intermediate > &map)
 Returns a mapping that casts the output (of type Intermediate) of another mapping into type OutType.
template<typename Type >
Type nemo::leftMultInverse (const Type &)
 for any expression c*x, with c of type T, leftMultInverse<T>(c) must either return a value such that leftMultInverse(c)*(c*x)=x, or throw an exception if that is not possible
template<typename Type >
Type nemo::rightMultInverse (const Type &)
 for any expression x*c, with c of type T, rightMultInverse<T>(c) must either return a value such that (x*c)*rightMultInverse(c)=x, or throw an exception if that is not possible
template<typename Type >
Type nemo::leftDivideInverse (const Type &)
 for any expression c/x, with c of type T, leftDivInverse<T>(c) must either return a value such that leftDivInverse(c)/(c/x)=x, or throw an exception if that is not possible
template<typename Type >
Type nemo::rightDivideInverse (const Type &)
 for any expression x/c, with c of type T, rightDivideInverse<T>(c) must either return a value such that (x/c)/rightDivideInverse(c)=x, or throw an exception if that is not possible
template<typename Type >
Type nemo::leftAddInverse (const Type &)
 for any expression c+x, with c of type T, leftAddInverse<T>(c) must either return a value such that leftAddInverse(c)+(c+x)=x, or throw an exception if that is not possible
template<typename Type >
Type nemo::rightAddInverse (const Type &)
 for any expression x+c, with c of type T, rightAddInverse<T>(c) must either return a value such that (x+c)+rightAddInverse(c)=x, or throw an exception if that is not possible
template<typename Type >
Type nemo::leftSubtractInverse (const Type &)
 for any expression c-x, with c of type T, leftSubtractInverse<T>(c) must either return a value such that leftSubtractInverse(c)-(c-x)=x, or throw an exception if that is not possible
template<typename Type >
Type nemo::rightSubtractInverse (const Type &)
 for any expression x-c, with c of type T, rightSubtractInverse<T>(c) must either return a value such that (x-c)-rightSubtractInverse(c)=x, or throw an exception if that is not possible

Define Documentation

#define _nemo_scalar_inversion_ ( Type   ) 
Value:
template <> inline Type leftMultInverse<>(const Type &value){return ((Type)1.0)/value;} \
template <> inline Type rightMultInverse<>(const Type &value){return ((Type)1.0)/value;} \
template <> inline Type leftDivideInverse<>(const Type &value){return value;} \
template <> inline Type rightDivideInverse<>(const Type &value){return ((Type)1.0)/value;} \
template <> inline Type leftAddInverse<>(const Type &value){return -value;} \
template <> inline Type rightAddInverse<>(const Type &value){return -value;} \
template <> inline Type leftSubtractInverse<>(const Type &value){return value;} \
template <> inline Type rightSubtractInverse<>(const Type &value){return -value;}

Definition at line 555 of file Mapping.h.

#define _nemo_signed_integer_inversion_ ( Type   ) 
Value:
template <> inline Type leftAddInverse<>(const Type &value){return -value;} \
template <> inline Type rightAddInverse<>(const Type &value){return -value;} \
template <> inline Type leftSubtractInverse<>(const Type &value){return value;} \
template <> inline Type rightSubtractInverse<>(const Type &value){return -value;}

Definition at line 571 of file Mapping.h.

Generated on Mon Feb 25 12:49:59 2013 for NemoMath by  doxygen 1.6.3