16 #ifndef EIGEN_MATH_FUNCTIONS_ALTIVEC_H 17 #define EIGEN_MATH_FUNCTIONS_ALTIVEC_H 53 x =
pmax(
pmin(x, p2d_exp_hi), p2d_exp_lo);
55 fx =
pmadd(p2d_cephes_LOG2EF, x, p2d_half);
59 tmp =
pmul(fx, p2d_cephes_exp_C1);
67 px =
pmadd(px, x2, p2d_cephes_exp_p1);
68 px =
pmadd(px, x2, p2d_cephes_exp_p2);
72 qx =
pmadd(qx, x2, p2d_cephes_exp_q1);
73 qx =
pmadd(qx, x2, p2d_cephes_exp_q2);
74 qx =
pmadd(qx, x2, p2d_cephes_exp_q3);
77 x =
pmadd(p2d_2,x,p2d_1);
80 emm0 = vec_ctsl(fx, 0);
82 static const Packet2l p2l_1023 = { 1023, 1023 };
83 static const Packet2ul p2ul_52 = { 52, 52 };
85 emm0 = emm0 + p2l_1023;
86 emm0 = emm0 << reinterpret_cast<Packet2l>(p2ul_52);
91 return vec_sel(_x,
pmax(
pmul(x, reinterpret_cast<Packet2d>(emm0)), _x),
107 return __builtin_s390_vfsqdb(x);
137 #endif // EIGEN_MATH_FUNCTIONS_ALTIVEC_H
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d psqrt< Packet2d >(const Packet2d &x)
EIGEN_DEVICE_FUNC const Scalar & x
#define EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
__vector long long Packet2l
EIGEN_DEVICE_FUNC Packet pmin(const Packet &a, const Packet &b)
__vector unsigned long long Packet2ul
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f prsqrt< Packet4f >(const Packet4f &x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d prsqrt< Packet2d >(const Packet2d &x)
TFSIMD_FORCE_INLINE const tfScalar & z() const
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
EIGEN_DEVICE_FUNC Packet psub(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE Packet2d pset1< Packet2d >(const double &from)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f psqrt< Packet4f >(const Packet4f &x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f pexp< Packet4f >(const Packet4f &_x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d pexp< Packet2d >(const Packet2d &_x)
EIGEN_DEVICE_FUNC Packet pmul(const Packet &a, const Packet &b)
static _EIGEN_DECLARE_CONST_Packet2d(1, 1.0)
EIGEN_DEVICE_FUNC Packet pmax(const Packet &a, const Packet &b)