1#ifndef STAN_MATH_REV_FUN_LAMBERT_W_HPP
2#define STAN_MATH_REV_FUN_LAMBERT_W_HPP
21template <
typename T, require_stan_scalar_or_eigen_t<T>* =
nullptr>
24 as_array_or_scalar(a.adj())
25 += (as_array_or_scalar(vi.adj())
26 / as_array_or_scalar(a.val() + exp(vi.val())));
39template <
typename T, require_stan_scalar_or_eigen_t<T>* =
nullptr>
42 as_array_or_scalar(a.adj())
43 += (as_array_or_scalar(vi.adj())
44 / as_array_or_scalar(a.val() + exp(vi.val())));
fvar< T > lambert_w0(const fvar< T > &x)
var_value< plain_type_t< T > > make_callback_var(T &&value, F &&functor)
Creates a new var initialized with a callback_vari with a given value and reverse-pass callback funct...
fvar< T > lambert_wm1(const fvar< T > &x)
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...