diff options
author | Joel Holdsworth <joel@airwebreathe.org.uk> | 2020-03-26 20:18:19 +0000 |
---|---|---|
committer | Rasmus Munk Larsen <rmlarsen@google.com> | 2020-03-26 20:18:19 +0000 |
commit | 52d54278beefee8b2f19dcca4fd900916154e174 (patch) | |
tree | 8a584a2bb27450b0e2af2ed102473ba265b7aa00 /Eigen/src/Core/arch/NEON/Complex.h | |
parent | deb93ed1bf359ac99923e3a2b90a2920b1101290 (diff) |
Additional NEON packet-math operations
Diffstat (limited to 'Eigen/src/Core/arch/NEON/Complex.h')
-rw-r--r-- | Eigen/src/Core/arch/NEON/Complex.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Eigen/src/Core/arch/NEON/Complex.h b/Eigen/src/Core/arch/NEON/Complex.h index aeb593468..aca3c9e81 100644 --- a/Eigen/src/Core/arch/NEON/Complex.h +++ b/Eigen/src/Core/arch/NEON/Complex.h @@ -99,6 +99,11 @@ template<> struct unpacket_traits<Packet2cf> }; }; +template<> EIGEN_STRONG_INLINE Packet1cf pcast<float,Packet1cf>(const float& a) +{ return Packet1cf(vset_lane_f32(a, vdup_n_f32(0.f), 0)); } +template<> EIGEN_STRONG_INLINE Packet2cf pcast<Packet2f,Packet2cf>(const Packet2f& a) +{ return Packet2cf(vreinterpretq_f32_u64(vmovl_u32(vreinterpret_u32_f32(a)))); } + template<> EIGEN_STRONG_INLINE Packet1cf pset1<Packet1cf>(const std::complex<float>& from) { return Packet1cf(vld1_f32(reinterpret_cast<const float*>(&from))); } template<> EIGEN_STRONG_INLINE Packet2cf pset1<Packet2cf>(const std::complex<float>& from) |