#include <Exp.hpp>
Public Types | |
typedef REAL_T | BASE_TYPE |
typedef REAL_T | BASE_TYPE |
Public Member Functions | |
Exp (const ExpressionBase< REAL_T, EXPR > &a) | |
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 |
const REAL_T | EvaluateDerivative (uint32_t id) const |
REAL_T | EvaluateDerivative (uint32_t a, uint32_t b) const |
REAL_T | EvaluateDerivative (uint32_t x, uint32_t y, uint32_t z) const |
const REAL_T | EvaluateDerivative (uint32_t id, 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 |
Exp (const ExpressionBase< REAL_T, EXPR > &a) | |
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 |
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 |
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 | GetRows () const |
bool | IsScalar () const |
const std::string | ToExpressionTemplateString () const |
Public Member Functions inherited from atl::ExpressionBase< REAL_T, Exp< REAL_T, EXPR > > | |
const Exp< REAL_T, EXPR > & | Cast () const |
const Exp< REAL_T, EXPR > & | 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 ExpressionBase & | operator= (const ExpressionBase &exp) const |
const ExpressionBase & | operator= (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 | |
const EXPR & | expr_m |
Expression template to handle natural exponential function for variable or container expressions.
\( e^{f(x,y,z)} \)
or
\( e^{f_{i,j}(x,y)} \)
|
inline |
Constructor.
a |
|
inline |
Evaluates the first-order derivative with respect to x.
\( e^{f(x)}\,\left({{d}\over{d\,x}}\,f(x)\right)\)
x |
|
inline |
Evaluates the second-order derivative with respect to x and y.
\( e^{f(x,y)}\,\left({{d}\over{d\,x}}\,f(x,y)\right)\, \left({{d}\over{d\,y}}\,f(x,y)\right)+e^{f(x,y)}\,\left( {{d^2}\over{d\,x\,d\,y}}\,f(x,y)\right) \)
x | |
y |
|
inline |
Evaluates the third-order derivative with respect to x, y, and z.
\( e^{f\left(x , y , z\right)}\,\left({{d}\over{d\,x}}\,f\left(x , y , z\right)\right)\,\left({{d}\over{d\,y}}\,f\left(x , y , z\right) \right)\,\left({{d}\over{d\,z}}\,f\left(x , y , z\right)\right)+e^{f \left(x , y , z\right)}\,\left({{d^2}\over{d\,x\,d\,y}}\,f\left(x , y , z\right)\right)\,\left({{d}\over{d\,z}}\,f\left(x , y , z\right) \right)+ \\ e^{f\left(x , y , z\right)}\,\left({{d}\over{d\,x}}\,f\left( x , y , z\right)\right)\,\left({{d^2}\over{d\,y\,d\,z}}\,f\left(x , y , z\right)\right)+e^{f\left(x , y , z\right)}\,\left({{d^2}\over{d \,x\,d\,z}}\,f\left(x , y , z\right)\right)\,\left({{d}\over{d\,y}} \,f\left(x , y , z\right)\right)+e^{f\left(x , y , z\right)}\,\left( {{d^3}\over{d\,x\,d\,y\,d\,z}}\,f\left(x , y , z\right)\right) \)
x | |
y | |
z |
|
inline |
Evaluates the first-order derivative with respect to x at index {i,j}.
\( e^{f_{i,j}(x)}\,\left({{d}\over{d\,x}}\,f_{i,j}(x)\right)\)
x | |
i | |
j |
|
inline |
Evaluates the second-order derivative with respect to x and y at index {i,j}.
\( e^{f_{i,j}(x,y)}\,\left({{d}\over{d\,x}}\,f_{i,j}(x,y)\right)\, \left({{d}\over{d\,y}}\,f_{i,j}(x,y)\right)+e^{f_{i,j}(x,y)}\,\left( {{d^2}\over{d\,x\,d\,y}}\,f_{i,j}(x,y)\right) \)
x | |
y | |
i | |
j |
|
inline |
Evaluates the third-order derivative with respect to x, y, and z at index {i,j}.
\( e^{f_{i,j}(x,y,z)}\,\left({{d}\over{d\,x}}\,f_{i,j}(x,y,z)\right)\, \left({{d}\over{d\,y}}\,f_{i,j}(x,y,z)\right)\,\left({{d}\over{d\,z }}\,f_{i,j}(x,y,z)\right)+e^{f_{i,j}(x,y,z)}\,\left({{d^2}\over{d\,x \,d\,y}}\,f_{i,j}(x,y,z)\right)\,\left({{d}\over{d\,z}}\,f_{i,j}(x,y ,z)\right)+ \\ e^{f_{i,j}(x,y,z)}\,\left({{d}\over{d\,x}}\,f_{i,j}(x,y,z )\right)\,\left({{d^2}\over{d\,y\,d\,z}}\,f_{i,j}(x,y,z)\right)+e^{f _{i,j}(x,y,z)}\,\left({{d^2}\over{d\,x\,d\,z}}\,f_{i,j}(x,y,z) \right)\,\left({{d}\over{d\,y}}\,f_{i,j}(x,y,z)\right)+e^{f_{i,j}(x, y,z)}\,\left({{d^3}\over{d\,x\,d\,y\,d\,z}}\,f_{i,j}(x,y,z)\right) \)
x | |
y | |
z | |
i | |
j |
|
inline |
Return the number of rows.
|
inline |
Computes the natural exponential function for the evaluated expression.
|
inline |
Computes the natural exponential function for the evaluated expression at index {i,j}.
|
inline |
Returns true.
|
inline |
True if this expression is a scalar.
|
inline |
Push variable info into a set.
ids |
|
inline |
Push variable info into a set at index {i,j}.
ids | |
i | |
j |
|
inline |
Create a string representation of this expression template.