12#ifndef EIGEN_MATH_FUNCTIONS_ALTIVEC_H
13#define EIGEN_MATH_FUNCTIONS_ALTIVEC_H
19template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
20Packet4f plog<Packet4f>(
const Packet4f& _x)
22 return plog_float(_x);
25template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
26Packet4f pexp<Packet4f>(
const Packet4f& _x)
28 return pexp_float(_x);
31template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
32Packet4f psin<Packet4f>(
const Packet4f& _x)
34 return psin_float(_x);
37template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
38Packet4f pcos<Packet4f>(
const Packet4f& _x)
40 return pcos_float(_x);
43#ifdef EIGEN_VECTORIZE_VSX
44#ifndef EIGEN_COMP_CLANG
45template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
46Packet4f prsqrt<Packet4f>(
const Packet4f& x)
51template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
52Packet2d prsqrt<Packet2d>(
const Packet2d& x)
58template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
59Packet4f psqrt<Packet4f>(
const Packet4f& x)
64template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
65Packet2d psqrt<Packet2d>(
const Packet2d& x)
71template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
72Packet4f prsqrt<Packet4f>(
const Packet4f& x)
74 return pset1<Packet4f>(1.0f) / psqrt<Packet4f>(x);
79template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
80Packet2d prsqrt<Packet2d>(
const Packet2d& x)
82 return pset1<Packet2d>(1.0) / psqrt<Packet2d>(x);
88template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
89Packet2d pexp<Packet2d>(
const Packet2d& _x)
91 return pexp_double(_x);
94template<> EIGEN_STRONG_INLINE Packet8bf psqrt<Packet8bf> (
const Packet8bf& a){
95 BF16_TO_F32_UNARY_OP_WRAPPER(vec_sqrt, a);
98template<> EIGEN_STRONG_INLINE Packet8bf prsqrt<Packet8bf> (
const Packet8bf& a){
99 BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt<Packet4f>, a);
102template<> EIGEN_STRONG_INLINE Packet8bf pexp<Packet8bf> (
const Packet8bf& a){
103 BF16_TO_F32_UNARY_OP_WRAPPER(pexp_float, a);
110EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f
111ptanh<Packet4f>(
const Packet4f& x) {
112 return internal::generic_fast_tanh_float(x);
Namespace containing all symbols from the Eigen library.
Definition LDLT.h:16