aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2009-02-06 12:40:38 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2009-02-06 12:40:38 +0000
commitf5d96df80075667b2e09d9df8bbf1640c97e51d3 (patch)
tree08803bbaa14a714f94d446835d702377327cdddd /test
parent4dc4ab3abb0a9ccbbde6ee25c4858d946336bb38 (diff)
Add vectorization of Reverse (was more tricky than I thought) and
simplify the index based functions
Diffstat (limited to 'test')
-rw-r--r--test/packetmath.cpp5
-rw-r--r--test/reverse.cpp20
2 files changed, 9 insertions, 16 deletions
diff --git a/test/packetmath.cpp b/test/packetmath.cpp
index 6fec9259d..d746a350e 100644
--- a/test/packetmath.cpp
+++ b/test/packetmath.cpp
@@ -134,6 +134,11 @@ template<typename Scalar> void packetmath()
}
ei_pstore(data2, ei_preduxp(packets));
VERIFY(areApprox(ref, data2, PacketSize) && "ei_preduxp");
+
+ for (int i=0; i<PacketSize; ++i)
+ ref[i] = data1[PacketSize-i-1];
+ ei_pstore(data2, ei_preverse(ei_pload(data1)));
+ VERIFY(areApprox(ref, data2, PacketSize) && "ei_preverse");
}
void test_packetmath()
diff --git a/test/reverse.cpp b/test/reverse.cpp
index 40868abbc..ce1a48ed8 100644
--- a/test/reverse.cpp
+++ b/test/reverse.cpp
@@ -103,20 +103,6 @@ template<typename MatrixType> void reverse(const MatrixType& m)
}
}
- int ind = ei_random<int>(0, (rows*cols) - 1);
-
- /* Reverse::coeff(int) is for vector only */
- /*
- MatrixType m1_reversed(m1.reverse());
- VERIFY_IS_APPROX( m1_reversed.reverse().coeff( ind ), m1.coeff( ind ) );
-
- MatrixType m1c_reversed = m1.colwise().reverse();
- VERIFY_IS_APPROX( m1c_reversed.colwise().reverse().coeff( ind ), m1.coeff( ind ) );
-
- MatrixType m1r_reversed = m1.rowwise().reverse();
- VERIFY_IS_APPROX( m1r_reversed.rowwise().reverse().coeff( ind ), m1.coeff( ind ) );
- */
-
/*
cout << "m1:" << endl << m1 << endl;
cout << "m1c_reversed:" << endl << m1c_reversed << endl;
@@ -178,12 +164,14 @@ void test_reverse()
{
for(int i = 0; i < g_repeat; i++) {
CALL_SUBTEST( reverse(Matrix<float, 1, 1>()) );
+ CALL_SUBTEST( reverse(Matrix2f()) );
+ CALL_SUBTEST( reverse(Matrix4f()) );
CALL_SUBTEST( reverse(Matrix4d()) );
CALL_SUBTEST( reverse(MatrixXcf(3, 3)) );
- CALL_SUBTEST( reverse(MatrixXi(8, 12)) );
+ CALL_SUBTEST( reverse(MatrixXi(6, 3)) );
CALL_SUBTEST( reverse(MatrixXcd(20, 20)) );
CALL_SUBTEST( reverse(Matrix<float, 100, 100>()) );
- CALL_SUBTEST( reverse(Matrix<long double,Dynamic,Dynamic>(10,10)) );
+ CALL_SUBTEST( reverse(Matrix<float,Dynamic,Dynamic,RowMajor>(6,3)) );
}
Vector4f x; x << 1, 2, 3, 4;
Vector4f y; y << 4, 3, 2, 1;