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;}
#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;}
Generated on Mon Feb 25 12:49:59 2013 for NemoMath by 1.6.3