Stan Math Library
4.8.1
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} |