[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdesupport/eigen2
From:       BenoƮt Jacob <jacob.benoit.1 () gmail ! com>
Date:       2009-01-09 23:26:46
Message-ID: 1231543606.476965.9496.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 908589 by bjacob:

Based on code + help from Alex Stapleton:
*Add Eigen/StdVector header.
Including it #includes<vector> and "Core" and generates a partial
specialization of std::vector<T> for T=Eigen::Matrix<...>
that will work even with vectorizable fixed-size Eigen types
(working around a design issue in the c++ STL)
*Add unit-test

CCMAIL: alex.stapleton@gmail.com



 M  +1 -1      Eigen/CMakeLists.txt  
 A             Eigen/StdVector  
 M  +2 -0      Eigen/src/Core/MatrixStorage.h  
 M  +1 -0      test/CMakeLists.txt  
 A             test/stdvector.cpp   [License: GPL (v3+) LGPL (v3+)]


--- trunk/kdesupport/eigen2/Eigen/CMakeLists.txt #908588:908589
@@ -1,4 +1,4 @@
-set(Eigen_HEADERS Core LU Cholesky QR Geometry Sparse Array SVD Regression LeastSquares)
+set(Eigen_HEADERS Core LU Cholesky QR Geometry Sparse Array SVD Regression LeastSquares StdVector)
 
 if(EIGEN_BUILD_LIB)
     set(Eigen_SRCS
--- trunk/kdesupport/eigen2/Eigen/src/Core/MatrixStorage.h #908588:908589
@@ -52,6 +52,8 @@
 template <typename T, int Size, int MatrixOptions> struct ei_matrix_array<T,Size,MatrixOptions,false>
 {
   T array[Size];
+  ei_matrix_array() {}
+  ei_matrix_array(ei_select_matrix_array_constructor_doing_absolutely_nothing) {}
 };
 
 /** \internal
--- trunk/kdesupport/eigen2/test/CMakeLists.txt #908588:908589
@@ -186,6 +186,7 @@
 ei_add_test(parametrizedline)
 ei_add_test(alignedbox)
 ei_add_test(regression)
+ei_add_test(stdvector)
 ei_add_test(sparse_basic " " "${SPARSE_LIBS}")
 ei_add_test(sparse_vector " " "${SPARSE_LIBS}")
 ei_add_test(sparse_solvers " " "${SPARSE_LIBS}")
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic