Loading [MathJax]/extensions/TeX/AMSmath.js
Automatic Differentiation
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
owens_t.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_PRIM_FUN_OWENS_T_HPP
2#define STAN_MATH_PRIM_FUN_OWENS_T_HPP
3
6#include <boost/math/special_functions/owens_t.hpp>
7
8namespace stan {
9namespace math {
10
58inline double owens_t(double h, double a) {
59 if (unlikely(std::isnan(h) || std::isnan(a))) {
60 return std::numeric_limits<double>::quiet_NaN();
61 }
62 return boost::math::owens_t(h, a);
63}
64
75template <typename T1, typename T2, require_any_container_t<T1, T2>* = nullptr,
76 require_all_not_var_and_matrix_types<T1, T2>* = nullptr>
77inline auto owens_t(const T1& a, const T2& b) {
79 [](const auto& c, const auto& d) { return owens_t(c, d); }, a, b);
80}
81
82} // namespace math
83} // namespace stan
84
85#endif
#define unlikely(x)
fvar< T > owens_t(const fvar< T > &x1, const fvar< T > &x2)
Return Owen's T function applied to the specified arguments.
Definition owens_t.hpp:26
auto apply_scalar_binary(const F &f, const T1 &x, const T2 &y)
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 ...
bool isnan(const stan::math::var &a)
Checks if the given number is NaN.
Definition std_isnan.hpp:18