1#ifndef STAN_MATH_FWD_META_PARTIALS_PROPOGATOR_HPP
2#define STAN_MATH_FWD_META_PARTIALS_PROPOGATOR_HPP
53template <
typename ReturnType,
typename... Ops>
62 template <
typename... Types>
65 std::forward<Types>(ops))...) {}
82 [](
auto&... args) {
return sum_dx(args...); }, edges_);
An edge holds both the operands and its associated partial derivatives.
std::tuple< internal::ops_partials_edge< Dx, plain_type_t< std::decay_t< Ops > > >... > edges_
partials_type_t< ReturnType > Dx
partials_propagator(Types &&... ops)
require_t< is_fvar< std::decay_t< T > > > require_fvar_t
Require type satisfies is_fvar.
typename partials_type< T >::type partials_type_t
Helper alias for accessing the partial type.
T_return_type build(Dx value)
Build the node to be stored on the autodiff graph.
static constexpr auto sum_dx()
End of recursion for summing .dx() for fvar<T> ops and partials.
constexpr decltype(auto) apply(F &&f, Tuple &&t, PreArgs &&... pre_args)
typename plain_type< T >::type plain_type_t
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
This template class represents scalars used in forward-mode automatic differentiation,...