Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50537 - sandbox/libs/numeric/bindings/lapack/test
From: thomas.klimpel_at_[hidden]
Date: 2009-01-10 15:11:38


Author: klimpel
Date: 2009-01-10 15:11:38 EST (Sat, 10 Jan 2009)
New Revision: 50537
URL: http://svn.boost.org/trac/boost/changeset/50537

Log:
updated hbevx, heevd, heevx, syevd and syevx to the new simplified workspace syntax

Text files modified:
   sandbox/libs/numeric/bindings/lapack/test/ublas_hbevx.cpp | 25 +++++++++++--------------
   sandbox/libs/numeric/bindings/lapack/test/ublas_heevd.cpp | 25 +++++++++++--------------
   sandbox/libs/numeric/bindings/lapack/test/ublas_heevx.cpp | 25 +++++++++++--------------
   3 files changed, 33 insertions(+), 42 deletions(-)

Modified: sandbox/libs/numeric/bindings/lapack/test/ublas_hbevx.cpp
==============================================================================
--- sandbox/libs/numeric/bindings/lapack/test/ublas_hbevx.cpp (original)
+++ sandbox/libs/numeric/bindings/lapack/test/ublas_hbevx.cpp 2009-01-10 15:11:38 EST (Sat, 10 Jan 2009)
@@ -109,11 +109,9 @@
 
 template <typename T>
 struct Workspace {
- typedef ublas::vector< T > array_type ;
- typedef ublas::vector< integer_t > int_array_type ;
- typedef lapack::detail::workspace1< array_type > first_type;
- typedef lapack::detail::workspace1< int_array_type > second_type;
- typedef std::pair<first_type, second_type> type ;
+ typedef ublas::vector< T > array_type ;
+ typedef ublas::vector< integer_t > int_array_type ;
+ typedef lapack::detail::workspace2<array_type, int_array_type > type ;
 
    Workspace(size_t n)
    : work_( 7*n )
@@ -121,21 +119,20 @@
    {}
 
    type operator() () {
- return type( first_type( work_ ), second_type( iwork_ ) );
+ return lapack::workspace(work_ , iwork_) ;
    }
 
    array_type work_ ;
- int_array_type iwork_ ;
+ int_array_type iwork_ ;
 };
 
 template <typename T>
 struct Workspace< std::complex<T> > {
- typedef ublas::vector< std::complex<T> > complex_array_type ;
- typedef ublas::vector< T > real_array_type ;
- typedef ublas::vector< integer_t > int_array_type ;
- typedef lapack::detail::workspace2< complex_array_type,real_array_type > first_type;
- typedef lapack::detail::workspace1< int_array_type > second_type;
- typedef std::pair<first_type, second_type> type ;
+ typedef ublas::vector< std::complex<T> > complex_array_type ;
+ typedef ublas::vector< T > real_array_type ;
+ typedef ublas::vector< integer_t > int_array_type ;
+ typedef lapack::detail::workspace3<
+ complex_array_type, real_array_type, int_array_type > type ;
 
    Workspace(size_t n)
    : work_( n )
@@ -144,7 +141,7 @@
    {}
 
    type operator() () {
- return type( first_type( work_, rwork_ ), second_type( iwork_ ) );
+ return lapack::workspace(work_, rwork_, iwork_) ;
    }
 
    complex_array_type work_ ;

Modified: sandbox/libs/numeric/bindings/lapack/test/ublas_heevd.cpp
==============================================================================
--- sandbox/libs/numeric/bindings/lapack/test/ublas_heevd.cpp (original)
+++ sandbox/libs/numeric/bindings/lapack/test/ublas_heevd.cpp 2009-01-10 15:11:38 EST (Sat, 10 Jan 2009)
@@ -78,11 +78,9 @@
 
 template <typename T>
 struct Workspace {
- typedef ublas::vector< T > array_type ;
- typedef ublas::vector< integer_t > int_array_type ;
- typedef lapack::detail::workspace1< array_type > first_type;
- typedef lapack::detail::workspace1< int_array_type > second_type;
- typedef std::pair<first_type, second_type> type ;
+ typedef ublas::vector< T > array_type ;
+ typedef ublas::vector< integer_t > int_array_type ;
+ typedef lapack::detail::workspace2< array_type, int_array_type > type ;
 
    Workspace(size_t n)
    : work_( 1+6*n+2*n*n )
@@ -90,21 +88,20 @@
    {}
 
    type operator() () {
- return type( first_type( work_ ), second_type( iwork_ ) );
+ return lapack::workspace(work_, iwork_) ;
    }
 
    array_type work_ ;
- int_array_type iwork_ ;
+ int_array_type iwork_ ;
 };
 
 template <typename T>
 struct Workspace< std::complex<T> > {
- typedef ublas::vector< std::complex<T> > complex_array_type ;
- typedef ublas::vector< T > real_array_type ;
- typedef ublas::vector< integer_t > int_array_type ;
- typedef lapack::detail::workspace2< complex_array_type,real_array_type > first_type;
- typedef lapack::detail::workspace1< int_array_type > second_type;
- typedef std::pair<first_type, second_type> type ;
+ typedef ublas::vector< std::complex<T> > complex_array_type ;
+ typedef ublas::vector< T > real_array_type ;
+ typedef ublas::vector< integer_t > int_array_type ;
+ typedef lapack::detail::workspace3<
+ complex_array_type, real_array_type, int_array_type > type ;
 
    Workspace(size_t n)
    : work_( 2*n+n*n )
@@ -113,7 +110,7 @@
    {}
 
    type operator() () {
- return type( first_type( work_, rwork_ ), second_type( iwork_ ) );
+ return lapack::workspace(work_, rwork_, iwork_) ;
    }
 
    complex_array_type work_ ;

Modified: sandbox/libs/numeric/bindings/lapack/test/ublas_heevx.cpp
==============================================================================
--- sandbox/libs/numeric/bindings/lapack/test/ublas_heevx.cpp (original)
+++ sandbox/libs/numeric/bindings/lapack/test/ublas_heevx.cpp 2009-01-10 15:11:38 EST (Sat, 10 Jan 2009)
@@ -92,11 +92,9 @@
 
 template <typename T>
 struct Workspace {
- typedef ublas::vector< T > array_type ;
- typedef ublas::vector< integer_t > int_array_type ;
- typedef lapack::detail::workspace1< array_type > first_type;
- typedef lapack::detail::workspace1< int_array_type > second_type;
- typedef std::pair<first_type, second_type> type ;
+ typedef ublas::vector< T > array_type ;
+ typedef ublas::vector< integer_t > int_array_type ;
+ typedef lapack::detail::workspace2< array_type, int_array_type > type ;
 
    Workspace(size_t n)
    : work_( 8*n )
@@ -104,21 +102,20 @@
    {}
 
    type operator() () {
- return type( first_type( work_ ), second_type( iwork_ ) );
+ return lapack::workspace(work_, iwork_) ;
    }
 
    array_type work_ ;
- int_array_type iwork_ ;
+ int_array_type iwork_ ;
 };
 
 template <typename T>
 struct Workspace< std::complex<T> > {
- typedef ublas::vector< std::complex<T> > complex_array_type ;
- typedef ublas::vector< T > real_array_type ;
- typedef ublas::vector< integer_t > int_array_type ;
- typedef lapack::detail::workspace2< complex_array_type,real_array_type > first_type;
- typedef lapack::detail::workspace1< int_array_type > second_type;
- typedef std::pair<first_type, second_type> type ;
+ typedef ublas::vector< std::complex<T> > complex_array_type ;
+ typedef ublas::vector< T > real_array_type ;
+ typedef ublas::vector< integer_t > int_array_type ;
+ typedef lapack::detail::workspace3<
+ complex_array_type, real_array_type, int_array_type > type ;
 
    Workspace(size_t n)
    : work_( 2*n )
@@ -127,7 +124,7 @@
    {}
 
    type operator() () {
- return type( first_type( work_, rwork_ ), second_type( iwork_ ) );
+ return lapack::workspace(work_, rwork_, iwork_) ;
    }
 
    complex_array_type 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