10 #ifndef EIGEN_SPECIALFUNCTIONS_PACKETMATH_H
11 #define EIGEN_SPECIALFUNCTIONS_PACKETMATH_H
18 template<
typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
19 Packet plgamma(
const Packet& a) {
using numext::lgamma;
return lgamma(a); }
22 template<
typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
23 Packet pdigamma(
const Packet& a) {
using numext::digamma;
return digamma(a); }
26 template<
typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
27 Packet pzeta(
const Packet& x,
const Packet& q) {
using numext::zeta;
return zeta(x, q); }
30 template<
typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
31 Packet ppolygamma(
const Packet& n,
const Packet& x) {
using numext::polygamma;
return polygamma(n, x); }
34 template<
typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
35 Packet perf(
const Packet& a) {
using numext::erf;
return erf(a); }
38 template<
typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
39 Packet perfc(
const Packet& a) {
using numext::erfc;
return erfc(a); }
42 template<
typename Packet> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
43 Packet pigamma(
const Packet& a,
const Packet& x) {
using numext::igamma;
return igamma(a, x); }
46 template<
typename Packet> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
47 Packet pigammac(
const Packet& a,
const Packet& x) {
using numext::igammac;
return igammac(a, x); }
50 template<
typename Packet> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
51 Packet pbetainc(
const Packet& a,
const Packet& b,
const Packet& x) {
using numext::betainc;
return betainc(a, b, x); }
57 #endif // EIGEN_SPECIALFUNCTIONS_PACKETMATH_H
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_lgamma_op< typename Derived::Scalar >, const Derived > lgamma(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_erf_op< typename Derived::Scalar >, const Derived > erf(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_erfc_op< typename Derived::Scalar >, const Derived > erfc(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_digamma_op< typename Derived::Scalar >, const Derived > digamma(const Eigen::ArrayBase< Derived > &x)