Automatic Differentiation
 
Loading...
Searching...
No Matches
ldexp.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_PRIM_FUN_LDEXP_HPP
2#define STAN_MATH_PRIM_FUN_LDEXP_HPP
3
6#include <cmath>
7
8namespace stan {
9namespace math {
10
20template <typename T1, require_arithmetic_t<T1>* = nullptr>
21inline double ldexp(T1 a, int b) {
22 using std::ldexp;
23 return ldexp(a, b);
24}
25
36template <typename T1, typename T2, require_any_container_t<T1, T2>* = nullptr,
37 require_all_not_nonscalar_prim_or_rev_kernel_expression_t<
38 T1, T2>* = nullptr>
39inline auto ldexp(const T1& a, const T2& b) {
41 a, b, [&](const auto& c, const auto& d) { return ldexp(c, d); });
42}
43
44} // namespace math
45} // namespace stan
46
47#endif
fvar< T > ldexp(const fvar< T > &a, int b)
Returns the product of a (the significand) times 2 to power b (the exponent).
Definition ldexp.hpp:21
auto apply_scalar_binary(const T1 &x, const T2 &y, const F &f)
Base template function for vectorization of binary scalar functions defined by applying a functor to ...
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...