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

Go to the source code of this file.

Classes

class  INMOST::Automatizator
 
struct  INMOST::Automatizator::table
 
class  INMOST::expr
 

Namespaces

 INMOST
 

Macros

#define FILTER_EPS   1e-12
 
#define AD_SPACE   16384
 
#define AD_NONE   0
 
#define AD_PLUS   1
 
#define AD_MINUS   2
 
#define AD_MULT   3
 
#define AD_DIV   4
 
#define AD_INV   5
 
#define AD_POW   6
 
#define AD_SQRT   7
 
#define AD_PRECOMP   15
 
#define AD_VAL   19
 
#define AD_COS   20
 
#define AD_ABS   22
 
#define AD_EXP   23
 
#define AD_LOG   24
 
#define AD_SIN   25
 
#define AD_CONST   50
 
#define AD_MES   51
 
#define AD_COND   60
 
#define AD_COND_TYPE   61
 
#define AD_COND_MARK   62
 
#define AD_ALTR   65
 
#define AD_EXT   99
 
#define AD_TAG   100
 
#define AD_CTAG   (AD_TAG+AD_SPACE)
 
#define AD_STNCL   (AD_CTAG+AD_SPACE)
 
#define AD_TABLE   (AD_STNCL+AD_SPACE)
 
#define AD_FUNC   (AD_TABLE+AD_SPACE)
 
#define AD_TYPE_INVALID   ENUMUNDEF
 
#define AD_TYPE_ENDPOINT   0
 
#define AD_TYPE_UNARY   1
 
#define AD_TYPE_BINARY   2
 
#define AD_TYPE_TERNARY   3
 
#define AD_TYPE_VALUE   4
 

Typedefs

typedef dynarray
< INMOST_DATA_REAL_TYPE, 2048 > 
INMOST::precomp_values_t
 

Functions

__INLINE INMOST::expr operator+ (const INMOST_DATA_REAL_TYPE &left, const INMOST::expr &right)
 
__INLINE INMOST::expr operator- (const INMOST_DATA_REAL_TYPE &left, const INMOST::expr &right)
 
__INLINE INMOST::expr operator* (const INMOST_DATA_REAL_TYPE &left, const INMOST::expr &right)
 
__INLINE INMOST::expr operator/ (const INMOST_DATA_REAL_TYPE &left, const INMOST::expr &right)
 
__INLINE INMOST::expr ad_pow (const INMOST::expr &v, const INMOST::expr n)
 
__INLINE INMOST::expr ad_abs (const INMOST::expr &v)
 
__INLINE INMOST::expr ad_exp (const INMOST::expr &v)
 
__INLINE INMOST::expr ad_log (const INMOST::expr &v)
 
__INLINE INMOST::expr ad_sin (const INMOST::expr &v)
 
__INLINE INMOST::expr ad_cos (const INMOST::expr &v)
 
__INLINE INMOST::expr ad_sqrt (const INMOST::expr &v)
 
__INLINE INMOST::expr ad_val (const INMOST::expr &v, const INMOST::expr &multiplyer=INMOST::expr(0.0))
 
__INLINE INMOST::expr measure ()
 
__INLINE INMOST::expr condition_etype (INMOST::ElementType etype, const INMOST::expr &if_true, const INMOST::expr &if_false)
 
__INLINE INMOST::expr condition_marker (INMOST::MarkerType marker, const INMOST::expr &if_true, const INMOST::expr &if_false)
 
__INLINE INMOST::expr condition (const INMOST::expr &cond, const INMOST::expr &if_gt_zero, const INMOST::expr &if_le_zero)
 
__INLINE INMOST::expr stencil (INMOST_DATA_ENUM_TYPE stncl, const INMOST::expr &v)
 
__INLINE INMOST::expr tabval (INMOST_DATA_ENUM_TYPE tabl, const INMOST::expr &v)
 
__INLINE INMOST::expr tagval (INMOST_DATA_ENUM_TYPE reg_tag, INMOST_DATA_ENUM_TYPE comp=0)
 
__INLINE INMOST::expr funcval (INMOST_DATA_ENUM_TYPE reg_func)
 

Macro Definition Documentation

#define AD_ABS   22

Definition at line 46 of file inmost_autodiff.h.

#define AD_ALTR   65

Definition at line 57 of file inmost_autodiff.h.

#define AD_COND   60

Definition at line 54 of file inmost_autodiff.h.

#define AD_COND_MARK   62

Definition at line 56 of file inmost_autodiff.h.

#define AD_COND_TYPE   61

Definition at line 55 of file inmost_autodiff.h.

#define AD_CONST   50

Definition at line 51 of file inmost_autodiff.h.

#define AD_COS   20

Definition at line 44 of file inmost_autodiff.h.

#define AD_CTAG   (AD_TAG+AD_SPACE)

Definition at line 64 of file inmost_autodiff.h.

#define AD_DIV   4

Definition at line 33 of file inmost_autodiff.h.

#define AD_EXP   23

Definition at line 47 of file inmost_autodiff.h.

#define AD_EXT   99

Definition at line 61 of file inmost_autodiff.h.

#define AD_FUNC   (AD_TABLE+AD_SPACE)

Definition at line 67 of file inmost_autodiff.h.

#define AD_INV   5

