Go to the documentation of this file.
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();
104 struct packet_traits<
std::
complex<float> > : default_packet_traits {
128 struct unpacket_traits<Packet2cf> {
129 typedef std::complex<float>
type;
138 float f0 = from.real(),
f1 = from.imag();
169 return a.conjugate();
183 return Packet2cf(
pand(
a.v,
b.v));
190 return Packet2cf(
por(
a.v,
b.v));
197 return Packet2cf(
pxor(
a.v,
b.v));
230 const Packet2cf& from) {
238 const Packet2cf& from) {
246 const std::complex<float>* from,
Index stride) {
249 return Packet2cf(from[0 * stride], from[1 * stride]);
253 EIGEN_DEVICE_FUNC inline void pscatter<std::complex<float>, Packet2cf>(std::complex<float>* to,
254 const Packet2cf& from,
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]));
318 os <<
"[ " <<
value.packet[0] <<
", " << std::endl <<
" " <<
value.packet[1] <<
" ]";
326 (
Packet4f)__builtin_msa_ilvl_d((v2i64)kernel.packet[1].v, (v2i64)kernel.packet[0].v);
328 (
Packet4f)__builtin_msa_ilvr_d((v2i64)kernel.packet[1].v, (v2i64)kernel.packet[0].v);
329 kernel.packet[1].v = tmp;
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);
397 *
this *=
b.conjugate();
399 s =
padd(
s, preverse<Packet2d>(
s));
414 os <<
"[ (" <<
value.v[0] <<
", " <<
value.v[1] <<
"i) ]";
419 struct packet_traits<
std::
complex<double> > : default_packet_traits {
443 typedef std::complex<double>
type;
494 return a.conjugate();
559 prefetch(
reinterpret_cast<const double*
>(addr));
587 return std::complex<double>(
a.v[0],
a.v[1]);
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 Packet2cf ploadu< Packet2cf >(const std::complex< float > *from)
EIGEN_STRONG_INLINE Packet1cd operator-(void) const
#define EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE Packet1cd(const Packet1cd &a)
Namespace containing all symbols from the Eigen library.
#define EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(PACKET_CPLX, PACKET_REAL)
EIGEN_STRONG_INLINE Packet2d pmul< Packet2d >(const Packet2d &a, const Packet2d &b)
EIGEN_STRONG_INLINE Packet1cd pmul< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet1cd & operator=(const Packet1cd &b)
EIGEN_STRONG_INLINE Packet2cf pand< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE std::complex< double > predux_mul< Packet1cd >(const Packet1cd &a)
EIGEN_STRONG_INLINE Packet2cf ploaddup< Packet2cf >(const std::complex< float > *from)
std::complex< double > type
EIGEN_STRONG_INLINE bfloat16 pfirst(const Packet8bf &a)
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 pcplxflip< Packet2cf >(const Packet2cf &x)
svint32_t PacketXi __attribute__((arm_sve_vector_bits(EIGEN_ARM64_SVE_VL)))
EIGEN_STRONG_INLINE std::complex< float > predux< Packet2cf >(const Packet2cf &a)
EIGEN_STRONG_INLINE Packet1cd pandnot< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet2cf(const Packet4f &a)
EIGEN_STRONG_INLINE Packet2cf preverse(const Packet2cf &a)
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE Packet2d ploadu< Packet2d >(const double *from)
EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf &a)
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
EIGEN_STRONG_INLINE Packet4f ploadu< Packet4f >(const float *from)
ofstream os("timeSchurFactors.csv")
EIGEN_STRONG_INLINE Packet4f pload< Packet4f >(const float *from)
EIGEN_STRONG_INLINE Packet1cd & operator*=(const Packet1cd &b)
EIGEN_STRONG_INLINE Packet1cd ploadu< Packet1cd >(const std::complex< double > *from)
std::complex< float > type
EIGEN_STRONG_INLINE Packet8h pxor(const Packet8h &a, const Packet8h &b)
EIGEN_STRONG_INLINE Packet1cd(const Packet2d &a)
#define EIGEN_DEBUG_UNALIGNED_STORE
EIGEN_STRONG_INLINE Packet1cd pload< Packet1cd >(const std::complex< double > *from)
EIGEN_STRONG_INLINE Packet1cd padd< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet1cd por< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet1cd operator/(const Packet1cd &b) const
EIGEN_STRONG_INLINE void pstore< double >(double *to, const Packet4d &from)
EIGEN_STRONG_INLINE Packet1cd()
EIGEN_STRONG_INLINE std::complex< double > pfirst< Packet1cd >(const Packet1cd &a)
EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE Packet4f pmul< Packet4f >(const Packet4f &a, const Packet4f &b)
EIGEN_STRONG_INLINE Packet1cd pdiv< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet1cd psub< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet2cf operator/(const Packet2cf &b) const
EIGEN_STRONG_INLINE Packet1cd(const std::complex< double > &a)
EIGEN_STRONG_INLINE Packet2cf padd< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE Packet2cf pload< Packet2cf >(const std::complex< float > *from)
EIGEN_STRONG_INLINE Packet2cf pnegate(const Packet2cf &a)
EIGEN_STRONG_INLINE Packet2cf & operator=(const Packet2cf &b)
EIGEN_STRONG_INLINE Packet2cf pset1< Packet2cf >(const std::complex< float > &from)
EIGEN_STRONG_INLINE void ptranspose(PacketBlock< Packet2cf, 2 > &kernel)
EIGEN_STRONG_INLINE std::complex< float > pfirst< Packet2cf >(const Packet2cf &a)
EIGEN_STRONG_INLINE Packet2cf operator+(const Packet2cf &b) const
EIGEN_STRONG_INLINE Packet1cd operator-(const Packet1cd &b) const
#define EIGEN_DEBUG_ALIGNED_LOAD
#define EIGEN_STRONG_INLINE
EIGEN_STRONG_INLINE Packet2cf pmul< 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 Packet1cd pset1< Packet1cd >(const std::complex< double > &from)
EIGEN_STRONG_INLINE Packet2cf()
EIGEN_STRONG_INLINE Packet8h pand(const Packet8h &a, const Packet8h &b)
const EIGEN_DEVICE_FUNC ImagReturnType imag() const
EIGEN_DEVICE_FUNC Packet psub(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE Packet2cf(const Packet2cf &a)
std::ostream & operator<<(std::ostream &s, const Packet16c &v)
EIGEN_DEVICE_FUNC void pstore(Scalar *to, const Packet &from)
EIGEN_STRONG_INLINE Packet2cf por< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE Packet1cd & operator/=(const Packet1cd &b)
EIGEN_STRONG_INLINE Packet1cd & operator-=(const Packet1cd &b)
EIGEN_DEVICE_FUNC void prefetch(const Scalar *addr)
EIGEN_STRONG_INLINE Packet2cf & operator+=(const Packet2cf &b)
EIGEN_STRONG_INLINE Packet2cf & operator-=(const Packet2cf &b)
EIGEN_DEVICE_FUNC Packet pmul(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE Packet1cd & operator+=(const Packet1cd &b)
#define EIGEN_DEBUG_UNALIGNED_LOAD
EIGEN_STRONG_INLINE Packet2cf operator-(void) const
EIGEN_STRONG_INLINE Packet2cf & operator*=(const Packet2cf &b)
EIGEN_STRONG_INLINE Packet2cf pandnot< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE void pstoreu< double >(double *to, const Packet4d &from)
EIGEN_STRONG_INLINE Packet1cd pcplxflip(const Packet1cd &x)
EIGEN_STRONG_INLINE Packet1cd pxor< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_DEVICE_FUNC Packet padd(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE Packet2cf psub< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE Packet1cd ploaddup< Packet1cd >(const std::complex< double > *from)
EIGEN_STRONG_INLINE Packet8h por(const Packet8h &a, const Packet8h &b)
EIGEN_STRONG_INLINE Packet2cf operator*(const Packet2cf &b) const
EIGEN_STRONG_INLINE Packet2cf pxor< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_STRONG_INLINE Packet1cd operator*(const Packet1cd &b) const
EIGEN_STRONG_INLINE void pstoreu< float >(float *to, const Packet4f &from)
#define EIGEN_MSA_SHF_I8(a, b, c, d)
EIGEN_STRONG_INLINE Packet2cf & operator/=(const Packet2cf &b)
EIGEN_STRONG_INLINE Packet1cd pand< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
EIGEN_STRONG_INLINE Packet8h pandnot(const Packet8h &a, const Packet8h &b)
EIGEN_STRONG_INLINE std::complex< float > predux_mul< Packet2cf >(const Packet2cf &a)
EIGEN_STRONG_INLINE Packet1cd operator+(const Packet1cd &b) const
EIGEN_STRONG_INLINE Packet2cf conjugate(void) const
EIGEN_STRONG_INLINE Packet2d pload< Packet2d >(const double *from)
#define EIGEN_DEBUG_ALIGNED_STORE
EIGEN_STRONG_INLINE Packet1cd conjugate(void) const
EIGEN_STRONG_INLINE void pstore< float >(float *to, const Packet4f &from)
EIGEN_STRONG_INLINE std::complex< double > predux< Packet1cd >(const Packet1cd &a)
EIGEN_STRONG_INLINE Packet2cf pdiv< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
EIGEN_STRONG_INLINE Packet2cf operator-(const Packet2cf &b) const
gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:02:00