16 #ifndef EIGEN_MATH_FUNCTIONS_ZVECTOR_H
17 #define EIGEN_MATH_FUNCTIONS_ZVECTOR_H
19 #include "../../InternalHeaderCheck.h"
25 #if !defined(__ARCH__) || (defined(__ARCH__) && __ARCH__ >= 12)
101 fx =
pmadd(p2d_cephes_LOG2EF,
x, p2d_half);
105 tmp =
pmul(fx, p2d_cephes_exp_C1);
113 px =
pmadd(px, x2, p2d_cephes_exp_p1);
114 px =
pmadd(px, x2, p2d_cephes_exp_p2);
118 qx =
pmadd(qx, x2, p2d_cephes_exp_q1);
119 qx =
pmadd(qx, x2, p2d_cephes_exp_q2);
120 qx =
pmadd(qx, x2, p2d_cephes_exp_q3);
126 emm0 = vec_ctsl(fx, 0);
128 static const Packet2l p2l_1023 = { 1023, 1023 };
129 static const Packet2ul p2ul_52 = { 52, 52 };
131 emm0 = emm0 + p2l_1023;
132 emm0 = emm0 << reinterpret_cast<Packet2l>(p2ul_52);
144 #if !defined(__ARCH__) || (defined(__ARCH__) && __ARCH__ >= 12)
154 fx =
pmadd(
x, p4f_cephes_LOG2EF, p4f_half);
158 tmp =
pmul(fx, p4f_cephes_exp_C1);
175 emm0 = (
Packet4i){ (int)fx[0], (
int)fx[1], (int)fx[2], (
int)fx[3] };
176 emm0 = emm0 + p4i_0x7f;
177 emm0 = emm0 << reinterpret_cast<Packet4i>(p4i_23);
198 #if !defined(__ARCH__) || (defined(__ARCH__) && __ARCH__ >= 12)
215 #if !defined(__ARCH__) || (defined(__ARCH__) && __ARCH__ >= 12)
#define EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
Packet pmin(const Packet &a, const Packet &b)
Packet padd(const Packet &a, const Packet &b)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet2d pexp< Packet2d >(const Packet2d &_x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet4f psqrt< Packet4f >(const Packet4f &x)
static EIGEN_DECLARE_CONST_Packet4f(1, 1.0f)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet2d prsqrt< Packet2d >(const Packet2d &x)
Packet pmax(const Packet &a, const Packet &b)
static EIGEN_DECLARE_CONST_Packet4f_FROM_INT(inv_mant_mask, ~0x7f800000)
static EIGEN_DECLARE_CONST_Packet4i(0x7f, 0x7f)
Packet4f pmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
Packet pmul(const Packet &a, const Packet &b)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet4f ptanh< Packet4f >(const Packet4f &_x)
Packet psub(const Packet &a, const Packet &b)
Packet2d pset1< Packet2d >(const double &from)
T generic_fast_tanh_float(const T &a_x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet2d psqrt< Packet2d >(const Packet2d &x)
Packet pdiv(const Packet &a, const Packet &b)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet4f pexp< Packet4f >(const Packet4f &_x)
static EIGEN_DECLARE_CONST_Packet2d(1, 1.0)
Packet4f pset1< Packet4f >(const float &from)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet4f prsqrt< Packet4f >(const Packet4f &x)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pfloor(const Packet &a)