58 lambert_w(
const ArgumentType& z,
const IndexType&
k,
const Policy& pol)
60 BOOST_FPU_EXCEPTION_GUARD
62 typedef typename tools::promote_args<ArgumentType,IndexType>::type
65 typedef typename policies::evaluation<result_type, Policy>::type
68 typedef typename policies::normalise<
70 policies::promote_float<false>,
71 policies::promote_double<false>,
72 policies::discrete_quantile<>,
73 policies::assert_undefined<> >::type forwarding_policy;
76 policies::checked_narrowing_cast<result_type, forwarding_policy>(
77 lambw::_with_real_range_checks<result_type,result_type,Policy>(
78 static_cast<value_type
>(z),
79 static_cast<value_type
>(
k),
81 "boost::math::lambert_w<%1%,%1%>(%1%,%1%)");
105 lambert_w(
const std::complex<ArgumentType>& z,
const IndexType&
k,
108 BOOST_FPU_EXCEPTION_GUARD
110 typedef typename tools::promote_args<ArgumentType, IndexType>::type
113 typedef typename policies::evaluation<result_type, Policy>::type
116 typedef typename policies::normalise<
118 policies::promote_float<false>,
119 policies::promote_double<false>,
120 policies::discrete_quantile<>,
121 policies::assert_undefined<> >::type forwarding_policy;
124 policies::checked_narrowing_cast<result_type, forwarding_policy>(
127 static_cast<std::complex<value_type>
>(z),
128 static_cast<value_type
>(
k),
129 forwarding_policy()),
130 "boost::math::lambert_w<std::complex<%1%>,%1%>(std::complex<%1%>,%1%)"