Analytics Template Library
 All Classes Namespaces Functions Variables Pages
Public Types | Public Member Functions | Public Attributes | List of all members
atl::Add< REAL_T, LHS, RHS > Struct Template Reference

#include <Add.hpp>

Inheritance diagram for atl::Add< REAL_T, LHS, RHS >:
atl::ExpressionBase< REAL_T, Add< REAL_T, LHS, RHS > > atl::ExpressionBase< REAL_T, Add< REAL_T, LHS, RHS > >

Public Types

typedef REAL_T BASE_TYPE
 
typedef REAL_T BASE_TYPE
 

Public Member Functions

 Add (const ExpressionBase< REAL_T, LHS > &lhs, const ExpressionBase< REAL_T, RHS > &rhs)
 
 Add (const REAL_T &lhs, const ExpressionBase< REAL_T, RHS > &rhs)
 
 Add (const ExpressionBase< REAL_T, LHS > &lhs, const REAL_T &rhs)
 
const REAL_T GetValue () const
 
const REAL_T GetValue (size_t i, size_t j=0) const
 
bool IsNonlinear () const
 
void PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids) const
 
void PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t x) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z) const
 
REAL_T EvaluateDerivative (uint32_t x, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z, size_t i, size_t j=0) const
 
size_t GetColumns () const
 
size_t GetRows () const
 
bool IsScalar () const
 
const std::string ToExpressionTemplateString () const
 
 Add (const ExpressionBase< REAL_T, LHS > &lhs, const ExpressionBase< REAL_T, RHS > &rhs)
 
 Add (const REAL_T &lhs, const ExpressionBase< REAL_T, RHS > &rhs)
 
 Add (const ExpressionBase< REAL_T, LHS > &lhs, const REAL_T &rhs)
 
const REAL_T GetValue () const
 
const REAL_T GetValue (size_t i, size_t j=0) const
 
void PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids) const
 
void PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t a) const
 
REAL_T EvaluateDerivative (uint32_t a, uint32_t b) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z) const
 
REAL_T EvaluateDerivative (uint32_t a, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t a, uint32_t b, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z, size_t i, size_t j=0) const
 
size_t GetColumns () const
 
size_t GetRows () const
 
bool IsScalar () const
 
- Public Member Functions inherited from atl::ExpressionBase< REAL_T, Add< REAL_T, LHS, RHS > >
const Add< REAL_T, LHS, RHS > & Cast () const
 
const Add< REAL_T, LHS, RHS > & Cast () const
 
const REAL_T GetValue () const
 
const REAL_T GetValue (size_t i, size_t j=0) const
 
const REAL_T GetValue () const
 
const REAL_T GetValue (size_t i, size_t j=0) const
 
bool IsNonlinear () const
 
bool IsNonlinear () const
 
void PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids) const
 
void PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids, size_t i, size_t j=0) const
 
void PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids) const
 
void PushIds (typename atl::StackEntry< REAL_T >::vi_storage &ids, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t a) const
 
REAL_T EvaluateDerivative (uint32_t a, uint32_t b) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z) const
 
REAL_T EvaluateDerivative (uint32_t a, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t a, uint32_t b, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t x) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z) const
 
REAL_T EvaluateDerivative (uint32_t x, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y, size_t i, size_t j=0) const
 
REAL_T EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z, size_t i, size_t j=0) const
 
const ExpressionBaseoperator= (const ExpressionBase &exp) const
 
const ExpressionBaseoperator= (const ExpressionBase &exp) const
 
size_t GetColumns () const
 
size_t GetColumns () const
 
size_t GetRows () const
 
size_t GetRows () const
 
bool IsScalar () const
 
bool IsScalar () const
 
std::string ToExpressionTemplateString () const
 

Public Attributes

atl::Real< REAL_T > real_m
 
const LHS & lhs_m
 
const RHS & rhs_m
 
REAL_T value_m
 

Detailed Description

template<class REAL_T, class LHS, class RHS>
struct atl::Add< REAL_T, LHS, RHS >

Expression template to handle addition.

\( f(x) + g(x) \)

or

\( f_{i,j}(x) + g_{i,j}(x) \)

Constructor & Destructor Documentation

template<class REAL_T, class LHS , class RHS >
atl::Add< REAL_T, LHS, RHS >::Add ( const ExpressionBase< REAL_T, LHS > &  lhs,
const ExpressionBase< REAL_T, RHS > &  rhs 
)
inline

Constructor for two variable types.

Parameters
lhs
rhs
template<class REAL_T, class LHS , class RHS >
atl::Add< REAL_T, LHS, RHS >::Add ( const REAL_T &  lhs,
const ExpressionBase< REAL_T, RHS > &  rhs 
)
inline

