![]() |
Stan Math Library
5.2.0
Automatic Differentiation
|
Class representing an edge with an inner type of double.
This class should never be used by the program and only exists so that developer can write functions using operands_and_partials that works for double, vars, and fvar types.
| ViewElt | One of double, var, fvar. |
| Op | The type of the input operand. It's scalar type for this specialization must be a Arithmetic |
Definition at line 57 of file operands_and_partials.hpp.
#include <operands_and_partials.hpp>
Public Types | |
| using | inner_op = std::conditional_t< is_eigen< value_type_t< Op > >::value, value_type_t< Op >, Op > |
| using | partials_t = empty_broadcast_array< ViewElt, inner_op > |
Public Member Functions | |
| ops_partials_edge ()=default | |
| template<typename T , require_not_same_t< std::decay_t< T >, std::decay_t< ops_partials_edge< ViewElt, Op, require_st_arithmetic< Op > > > > * = nullptr> | |
| constexpr | ops_partials_edge (T &&) noexcept |
Static Public Member Functions | |
| static constexpr double | operand () noexcept |
| Get the operand for the edge. | |
| static constexpr double | partial () noexcept |
| Get the partial for the edge. | |
| static constexpr double | dx () noexcept |
| Return the tangent for the edge. | |
| static constexpr int | size () noexcept |
| Return the size of the operand for the edge. | |
Public Attributes | |
| partials_t | partials_ |
The partials_ are always called in if statements that will be removed by the dead code elimination pass of the compiler. | |
| empty_broadcast_array< partials_t, inner_op > | partials_vec_ |
Static Public Attributes | |
| static constexpr double | operands_ {0} |