MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
gradient.h File Reference
#include <algorithm>
#include <cassert>
#include <climits>
#include <cmath>
#include <cstdlib>
#include <cstddef>
#include <cstring>
#include <iostream>
#include <iomanip>
#include <limits>
#include <map>
#include <new>
#include <stdexcept>
#include <typeinfo>
#include <vector>
#include "myassert.h"
#include "except.h"
#include "ac/f2c.h"
Include dependency graph for gradient.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  grad::Gradient< N_SIZE >
 
struct  grad::MaxSizeCheck< bSizeOK >
 
struct  grad::MaxSizeCheck< true >
 
struct  grad::IntegerTypeTraits< T >
 
class  grad::GradientAllocator< T >
 
struct  grad::GradientAllocator< T >::rebind< U >
 
struct  grad::AlignedAlloc
 
struct  grad::RangeVectorTraits< T >
 
struct  grad::RangeVectorTraits< bool >
 
class  grad::RangeVectorBase< T, N_SIZE >
 
class  grad::RangeVector< T, N_SIZE >
 
class  grad::RangeVector< T, 0 >
 
struct  grad::RangeVector< T, 0 >::Data
 
class  grad::LocalDofMap
 
class  grad::MapVectorBase
 
class  grad::MapVector< N_SIZE >
 
class  grad::GradientExpression< Expression >
 
struct  grad::MaxDerivatives< LhsExpr, RhsExpr >
 
struct  grad::GradientSizeHelper< N_SIZE1, N_SIZE2 >
 
class  grad::BinaryExpr< BinFunc, LhsExpr, RhsExpr >
 
class  grad::UnaryExpr< UnFunc, Expr >
 
class  grad::DirectExpr< T, ALIAS >
 
class  grad::ConstExpr< T >
 
class  grad::BoolExpr< BoolFunc, LhsExpr, RhsExpr >
 
class  grad::FuncPlus
 
class  grad::FuncMinus
 
class  grad::FuncMult
 
class  grad::FuncDiv
 
class  grad::FuncPow
 
class  grad::FuncAtan2
 
class  grad::FuncCopysign
 
class  grad::FuncFabs
 
class  grad::FuncSqrt
 
class  grad::FuncExp
 
class  grad::FuncLog
 
class  grad::FuncSin
 
class  grad::FuncCos
 
class  grad::FuncTan
 
class  grad::FuncSinh
 
class  grad::FuncCosh
 
class  grad::FuncTanh
 
class  grad::FuncAsin
 
class  grad::FuncAcos
 
class  grad::FuncAtan
 
class  grad::FuncUnaryMinus
 
class  grad::FuncLessThan
 
class  grad::FuncLessEqual
 
class  grad::FuncGreaterThan
 
class  grad::FuncGreaterEqual
 
class  grad::FuncEqualTo
 
class  grad::FuncNotEqualTo
 
struct  grad::ApplyDerivativeHelper< bVectorize >
 
struct  grad::ApplyDerivativeHelper< false >
 
struct  grad::ApplyDerivativeHelper< true >
 
struct  grad::ApplyAliasHelper< ALIAS >
 
struct  grad::ApplyAliasHelper< false >
 
struct  grad::ApplyAliasHelper< true >
 
class  grad::Gradient< N_SIZE >
 

Namespaces

 grad
 

Macros

#define GRADIENT_DEBUG   0
 
#define GRADIENT_ASSERT(expr)   ASSERT(expr)
 
#define GRADIENT_TRACE(expr)   static_cast<void>(0)
 
#define GRADIENT_MEMORY_STAT   0
 
#define GRADIENT_VECTOR_REGISTER_SIZE   0
 
#define GRADIENT_DEFINE_BINARY_FUNCTION(ExpressionName, FunctionName, FunctionClass)
 
#define GRADIENT_DEFINE_UNARY_FUNCTION(FunctionName, FunctionClass)
 

Typedefs

typedef integer grad::index_type
 
typedef doublereal grad::scalar_func_type
 
typedef doublereal grad::scalar_deriv_type
 
typedef RangeVectorBase
< scalar_func_type >
::vector_type 
grad::vector_deriv_type
 

Enumerations