Constructor for real plus variable type.

template<class REAL_T, class LHS , class RHS >
atl::Add< REAL_T, LHS, RHS >::Add ( const ExpressionBase< REAL_T, LHS > &  lhs,
const REAL_T &  rhs 
)
inline

Constructor for variable plus real type.

Parameters
lhs
rhs

Member Function Documentation

template<class REAL_T, class LHS , class RHS >
REAL_T atl::Add< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x) const
inline

Evaluates the first-order derivative with respect to x.

\( {{d}\over{d\,x}}\,g\left(x\right)+{{d}\over{d\,x}}\,f\left(x\right) \)

Parameters
x
Returns
template<class REAL_T, class LHS , class RHS >
REAL_T atl::Add< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x,
uint32_t  y 
) const
inline

Evaluates the second-order derivative with respect to x and y.

\( {{d^2}\over{d\,x\,d\,y}}\,g\left(x , y\right)+{{d^2}\over{d\,x\,d\, y}}\,f\left(x , y\right) \)

Parameters
x
y
Returns
template<class REAL_T, class LHS , class RHS >
REAL_T atl::Add< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x,
uint32_t  y,
uint32_t  z 
) const
inline

Evaluates the third-order derivative with respect to x, y, and z.

\( {{d^3}\over{d\,x\,d\,y\,d\,z}}\,g\left(x , y , z\right)+{{d^3 }\over{d\,x\,d\,y\,d\,z}}\,f\left(x , y , z\right) \)

Parameters
x
y
z
Returns
template<class REAL_T, class LHS , class RHS >
REAL_T atl::Add< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x,
size_t  i,
size_t  j = 0 
) const
inline

Evaluates the first-order derivative of this expression with respect to x at index {i,j}.

Parameters
a
i
j
Returns
template<class REAL_T, class LHS , class RHS >
REAL_T atl::Add< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x,
uint32_t  y,
size_t  i,
size_t  j = 0 
) const
inline

Evaluates the second-order derivative of this expression with respect to x at index {i,j}.

Parameters
x
y
i
j
Returns
template<class REAL_T, class LHS , class RHS >
REAL_T atl::Add< REAL_T, LHS, RHS >::EvaluateDerivative ( uint32_t  x,
uint32_t  y,
uint32_t  z,
size_t  i,
size_t  j = 0 
) const
inline

Evaluates the second-order derivative of this expression with respect to x at index {i,j}.

Parameters
x
y
z
i
j
Returns
template<class REAL_T, class LHS , class RHS >
size_t atl::Add< REAL_T, LHS, RHS >::GetColumns ( ) const
inline

Return the number of columns.

Returns
template<class REAL_T, class LHS , class RHS >
size_t atl::Add< REAL_T, LHS, RHS >::GetRows ( ) const
inline

Return the number of rows.

Returns
template<class REAL_T, class LHS , class RHS >
const REAL_T atl::Add< REAL_T, LHS, RHS >::GetValue ( ) const
inline

Compute the addition of the lhs and rhs expressions.

Returns
template<class REAL_T, class LHS , class RHS >
const REAL_T atl::Add< REAL_T, LHS, RHS >::GetValue ( size_t  i,
size_t  j = 0 
) const
inline

Compute the addition of the lhs and rhs expressions at index {i,j}.

Returns
template<class REAL_T, class LHS , class RHS >
bool atl::Add< REAL_T, LHS, RHS >::IsNonlinear ( ) const
inline

Returns true if the left or right side is nonlinear, else false.

Returns
template<class REAL_T, class LHS , class RHS >
bool atl::Add< REAL_T, LHS, RHS >::IsScalar ( ) const
inline

True if the expression is a scalar.

Returns
template<class REAL_T, class LHS , class RHS >
void atl::Add< REAL_T, LHS, RHS >::PushIds ( typename atl::StackEntry< REAL_T >::vi_storage &  ids) const
inline

Push variable info into a set.

Parameters
ids
template<class REAL_T, class LHS , class RHS >
void atl::Add< REAL_T, LHS, RHS >::PushIds ( typename atl::StackEntry< REAL_T >::vi_storage &  ids,
size_t  i,
size_t  j = 0 
) const
inline

Push variable info into a set at index {i,j}.

Parameters
ids
i
j
template<class REAL_T, class LHS , class RHS >
const std::string atl::Add< REAL_T, LHS, RHS >::ToExpressionTemplateString ( ) const
inline

Create a string representation of this expression template.

Returns

The documentation for this struct was generated from the following file: