Derived expression type for std::tanh().
More...
#include </home/runner/work/allwpilib/allwpilib/wpimath/src/main/native/thirdparty/sleipnir/include/sleipnir/autodiff/expression.hpp>
|
constexpr | TanhExpression (ExpressionPtr lhs) |
| Constructs an unary expression (an operator with one argument).
|
|
double | value (double x, double) const override |
| Either nullary operator with no arguments, unary operator with one argument, or binary operator with two arguments.
|
|
ExpressionType | type () const override |
| Returns the type of this expression (constant, linear, quadratic, or nonlinear).
|
|
double | grad_l (double x, double, double parent_adjoint) const override |
| Returns double adjoint of the left child expression.
|
|
ExpressionPtr | grad_expr_l (const ExpressionPtr &x, const ExpressionPtr &, const ExpressionPtr &parent_adjoint) const override |
| Returns Expression adjoint of the left child expression.
|
|
constexpr | Expression ()=default |
| Constructs a constant expression with a value of zero.
|
|
constexpr | Expression (double value) |
| Constructs a nullary expression (an operator with no arguments).
|
|
constexpr | Expression (ExpressionPtr lhs) |
| Constructs an unary expression (an operator with one argument).
|
|
constexpr | Expression (ExpressionPtr lhs, ExpressionPtr rhs) |
| Constructs a binary expression (an operator with two arguments).
|
|
virtual | ~Expression ()=default |
|
constexpr bool | is_constant (double constant) const |
| Returns true if the expression is the given constant.
|
|
virtual double | grad_r (double lhs, double rhs, double parent_adjoint) const |
| Returns double adjoint of the right child expression.
|
|
virtual ExpressionPtr | grad_expr_r (const ExpressionPtr &lhs, const ExpressionPtr &rhs, const ExpressionPtr &parent_adjoint) const |
| Returns Expression adjoint of the right child expression.
|
|
|
double | val = 0.0 |
| The value of the expression node.
|
|
double | adjoint = 0.0 |
| The adjoint of the expression node used during autodiff.
|
|
uint32_t | incoming_edges = 0 |
| Counts incoming edges for this node.
|
|
int32_t | col = -1 |
| This expression's column in a Jacobian, or -1 otherwise.
|
|
ExpressionPtr | adjoint_expr |
| The adjoint of the expression node used during gradient expression tree generation.
|
|
uint32_t | ref_count = 0 |
| Reference count for intrusive shared pointer.
|
|
std::array< ExpressionPtr, 2 > | args {nullptr, nullptr} |
| Expression arguments.
|
|
Derived expression type for std::tanh().
◆ TanhExpression()
Constructs an unary expression (an operator with one argument).
- Parameters
-
lhs | Unary operator's operand. |
◆ grad_expr_l()
Returns Expression adjoint of the left child expression.
- Parameters
-
lhs | Left argument to binary operator. |
rhs | Right argument to binary operator. |
parent_adjoint | Adjoint of parent expression. |
- Returns
- The Expression adjoint of the left child expression.
Reimplemented from slp::detail::Expression.
◆ grad_l()
double slp::detail::TanhExpression::grad_l |
( |
double | lhs, |
|
|
double | rhs, |
|
|
double | parent_adjoint ) const |
|
inlineoverridevirtual |
Returns double adjoint of the left child expression.
- Parameters
-
lhs | Left argument to binary operator. |
rhs | Right argument to binary operator. |
parent_adjoint | Adjoint of parent expression. |
- Returns
- The double adjoint of the left child expression.
Reimplemented from slp::detail::Expression.
◆ type()
Returns the type of this expression (constant, linear, quadratic, or nonlinear).
- Returns
- The type of this expression.
Implements slp::detail::Expression.
◆ value()
double slp::detail::TanhExpression::value |
( |
double | lhs, |
|
|
double | rhs ) const |
|
inlineoverridevirtual |
Either nullary operator with no arguments, unary operator with one argument, or binary operator with two arguments.
This operator is used to update the node's value.
- Parameters
-
lhs | Left argument to binary operator. |
rhs | Right argument to binary operator. |
- Returns
- The node's value.
Implements slp::detail::Expression.
The documentation for this struct was generated from the following file:
- /home/runner/work/allwpilib/allwpilib/wpimath/src/main/native/thirdparty/sleipnir/include/sleipnir/autodiff/expression.hpp