enum  grad::FunctionCall {
  grad::STATE_MASK = 0x0F, grad::FUNCTION_MASK = 0xF0, grad::INITIAL_ASS_FLAG = 0x01, grad::INITIAL_DER_FLAG = 0x02,
  grad::REGULAR_FLAG = 0x04, grad::RESIDUAL_FLAG = 0x10, grad::JACOBIAN_FLAG = 0x20, grad::UNKNOWN_FUNC = 0x0,
  grad::INITIAL_ASS_RES = INITIAL_ASS_FLAG | RESIDUAL_FLAG, grad::INITIAL_ASS_JAC = INITIAL_ASS_FLAG | JACOBIAN_FLAG, grad::INITIAL_DER_RES = INITIAL_DER_FLAG | RESIDUAL_FLAG, grad::INITIAL_DER_JAC = INITIAL_DER_FLAG | JACOBIAN_FLAG,
  grad::REGULAR_RES = REGULAR_FLAG | RESIDUAL_FLAG, grad::REGULAR_JAC = REGULAR_FLAG | JACOBIAN_FLAG
}
 

Functions

doublereal copysign (doublereal x, doublereal y)
 
template<typename T >
void grad::array_fill (T *first, T *const last, const T &val)
 
template<typename T >
T * grad::array_copy (const T *first, const T *const last, T *result)
 
std::ostream & grad::operator<< (std::ostream &os, const LocalDofMap &dof)
 
void grad::Copy (scalar_func_type &d1, const scalar_func_type &d2, LocalDofMap *)
 
template<index_type N_SIZE1, index_type N_SIZE2>
void grad::Copy (Gradient< N_SIZE1 > &g1, const Gradient< N_SIZE2 > &g2, LocalDofMap *pDofMap)
 
void grad::Reset (scalar_func_type &d)
 
template<index_type N_SIZE>
void grad::Reset (Gradient< N_SIZE > &g)
 
scalar_func_type grad::dGetValue (scalar_func_type d)
 
template<index_type N_SIZE>
scalar_func_type grad::dGetValue (const Gradient< N_SIZE > &g)
 
template<index_type N_SIZE>
void grad::Convert (scalar_func_type &d, const Gradient< N_SIZE > &g)
 
template<typename T1 , typename T2 >
void grad::Convert (T1 &g1, const T2 &g2)
 
template<index_type N_SIZE>
GradientExpression< DirectExpr
< Gradient< N_SIZE >, true > > 
grad::Alias (const Gradient< N_SIZE > &g)
 
scalar_func_type grad::Alias (scalar_func_type d)
 
