Automatic Differentiation
 
Loading...
Searching...
No Matches
stan::math::internal::ops_partials_edge< ViewElt, Op, require_st_arithmetic< Op > > Struct Template Reference

Detailed Description

template<typename ViewElt, typename Op>
struct stan::math::internal::ops_partials_edge< ViewElt, Op, require_st_arithmetic< Op > >

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.

Template Parameters
ViewEltOne of double, var, fvar.
OpThe 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_oppartials_vec_
 

Static Public Attributes

static constexpr double operands_ {0}
 

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