11 #ifndef EIGEN_COMPLEX32_ALTIVEC_H
12 #define EIGEN_COMPLEX32_ALTIVEC_H
15 #include "../../InternalHeaderCheck.h"
23 #ifdef EIGEN_VECTORIZE_VSX
24 #if defined(_BIG_ENDIAN)
50 v1 = vec_madd(
v1,
b.v, p4f_ZERO);
52 v2 = vec_madd(
v2,
b.v, p4f_ZERO);
103 #ifdef EIGEN_VECTORIZE_VSX
112 typedef std::complex<float>
type;
127 #ifdef EIGEN_VECTORIZE_VSX
132 __asm__(
"lxvdsx %x0,%y1" :
"=wa"(
res.v) :
"Z"(from));
134 if ((std::ptrdiff_t(&from) % 16) == 0)
153 const Index offset) {
158 const Index offset) {
168 pstore((
float*)to, from.v);
187 #ifdef EIGEN_VECTORIZE_VSX
189 __asm__(
"lxsdx %x0,%y1" :
"=wa"(res0) :
"Z"(from0));
190 __asm__(
"lxsdx %x0,%y1" :
"=wa"(res1) :
"Z"(from1));
192 __asm__(
"xxpermdi %x0, %x1, %x2, 0" :
"=wa"(res0) :
"wa"(res0),
"wa"(res1));
194 __asm__(
"xxpermdi %x0, %x2, %x1, 0" :
"=wa"(res0) :
"wa"(res0),
"wa"(res1));
197 *
reinterpret_cast<std::complex<float>*
>(&res0) = from0;
198 *
reinterpret_cast<std::complex<float>*
>(&res1) = from1;
207 res.v = pload_ignore<Packet4f>(
reinterpret_cast<const float*
>(from));
211 template <
typename Scalar,
typename Packet>
217 af[
i] = from[
i * stride];
219 return pload_ignore<Packet>(af);
224 return pgather_complex_size2<std::complex<float>,
Packet2cf>(from, stride);
228 pgather_partial<std::complex<float>,
Packet2cf>(
const std::complex<float>* from,
Index stride,
const Index n) {
229 return pgather_complex_size2<std::complex<float>,
Packet2cf>(from, stride,
n);
231 template <
typename Scalar,
typename Packet>
236 pstore<Scalar>((
Scalar*)af, from);
238 to[
i * stride] = af[
i];
245 pscatter_complex_size2<std::complex<float>,
Packet2cf>(to, from, stride);
252 pscatter_complex_size2<std::complex<float>,
Packet2cf>(to, from, stride,
n);
305 rev_a = vec_sld(
a.v,
a.v, 8);
312 b = vec_sld(
a.v,
a.v, 8);
321 b = vec_sld(
a.v,
a.v, 8);
340 #ifdef EIGEN_VECTORIZE_VSX
358 #ifdef EIGEN_VECTORIZE_VSX
361 const Packet2cf& elsePacket) {
363 result.v =
reinterpret_cast<Packet4f>(
364 pblend<Packet2d>(ifPacket,
reinterpret_cast<Packet2d>(thenPacket.v),
reinterpret_cast<Packet2d>(elsePacket.v)));
371 return psqrt_complex<Packet2cf>(
a);
376 return plog_complex<Packet2cf>(
a);
381 return pexp_complex<Packet2cf>(
a);
385 #ifdef EIGEN_VECTORIZE_VSX
398 v1 = vec_madd(a_re,
b.v, p2d_ZERO);
400 v2 = vec_madd(a_im,
b.v, p2d_ZERO);
429 struct packet_traits<std::
complex<double> > : default_packet_traits {
430 typedef Packet1cd
type;
431 typedef Packet1cd
half;
454 struct unpacket_traits<Packet1cd> {
455 typedef std::complex<double>
type;
463 typedef Packet1cd
half;
477 const Index offset) {
478 return Packet1cd(pload_partial<Packet2d>((
const double*)from,
n * 2, offset * 2));
482 const Index offset) {
483 return Packet1cd(ploadu_partial<Packet2d>((
const double*)from,
n * 2, offset * 2));
486 EIGEN_STRONG_INLINE void pstore<std::complex<double> >(std::complex<double>* to,
const Packet1cd& from) {
487 pstore((
double*)to, from.v);
490 EIGEN_STRONG_INLINE void pstoreu<std::complex<double> >(std::complex<double>* to,
const Packet1cd& from) {
494 EIGEN_ALWAYS_INLINE void pstore_partial<std::complex<double> >(std::complex<double>* to,
const Packet1cd& from,
499 EIGEN_ALWAYS_INLINE void pstoreu_partial<std::complex<double> >(std::complex<double>* to,
const Packet1cd& from,
512 pgather<std::complex<double>, Packet1cd>(
const std::complex<double>* from,
Index) {
517 pgather_partial<std::complex<double>, Packet1cd>(
const std::complex<double>* from,
Index,
const Index) {
522 const Packet1cd& from,
Index) {
523 pstore<std::complex<double> >(to, from);
527 const Packet1cd& from,
529 pstore<std::complex<double> >(to, from);
534 return Packet1cd(
a.v +
b.v);
538 return Packet1cd(
a.v -
b.v);
551 return Packet1cd(
pand(
a.v,
b.v));
555 return Packet1cd(
por(
a.v,
b.v));
559 return Packet1cd(
pxor(
a.v,
b.v));
572 EIGEN_STRONG_INLINE void prefetch<std::complex<double> >(
const std::complex<double>* addr) {
579 pstore<std::complex<double> >(
res,
a);
611 Packet2d tmp = vec_mergeh(kernel.packet[0].v, kernel.packet[1].v);
612 kernel.packet[1].v = vec_mergel(kernel.packet[0].v, kernel.packet[1].v);
613 kernel.packet[0].v =
tmp;
626 return Packet1cd(vec_and(eq, eq_swapped));
631 return psqrt_complex<Packet1cd>(
a);
636 return plog_complex<Packet1cd>(
a);
#define EIGEN_PPC_PREFETCH(ADDR)
Definition: AltiVec/PacketMath.h:154
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
#define EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(PACKET_CPLX, PACKET_REAL)
Definition: ConjHelper.h:14
#define EIGEN_ALWAYS_INLINE
Definition: Macros.h:845
#define eigen_internal_assert(x)
Definition: Macros.h:916
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
Definition: PartialRedux_count.cpp:3
Map< RowVectorXf > v2(M2.data(), M2.size())
M1<< 1, 2, 3, 4, 5, 6, 7, 8, 9;Map< RowVectorXf > v1(M1.data(), M1.size())
Scalar * b
Definition: benchVecAdd.cpp:17
SCALAR Scalar
Definition: bench_gemm.cpp:45
@ Aligned16
Definition: Constants.h:237
const Scalar * a
Definition: level2_cplx_impl.h:32
Eigen::Matrix< Scalar, Dynamic, Dynamic, ColMajor > tmp
Definition: level3_impl.h:365
EIGEN_ALWAYS_INLINE Packet4f pload_partial< Packet4f >(const float *from, const Index n, const Index offset)
Definition: AltiVec/PacketMath.h:593
EIGEN_STRONG_INLINE Packet4f pandnot< Packet4f >(const Packet4f &a, const Packet4f &b)
Definition: AltiVec/PacketMath.h:1465
__m128d Packet2d
Definition: LSX/PacketMath.h:36
static Packet2ul p2ul_CONJ_XOR2
Definition: ZVector/Complex.h:28
EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf &a)
Definition: AltiVec/Complex.h:268
EIGEN_STRONG_INLINE std::complex< float > predux_mul< Packet2cf >(const Packet2cf &a)
Definition: AltiVec/Complex.h:318
EIGEN_STRONG_INLINE std::complex< float > predux< Packet2cf >(const Packet2cf &a)
Definition: AltiVec/Complex.h:310
EIGEN_DEVICE_FUNC void pstore_partial(Scalar *to, const Packet &from, const Index n, const Index offset=0)
Definition: GenericPacketMath.h:899
EIGEN_DEVICE_FUNC Packet padd(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:318
EIGEN_STRONG_INLINE Packet2d padd< Packet2d >(const Packet2d &a, const Packet2d &b)
Definition: LSX/PacketMath.h:605
EIGEN_STRONG_INLINE Packet2cf psqrt< Packet2cf >(const Packet2cf &a)
Definition: AltiVec/Complex.h:370
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE Packet pgather_complex_size2(const Scalar *from, Index stride, const Index n=2)
Definition: AltiVec/Complex.h:212
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE void pscatter_complex_size2(Scalar *to, const Packet &from, Index stride, const Index n=2)
Definition: AltiVec/Complex.h:232
EIGEN_STRONG_INLINE Packet4f padd< Packet4f >(const Packet4f &a, const Packet4f &b)
Definition: AltiVec/PacketMath.h:1066
EIGEN_STRONG_INLINE std::complex< double > predux_mul< Packet1cd >(const Packet1cd &a)
Definition: LSX/Complex.h:420
EIGEN_STRONG_INLINE Packet2cf pload2(const std::complex< float > &from0, const std::complex< float > &from1)
Definition: AltiVec/Complex.h:185
EIGEN_STRONG_INLINE Packet2cf pandnot< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
Definition: AltiVec/Complex.h:285
EIGEN_STRONG_INLINE Packet1cd psqrt< Packet1cd >(const Packet1cd &a)
Definition: LSX/Complex.h:462
EIGEN_STRONG_INLINE void ptranspose(PacketBlock< Packet2cf, 2 > &kernel)
Definition: AltiVec/Complex.h:339
EIGEN_STRONG_INLINE Packet1cd plog< Packet1cd >(const Packet1cd &a)
Definition: LSX/Complex.h:472
EIGEN_STRONG_INLINE Packet2cf ploaddup< Packet2cf >(const std::complex< float > *from)
Definition: AltiVec/Complex.h:162
static Packet16uc p16uc_TRANSPOSE64_LO
Definition: AltiVec/PacketMath.h:145
EIGEN_STRONG_INLINE Packet2cf pmul< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
Definition: LSX/Complex.h:95
EIGEN_STRONG_INLINE Packet4f por< Packet4f >(const Packet4f &a, const Packet4f &b)
Definition: AltiVec/PacketMath.h:1427
static Packet16uc p16uc_PSET32_WEVEN
Definition: AltiVec/PacketMath.h:132
EIGEN_STRONG_INLINE Packet4i pblend(const Selector< 4 > &ifPacket, const Packet4i &thenPacket, const Packet4i &elsePacket)
Definition: AltiVec/PacketMath.h:3075
EIGEN_STRONG_INLINE std::complex< float > pfirst< Packet2cf >(const Packet2cf &a)
Definition: AltiVec/Complex.h:295
EIGEN_STRONG_INLINE Packet4f pload< Packet4f >(const float *from)
Definition: AltiVec/PacketMath.h:492
EIGEN_STRONG_INLINE Packet1cd ploadu< Packet1cd >(const std::complex< double > *from)
Definition: LSX/Complex.h:373
EIGEN_STRONG_INLINE Packet2cf por< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
Definition: AltiVec/Complex.h:277
EIGEN_STRONG_INLINE Packet8h por(const Packet8h &a, const Packet8h &b)
Definition: AVX/PacketMath.h:2309
EIGEN_STRONG_INLINE Packet2cf pset1< Packet2cf >(const std::complex< float > &from)
Definition: AltiVec/Complex.h:125
__vector unsigned int Packet4ui
Definition: AltiVec/PacketMath.h:35
EIGEN_STRONG_INLINE Packet2cf preverse(const Packet2cf &a)
Definition: AltiVec/Complex.h:303
static Packet4ui p4ui_CONJ_XOR
Definition: AltiVec/Complex.h:21
EIGEN_STRONG_INLINE Packet2cf pcplxflip(const Packet2cf &x)
Definition: LSX/Complex.h:218
EIGEN_STRONG_INLINE Packet4cf pmul(const Packet4cf &a, const Packet4cf &b)
Definition: AVX/Complex.h:88
EIGEN_ALWAYS_INLINE Packet2cf pload_partial< Packet2cf >(const std::complex< float > *from, const Index n, const Index offset)
Definition: AltiVec/Complex.h:152
EIGEN_STRONG_INLINE Packet8h pandnot(const Packet8h &a, const Packet8h &b)
Definition: AVX/PacketMath.h:2323
static Packet2ul p2ul_CONJ_XOR1
Definition: ZVector/Complex.h:26
EIGEN_STRONG_INLINE Packet2d pload< Packet2d >(const double *from)
Definition: LSX/PacketMath.h:1407
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pdiv_complex(const Packet &x, const Packet &y)
Definition: GenericPacketMathFunctions.h:1318
EIGEN_STRONG_INLINE Packet2cf pnegate(const Packet2cf &a)
Definition: AltiVec/Complex.h:264
EIGEN_STRONG_INLINE Packet1cd pxor< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
Definition: LSX/Complex.h:355
EIGEN_STRONG_INLINE Packet2cf pdiv< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
Definition: AltiVec/Complex.h:330
EIGEN_DEVICE_FUNC void pstoreu_partial(Scalar *to, const Packet &from, const Index n, const Index offset=0)
Definition: GenericPacketMath.h:917
static Packet4f p4f_MZERO
Definition: AltiVec/PacketMath.h:81
EIGEN_STRONG_INLINE Packet1cd padd< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
Definition: LSX/Complex.h:305
EIGEN_STRONG_INLINE Packet2cf ploadu< Packet2cf >(const std::complex< float > *from)
Definition: AltiVec/Complex.h:148
EIGEN_STRONG_INLINE Packet1cd ploaddup< Packet1cd >(const std::complex< double > *from)
Definition: LSX/Complex.h:383
EIGEN_STRONG_INLINE Packet2cf pload< Packet2cf >(const std::complex< float > *from)
Definition: AltiVec/Complex.h:144
EIGEN_STRONG_INLINE bfloat16 pfirst(const Packet8bf &a)
Definition: AltiVec/PacketMath.h:2418
EIGEN_STRONG_INLINE std::complex< double > predux< Packet1cd >(const Packet1cd &a)
Definition: LSX/Complex.h:415
EIGEN_DEVICE_FUNC void pstore(Scalar *to, const Packet &from)
Definition: GenericPacketMath.h:891
static Packet16uc p16uc_PSET64_HI
Definition: AltiVec/PacketMath.h:139
EIGEN_STRONG_INLINE Packet2d ploadu< Packet2d >(const double *from)
Definition: LSX/PacketMath.h:1448
EIGEN_STRONG_INLINE Packet4f pxor< Packet4f >(const Packet4f &a, const Packet4f &b)
Definition: AltiVec/PacketMath.h:1448
EIGEN_STRONG_INLINE Packet1cd pload< Packet1cd >(const std::complex< double > *from)
Definition: LSX/Complex.h:369
EIGEN_STRONG_INLINE Packet2cf pcplxflip< Packet2cf >(const Packet2cf &x)
Definition: AltiVec/Complex.h:335
EIGEN_STRONG_INLINE Packet1cd pand< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
Definition: LSX/Complex.h:343
EIGEN_STRONG_INLINE Packet2cf pand< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
Definition: AltiVec/Complex.h:273
EIGEN_STRONG_INLINE Packet2cf pcmp_eq(const Packet2cf &a, const Packet2cf &b)
Definition: AltiVec/Complex.h:353
EIGEN_STRONG_INLINE Packet2cf pexp< Packet2cf >(const Packet2cf &a)
Definition: AltiVec/Complex.h:380
EIGEN_STRONG_INLINE Packet1cd pandnot< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
Definition: LSX/Complex.h:361
EIGEN_DEVICE_FUNC void pstoreu(Scalar *to, const Packet &from)
Definition: GenericPacketMath.h:911
EIGEN_STRONG_INLINE Packet8h pand(const Packet8h &a, const Packet8h &b)
Definition: AVX/PacketMath.h:2319
EIGEN_STRONG_INLINE Packet8h pxor(const Packet8h &a, const Packet8h &b)
Definition: AVX/PacketMath.h:2315
EIGEN_STRONG_INLINE Packet2cf pxor< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
Definition: AltiVec/Complex.h:281
EIGEN_STRONG_INLINE Packet4f ploadu< Packet4f >(const float *from)
Definition: AltiVec/PacketMath.h:1533
EIGEN_STRONG_INLINE Packet2cf psub< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
Definition: AltiVec/Complex.h:260
EIGEN_ALWAYS_INLINE Packet2cf pload_ignore< Packet2cf >(const std::complex< float > *from)
Definition: AltiVec/Complex.h:205
EIGEN_ALWAYS_INLINE Packet4f ploadu_partial< Packet4f >(const float *from, const Index n, const Index offset)
Definition: AltiVec/PacketMath.h:1600
EIGEN_STRONG_INLINE Packet4f pand< Packet4f >(const Packet4f &a, const Packet4f &b)
Definition: AltiVec/PacketMath.h:1406
static Packet16uc p16uc_PSET32_WODD
Definition: AltiVec/PacketMath.h:129
EIGEN_DEVICE_FUNC Packet psub(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:337
static Packet16uc p16uc_PSET64_LO
Definition: AltiVec/PacketMath.h:141
EIGEN_STRONG_INLINE Packet2cf plog< Packet2cf >(const Packet2cf &a)
Definition: AltiVec/Complex.h:375
static Packet16uc p16uc_COMPLEX32_REV
Definition: AltiVec/PacketMath.h:148
EIGEN_STRONG_INLINE Packet2cf padd< Packet2cf >(const Packet2cf &a, const Packet2cf &b)
Definition: AltiVec/Complex.h:256
EIGEN_STRONG_INLINE Packet1cd por< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
Definition: LSX/Complex.h:349
__vector float Packet4f
Definition: AltiVec/PacketMath.h:33
EIGEN_ALWAYS_INLINE Packet2cf ploadu_partial< Packet2cf >(const std::complex< float > *from, const Index n, const Index offset)
Definition: AltiVec/Complex.h:157
EIGEN_STRONG_INLINE Packet1cd pset1< Packet1cd >(const std::complex< double > &from)
Definition: LSX/Complex.h:378
EIGEN_STRONG_INLINE std::complex< double > pfirst< Packet1cd >(const Packet1cd &a)
Definition: LSX/Complex.h:403
EIGEN_STRONG_INLINE Packet1cd pdiv< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
Definition: LSX/Complex.h:427
eigen_packet_wrapper< __m128i, 7 > Packet2ul
Definition: LSX/PacketMath.h:45
EIGEN_STRONG_INLINE Packet1cd psub< Packet1cd >(const Packet1cd &a, const Packet1cd &b)
Definition: LSX/Complex.h:309
static Packet16uc p16uc_TRANSPOSE64_HI
Definition: AltiVec/PacketMath.h:143
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
const Product< Lhs, Rhs > prod(const Lhs &lhs, const Rhs &rhs)
Definition: evaluators.cpp:7
Definition: Eigen_Colamd.h:49
list x
Definition: plotDoE.py:28
EIGEN_STRONG_INLINE Packet1cd operator-(void) const
Definition: MSA/Complex.h:379
EIGEN_STRONG_INLINE Packet1cd & operator+=(const Packet1cd &b)
Definition: MSA/Complex.h:361
EIGEN_STRONG_INLINE Packet1cd operator+(const Packet1cd &b) const
Definition: MSA/Complex.h:365
EIGEN_STRONG_INLINE Packet1cd & operator*=(const Packet1cd &b)
Definition: MSA/Complex.h:341
EIGEN_STRONG_INLINE Packet1cd()
Definition: LSX/Complex.h:261
Packet2d v
Definition: LSX/Complex.h:263
EIGEN_STRONG_INLINE Packet1cd & operator-=(const Packet1cd &b)
Definition: MSA/Complex.h:366
EIGEN_STRONG_INLINE Packet1cd operator*(const Packet1cd &b) const
Definition: MSA/Complex.h:360
Definition: AltiVec/Complex.h:38
EIGEN_STRONG_INLINE Packet2cf & operator+=(const Packet2cf &b)
Definition: AltiVec/Complex.h:66
EIGEN_STRONG_INLINE Packet2cf & operator*=(const Packet2cf &b)
Definition: AltiVec/Complex.h:60
Packet4f v
Definition: AltiVec/Complex.h:78
EIGEN_STRONG_INLINE Packet2cf operator*(const Packet2cf &b) const
Definition: AltiVec/Complex.h:64
EIGEN_STRONG_INLINE Packet2cf operator-(void) const
Definition: AltiVec/Complex.h:76
EIGEN_STRONG_INLINE Packet2cf()
Definition: AltiVec/Complex.h:39
EIGEN_STRONG_INLINE Packet2cf operator-(const Packet2cf &b) const
Definition: AltiVec/Complex.h:75
EIGEN_STRONG_INLINE Packet2cf(const Packet4f &a)
Definition: AltiVec/Complex.h:40
EIGEN_STRONG_INLINE Packet2cf & operator-=(const Packet2cf &b)
Definition: AltiVec/Complex.h:71
EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf &a, const Packet2cf &b)
Definition: AltiVec/Complex.h:42
EIGEN_STRONG_INLINE Packet2cf operator+(const Packet2cf &b) const
Definition: AltiVec/Complex.h:70
__m256 v
Definition: AVX/Complex.h:24
Definition: GenericPacketMath.h:1407
Packet packet[N]
Definition: GenericPacketMath.h:1408
Definition: GenericPacketMath.h:45
@ HasBlend
Definition: GenericPacketMath.h:66
@ HasExp
Definition: GenericPacketMath.h:75
@ HasSqrt
Definition: GenericPacketMath.h:73
@ HasLog
Definition: GenericPacketMath.h:77
@ HasDiv
Definition: GenericPacketMath.h:71
Packet2cf half
Definition: AltiVec/Complex.h:84
Packet2cf type
Definition: AltiVec/Complex.h:83
Packet4f as_real
Definition: AltiVec/Complex.h:85
Definition: GenericPacketMath.h:108
T type
Definition: GenericPacketMath.h:109
@ size
Definition: GenericPacketMath.h:113
@ AlignedOnScalar
Definition: GenericPacketMath.h:114
@ Vectorizable
Definition: GenericPacketMath.h:112
T half
Definition: GenericPacketMath.h:110
@ HasSub
Definition: GenericPacketMath.h:118
@ HasMax
Definition: GenericPacketMath.h:124
@ HasNegate
Definition: GenericPacketMath.h:120
@ HasMul
Definition: GenericPacketMath.h:119
@ HasAdd
Definition: GenericPacketMath.h:117
@ HasSetLinear
Definition: GenericPacketMath.h:126
@ HasMin
Definition: GenericPacketMath.h:123
@ HasAbs2
Definition: GenericPacketMath.h:122
@ HasAbs
Definition: GenericPacketMath.h:121
std::complex< float > type
Definition: AltiVec/Complex.h:112
Packet4f as_real
Definition: AltiVec/Complex.h:121
Packet2cf half
Definition: AltiVec/Complex.h:120
Definition: GenericPacketMath.h:134
T type
Definition: GenericPacketMath.h:135
T half
Definition: GenericPacketMath.h:136
@ masked_load_available
Definition: GenericPacketMath.h:142
@ size
Definition: GenericPacketMath.h:139
@ masked_store_available
Definition: GenericPacketMath.h:143
@ vectorizable
Definition: GenericPacketMath.h:141
@ alignment
Definition: GenericPacketMath.h:140
Definition: datatypes.h:12
Definition: ZVector/PacketMath.h:50