16 #ifndef EIGEN_MATH_FUNCTIONS_ALTIVEC_H 17 #define EIGEN_MATH_FUNCTIONS_ALTIVEC_H 23 #if !defined(__ARCH__) || (defined(__ARCH__) && __ARCH__ >= 12) 97 x =
pmax(
pmin(x, p2d_exp_hi), p2d_exp_lo);
99 fx =
pmadd(p2d_cephes_LOG2EF, x, p2d_half);
103 tmp =
pmul(fx, p2d_cephes_exp_C1);
111 px =
pmadd(px, x2, p2d_cephes_exp_p1);
112 px =
pmadd(px, x2, p2d_cephes_exp_p2);
116 qx =
pmadd(qx, x2, p2d_cephes_exp_q1);
117 qx =
pmadd(qx, x2, p2d_cephes_exp_q2);
118 qx =
pmadd(qx, x2, p2d_cephes_exp_q3);
121 x =
pmadd(p2d_2,x,p2d_1);
124 emm0 = vec_ctsl(fx, 0);
126 static const Packet2l p2l_1023 = { 1023, 1023 };
127 static const Packet2ul p2ul_52 = { 52, 52 };
129 emm0 = emm0 + p2l_1023;
130 emm0 = emm0 << reinterpret_cast<Packet2l>(p2ul_52);
135 return vec_sel(_x,
pmax(
pmul(x, reinterpret_cast<Packet2d>(emm0)), _x),
142 #if !defined(__ARCH__) || (defined(__ARCH__) && __ARCH__ >= 12) 149 x =
pmax(
pmin(x, p4f_exp_hi), p4f_exp_lo);
152 fx =
pmadd(x, p4f_cephes_LOG2EF, p4f_half);
156 tmp =
pmul(fx, p4f_cephes_exp_C1);
164 y =
pmadd(y, x, p4f_cephes_exp_p1);
165 y =
pmadd(y, x, p4f_cephes_exp_p2);
166 y =
pmadd(y, x, p4f_cephes_exp_p3);
167 y =
pmadd(y, x, p4f_cephes_exp_p4);
168 y =
pmadd(y, x, p4f_cephes_exp_p5);
173 emm0 = (
Packet4i){ (
int)fx[0], (
int)fx[1], (
int)fx[2], (
int)fx[3] };
174 emm0 = emm0 + p4i_0x7f;
175 emm0 = emm0 << reinterpret_cast<Packet4i>(p4i_23);
177 return pmax(
pmul(y, reinterpret_cast<Packet4f>(emm0)), _x);
196 #if !defined(__ARCH__) || (defined(__ARCH__) && __ARCH__ >= 12) 213 #if !defined(__ARCH__) || (defined(__ARCH__) && __ARCH__ >= 12) 233 #endif // EIGEN_MATH_FUNCTIONS_ALTIVEC_H static _EIGEN_DECLARE_CONST_Packet4i(0x7f, 0x7f)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d psqrt< Packet2d >(const Packet2d &x)
static _EIGEN_DECLARE_CONST_Packet4f_FROM_INT(inv_mant_mask, ~0x7f800000)
Namespace containing all symbols from the Eigen library.
Pose3 x2(Rot3::Ypr(0.0, 0.0, 0.0), l2)
T generic_fast_tanh_float(const T &a_x)
#define EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
EIGEN_DEVICE_FUNC Packet padd(const Packet &a, const Packet &b)
EIGEN_DEVICE_FUNC Packet pmin(const Packet &a, const Packet &b)
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f ptanh< Packet4f >(const Packet4f &x)
RealScalar RealScalar * px
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Array< double, 1, 3 > e(1./3., 0.5, 2.)
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)
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pfloor(const Packet &a)
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)
static _EIGEN_DECLARE_CONST_Packet4f(1, 1.0f)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f pexp< Packet4f >(const Packet4f &_x)
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
EIGEN_STRONG_INLINE Packet4f pset1< Packet4f >(const float &from)
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)