mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Add absolute_difference coefficient-wise binary Array function
This commit is contained in:
committed by
Rasmus Munk Larsen
parent
6ff5a14091
commit
d5c665742b
@@ -343,6 +343,7 @@ template<typename ArrayType> void array_real(const ArrayType& m)
|
||||
VERIFY_IS_APPROX(inverse(inverse(m1)),m1);
|
||||
VERIFY((abs(m1) == m1 || abs(m1) == -m1).all());
|
||||
VERIFY_IS_APPROX(m3, sqrt(abs2(m1)));
|
||||
VERIFY_IS_APPROX(m1.absolute_difference(m2), (m1 > m2).select(m1 - m2, m2 - m1));
|
||||
VERIFY_IS_APPROX( m1.sign(), -(-m1).sign() );
|
||||
VERIFY_IS_APPROX( m1*m1.sign(),m1.abs());
|
||||
VERIFY_IS_APPROX(m1.sign() * m1.abs(), m1);
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#define REF_SUB(a,b) ((a)-(b))
|
||||
#define REF_MUL(a,b) ((a)*(b))
|
||||
#define REF_DIV(a,b) ((a)/(b))
|
||||
#define REF_ABS_DIFF(a,b) ((a)>(b)?(a)-(b):(b)-(a))
|
||||
|
||||
template<typename Scalar,typename Packet> void packetmath()
|
||||
{
|
||||
@@ -557,6 +558,7 @@ template<typename Scalar,typename Packet> void packetmath_notcomplex()
|
||||
CHECK_CWISE2_IF(PacketTraits::HasMin, (std::min), internal::pmin);
|
||||
CHECK_CWISE2_IF(PacketTraits::HasMax, (std::max), internal::pmax);
|
||||
CHECK_CWISE1(numext::abs, internal::pabs);
|
||||
CHECK_CWISE2_IF(PacketTraits::HasAbsDiff, REF_ABS_DIFF, internal::pabsdiff);
|
||||
|
||||
ref[0] = data1[0];
|
||||
for (int i=0; i<PacketSize; ++i)
|
||||
|
||||
Reference in New Issue
Block a user