From 8b1e7c2792525ecc43f68ee42bf6af1473fd6699 Mon Sep 17 00:00:00 2001 From: Benoit Jacob Date: Wed, 29 Apr 2009 14:51:19 +0000 Subject: [PATCH] add cast<>() tests. including a vectorization_logic test that currently fails (casting to same type should not prevent vectorization) --- test/basicstuff.cpp | 9 +++++++++ test/vectorization_logic.cpp | 3 +++ 2 files changed, 12 insertions(+) diff --git a/test/basicstuff.cpp b/test/basicstuff.cpp index 21473cf8a..c5336b802 100644 --- a/test/basicstuff.cpp +++ b/test/basicstuff.cpp @@ -109,6 +109,15 @@ template void basicStuff(const MatrixType& m) } } +void casting() +{ + Matrix4f m = Matrix4f::Random(), m2; + Matrix4d n = m.cast(); + VERIFY(m.isApprox(n.cast())); + m2 = m.cast(); // check the specialization when NewType == Type + VERIFY(m.isApprox(m2)); +} + void test_basicstuff() { for(int i = 0; i < g_repeat; i++) { diff --git a/test/vectorization_logic.cpp b/test/vectorization_logic.cpp index 9a6298242..db2fef367 100644 --- a/test/vectorization_logic.cpp +++ b/test/vectorization_logic.cpp @@ -50,6 +50,9 @@ void test_vectorization_logic() InnerVectorization,CompleteUnrolling)); VERIFY(test_assign(Vector4f(),Vector4f().cwise() * Vector4f(), InnerVectorization,CompleteUnrolling)); + VERIFY(test_assign(Vector4f(),Vector4f().cast(), + InnerVectorization,CompleteUnrolling)); + VERIFY(test_assign(Matrix4f(),Matrix4f(), InnerVectorization,CompleteUnrolling));