13 #ifndef EIGEN_COMPLEX_MSA_H 14 #define EIGEN_COMPLEX_MSA_H 27 const std::complex<float>&
b) {
46 v1 = (
Packet4f)__builtin_msa_ilvev_w((v4i32)
v, (v4i32)
v);
48 v2 = (
Packet4f)__builtin_msa_ilvod_w((v4i32)
v, (v4i32)
v);
79 *
this *= b.conjugate();
96 os <<
"[ (" << value.v[0] <<
", " << value.v[1]
99 << value.v[2] <<
", " << value.v[3] <<
"i) ]";
129 typedef std::complex<float>
type;
130 enum {
size = 2, alignment =
Aligned16, vectorizable=
true, masked_load_available=
false, masked_store_available=
false };
138 float f0 = from.real(),
f1 = from.imag();
169 return a.conjugate();
246 const std::complex<float>* from,
Index stride) {
249 return Packet2cf(from[0 * stride], from[1 * stride]);
258 *to = std::complex<float>(from.v[0], from.v[1]);
260 *to = std::complex<float>(from.v[2], from.v[3]);
267 prefetch(reinterpret_cast<const float*>(addr));
274 return std::complex<float>(a.v[0], a.v[1]);
297 return std::complex<float>(value[0], value[1]);
304 return std::complex<float>((a.v[0] * a.v[2]) - (a.v[1] * a.v[3]),
305 (a.v[0] * a.v[3]) + (a.v[1] * a.v[2]));
317 inline std::ostream& operator<<(std::ostream& os, const PacketBlock<Packet2cf, 2>&
value) {
318 os <<
"[ " <<
value.packet[0] <<
", " << std::endl <<
" " <<
value.packet[1] <<
" ]";
357 static const v2u64 p2ul_CONJ_XOR = { 0x0, 0x8000000000000000 };
364 v1 = (
Packet2d)__builtin_msa_ilvev_d((v2i64)
v, (v2i64)
v);
366 v2 = (
Packet2d)__builtin_msa_ilvod_d((v2i64)
v, (v2i64)
v);
399 s =
padd(s, preverse<Packet2d>(s));
414 os <<
"[ (" << value.
v[0] <<
", " << value.
v[1] <<
"i) ]";
443 typedef std::complex<double>
type;
444 enum {
size = 1, alignment =
Aligned16, vectorizable=
true, masked_load_available=
false, masked_store_available=
false };
559 prefetch(reinterpret_cast<const double*>(addr));
587 return std::complex<double>(a.v[0], a.v[1]);
626 inline std::ostream& operator<<(std::ostream& os, const PacketBlock<Packet1cd, 2>&
value) {
627 os <<
"[ " <<
value.packet[0] <<
", " << std::endl <<
" " <<
value.packet[1] <<
" ]";
648 #endif // EIGEN_COMPLEX_MSA_H EIGEN_STRONG_INLINE Packet2cf(const std::complex< float > &a, const std::complex< float > &b)
EIGEN_STRONG_INLINE Packet1cd conjugate(void) const
EIGEN_STRONG_INLINE Packet1cd ploaddup< Packet1cd >(const std::complex< double > *from)
std::complex< double > type
#define EIGEN_STRONG_INLINE
EIGEN_STRONG_INLINE Packet2cf por< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
#define EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(PACKET_CPLX, PACKET_REAL)
EIGEN_STRONG_INLINE Packet1cd padd< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet8h pandnot(const Packet8h &a, const Packet8h &b)
#define EIGEN_DEBUG_UNALIGNED_LOAD
#define EIGEN_MSA_SHF_I8(a, b, c, d)
EIGEN_STRONG_INLINE Packet2cf pmul< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE Packet2cf(const Packet2cf &a)
EIGEN_STRONG_INLINE Packet1cd & operator*=(const Packet1cd &b)
svint32_t PacketXi __attribute__((arm_sve_vector_bits(EIGEN_ARM64_SVE_VL)))
EIGEN_STRONG_INLINE Packet1cd pand< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet2cf ploadu< Packet2cf >(const std::complex< float > *from)
#define EIGEN_DEBUG_ALIGNED_STORE
Namespace containing all symbols from the Eigen library.
EIGEN_STRONG_INLINE Packet1cd()
EIGEN_STRONG_INLINE Packet1cd pdiv< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet2cf pload< Packet2cf >(const std::complex< float > *from)
EIGEN_STRONG_INLINE Packet2cf pset1< Packet2cf >(const std::complex< float > &from)
EIGEN_STRONG_INLINE Packet1cd pxor< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE std::complex< float > pfirst< Packet2cf >(const Packet2cf &a)
#define EIGEN_DEBUG_UNALIGNED_STORE
EIGEN_STRONG_INLINE Packet1cd operator*(const Packet1cd &b) const
EIGEN_STRONG_INLINE Packet1cd operator-(const Packet1cd &b) const
EIGEN_STRONG_INLINE Packet8h pxor(const Packet8h &a, const Packet8h &b)
EIGEN_STRONG_INLINE Packet2cf & operator*=(const Packet2cf &b)
EIGEN_STRONG_INLINE Packet1cd pset1< Packet1cd >(const std::complex< double > &from)
EIGEN_STRONG_INLINE void pstoreu< double >(double *to, const Packet4d &from)
#define EIGEN_DEBUG_ALIGNED_LOAD
EIGEN_STRONG_INLINE Packet2cf psub< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE Packet2cf & operator+=(const Packet2cf &b)
EIGEN_STRONG_INLINE Packet2cf operator-(void) const
EIGEN_DEVICE_FUNC Packet padd(const Packet &a, const Packet &b)
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
EIGEN_STRONG_INLINE Packet2cf(const Packet4f &a)
EIGEN_STRONG_INLINE bfloat16 pfirst(const Packet8bf &a)
EIGEN_STRONG_INLINE std::complex< double > predux< Packet1cd >(const Packet1cd &a)
EIGEN_STRONG_INLINE void pstore< double >(double *to, const Packet4d &from)
EIGEN_STRONG_INLINE Packet1cd(const Packet2d &a)
EIGEN_STRONG_INLINE Packet4f ploadu< Packet4f >(const float *from)
EIGEN_STRONG_INLINE void ptranspose(PacketBlock< Packet2cf, 2 > &kernel)
EIGEN_STRONG_INLINE Packet2cf pand< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE void pstore< float >(float *to, const Packet4f &from)
EIGEN_STRONG_INLINE Packet2cf()
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
EIGEN_STRONG_INLINE Packet2cf & operator=(const Packet2cf &b)
EIGEN_STRONG_INLINE Packet2cf conjugate(void) const
EIGEN_STRONG_INLINE Packet1cd pandnot< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet1cd operator+(const Packet1cd &b) const
EIGEN_STRONG_INLINE Packet1cd pload< Packet1cd >(const std::complex< double > *from)
EIGEN_STRONG_INLINE Packet1cd & operator/=(const Packet1cd &b)
EIGEN_STRONG_INLINE std::complex< float > predux_mul< Packet2cf >(const Packet2cf &a)
EIGEN_STRONG_INLINE Packet8h pand(const Packet8h &a, const Packet8h &b)
EIGEN_STRONG_INLINE Packet2d ploadu< Packet2d >(const double *from)
EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf &a)
EIGEN_STRONG_INLINE Packet2d pload< Packet2d >(const double *from)
EIGEN_STRONG_INLINE Packet1cd(const Packet1cd &a)
EIGEN_STRONG_INLINE std::complex< float > predux< Packet2cf >(const Packet2cf &a)
EIGEN_STRONG_INLINE Packet2cf ploaddup< Packet2cf >(const std::complex< float > *from)
EIGEN_STRONG_INLINE std::complex< double > predux_mul< Packet1cd >(const Packet1cd &a)
EIGEN_STRONG_INLINE void pstoreu< float >(float *to, const Packet4f &from)
EIGEN_STRONG_INLINE Packet1cd operator/(const Packet1cd &b) const
EIGEN_STRONG_INLINE Packet1cd & operator+=(const Packet1cd &b)
EIGEN_STRONG_INLINE Packet1cd & operator=(const Packet1cd &b)
EIGEN_STRONG_INLINE Packet4f pmul< Packet4f >(const Packet4f &a, const Packet4f &b)
EIGEN_DEVICE_FUNC void pstore(Scalar *to, const Packet &from)
EIGEN_STRONG_INLINE Packet4f pload< Packet4f >(const float *from)
EIGEN_CONSTEXPR Index size(const T &x)
#define EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE Packet1cd psub< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet2cf pnegate(const Packet2cf &a)
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE Packet2cf operator+(const Packet2cf &b) const
EIGEN_STRONG_INLINE Packet2cf operator-(const Packet2cf &b) const
ofstream os("timeSchurFactors.csv")
Point2 f1(const Point3 &p, OptionalJacobian< 2, 3 > H)
EIGEN_STRONG_INLINE Packet2cf & operator/=(const Packet2cf &b)
EIGEN_STRONG_INLINE Packet1cd pmul< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_DEVICE_FUNC Packet psub(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE Packet1cd & operator-=(const Packet1cd &b)
EIGEN_STRONG_INLINE Packet1cd ploadu< Packet1cd >(const std::complex< double > *from)
EIGEN_STRONG_INLINE Packet1cd pcplxflip(const Packet1cd &x)
EIGEN_DEVICE_FUNC const ImagReturnType imag() const
std::complex< float > type
EIGEN_STRONG_INLINE Packet1cd por< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet1cd operator-(void) const
EIGEN_STRONG_INLINE Packet2cf pxor< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE Packet8h por(const Packet8h &a, const Packet8h &b)
EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE Packet2d pmul< Packet2d >(const Packet2d &a, const Packet2d &b)
EIGEN_DEVICE_FUNC void prefetch(const Scalar *addr)
EIGEN_STRONG_INLINE Packet2cf padd< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
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 Packet2cf operator*(const Packet2cf &b) const
EIGEN_STRONG_INLINE Packet2cf & operator-=(const Packet2cf &b)
EIGEN_STRONG_INLINE Packet1cd(const std::complex< double > &a)
std::ostream & operator<<(std::ostream &s, const Packet16c &v)
EIGEN_STRONG_INLINE Packet2cf operator/(const Packet2cf &b) const
EIGEN_STRONG_INLINE Packet2cf pandnot< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE Packet4i pblend(const Selector< 4 > &ifPacket, const Packet4i &thenPacket, const Packet4i &elsePacket)
EIGEN_STRONG_INLINE std::complex< double > pfirst< Packet1cd >(const Packet1cd &a)
EIGEN_STRONG_INLINE Packet2cf pdiv< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE Packet2cf pcplxflip< Packet2cf >(const Packet2cf &x)
EIGEN_STRONG_INLINE Packet2cf preverse(const Packet2cf &a)