INMOST
Mathematical Modelling Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Typedefs | Functions
inmost_expression.h File Reference
#include "inmost_common.h"
#include "inmost_sparse.h"
#include <sstream>
#include <new>
Include dependency graph for inmost_expression.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  INMOST::basic_expression
 
class  INMOST::shell_expression< Derived >
 
class  INMOST::var_expression
 
class  INMOST::multivar_expression
 
class  INMOST::const_multiplication_expression< A >
 
class  INMOST::variation_multiplication_expression< A >
 
class  INMOST::const_division_expression< A >
 
class  INMOST::const_addition_expression< A >
 
class  INMOST::const_subtraction_expression< A >
 
class  INMOST::reciprocal_expression< A >
 
class  INMOST::unary_minus_expression< A >
 
class  INMOST::abs_expression< A >
 
class  INMOST::exp_expression< A >
 
class  INMOST::log_expression< A >
 
class  INMOST::sin_expression< A >
 
class  INMOST::cos_expression< A >
 
class  INMOST::sqrt_expression< A >
 
class  INMOST::soft_abs_expression< A >
 
class  INMOST::soft_sign_expression< A >
 
class  INMOST::soft_max_expression< A, B >
 
class  INMOST::soft_min_expression< A, B >
 
class  INMOST::multiplication_expression< A, B >
 
class  INMOST::division_expression< A, B >
 
class  INMOST::addition_expression< A, B >
 
class  INMOST::subtraction_expression< A, B >
 
class  INMOST::pow_expression< A, B >
 
class  INMOST::pow_const_expression< A >
 
class  INMOST::const_pow_expression< A >
 
class  INMOST::condition_expression< A, B, C >
 
class  INMOST::stencil_expression< A >
 

Namespaces

 INMOST
 

Typedefs

typedef multivar_expression INMOST::variable
 
typedef var_expression INMOST::unknown
 

Functions

__INLINE bool INMOST::check_nans (INMOST_DATA_REAL_TYPE val)
 
__INLINE bool INMOST::check_nans (var_expression const &e)
 
__INLINE bool INMOST::check_nans (multivar_expression const &e)
 
template<class A , class B , class C >
__INLINE
INMOST::condition_expression
< A, B, C > 
condition (INMOST::shell_expression< A > const &control, INMOST::shell_expression< B > const &if_ge_zero, INMOST::shell_expression< C > const &if_lt_zero)
 
__INLINE INMOST_DATA_REAL_TYPE condition (INMOST_DATA_REAL_TYPE control, INMOST_DATA_REAL_TYPE if_ge_zero, INMOST_DATA_REAL_TYPE if_lt_zero)
 
template<class A >
__INLINE
INMOST::unary_minus_expression
< A > 
operator- (INMOST::shell_expression< A > const &Arg)
 
template<class A >
__INLINE
INMOST::abs_expression< A > 
abs (INMOST::shell_expression< A > const &Arg)
 
template<class A >
__INLINE
INMOST::exp_expression< A > 
exp (INMOST::shell_expression< A > const &Arg)
 
template<class A >
__INLINE
INMOST::log_expression< A > 
log (INMOST::shell_expression< A > const &Arg)
 
template<class A >
__INLINE
INMOST::sin_expression< A > 
sin (INMOST::shell_expression< A > const &Arg)
 
template<class A >
__INLINE
INMOST::cos_expression< A > 
cos (INMOST::shell_expression< A > const &Arg)
 
template<class A >
__INLINE
INMOST::sqrt_expression< A > 
sqrt (INMOST::shell_expression< A > const &Arg)
 
template<class A >
__INLINE
INMOST::variation_multiplication_expression
< A > 
variation (INMOST::shell_expression< A > const &Arg, INMOST_DATA_REAL_TYPE Mult)
 
__INLINE INMOST_DATA_REAL_TYPE variation (INMOST_DATA_REAL_TYPE Arg, INMOST_DATA_REAL_TYPE)
 
