aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/evaluators.cpp
diff options
context:
space:
mode:
authorGravatar Jitse Niesen <jitse@maths.leeds.ac.uk>2011-04-22 22:36:45 +0100
committerGravatar Jitse Niesen <jitse@maths.leeds.ac.uk>2011-04-22 22:36:45 +0100
commitbb2d70d211a8fc8184b690b75d29ba484edace0e (patch)
tree2325d715f307dc558f32e560951939d91aa37f11 /test/evaluators.cpp
parent6441e8727b32c6cbb194c0ce1bbd784c2a24a2b2 (diff)
Implement evaluators for ArrayWrapper and MatrixWrapper.
Diffstat (limited to 'test/evaluators.cpp')
-rw-r--r--test/evaluators.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/evaluators.cpp b/test/evaluators.cpp
index 4c55736eb..da6b9064b 100644
--- a/test/evaluators.cpp
+++ b/test/evaluators.cpp
@@ -180,4 +180,16 @@ void test_evaluators()
VectorXd vec1(6);
VERIFY_IS_APPROX_EVALUATOR(vec1, mat1.rowwise().sum());
VERIFY_IS_APPROX_EVALUATOR(vec1, mat1.colwise().sum().transpose());
+
+ // test MatrixWrapper and ArrayWrapper
+ mat1.setRandom(6,6);
+ arr1.setRandom(6,6);
+ VERIFY_IS_APPROX_EVALUATOR(mat2, arr1.matrix());
+ VERIFY_IS_APPROX_EVALUATOR(arr2, mat1.array());
+ VERIFY_IS_APPROX_EVALUATOR(mat2, (arr1 + 2).matrix());
+ VERIFY_IS_APPROX_EVALUATOR(arr2, mat1.array() + 2);
+ mat2.array() = arr1 * arr1;
+ VERIFY_IS_APPROX(mat2, (arr1 * arr1).matrix());
+ arr2.matrix() = MatrixXd::Identity(6,6);
+ VERIFY_IS_APPROX(arr2, MatrixXd::Identity(6,6).array());
}