mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-30 15:54:13 +08:00
Remove packet isNaN, isInf, isFinite
This commit is contained in:
parent
1c78d6f2a6
commit
f52b78491c
@ -214,9 +214,6 @@ EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(sqrt, Sqrt)
|
|||||||
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(round, Round)
|
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(round, Round)
|
||||||
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(floor, Floor)
|
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(floor, Floor)
|
||||||
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(ceil, Ceil)
|
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(ceil, Ceil)
|
||||||
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(isNaN, IsNaN)
|
|
||||||
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(isInf, IsInf)
|
|
||||||
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_LA(isFinite, IsFinite)
|
|
||||||
|
|
||||||
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(square, Sqr)
|
EIGEN_MKL_VML_DECLARE_UNARY_CALLS_REAL(square, Sqr)
|
||||||
|
|
||||||
|
@ -76,10 +76,7 @@ struct default_packet_traits
|
|||||||
|
|
||||||
HasRound = 0,
|
HasRound = 0,
|
||||||
HasFloor = 0,
|
HasFloor = 0,
|
||||||
HasCeil = 0,
|
HasCeil = 0
|
||||||
HasIsNaN = 0,
|
|
||||||
HasIsInf = 0,
|
|
||||||
HasIsFinite = 0
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -396,18 +393,6 @@ Packet pfloor(const Packet& a) { using numext::floor; return floor(a); }
|
|||||||
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
|
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
|
||||||
Packet pceil(const Packet& a) { using numext::ceil; return ceil(a); }
|
Packet pceil(const Packet& a) { using numext::ceil; return ceil(a); }
|
||||||
|
|
||||||
/** \internal \returns whether \a a is NaN (coeff-wise) */
|
|
||||||
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
|
|
||||||
Packet pisNaN(const Packet& a) { using numext::isNaN; return isNaN(a); }
|
|
||||||
|
|
||||||
/** \internal \returns the isInf of \a a (coeff-wise) */
|
|
||||||
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
|
|
||||||
Packet pisInf(const Packet& a) { using numext::isInf; return isInf(a); }
|
|
||||||
|
|
||||||
/** \internal \returns the isFinite of \a a (coeff-wise) */
|
|
||||||
template<typename Packet> EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
|
|
||||||
Packet pisFinite(const Packet& a) { using numext::isfinite; return isfinite(a); }
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* The following functions might not have to be overwritten for vectorized types
|
* The following functions might not have to be overwritten for vectorized types
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
@ -573,16 +573,13 @@ template<typename Scalar> struct scalar_isNaN_op {
|
|||||||
EIGEN_EMPTY_STRUCT_CTOR(scalar_isNaN_op)
|
EIGEN_EMPTY_STRUCT_CTOR(scalar_isNaN_op)
|
||||||
typedef bool result_type;
|
typedef bool result_type;
|
||||||
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::isNaN(a); }
|
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::isNaN(a); }
|
||||||
template<typename Packet>
|
|
||||||
EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const
|
|
||||||
{ return internal::pisNaN(a); }
|
|
||||||
};
|
};
|
||||||
template<typename Scalar>
|
template<typename Scalar>
|
||||||
struct functor_traits<scalar_isNaN_op<Scalar> >
|
struct functor_traits<scalar_isNaN_op<Scalar> >
|
||||||
{
|
{
|
||||||
enum {
|
enum {
|
||||||
Cost = NumTraits<Scalar>::MulCost,
|
Cost = NumTraits<Scalar>::MulCost,
|
||||||
PacketAccess = packet_traits<Scalar>::HasIsNaN
|
PacketAccess = false
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -594,15 +591,13 @@ template<typename Scalar> struct scalar_isInf_op {
|
|||||||
EIGEN_EMPTY_STRUCT_CTOR(scalar_isInf_op)
|
EIGEN_EMPTY_STRUCT_CTOR(scalar_isInf_op)
|
||||||
typedef bool result_type;
|
typedef bool result_type;
|
||||||
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::isInf(a); }
|
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::isInf(a); }
|
||||||
typedef typename packet_traits<Scalar>::type Packet;
|
|
||||||
inline Packet packetOp(const Packet& a) const { return internal::pisInf(a); }
|
|
||||||
};
|
};
|
||||||
template<typename Scalar>
|
template<typename Scalar>
|
||||||
struct functor_traits<scalar_isInf_op<Scalar> >
|
struct functor_traits<scalar_isInf_op<Scalar> >
|
||||||
{
|
{
|
||||||
enum {
|
enum {
|
||||||
Cost = NumTraits<Scalar>::MulCost,
|
Cost = NumTraits<Scalar>::MulCost,
|
||||||
PacketAccess = packet_traits<Scalar>::HasIsInf
|
PacketAccess = false
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -614,15 +609,13 @@ template<typename Scalar> struct scalar_isFinite_op {
|
|||||||
EIGEN_EMPTY_STRUCT_CTOR(scalar_isFinite_op)
|
EIGEN_EMPTY_STRUCT_CTOR(scalar_isFinite_op)
|
||||||
typedef bool result_type;
|
typedef bool result_type;
|
||||||
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::isfinite(a); }
|
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const Scalar& a) const { return numext::isfinite(a); }
|
||||||
typedef typename packet_traits<Scalar>::type Packet;
|
|
||||||
inline Packet packetOp(const Packet& a) const { return internal::pisFinite(a); }
|
|
||||||
};
|
};
|
||||||
template<typename Scalar>
|
template<typename Scalar>
|
||||||
struct functor_traits<scalar_isFinite_op<Scalar> >
|
struct functor_traits<scalar_isFinite_op<Scalar> >
|
||||||
{
|
{
|
||||||
enum {
|
enum {
|
||||||
Cost = NumTraits<Scalar>::MulCost,
|
Cost = NumTraits<Scalar>::MulCost,
|
||||||
PacketAccess = packet_traits<Scalar>::HasIsFinite
|
PacketAccess = false
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user