template<class A >
__INLINE INMOST_DATA_REAL_TYPE get_value (INMOST::shell_expression< A > const &Arg)
 
__INLINE INMOST_DATA_REAL_TYPE get_value (INMOST_DATA_REAL_TYPE Arg)
 
template<class A >
__INLINE
INMOST::soft_abs_expression< A > 
soft_abs (INMOST::shell_expression< A > const &Arg, INMOST_DATA_REAL_TYPE tol)
 
__INLINE INMOST_DATA_REAL_TYPE soft_abs (INMOST_DATA_REAL_TYPE Arg, INMOST_DATA_REAL_TYPE tol)
 
template<class A >
__INLINE
INMOST::soft_sign_expression
< A > 
soft_sign (INMOST::shell_expression< A > const &Arg, INMOST_DATA_REAL_TYPE tol)
 
__INLINE INMOST_DATA_REAL_TYPE soft_sign (INMOST_DATA_REAL_TYPE Arg, INMOST_DATA_REAL_TYPE tol)
 
template<class A , class B >
__INLINE
INMOST::multiplication_expression
< A, B > 
operator* (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right)
 
template<class A , class B >
__INLINE
INMOST::division_expression< A,
B > 
operator/ (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right)
 
template<class A , class B >
__INLINE
INMOST::addition_expression< A,
B > 
operator+ (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right)
 
template<class A , class B >
__INLINE
INMOST::subtraction_expression
< A, B > 
operator- (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right)
 
template<class A , class B >
__INLINE
INMOST::pow_expression< A, B > 
pow (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right)
 
template<class A , class B >
__INLINE
INMOST::soft_max_expression< A,
B > 
soft_max (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right, INMOST_DATA_REAL_TYPE tol)
 
__INLINE INMOST_DATA_REAL_TYPE soft_max (INMOST_DATA_REAL_TYPE Left, INMOST_DATA_REAL_TYPE Right, INMOST_DATA_REAL_TYPE tol)
 
template<class A , class B >
__INLINE
INMOST::soft_min_expression< A,
B > 
soft_min (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right, INMOST_DATA_REAL_TYPE tol)
 
__INLINE INMOST_DATA_REAL_TYPE soft_min (INMOST_DATA_REAL_TYPE Left, INMOST_DATA_REAL_TYPE Right, INMOST_DATA_REAL_TYPE tol)
 
template<class B >
__INLINE
INMOST::const_pow_expression
< B > 
pow (INMOST_DATA_REAL_TYPE Left, INMOST::shell_expression< B > const &Right)
 
template<class A >
__INLINE
INMOST::pow_const_expression
< A > 
pow (INMOST::shell_expression< A > const &Left, INMOST_DATA_REAL_TYPE Right)
 
template<class B >
__INLINE
INMOST::const_multiplication_expression
< B > 
operator* (INMOST_DATA_REAL_TYPE Left, INMOST::shell_expression< B > const &Right)
 
template<class A >
__INLINE
INMOST::const_multiplication_expression
< A > 
operator* (INMOST::shell_expression< A > const &Left, INMOST_DATA_REAL_TYPE Right)
 
template<class B >
__INLINE
INMOST::reciprocal_expression
< B > 
operator/ (INMOST_DATA_REAL_TYPE Left, INMOST::shell_expression< B > const &Right)
 
template<class A >
__INLINE
INMOST::const_division_expression
< A > 
operator/ (INMOST::shell_expression< A > const &Left, INMOST_DATA_REAL_TYPE Right)
 
template<class B >
__INLINE
INMOST::const_addition_expression
< B > 
operator+ (INMOST_DATA_REAL_TYPE Left, INMOST::shell_expression< B > const &Right)
 
template<class A >
__INLINE
INMOST::const_addition_expression
< A > 
operator+ (INMOST::shell_expression< A > const &Left, INMOST_DATA_REAL_TYPE Right)
 
template<class B >
__INLINE
INMOST::const_subtraction_expression
< B > 
operator- (INMOST_DATA_REAL_TYPE Left, INMOST::shell_expression< B > const &Right)
 
