1 #ifndef STAN_MATH_PRIM_SCAL_META_OPERANDS_AND_PARTIALS_HPP 2 #define STAN_MATH_PRIM_SCAL_META_OPERANDS_AND_PARTIALS_HPP 9 template <
typename Op1 = double,
typename Op2 = double,
typename Op3 = double,
10 typename Op4 = double,
typename Op5 = double,
11 typename T_return_type =
35 template <
typename ViewElt,
typename Op>
44 template <
typename,
typename,
typename,
typename,
typename,
typename>
47 void dump_partials(ViewElt* )
const {}
48 void dump_operands(
void* )
const {}
49 ViewElt dx()
const {
return 0; }
50 int size()
const {
return 0; }
88 template <
typename Op1,
typename Op2,
typename Op3,
typename Op4,
typename Op5,
89 typename T_return_type>
97 const Op3& ,
const Op4& ) {}
99 const Op3& ,
const Op4& ,
115 T_return_type
build(
double value) {
return value; }
operands_and_partials(const Op1 &)
An edge holds both the operands and its associated partial derivatives.
internal::ops_partials_edge< double, Op5 > edge5_
internal::ops_partials_edge< double, Op4 > edge4_
This template builds partial derivatives with respect to a set of operands.
operands_and_partials(const Op1 &, const Op2 &, const Op3 &, const Op4 &)
ops_partials_edge(const Op &)
operands_and_partials(const Op1 &, const Op2 &, const Op3 &, const Op4 &, const Op5 &)
boost::math::tools::promote_args< double, typename scalar_type< T >::type, typename return_type< Types_pack... >::type >::type type
operands_and_partials(const Op1 &, const Op2 &, const Op3 &)
empty_broadcast_array< ViewElt, Op > partials_
T_return_type build(double value)
Build the node to be stored on the autodiff graph.
internal::ops_partials_edge< double, Op2 > edge2_
int size(const std::vector< T > &x)
Return the size of the specified standard vector.
operands_and_partials(const Op1 &, const Op2 &)
internal::ops_partials_edge< double, Op3 > edge3_
internal::ops_partials_edge< double, Op1 > edge1_