1#ifndef STAN_MATH_PRIM_FUN_LAMBERT_W_HPP
2#define STAN_MATH_PRIM_FUN_LAMBERT_W_HPP
7#include <boost/math/special_functions/lambert_w.hpp>
20template <
typename T, require_arithmetic_t<T>* =
nullptr>
34template <
typename T, require_arithmetic_t<T>* =
nullptr>
51 static inline auto fun(
const T& x) {
67 static inline auto fun(
const T& x) {
81template <
typename T, require_not_stan_scalar_t<T>* =
nullptr,
82 require_not_var_matrix_t<T>* =
nullptr>
96template <
typename T, require_not_stan_scalar_t<T>* =
nullptr,
97 require_not_var_matrix_t<T>* =
nullptr>
fvar< T > lambert_w0(const fvar< T > &x)
fvar< T > lambert_wm1(const fvar< T > &x)
boost::math::policies::policy< boost::math::policies::overflow_error< boost::math::policies::errno_on_error >, boost::math::policies::pole_error< boost::math::policies::errno_on_error >, boost::math::policies::promote_double< false >, boost::math::policies::digits2< B > > boost_policy_t
Boost policy that overrides the defaults to match the built-in C++ standard library functions.
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
Base template class for vectorization of unary scalar functions defined by a template class F to a sc...
static auto fun(const T &x)
Structure to wrap lambert_w0() so it can be vectorized.
static auto fun(const T &x)
Structure to wrap lambert_wm1() so it can be vectorized.