mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-29 15:24:51 +08:00
s/IsVectorized/Vectorizable
This commit is contained in:
parent
74cf12cbe0
commit
b0896382a3
@ -492,7 +492,7 @@ struct ei_scalar_constant_op {
|
|||||||
template<typename Scalar>
|
template<typename Scalar>
|
||||||
struct ei_functor_traits<ei_scalar_constant_op<Scalar> >
|
struct ei_functor_traits<ei_scalar_constant_op<Scalar> >
|
||||||
// FIXME replace this packet test by a safe one
|
// FIXME replace this packet test by a safe one
|
||||||
{ enum { Cost = 1, PacketAccess = ei_packet_traits<Scalar>::IsVectorized, IsRepeatable = true }; };
|
{ enum { Cost = 1, PacketAccess = ei_packet_traits<Scalar>::Vectorizable, IsRepeatable = true }; };
|
||||||
|
|
||||||
template<typename Scalar> struct ei_scalar_identity_op {
|
template<typename Scalar> struct ei_scalar_identity_op {
|
||||||
EIGEN_EMPTY_STRUCT_CTOR(ei_scalar_identity_op)
|
EIGEN_EMPTY_STRUCT_CTOR(ei_scalar_identity_op)
|
||||||
|
@ -83,7 +83,7 @@ template<typename T> struct ei_packet_traits : ei_default_packet_traits
|
|||||||
{
|
{
|
||||||
typedef T type;
|
typedef T type;
|
||||||
enum {
|
enum {
|
||||||
IsVectorized = 0,
|
Vectorizable = 0,
|
||||||
size = 1
|
size = 1
|
||||||
};
|
};
|
||||||
enum {
|
enum {
|
||||||
|
@ -87,7 +87,7 @@ template<> struct ei_packet_traits<float> : ei_default_packet_traits
|
|||||||
{
|
{
|
||||||
typedef Packet4f type;
|
typedef Packet4f type;
|
||||||
enum {
|
enum {
|
||||||
IsVectorized = 1,
|
Vectorizable = 1,
|
||||||
size=4,
|
size=4,
|
||||||
|
|
||||||
// FIXME check the Has*
|
// FIXME check the Has*
|
||||||
@ -103,7 +103,7 @@ template<> struct ei_packet_traits<int> : ei_default_packet_traits
|
|||||||
typedef Packet4i type;
|
typedef Packet4i type;
|
||||||
enum {
|
enum {
|
||||||
// FIXME check the Has*
|
// FIXME check the Has*
|
||||||
IsVectorized = 1,
|
Vectorizable = 1,
|
||||||
size=4
|
size=4
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -61,7 +61,7 @@ template<> struct ei_packet_traits<float> : ei_default_packet_traits
|
|||||||
{
|
{
|
||||||
typedef Packet4f type;
|
typedef Packet4f type;
|
||||||
enum {
|
enum {
|
||||||
IsVectorized = 1,
|
Vectorizable = 1,
|
||||||
size = 4,
|
size = 4,
|
||||||
|
|
||||||
// FIXME check the Has*
|
// FIXME check the Has*
|
||||||
@ -76,7 +76,7 @@ template<> struct ei_packet_traits<int> : ei_default_packet_traits
|
|||||||
{
|
{
|
||||||
typedef Packet4i type;
|
typedef Packet4i type;
|
||||||
enum {
|
enum {
|
||||||
IsVectorized = 1,
|
Vectorizable = 1,
|
||||||
size=4
|
size=4
|
||||||
// FIXME check the Has*
|
// FIXME check the Has*
|
||||||
};
|
};
|
||||||
|
@ -37,7 +37,7 @@ template<> struct ei_packet_traits<std::complex<float> > : ei_default_packet_tr
|
|||||||
{
|
{
|
||||||
typedef Packet2cf type;
|
typedef Packet2cf type;
|
||||||
enum {
|
enum {
|
||||||
IsVectorized = 1,
|
Vectorizable = 1,
|
||||||
size = 2,
|
size = 2,
|
||||||
|
|
||||||
HasAdd = 1,
|
HasAdd = 1,
|
||||||
@ -210,7 +210,7 @@ template<> struct ei_packet_traits<std::complex<double> > : ei_default_packet_t
|
|||||||
{
|
{
|
||||||
typedef Packet1cd type;
|
typedef Packet1cd type;
|
||||||
enum {
|
enum {
|
||||||
IsVectorized = 1,
|
Vectorizable = 1,
|
||||||
size = 1,
|
size = 1,
|
||||||
|
|
||||||
HasAdd = 1,
|
HasAdd = 1,
|
||||||
|
@ -63,7 +63,7 @@ template<> struct ei_packet_traits<float> : ei_default_packet_traits
|
|||||||
{
|
{
|
||||||
typedef Packet4f type;
|
typedef Packet4f type;
|
||||||
enum {
|
enum {
|
||||||
IsVectorized = 1,
|
Vectorizable = 1,
|
||||||
size=4,
|
size=4,
|
||||||
|
|
||||||
HasDiv = 1,
|
HasDiv = 1,
|
||||||
@ -78,7 +78,7 @@ template<> struct ei_packet_traits<double> : ei_default_packet_traits
|
|||||||
{
|
{
|
||||||
typedef Packet2d type;
|
typedef Packet2d type;
|
||||||
enum {
|
enum {
|
||||||
IsVectorized = 1,
|
Vectorizable = 1,
|
||||||
size=2,
|
size=2,
|
||||||
|
|
||||||
HasDiv = 1
|
HasDiv = 1
|
||||||
@ -89,7 +89,7 @@ template<> struct ei_packet_traits<int> : ei_default_packet_traits
|
|||||||
typedef Packet4i type;
|
typedef Packet4i type;
|
||||||
enum {
|
enum {
|
||||||
// FIXME check the Has*
|
// FIXME check the Has*
|
||||||
IsVectorized = 1,
|
Vectorizable = 1,
|
||||||
size=4
|
size=4
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -57,7 +57,7 @@ void ei_cache_friendly_product_colmajor_times_vector(
|
|||||||
typedef typename ei_packet_traits<Scalar>::type Packet;
|
typedef typename ei_packet_traits<Scalar>::type Packet;
|
||||||
enum {
|
enum {
|
||||||
PacketSize = sizeof(Packet)/sizeof(Scalar),
|
PacketSize = sizeof(Packet)/sizeof(Scalar),
|
||||||
IsVectorized = ei_packet_traits<Scalar>::IsVectorized
|
Vectorizable = ei_packet_traits<Scalar>::Vectorizable
|
||||||
};
|
};
|
||||||
|
|
||||||
ei_conj_helper<Scalar,Scalar,ConjugateLhs,ConjugateRhs> cj;
|
ei_conj_helper<Scalar,Scalar,ConjugateLhs,ConjugateRhs> cj;
|
||||||
@ -131,7 +131,7 @@ void ei_cache_friendly_product_colmajor_times_vector(
|
|||||||
const Scalar *lhs0 = lhs + i*lhsStride, *lhs1 = lhs + (i+offset1)*lhsStride,
|
const Scalar *lhs0 = lhs + i*lhsStride, *lhs1 = lhs + (i+offset1)*lhsStride,
|
||||||
*lhs2 = lhs + (i+2)*lhsStride, *lhs3 = lhs + (i+offset3)*lhsStride;
|
*lhs2 = lhs + (i+2)*lhsStride, *lhs3 = lhs + (i+offset3)*lhsStride;
|
||||||
|
|
||||||
if (IsVectorized)
|
if (Vectorizable)
|
||||||
{
|
{
|
||||||
/* explicit vectorization */
|
/* explicit vectorization */
|
||||||
// process initial unaligned coeffs
|
// process initial unaligned coeffs
|
||||||
@ -219,7 +219,7 @@ void ei_cache_friendly_product_colmajor_times_vector(
|
|||||||
Packet ptmp0 = ei_pset1(alpha*rhs[i]);
|
Packet ptmp0 = ei_pset1(alpha*rhs[i]);
|
||||||
const Scalar* lhs0 = lhs + i*lhsStride;
|
const Scalar* lhs0 = lhs + i*lhsStride;
|
||||||
|
|
||||||
if (IsVectorized)
|
if (Vectorizable)
|
||||||
{
|
{
|
||||||
/* explicit vectorization */
|
/* explicit vectorization */
|
||||||
// process first unaligned result's coeffs
|
// process first unaligned result's coeffs
|
||||||
@ -247,7 +247,7 @@ void ei_cache_friendly_product_colmajor_times_vector(
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
} while(IsVectorized);
|
} while(Vectorizable);
|
||||||
#undef _EIGEN_ACCUMULATE_PACKETS
|
#undef _EIGEN_ACCUMULATE_PACKETS
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -274,7 +274,7 @@ static EIGEN_DONT_INLINE void ei_cache_friendly_product_rowmajor_times_vector(
|
|||||||
typedef typename ei_packet_traits<Scalar>::type Packet;
|
typedef typename ei_packet_traits<Scalar>::type Packet;
|
||||||
enum {
|
enum {
|
||||||
PacketSize = sizeof(Packet)/sizeof(Scalar),
|
PacketSize = sizeof(Packet)/sizeof(Scalar),
|
||||||
IsVectorized = ei_packet_traits<Scalar>::IsVectorized
|
Vectorizable = ei_packet_traits<Scalar>::Vectorizable
|
||||||
};
|
};
|
||||||
|
|
||||||
ei_conj_helper<Scalar,Scalar,ConjugateLhs,ConjugateRhs> cj;
|
ei_conj_helper<Scalar,Scalar,ConjugateLhs,ConjugateRhs> cj;
|
||||||
@ -347,7 +347,7 @@ static EIGEN_DONT_INLINE void ei_cache_friendly_product_rowmajor_times_vector(
|
|||||||
const Scalar *lhs0 = lhs + i*lhsStride, *lhs1 = lhs + (i+offset1)*lhsStride,
|
const Scalar *lhs0 = lhs + i*lhsStride, *lhs1 = lhs + (i+offset1)*lhsStride,
|
||||||
*lhs2 = lhs + (i+2)*lhsStride, *lhs3 = lhs + (i+offset3)*lhsStride;
|
*lhs2 = lhs + (i+2)*lhsStride, *lhs3 = lhs + (i+offset3)*lhsStride;
|
||||||
|
|
||||||
if (IsVectorized)
|
if (Vectorizable)
|
||||||
{
|
{
|
||||||
/* explicit vectorization */
|
/* explicit vectorization */
|
||||||
Packet ptmp0 = ei_pset1(Scalar(0)), ptmp1 = ei_pset1(Scalar(0)), ptmp2 = ei_pset1(Scalar(0)), ptmp3 = ei_pset1(Scalar(0));
|
Packet ptmp0 = ei_pset1(Scalar(0)), ptmp1 = ei_pset1(Scalar(0)), ptmp2 = ei_pset1(Scalar(0)), ptmp3 = ei_pset1(Scalar(0));
|
||||||
@ -476,7 +476,7 @@ static EIGEN_DONT_INLINE void ei_cache_friendly_product_rowmajor_times_vector(
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
} while(IsVectorized);
|
} while(Vectorizable);
|
||||||
|
|
||||||
#undef _EIGEN_ACCUMULATE_PACKETS
|
#undef _EIGEN_ACCUMULATE_PACKETS
|
||||||
}
|
}
|
||||||
|
@ -151,7 +151,7 @@ class ei_compute_matrix_flags
|
|||||||
|
|
||||||
)
|
)
|
||||||
) ? AlignedBit : 0,
|
) ? AlignedBit : 0,
|
||||||
packet_access_bit = ei_packet_traits<Scalar>::IsVectorized && aligned_bit ? PacketAccessBit : 0
|
packet_access_bit = ei_packet_traits<Scalar>::Vectorizable && aligned_bit ? PacketAccessBit : 0
|
||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user