Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r58978 - sandbox/numeric_bindings/libs/numeric/bindings/lapack/test
From: rutger_at_[hidden]
Date: 2010-01-13 09:59:02


Author: rutger
Date: 2010-01-13 09:59:02 EST (Wed, 13 Jan 2010)
New Revision: 58978
URL: http://svn.boost.org/trac/boost/changeset/58978

Log:
fixed heevx regression

Text files modified:
   sandbox/numeric_bindings/libs/numeric/bindings/lapack/test/ublas_heevx.cpp | 54 ++++++++++++++++++++--------------------
   1 files changed, 27 insertions(+), 27 deletions(-)

Modified: sandbox/numeric_bindings/libs/numeric/bindings/lapack/test/ublas_heevx.cpp
==============================================================================
--- sandbox/numeric_bindings/libs/numeric/bindings/lapack/test/ublas_heevx.cpp (original)
+++ sandbox/numeric_bindings/libs/numeric/bindings/lapack/test/ublas_heevx.cpp 2010-01-13 09:59:02 EST (Wed, 13 Jan 2010)
@@ -12,11 +12,12 @@
 #include <boost/numeric/bindings/lapack/driver/heevx.hpp>
 #include <boost/numeric/bindings/lapack/driver/syevx.hpp>
 #include <boost/numeric/bindings/ublas/matrix.hpp>
+#include <boost/numeric/bindings/ublas/matrix_proxy.hpp>
 #include <boost/numeric/bindings/ublas/vector.hpp>
+#include <boost/numeric/bindings/ublas/vector_proxy.hpp>
 #include <boost/numeric/bindings/ublas/hermitian.hpp>
-#include <boost/numeric/ublas/matrix_proxy.hpp>
-#include <boost/numeric/ublas/vector_proxy.hpp>
 #include <boost/numeric/ublas/io.hpp>
+#include <boost/numeric/bindings/remove_imaginary.hpp>
 #include <boost/type_traits/is_complex.hpp>
 #include <boost/mpl/if.hpp>
 
@@ -25,40 +26,39 @@
 
 namespace ublas = boost::numeric::ublas;
 namespace lapack = boost::numeric::bindings::lapack;
-namespace traits = boost::numeric::bindings::traits;
+namespace bindings = boost::numeric::bindings;
 
 struct apply_real {
- template< typename MatrixA, typename VectorW, typename MatrixZ,
+template< typename MatrixA, typename VectorW, typename MatrixZ,
         typename VectorIFAIL, typename Workspace >
- static inline integer_t heevx( const char jobz, const char range, MatrixA& a,
- const typename traits::type_traits< typename traits::matrix_traits<
- MatrixA >::value_type >::real_type vl,
- const typename traits::type_traits< typename traits::matrix_traits<
- MatrixA >::value_type >::real_type vu, const integer_t il,
- const integer_t iu, const typename traits::type_traits<
- typename traits::matrix_traits<
- MatrixA >::value_type >::real_type abstol, integer_t& m, VectorW& w,
+static inline std::ptrdiff_t heevx( const char jobz, const char range,
+ MatrixA& a, const typename bindings::remove_imaginary< typename bindings::value<
+ MatrixA >::type >::type vl, const typename bindings::remove_imaginary<
+ typename bindings::value< MatrixA >::type >::type vu,
+ const fortran_int_t il, const fortran_int_t iu,
+ const typename bindings::remove_imaginary< typename bindings::value<
+ MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
         MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return lapack::syevx( jobz, range, a, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
- }
+ return lapack::syevx( jobz,
+ range, a, vl, vu, il, iu, abstol, m, w, z, ifail, work );
+}
+
 };
 
 struct apply_complex {
- template< typename MatrixA, typename VectorW, typename MatrixZ,
+template< typename MatrixA, typename VectorW, typename MatrixZ,
         typename VectorIFAIL, typename Workspace >
- static inline integer_t heevx( const char jobz, const char range, MatrixA& a,
- const typename traits::type_traits< typename traits::matrix_traits<
- MatrixA >::value_type >::real_type vl,
- const typename traits::type_traits< typename traits::matrix_traits<
- MatrixA >::value_type >::real_type vu, const integer_t il,
- const integer_t iu, const typename traits::type_traits<
- typename traits::matrix_traits<
- MatrixA >::value_type >::real_type abstol, integer_t& m, VectorW& w,
+static inline std::ptrdiff_t heevx( const char jobz, const char range,
+ MatrixA& a, const typename bindings::remove_imaginary< typename bindings::value<
+ MatrixA >::type >::type vl, const typename bindings::remove_imaginary<
+ typename bindings::value< MatrixA >::type >::type vu,
+ const fortran_int_t il, const fortran_int_t iu,
+ const typename bindings::remove_imaginary< typename bindings::value<
+ MatrixA >::type >::type abstol, fortran_int_t& m, VectorW& w,
         MatrixZ& z, VectorIFAIL& ifail, Workspace work ) {
- return lapack::heevx( jobz, range, a, vl, vu, il, iu,
- abstol, m, w, z, ifail, work );
- }
+ return lapack::heevx( jobz,
+ range, a, vl, vu, il, iu, abstol, m, w, z, ifail, work );
+}
 };
 
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk