Add boolean not operator (!) array support

This commit is contained in:
Deanna Hood
2015-03-17 08:29:57 +10:00
parent 85da0c2281
commit 1c78d6f2a6
4 changed files with 45 additions and 0 deletions

View File

@@ -626,6 +626,24 @@ struct functor_traits<scalar_isFinite_op<Scalar> >
};
};
/** \internal
* \brief Template functor to compute the logical not of a boolean
*
* \sa class CwiseUnaryOp, ArrayBase::operator!
*/
template<typename Scalar> struct scalar_boolean_not_op {
EIGEN_EMPTY_STRUCT_CTOR(scalar_boolean_not_op)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator() (const bool& a) const { return !a; }
};
template<typename Scalar>
struct functor_traits<scalar_boolean_not_op<Scalar> > {
enum {
Cost = NumTraits<bool>::AddCost,
PacketAccess = false
};
};
} // end namespace internal
} // end namespace Eigen