aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2009-02-04 15:37:00 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2009-02-04 15:37:00 +0000
commit95db32fcdca090cd79ee861016f07a5366887d9d (patch)
treee7a63c1f9b05e0dc354d866d9b66e1119af4e3ed /test
parent44a527dfa50ce9c473cbf1f446b8b6f406d4bc91 (diff)
setup the unsupported directory structure.
The unsupported module documentation is automatically generated in: build/doc/unsupported/ with bidirectional cross references. I leave a class Foo in AdolcForward module to illustrate the cross-reference behavior. I will remove it in the next commit.
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt78
-rw-r--r--test/qr.cpp22
2 files changed, 13 insertions, 87 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 661376b28..e515ecd09 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -92,83 +92,7 @@ else(CMAKE_COMPILER_IS_GNUCXX)
set(EI_OFLAG "")
endif(CMAKE_COMPILER_IS_GNUCXX)
-option(EIGEN_NO_ASSERTION_CHECKING "Disable checking of assertions" OFF)
-
-# similar to set_target_properties but append the property instead of overwriting it
-macro(ei_add_target_property target prop value)
-
- get_target_property(previous ${target} ${prop})
- set_target_properties(${target} PROPERTIES ${prop} "${previous} ${value}")
-
-endmacro(ei_add_target_property)
-
-# Macro to add a test
-#
-# the unique parameter testname must correspond to a file
-# <testname>.cpp which follows this pattern:
-#
-# #include "main.h"
-# void test_<testname>() { ... }
-#
-# this macro add an executable test_<testname> as well as a ctest test
-# named <testname>
-#
-# On platforms with bash simply run:
-# "ctest -V" or "ctest -V -R <testname>"
-# On other platform use ctest as usual
-#
-macro(ei_add_test testname)
-
- set(targetname test_${testname})
-
- set(filename ${testname}.cpp)
- add_executable(${targetname} ${filename})
-
- if(NOT EIGEN_NO_ASSERTION_CHECKING)
-
- if(MSVC)
- set_target_properties(${targetname} PROPERTIES COMPILE_FLAGS "/EHsc")
- else(MSVC)
- set_target_properties(${targetname} PROPERTIES COMPILE_FLAGS "-fexceptions")
- endif(MSVC)
-
- option(EIGEN_DEBUG_ASSERTS "Enable debuging of assertions" OFF)
- if(EIGEN_DEBUG_ASSERTS)
- set_target_properties(${targetname} PROPERTIES COMPILE_DEFINITIONS "-DEIGEN_DEBUG_ASSERTS=1")
- endif(EIGEN_DEBUG_ASSERTS)
-
- else(NOT EIGEN_NO_ASSERTION_CHECKING)
-
- set_target_properties(${targetname} PROPERTIES COMPILE_DEFINITIONS "-DEIGEN_NO_ASSERTION_CHECKING=1")
-
- endif(NOT EIGEN_NO_ASSERTION_CHECKING)
-
- if(${ARGC} GREATER 1)
- ei_add_target_property(${targetname} COMPILE_FLAGS "${ARGV1}")
- endif(${ARGC} GREATER 1)
-
- ei_add_target_property(${targetname} COMPILE_FLAGS "-DEIGEN_TEST_FUNC=${testname}")
-
- if(TEST_LIB)
- target_link_libraries(${targetname} Eigen2)
- endif(TEST_LIB)
-
- target_link_libraries(${targetname} ${EXTERNAL_LIBS})
- if(${ARGC} GREATER 2)
- string(STRIP "${ARGV2}" ARGV2_stripped)
- string(LENGTH "${ARGV2_stripped}" ARGV2_stripped_length)
- if(${ARGV2_stripped_length} GREATER 0)
- target_link_libraries(${targetname} ${ARGV2})
- endif(${ARGV2_stripped_length} GREATER 0)
- endif(${ARGC} GREATER 2)
-
- if(WIN32)
- add_test(${testname} "${targetname}")
- else(WIN32)
- add_test(${testname} "${CMAKE_CURRENT_SOURCE_DIR}/runtest.sh" "${testname}")
- endif(WIN32)
-
-endmacro(ei_add_test)
+include(EigenTesting)
enable_testing()
diff --git a/test/qr.cpp b/test/qr.cpp
index 2b9579c9c..add4aa580 100644
--- a/test/qr.cpp
+++ b/test/qr.cpp
@@ -95,7 +95,9 @@ template<typename MatrixType> void qr_non_invertible()
QR<MatrixType> lu(m1);
// typename LU<MatrixType>::KernelResultType m1kernel = lu.kernel();
// typename LU<MatrixType>::ImageResultType m1image = lu.image();
-
+ std::cerr << rows << "x" << cols << " " << rank << " " << lu.rank() << "\n";
+ if (rank != lu.rank())
+ std::cerr << lu.matrixR().diagonal().transpose() << "\n";
VERIFY(rank == lu.rank());
VERIFY(cols - lu.rank() == lu.dimensionOfKernel());
VERIFY(!lu.isInjective());
@@ -150,21 +152,21 @@ template<typename MatrixType> void qr_invertible()
void test_qr()
{
for(int i = 0; i < 1; i++) {
- CALL_SUBTEST( qr(Matrix2f()) );
- CALL_SUBTEST( qr(Matrix4d()) );
- CALL_SUBTEST( qr(MatrixXf(12,8)) );
- CALL_SUBTEST( qr(MatrixXcd(5,5)) );
- CALL_SUBTEST( qr(MatrixXcd(7,3)) );
+// CALL_SUBTEST( qr(Matrix2f()) );
+// CALL_SUBTEST( qr(Matrix4d()) );
+// CALL_SUBTEST( qr(MatrixXf(12,8)) );
+// CALL_SUBTEST( qr(MatrixXcd(5,5)) );
+// CALL_SUBTEST( qr(MatrixXcd(7,3)) );
}
-
+
for(int i = 0; i < g_repeat; i++) {
CALL_SUBTEST( qr_non_invertible<MatrixXf>() );
- CALL_SUBTEST( qr_non_invertible<MatrixXd>() );
+// CALL_SUBTEST( qr_non_invertible<MatrixXd>() );
// TODO fix issue with complex
// CALL_SUBTEST( qr_non_invertible<MatrixXcf>() );
// CALL_SUBTEST( qr_non_invertible<MatrixXcd>() );
- CALL_SUBTEST( qr_invertible<MatrixXf>() );
- CALL_SUBTEST( qr_invertible<MatrixXd>() );
+// CALL_SUBTEST( qr_invertible<MatrixXf>() );
+// CALL_SUBTEST( qr_invertible<MatrixXd>() );
// TODO fix issue with complex
// CALL_SUBTEST( qr_invertible<MatrixXcf>() );
// CALL_SUBTEST( qr_invertible<MatrixXcd>() );