template<class A >
__INLINE
INMOST::const_addition_expression
< A > 
operator- (INMOST::shell_expression< A > const &Left, INMOST_DATA_REAL_TYPE Right)
 
template<class A , class B >
__INLINE bool operator== (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right)
 
template<class A , class B >
__INLINE bool operator!= (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right)
 
template<class A , class B >
__INLINE bool operator< (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right)
 
template<class A , class B >
__INLINE bool operator> (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right)
 
template<class A , class B >
__INLINE bool operator<= (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right)
 
template<class A , class B >
__INLINE bool operator>= (INMOST::shell_expression< A > const &Left, INMOST::shell_expression< B > const &Right)
 
template<class A >
__INLINE bool operator== (INMOST::shell_expression< A > const &Left, INMOST_DATA_REAL_TYPE Right)
 
template<class A >
__INLINE bool operator!= (INMOST::shell_expression< A > const &Left, INMOST_DATA_REAL_TYPE Right)
 
template<class A >
__INLINE bool operator< (INMOST::shell_expression< A > const &Left, INMOST_DATA_REAL_TYPE Right)
 
template<class A >
__INLINE bool operator> (INMOST::shell_expression< A > const &Left, INMOST_DATA_REAL_TYPE Right)
 
template<class A >
__INLINE bool operator<= (INMOST::shell_expression< A > const &Left, INMOST_DATA_REAL_TYPE Right)
 
template<class A >
__INLINE bool operator>= (INMOST::shell_expression< A > const &Left, INMOST_DATA_REAL_TYPE Right)
 
template<class B >
__INLINE bool operator== (INMOST_DATA_REAL_TYPE Left, INMOST::shell_expression< B > const &Right)
 
template<class B >
__INLINE bool operator!= (INMOST_DATA_REAL_TYPE Left, INMOST::shell_expression< B > const &Right)
 
template<class B >
__INLINE bool operator< (INMOST_DATA_REAL_TYPE Left, INMOST::shell_expression< B > const &Right)
 
template<class B >
__INLINE bool operator> (INMOST_DATA_REAL_TYPE Left, INMOST::shell_expression< B > const &Right)
 
template<class B >
__INLINE bool operator<= (INMOST_DATA_REAL_TYPE Left, INMOST::shell_expression< B > const &Right)
 
template<class B >
__INLINE bool operator>= (INMOST_DATA_REAL_TYPE Left, INMOST::shell_expression< B > const &Right)
 

Function Documentation

template<class A >
__INLINE INMOST::abs_expression<A> abs ( INMOST::shell_expression< A > const &  Arg)

Definition at line 888 of file inmost_expression.h.

template<class A , class B , class C >
__INLINE INMOST::condition_expression<A,B,C> condition ( INMOST::shell_expression< A > const &  control,
INMOST::shell_expression< B > const &  if_ge_zero,
INMOST::shell_expression< C > const &  if_lt_zero 
)

Definition at line 885 of file inmost_expression.h.

Definition at line 886 of file inmost_expression.h.

template<class A >
__INLINE INMOST::cos_expression<A> cos ( INMOST::shell_expression< A > const &  Arg)

Definition at line 892 of file inmost_expression.h.

Here is the caller graph for this function:

template<class A >
__INLINE INMOST::exp_expression<A> exp ( INMOST::shell_expression< A > const &  Arg)

Definition at line 889 of file inmost_expression.h.

Here is the caller graph for this function:

template<class A >
__INLINE INMOST_DATA_REAL_TYPE get_value ( INMOST::shell_expression< A > const &  Arg)

Definition at line 896 of file inmost_expression.h.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 897 of file inmost_expression.h.

template<class A >
__INLINE INMOST::log_expression<A> log ( INMOST::shell_expression< A > const &  Arg)

Definition at line 890 of file inmost_expression.h.

Here is the caller graph for this function:

template<class A , class B >
__INLINE bool operator!= ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 922 of file inmost_expression.h.

