diff options
author | Joel Holdsworth <joel@airwebreathe.org.uk> | 2020-03-19 17:24:06 +0000 |
---|---|---|
committer | Rasmus Munk Larsen <rmlarsen@google.com> | 2020-03-19 17:24:06 +0000 |
commit | 232f9040821db526d28b9d93aaeb45c907dbf06b (patch) | |
tree | ef6385880742496420cb4718e11d84baeacfed5f /Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h | |
parent | 54aa8fa186e84bc6985f70f9aa43490709f345b7 (diff) |
Add shift_left<N> and shift_right<N> coefficient-wise unary Array functions
Diffstat (limited to 'Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h')
-rw-r--r-- | Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h b/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h index 2b69512e3..4d9b3b44c 100644 --- a/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +++ b/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h @@ -25,7 +25,7 @@ pfrexp_float(const Packet& a, Packet& exponent) { const Packet cst_126f = pset1<Packet>(126.0f); const Packet cst_half = pset1<Packet>(0.5f); const Packet cst_inv_mant_mask = pset1frombits<Packet>(~0x7f800000u); - exponent = psub(pcast<PacketI,Packet>(pshiftright<23>(preinterpret<PacketI>(a))), cst_126f); + exponent = psub(pcast<PacketI,Packet>(plogical_shift_right<23>(preinterpret<PacketI>(a))), cst_126f); return por(pand(a, cst_inv_mant_mask), cst_half); } @@ -36,7 +36,7 @@ pldexp_float(Packet a, Packet exponent) const Packet cst_127 = pset1<Packet>(127.f); // return a * 2^exponent PacketI ei = pcast<Packet,PacketI>(padd(exponent, cst_127)); - return pmul(a, preinterpret<Packet>(pshiftleft<23>(ei))); + return pmul(a, preinterpret<Packet>(plogical_shift_left<23>(ei))); } // Natural logarithm @@ -466,8 +466,8 @@ Packet psincos_float(const Packet& _x) // Compute the sign to apply to the polynomial. // sin: sign = second_bit(y_int) xor signbit(_x) // cos: sign = second_bit(y_int+1) - Packet sign_bit = ComputeSine ? pxor(_x, preinterpret<Packet>(pshiftleft<30>(y_int))) - : preinterpret<Packet>(pshiftleft<30>(padd(y_int,csti_1))); + Packet sign_bit = ComputeSine ? pxor(_x, preinterpret<Packet>(plogical_shift_left<30>(y_int))) + : preinterpret<Packet>(plogical_shift_left<30>(padd(y_int,csti_1))); sign_bit = pand(sign_bit, cst_sign_mask); // clear all but left most bit // Get the polynomial selection mask from the second bit of y_int |