84 #ifndef EIGEN_VECTORIZE
94 int nbig, ibeta, it, iemin, iemax, iexp;
98 ibeta = std::numeric_limits<Scalar>::radix;
107 if (iemin > 1 - 2 * it || 1 + it > iemax || (it == 2 && ibeta < 5) || (it <= 4 && ibeta <= 3) || it < 2) {
108 eigen_assert(
false &&
"the algorithm cannot be guaranteed on this computer");
110 iexp = -((1 - iemin) / 2);
112 iexp = (iemax + 1 - it) / 2;
115 iexp = (2 - iemin) / 2;
117 iexp = -((iemax + it) / 2);
123 abig = 1.0 /
eps - 1.0;
135 Packet ps2m = internal::pset1<Packet>(s2m);
136 Packet ps1m = internal::pset1<Packet>(s1m);
137 Packet pb2 = internal::pset1<Packet>(b2);
138 Packet pb1 = internal::pset1<Packet>(b1);
139 for (
int j = 0;
j <
v.size();
j +=
ps) {
143 Packet maskBig = internal::plt(pb2,
ax);
144 Packet maskSml = internal::plt(
ax, pb1);
177 }
else if (asml >
Scalar(0)) {
189 if (asml <= abig *
relerr)
#define eigen_assert(x)
Definition: Macros.h:910
EIGEN_ALWAYS_INLINE Packet2cf padd(Packet2cf &a, std::complex< float > &b)
Definition: MatrixVectorProduct.h:1277
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
internal::packet_traits< Scalar >::type Packet
Definition: benchmark-blocking-sizes.cpp:54
#define min(a, b)
Definition: datatypes.h:22
#define max(a, b)
Definition: datatypes.h:23
int RealScalar int RealScalar int RealScalar RealScalar * ps
Definition: level1_cplx_impl.h:124
Derived::RealScalar relerr(const MatrixBase< Derived > &A, const MatrixBase< OtherDerived > &B)
Definition: matrix_functions.h:54
double eps
Definition: crbond_bessel.cc:24
EIGEN_STRONG_INLINE Packet4cf pmul(const Packet4cf &a, const Packet4cf &b)
Definition: AVX/Complex.h:88
EIGEN_STRONG_INLINE Packet8h pandnot(const Packet8h &a, const Packet8h &b)
Definition: AVX/PacketMath.h:2323
EIGEN_STRONG_INLINE Packet4f pabs(const Packet4f &a)
Definition: AltiVec/PacketMath.h:1936
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux(const Packet &a)
Definition: GenericPacketMath.h:1232
EIGEN_STRONG_INLINE Packet8h pand(const Packet8h &a, const Packet8h &b)
Definition: AVX/PacketMath.h:2319
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2