Here is the call graph for this function:

template<class A >
__INLINE bool operator!= ( INMOST::shell_expression< A > const &  Left,
INMOST_DATA_REAL_TYPE  Right 
)

Definition at line 928 of file inmost_expression.h.

Here is the call graph for this function:

template<class B >
__INLINE bool operator!= ( INMOST_DATA_REAL_TYPE  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 934 of file inmost_expression.h.

Here is the call graph for this function:

template<class A , class B >
__INLINE INMOST::multiplication_expression<A, B> operator* ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 902 of file inmost_expression.h.

template<class B >
__INLINE INMOST::const_multiplication_expression<B> operator* ( INMOST_DATA_REAL_TYPE  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 913 of file inmost_expression.h.

template<class A >
__INLINE INMOST::const_multiplication_expression<A> operator* ( INMOST::shell_expression< A > const &  Left,
INMOST_DATA_REAL_TYPE  Right 
)

Definition at line 914 of file inmost_expression.h.

template<class A , class B >
__INLINE INMOST::addition_expression<A, B> operator+ ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 904 of file inmost_expression.h.

template<class B >
__INLINE INMOST::const_addition_expression<B> operator+ ( INMOST_DATA_REAL_TYPE  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 917 of file inmost_expression.h.

template<class A >
__INLINE INMOST::const_addition_expression<A> operator+ ( INMOST::shell_expression< A > const &  Left,
INMOST_DATA_REAL_TYPE  Right 
)

Definition at line 918 of file inmost_expression.h.

template<class A >
__INLINE INMOST::unary_minus_expression<A> operator- ( INMOST::shell_expression< A > const &  Arg)

Definition at line 887 of file inmost_expression.h.

template<class A , class B >
__INLINE INMOST::subtraction_expression<A, B> operator- ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 905 of file inmost_expression.h.

template<class B >
__INLINE INMOST::const_subtraction_expression<B> operator- ( INMOST_DATA_REAL_TYPE  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 919 of file inmost_expression.h.

template<class A >
__INLINE INMOST::const_addition_expression<A> operator- ( INMOST::shell_expression< A > const &  Left,
INMOST_DATA_REAL_TYPE  Right 
)

Definition at line 920 of file inmost_expression.h.

template<class A , class B >
__INLINE INMOST::division_expression<A, B> operator/ ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 903 of file inmost_expression.h.

template<class B >
__INLINE INMOST::reciprocal_expression<B> operator/ ( INMOST_DATA_REAL_TYPE  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 915 of file inmost_expression.h.

template<class A >
__INLINE INMOST::const_division_expression<A> operator/ ( INMOST::shell_expression< A > const &  Left,
INMOST_DATA_REAL_TYPE  Right 
)

Definition at line 916 of file inmost_expression.h.

template<class A , class B >
__INLINE bool operator< ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 923 of file inmost_expression.h.

Here is the call graph for this function:

template<class A >
__INLINE bool operator< ( INMOST::shell_expression< A > const &  Left,
INMOST_DATA_REAL_TYPE  Right 
)

Definition at line 929 of file inmost_expression.h.

template<class B >
__INLINE bool operator< ( INMOST_DATA_REAL_TYPE  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 935 of file inmost_expression.h.

template<class A , class B >
__INLINE bool operator<= ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 925 of file inmost_expression.h.

Here is the call graph for this function:

template<class A >
__INLINE bool operator<= ( INMOST::shell_expression< A > const &  Left,
INMOST_DATA_REAL_TYPE  Right 
)

Definition at line 931 of file inmost_expression.h.

template<class B >
__INLINE bool operator<= ( INMOST_DATA_REAL_TYPE  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 937 of file inmost_expression.h.

template<class A , class B >
__INLINE bool operator== ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 921 of file inmost_expression.h.

Here is the call graph for this function:

template<class A >
__INLINE bool operator== ( INMOST::shell_expression< A > const &  Left,
INMOST_DATA_REAL_TYPE  Right 
)

Definition at line 927 of file inmost_expression.h.

Here is the call graph for this function:

template<class B >
__INLINE bool operator== ( INMOST_DATA_REAL_TYPE  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 933 of file inmost_expression.h.

Here is the call graph for this function:

template<class A , class B >
__INLINE bool operator> ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 924 of file inmost_expression.h.

Here is the call graph for this function:

template<class A >
__INLINE bool operator> ( INMOST::shell_expression< A > const &  Left,
INMOST_DATA_REAL_TYPE  Right 
)

Definition at line 930 of file inmost_expression.h.

Here is the call graph for this function:

template<class B >
__INLINE bool operator> ( INMOST_DATA_REAL_TYPE  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 936 of file inmost_expression.h.

Here is the call graph for this function:

template<class A , class B >
__INLINE bool operator>= ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 926 of file inmost_expression.h.

Here is the call graph for this function:

template<class A >
__INLINE bool operator>= ( INMOST::shell_expression< A > const &  Left,
INMOST_DATA_REAL_TYPE  Right 
)

Definition at line 932 of file inmost_expression.h.

Here is the call graph for this function:

template<class B >
__INLINE bool operator>= ( INMOST_DATA_REAL_TYPE  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 938 of file inmost_expression.h.

Here is the call graph for this function:

template<class A , class B >
__INLINE INMOST::pow_expression<A, B> pow ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 906 of file inmost_expression.h.

Here is the caller graph for this function:

template<class B >
__INLINE INMOST::const_pow_expression<B> pow ( INMOST_DATA_REAL_TYPE  Left,
INMOST::shell_expression< B > const &  Right 
)

Definition at line 911 of file inmost_expression.h.

template<class A >
__INLINE INMOST::pow_const_expression<A> pow ( INMOST::shell_expression< A > const &  Left,
INMOST_DATA_REAL_TYPE  Right 
)

Definition at line 912 of file inmost_expression.h.

template<class A >
__INLINE INMOST::sin_expression<A> sin ( INMOST::shell_expression< A > const &  Arg)

Definition at line 891 of file inmost_expression.h.

Here is the caller graph for this function:

template<class A >
__INLINE INMOST::soft_abs_expression<A> soft_abs ( INMOST::shell_expression< A > const &  Arg,
INMOST_DATA_REAL_TYPE  tol 
)

Definition at line 898 of file inmost_expression.h.

Definition at line 899 of file inmost_expression.h.

Here is the call graph for this function:

template<class A , class B >
__INLINE INMOST::soft_max_expression<A, B> soft_max ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right,
INMOST_DATA_REAL_TYPE  tol 
)

Definition at line 907 of file inmost_expression.h.

Definition at line 908 of file inmost_expression.h.

Here is the call graph for this function:

template<class A , class B >
__INLINE INMOST::soft_min_expression<A, B> soft_min ( INMOST::shell_expression< A > const &  Left,
INMOST::shell_expression< B > const &  Right,
INMOST_DATA_REAL_TYPE  tol 
)

Definition at line 909 of file inmost_expression.h.

Definition at line 910 of file inmost_expression.h.

Here is the call graph for this function:

template<class A >
__INLINE INMOST::soft_sign_expression<A> soft_sign ( INMOST::shell_expression< A > const &  Arg,
INMOST_DATA_REAL_TYPE  tol 
)

Definition at line 900 of file inmost_expression.h.

Definition at line 901 of file inmost_expression.h.

Here is the call graph for this function:

template<class A >
__INLINE INMOST::sqrt_expression<A> sqrt ( INMOST::shell_expression< A > const &  Arg)

Definition at line 893 of file inmost_expression.h.

Here is the caller graph for this function:

template<class A >
__INLINE INMOST::variation_multiplication_expression<A> variation ( INMOST::shell_expression< A > const &  Arg,
INMOST_DATA_REAL_TYPE  Mult 
)

Definition at line 894 of file inmost_expression.h.

Definition at line 895 of file inmost_expression.h.