template<index_type N_SIZE>
std::ostream & grad::operator<< (std::ostream &os, const Gradient< N_SIZE > &f)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BinaryExpr
< FuncPlus, LhsExpr, RhsExpr > > 
grad::operator+ (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BinaryExpr
< FuncPlus, LhsExpr,
DirectExpr< Gradient< N_SIZE > > > > 
grad::operator+ (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BinaryExpr
< FuncPlus, LhsExpr, ConstExpr
< typename
LhsExpr::GradientType > > > 
grad::operator+ (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BinaryExpr
< FuncPlus, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::operator+ (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BinaryExpr
< FuncPlus, ConstExpr
< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::operator+ (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncPlus, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator+ (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncPlus, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::operator+ (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncPlus, ConstExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator+ (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BinaryExpr
< FuncMinus, LhsExpr, RhsExpr > > 
grad::operator- (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BinaryExpr
< FuncMinus, LhsExpr,
DirectExpr< Gradient< N_SIZE > > > > 
grad::operator- (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BinaryExpr
< FuncMinus, LhsExpr,
ConstExpr< typename
LhsExpr::GradientType > > > 
grad::operator- (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BinaryExpr
< FuncMinus, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::operator- (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BinaryExpr
< FuncMinus, ConstExpr
< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::operator- (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncMinus, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator- (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncMinus, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::operator- (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncMinus, ConstExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator- (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BinaryExpr
< FuncMult, LhsExpr, RhsExpr > > 
grad::operator* (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BinaryExpr
< FuncMult, LhsExpr,
DirectExpr< Gradient< N_SIZE > > > > 
grad::operator* (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BinaryExpr
< FuncMult, LhsExpr, ConstExpr
< typename
LhsExpr::GradientType > > > 
grad::operator* (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BinaryExpr
< FuncMult, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::operator* (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BinaryExpr
< FuncMult, ConstExpr
< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::operator* (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncMult, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator* (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncMult, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::operator* (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncMult, ConstExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator* (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BinaryExpr
< FuncDiv, LhsExpr, RhsExpr > > 
grad::operator/ (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BinaryExpr
< FuncDiv, LhsExpr, DirectExpr
< Gradient< N_SIZE > > > > 
grad::operator/ (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BinaryExpr
< FuncDiv, LhsExpr, ConstExpr
< typename
LhsExpr::GradientType > > > 
grad::operator/ (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BinaryExpr
< FuncDiv, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::operator/ (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BinaryExpr
< FuncDiv, ConstExpr< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::operator/ (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncDiv, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator/ (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncDiv, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::operator/ (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncDiv, ConstExpr< Gradient
< N_SIZE > >, DirectExpr
< Gradient< N_SIZE > > > > 
grad::operator/ (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BinaryExpr
< FuncPow, LhsExpr, RhsExpr > > 
grad::pow (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BinaryExpr
< FuncPow, LhsExpr, DirectExpr
< Gradient< N_SIZE > > > > 
grad::pow (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BinaryExpr
< FuncPow, LhsExpr, ConstExpr
< typename
LhsExpr::GradientType > > > 
grad::pow (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BinaryExpr
< FuncPow, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::pow (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BinaryExpr
< FuncPow, ConstExpr< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::pow (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncPow, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::pow (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncPow, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::pow (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncPow, ConstExpr< Gradient
< N_SIZE > >, DirectExpr
< Gradient< N_SIZE > > > > 
grad::pow (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BinaryExpr
< FuncAtan2, LhsExpr, RhsExpr > > 
grad::atan2 (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BinaryExpr
< FuncAtan2, LhsExpr,
DirectExpr< Gradient< N_SIZE > > > > 
grad::atan2 (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BinaryExpr
< FuncAtan2, LhsExpr,
ConstExpr< typename
LhsExpr::GradientType > > > 
grad::atan2 (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BinaryExpr
< FuncAtan2, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::atan2 (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BinaryExpr
< FuncAtan2, ConstExpr
< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::atan2 (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncAtan2, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::atan2 (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncAtan2, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::atan2 (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncAtan2, ConstExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::atan2 (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BinaryExpr
< FuncCopysign, LhsExpr,
RhsExpr > > 
grad::copysign (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BinaryExpr
< FuncCopysign, LhsExpr,
DirectExpr< Gradient< N_SIZE > > > > 
grad::copysign (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BinaryExpr
< FuncCopysign, LhsExpr,
ConstExpr< typename
LhsExpr::GradientType > > > 
grad::copysign (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BinaryExpr
< FuncCopysign, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::copysign (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BinaryExpr
< FuncCopysign, ConstExpr
< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::copysign (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncCopysign, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::copysign (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncCopysign, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::copysign (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BinaryExpr
< FuncCopysign, ConstExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::copysign (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BoolExpr
< FuncLessThan, LhsExpr,
RhsExpr > > 
grad::operator< (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BoolExpr
< FuncLessThan, LhsExpr,
DirectExpr< Gradient< N_SIZE > > > > 
grad::operator< (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BoolExpr
< FuncLessThan, LhsExpr,
ConstExpr< typename
LhsExpr::GradientType > > > 
grad::operator< (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BoolExpr
< FuncLessThan, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::operator< (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BoolExpr
< FuncLessThan, ConstExpr
< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::operator< (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncLessThan, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator< (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncLessThan, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::operator< (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncLessThan, ConstExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator< (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BoolExpr
< FuncLessEqual, LhsExpr,
RhsExpr > > 
grad::operator<= (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BoolExpr
< FuncLessEqual, LhsExpr,
DirectExpr< Gradient< N_SIZE > > > > 
grad::operator<= (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BoolExpr
< FuncLessEqual, LhsExpr,
ConstExpr< typename
LhsExpr::GradientType > > > 
grad::operator<= (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BoolExpr
< FuncLessEqual, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::operator<= (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BoolExpr
< FuncLessEqual, ConstExpr
< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::operator<= (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncLessEqual, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator<= (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncLessEqual, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::operator<= (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncLessEqual, ConstExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator<= (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BoolExpr
< FuncGreaterThan, LhsExpr,
RhsExpr > > 
grad::operator> (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BoolExpr
< FuncGreaterThan, LhsExpr,
DirectExpr< Gradient< N_SIZE > > > > 
grad::operator> (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BoolExpr
< FuncGreaterThan, LhsExpr,
ConstExpr< typename
LhsExpr::GradientType > > > 
grad::operator> (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BoolExpr
< FuncGreaterThan, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::operator> (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BoolExpr
< FuncGreaterThan, ConstExpr
< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::operator> (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncGreaterThan, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator> (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncGreaterThan, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::operator> (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncGreaterThan, ConstExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator> (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BoolExpr
< FuncGreaterEqual, LhsExpr,
RhsExpr > > 
grad::operator>= (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BoolExpr
< FuncGreaterEqual, LhsExpr,
DirectExpr< Gradient< N_SIZE > > > > 
grad::operator>= (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BoolExpr
< FuncGreaterEqual, LhsExpr,
ConstExpr< typename
LhsExpr::GradientType > > > 
grad::operator>= (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BoolExpr
< FuncGreaterEqual, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::operator>= (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BoolExpr
< FuncGreaterEqual, ConstExpr
< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::operator>= (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncGreaterEqual, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator>= (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncGreaterEqual, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::operator>= (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncGreaterEqual, ConstExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator>= (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BoolExpr
< FuncEqualTo, LhsExpr,
RhsExpr > > 
grad::operator== (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BoolExpr
< FuncEqualTo, LhsExpr,
DirectExpr< Gradient< N_SIZE > > > > 
grad::operator== (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BoolExpr
< FuncEqualTo, LhsExpr,
ConstExpr< typename
LhsExpr::GradientType > > > 
grad::operator== (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BoolExpr
< FuncEqualTo, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::operator== (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BoolExpr
< FuncEqualTo, ConstExpr
< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::operator== (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncEqualTo, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator== (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncEqualTo, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::operator== (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncEqualTo, ConstExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator== (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr , typename RhsExpr >
GradientExpression< BoolExpr
< FuncNotEqualTo, LhsExpr,
RhsExpr > > 
grad::operator!= (const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE, typename LhsExpr >
GradientExpression< BoolExpr
< FuncNotEqualTo, LhsExpr,
DirectExpr< Gradient< N_SIZE > > > > 
grad::operator!= (const GradientExpression< LhsExpr > &u, const Gradient< N_SIZE > &v)
 
template<typename LhsExpr >
GradientExpression< BoolExpr
< FuncNotEqualTo, LhsExpr,
ConstExpr< typename
LhsExpr::GradientType > > > 
grad::operator!= (const GradientExpression< LhsExpr > &u, scalar_func_type v)
 
template<index_type N_SIZE, typename RhsExpr >
GradientExpression< BoolExpr
< FuncNotEqualTo, DirectExpr
< Gradient< N_SIZE >
>, RhsExpr > > 
grad::operator!= (const Gradient< N_SIZE > &u, const GradientExpression< RhsExpr > &v)
 
template<typename RhsExpr >
GradientExpression< BoolExpr
< FuncNotEqualTo, ConstExpr
< typename
RhsExpr::GradientType >
, RhsExpr > > 
grad::operator!= (scalar_func_type u, const GradientExpression< RhsExpr > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncNotEqualTo, DirectExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator!= (const Gradient< N_SIZE > &u, const Gradient< N_SIZE > &v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncNotEqualTo, DirectExpr
< Gradient< N_SIZE >
>, ConstExpr< Gradient
< N_SIZE > > > > 
grad::operator!= (const Gradient< N_SIZE > &u, scalar_func_type v)
 
template<index_type N_SIZE>
GradientExpression< BoolExpr
< FuncNotEqualTo, ConstExpr
< Gradient< N_SIZE >
>, DirectExpr< Gradient
< N_SIZE > > > > 
grad::operator!= (scalar_func_type u, const Gradient< N_SIZE > &v)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncUnaryMinus, Expr > > 
grad::operator- (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncUnaryMinus, DirectExpr
< Gradient< N_SIZE > > > > 
grad::operator- (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncFabs, Expr > > 
grad::fabs (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncFabs, DirectExpr
< Gradient< N_SIZE > > > > 
grad::fabs (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncSqrt, Expr > > 
grad::sqrt (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncSqrt, DirectExpr
< Gradient< N_SIZE > > > > 
grad::sqrt (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncExp, Expr > > 
grad::exp (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncExp, DirectExpr
< Gradient< N_SIZE > > > > 
grad::exp (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncLog, Expr > > 
grad::log (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncLog, DirectExpr
< Gradient< N_SIZE > > > > 
grad::log (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncSin, Expr > > 
grad::sin (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncSin, DirectExpr
< Gradient< N_SIZE > > > > 
grad::sin (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncCos, Expr > > 
grad::cos (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncCos, DirectExpr
< Gradient< N_SIZE > > > > 
grad::cos (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncTan, Expr > > 
grad::tan (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncTan, DirectExpr
< Gradient< N_SIZE > > > > 
grad::tan (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncSinh, Expr > > 
grad::sinh (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncSinh, DirectExpr
< Gradient< N_SIZE > > > > 
grad::sinh (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncCosh, Expr > > 
grad::cosh (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncCosh, DirectExpr
< Gradient< N_SIZE > > > > 
grad::cosh (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncTanh, Expr > > 
grad::tanh (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncTanh, DirectExpr
< Gradient< N_SIZE > > > > 
grad::tanh (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncAsin, Expr > > 
grad::asin (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncAsin, DirectExpr
< Gradient< N_SIZE > > > > 
grad::asin (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncAcos, Expr > > 
grad::acos (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncAcos, DirectExpr
< Gradient< N_SIZE > > > > 
grad::acos (const Gradient< N_SIZE > &u)
 
template<typename Expr >
GradientExpression< UnaryExpr
< FuncAtan, Expr > > 
grad::atan (const GradientExpression< Expr > &u)
 
template<index_type N_SIZE>
GradientExpression< UnaryExpr
< FuncAtan, DirectExpr
< Gradient< N_SIZE > > > > 
grad::atan (const Gradient< N_SIZE > &u)
 

Variables

static const index_type grad::DYNAMIC_SIZE = IntegerTypeTraits<index_type>::iMaxValue - 1
 

Macro Definition Documentation

#define GRADIENT_ASSERT (   expr)    ASSERT(expr)

Definition at line 74 of file gradient.h.

Referenced by grad::GradientAssVec< doublereal >::AddItem(), grad::GradientAssVec< Gradient< N_SIZE > >::AddItem(), grad::GradientAllocator< T >::allocate_aligned(), grad::LocalDofMap::AllocateLocalDof(), grad::Gradient< N_SIZE >::ApplyBinaryFunctionNoAlias(), grad::Gradient< N_SIZE >::ApplyDerivative(), grad::Gradient< N_SIZE >::ApplyNoAlias(), Modal::AssRes(), grad::BinaryExpr< BinFunc, LhsExpr, RhsExpr >::Compute(), grad::UnaryExpr< UnFunc, Expr >::Compute(), grad::Gradient< N_SIZE >::Copy(), grad::Gradient< N_SIZE >::dGetDerivativeGlobal(), grad::BinaryExpr< BinFunc, LhsExpr, RhsExpr >::dGetDerivativeLocal(), grad::UnaryExpr< UnFunc, Expr >::dGetDerivativeLocal(), grad::Gradient< N_SIZE >::dGetDerivativeLocal(), grad::BinaryExpr< BinFunc, LhsExpr, RhsExpr >::dGetDerivativeLocalVector(), grad::UnaryExpr< UnFunc, Expr >::dGetDerivativeLocalVector(), grad::Gradient< N_SIZE >::dGetDerivativeLocalVector(), grad::MapVector< N_SIZE >::dGetGlobalVector(), grad::BinaryExpr< BinFunc, LhsExpr, RhsExpr >::dGetValue(), grad::UnaryExpr< UnFunc, Expr >::dGetValue(), func_tmp(), grad::RangeVector< scalar_deriv_type, N_SIZE >::GetValue(), grad::RangeVector< T, 0 >::GetValue(), grad::RangeVector< scalar_deriv_type, N_SIZE >::GetVectorValue(), grad::RangeVector< T, 0 >::GetVectorValue(), grad::Gradient< N_SIZE >::Gradient(), grad::GradientAssVec< doublereal >::GradientAssVec(), grad::GradientAssVec< Gradient< N_SIZE > >::GradientAssVec(), grad::LocalDofMap::iGetGlobalDof(), grad::MapVector< N_SIZE >::iGetGlobalDof(), grad::LocalDofMap::iGetLocalIndex(), grad::RangeVector< scalar_deriv_type, N_SIZE >::operator=(), grad::RangeVector< T, 0 >::operator=(), grad::BinaryExpr< BinFunc, LhsExpr, RhsExpr >::pGetDofMap(), grad::BoolExpr< BoolFunc, LhsExpr, RhsExpr >::pGetDofMap(), grad::RangeVector< T, 0 >::pNullData(), grad::RangeVector< scalar_deriv_type, N_SIZE >::RangeVector(), grad::RangeVector< T, 0 >::RangeVector(), grad::RangeVector< scalar_deriv_type, N_SIZE >::Reserve(), grad::RangeVector< T, 0 >::Reserve(), grad::RangeVector< T, 0 >::ReserveMem(), grad::RangeVector< scalar_deriv_type, N_SIZE >::Reset(), grad::RangeVector< T, 0 >::Reset(), grad::RangeVector< scalar_deriv_type, N_SIZE >::ResizePreserve(), grad::RangeVector< T, 0 >::ResizePreserve(), grad::RangeVector< scalar_deriv_type, N_SIZE >::ResizeReset(), grad::RangeVector< T, 0 >::ResizeReset(), grad::MapVector< N_SIZE >::ResizeReset(), grad::Gradient< N_SIZE >::SetDerivativeGlobal(), grad::Gradient< N_SIZE >::SetDerivativeLocal(), grad::Gradient< N_SIZE >::SetDerivativeLocalVector(), grad::MapVector< N_SIZE >::SetGlobalVector(), grad::RangeVector< scalar_deriv_type, N_SIZE >::SetValue(), grad::RangeVector< T, 0 >::SetValue(), grad::RangeVector< scalar_deriv_type, N_SIZE >::SetVectorValue(), grad::RangeVector< T, 0 >::SetVectorValue(), grad::LocalDofMap::Size(), testGradient2(), and grad::RangeVector< T, 0 >::~RangeVector().

#define GRADIENT_DEBUG   0

Definition at line 69 of file gradient.h.

#define GRADIENT_DEFINE_BINARY_FUNCTION (   ExpressionName,
  FunctionName,
  FunctionClass 
)

Definition at line 2899 of file gradient.h.

#define GRADIENT_DEFINE_UNARY_FUNCTION (   FunctionName,
  FunctionClass 
)
Value:
template <typename Expr> \
inline GradientExpression<UnaryExpr<FunctionClass, Expr> > \
FunctionName(const GradientExpression<Expr>& u) { \
return GradientExpression<UnaryExpr<FunctionClass, Expr> >(u); \
} \
\
template <index_type N_SIZE> \
inline GradientExpression<UnaryExpr<FunctionClass, DirectExpr<Gradient<N_SIZE> > > > \
FunctionName(const Gradient<N_SIZE>& u) { \
return GradientExpression<UnaryExpr<FunctionClass, DirectExpr<Gradient<N_SIZE> > > >(u); \
}

Definition at line 2944 of file gradient.h.

#define GRADIENT_MEMORY_STAT   0

Definition at line 92 of file gradient.h.

#define GRADIENT_TRACE (   expr)    static_cast<void>(0)
#define GRADIENT_VECTOR_REGISTER_SIZE   0

Definition at line 144 of file gradient.h.

Function Documentation