Definition at line 34 of file inmost_autodiff.h.

#define AD_LOG   24

Definition at line 48 of file inmost_autodiff.h.

#define AD_MES   51

Definition at line 52 of file inmost_autodiff.h.

#define AD_MINUS   2

Definition at line 31 of file inmost_autodiff.h.

#define AD_MULT   3

Definition at line 32 of file inmost_autodiff.h.

#define AD_NONE   0

Definition at line 28 of file inmost_autodiff.h.

#define AD_PLUS   1

Definition at line 30 of file inmost_autodiff.h.

#define AD_POW   6

Definition at line 35 of file inmost_autodiff.h.

#define AD_PRECOMP   15

Definition at line 39 of file inmost_autodiff.h.

#define AD_SIN   25

Definition at line 49 of file inmost_autodiff.h.

#define AD_SPACE   16384

Definition at line 26 of file inmost_autodiff.h.

#define AD_SQRT   7

Definition at line 36 of file inmost_autodiff.h.

#define AD_STNCL   (AD_CTAG+AD_SPACE)

Definition at line 65 of file inmost_autodiff.h.

#define AD_TABLE   (AD_STNCL+AD_SPACE)

Definition at line 66 of file inmost_autodiff.h.

#define AD_TAG   100

Definition at line 63 of file inmost_autodiff.h.

#define AD_TYPE_BINARY   2

Definition at line 75 of file inmost_autodiff.h.

#define AD_TYPE_ENDPOINT   0

Definition at line 73 of file inmost_autodiff.h.

#define AD_TYPE_INVALID   ENUMUNDEF

Definition at line 72 of file inmost_autodiff.h.

#define AD_TYPE_TERNARY   3

Definition at line 76 of file inmost_autodiff.h.

#define AD_TYPE_UNARY   1

Definition at line 74 of file inmost_autodiff.h.

#define AD_TYPE_VALUE   4

Definition at line 77 of file inmost_autodiff.h.

#define AD_VAL   19

Definition at line 41 of file inmost_autodiff.h.

#define FILTER_EPS   1e-12

Definition at line 24 of file inmost_autodiff.h.

Function Documentation

__INLINE INMOST::expr ad_abs ( const INMOST::expr v)

Definition at line 712 of file inmost_autodiff.h.

__INLINE INMOST::expr ad_cos ( const INMOST::expr v)

Definition at line 716 of file inmost_autodiff.h.

__INLINE INMOST::expr ad_exp ( const INMOST::expr v)

Definition at line 713 of file inmost_autodiff.h.

__INLINE INMOST::expr ad_log ( const INMOST::expr v)

Definition at line 714 of file inmost_autodiff.h.

__INLINE INMOST::expr ad_pow ( const INMOST::expr v,
const INMOST::expr  n 
)

Definition at line 711 of file inmost_autodiff.h.

__INLINE INMOST::expr ad_sin ( const INMOST::expr v)

Definition at line 715 of file inmost_autodiff.h.

__INLINE INMOST::expr ad_sqrt ( const INMOST::expr v)

Definition at line 717 of file inmost_autodiff.h.

__INLINE INMOST::expr ad_val ( const INMOST::expr v,
const INMOST::expr multiplyer = INMOST::expr(0.0) 
)

Definition at line 718 of file inmost_autodiff.h.

__INLINE INMOST::expr condition ( const INMOST::expr cond,
const INMOST::expr if_gt_zero,
const INMOST::expr if_le_zero 
)

Definition at line 722 of file inmost_autodiff.h.

__INLINE INMOST::expr condition_etype ( INMOST::ElementType  etype,
const INMOST::expr if_true,
const INMOST::expr if_false 
)

Definition at line 720 of file inmost_autodiff.h.

__INLINE INMOST::expr condition_marker ( INMOST::MarkerType  marker,
const INMOST::expr if_true,
const INMOST::expr if_false 
)

Definition at line 721 of file inmost_autodiff.h.

Definition at line 726 of file inmost_autodiff.h.

__INLINE INMOST::expr measure ( )

Definition at line 719 of file inmost_autodiff.h.

__INLINE INMOST::expr operator* ( const INMOST_DATA_REAL_TYPE left,
const INMOST::expr right 
)

Definition at line 709 of file inmost_autodiff.h.

Here is the caller graph for this function:

__INLINE INMOST::expr operator+ ( const INMOST_DATA_REAL_TYPE left,
const INMOST::expr right 
)

Definition at line 707 of file inmost_autodiff.h.

__INLINE INMOST::expr operator- ( const INMOST_DATA_REAL_TYPE left,
const INMOST::expr right 
)

Definition at line 708 of file inmost_autodiff.h.

__INLINE INMOST::expr operator/ ( const INMOST_DATA_REAL_TYPE left,
const INMOST::expr right 
)

Definition at line 710 of file inmost_autodiff.h.

__INLINE INMOST::expr stencil ( INMOST_DATA_ENUM_TYPE  stncl,
const INMOST::expr v 
)

Definition at line 723 of file inmost_autodiff.h.

__INLINE INMOST::expr tabval ( INMOST_DATA_ENUM_TYPE  tabl,
const INMOST::expr v 
)

Definition at line 724 of file inmost_autodiff.h.

Definition at line 725 of file inmost_autodiff.h.