Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50536 - sandbox/boost/numeric/bindings/lapack
From: thomas.klimpel_at_[hidden]
Date: 2009-01-10 15:10:53


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

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

Text files modified:
   sandbox/boost/numeric/bindings/lapack/hbevx.hpp | 27 ++++++++++++---------------
   sandbox/boost/numeric/bindings/lapack/heevd.hpp | 24 ++++++++++++------------
   sandbox/boost/numeric/bindings/lapack/heevx.hpp | 24 ++++++++++++------------
   3 files changed, 36 insertions(+), 39 deletions(-)

Modified: sandbox/boost/numeric/bindings/lapack/hbevx.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/hbevx.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/hbevx.hpp 2009-01-10 15:10:53 EST (Sat, 10 Jan 2009)
@@ -178,19 +178,16 @@
           integer_t const kd, T* ab, integer_t const ldab, T* q, integer_t const ldq,
           R vl, R vu, integer_t const il, integer_t const iu, R abstol, integer_t& m,
           R* w, T* z, integer_t const ldz,
- std::pair<detail::workspace1<W>, detail::workspace1<WI> > work,
+ detail::workspace2<W, WI> work,
           integer_t* ifail, integer_t& info ) const {
 
- typedef typename traits::vector_traits<W>::value_type w_value_type ;
- typedef typename traits::vector_traits<WI>::value_type wi_value_type ;
-
- assert( traits::vector_size( work.first.select(T()) ) >= 7*n );
- assert( traits::vector_size( work.second.select(R()) ) >= 5*n );
+ assert( traits::vector_size( work.select(T()) ) >= 7*n );
+ assert( traits::vector_size( work.select(integer_t()) ) >= 5*n );
           hbevx( jobz, range, uplo, n, kd, ab, ldab, q, ldq,
             vl, vu, il, iu, abstol, m,
             w, z, ldz,
- traits::vector_storage( work.first.select(T()) ),
- traits::vector_storage( work.second.select(R()) ),
+ traits::vector_storage( work.select(T()) ),
+ traits::vector_storage( work.select(integer_t()) ),
             ifail, info );
         }
       }; // Hbevx< 1 >
@@ -242,18 +239,18 @@
           integer_t const kd, T* ab, integer_t const ldab, T* q, integer_t const ldq,
           R vl, R vu, integer_t const il, integer_t const iu, R abstol, integer_t& m,
           R* w, T* z, integer_t const ldz,
- std::pair<detail::workspace2<W,RW>, detail::workspace1<WI> > work,
+ detail::workspace3<W, RW, WI> work,
           integer_t* ifail, integer_t& info ) const {
 
- assert( traits::vector_size( work.first.select(T()) ) >= n );
- assert( traits::vector_size( work.first.select(R()) ) >= 7*n );
- assert( traits::vector_size( work.second.select(integer_t()) ) >= 5*n );
+ assert( traits::vector_size( work.select(T()) ) >= n );
+ assert( traits::vector_size( work.select(R()) ) >= 7*n );
+ assert( traits::vector_size( work.select(integer_t()) ) >= 5*n );
           hbevx( jobz, range, uplo, n, kd, ab, ldab, q, ldq,
             vl, vu, il, iu, abstol, m,
             w, z, ldz,
- traits::vector_storage( work.first.select(T()) ),
- traits::vector_storage( work.first.select(R()) ),
- traits::vector_storage( work.second.select(integer_t()) ),
+ traits::vector_storage( work.select(T()) ),
+ traits::vector_storage( work.select(R()) ),
+ traits::vector_storage( work.select(integer_t()) ),
             ifail, info );
         }
       }; // Hbevx< 2 >

Modified: sandbox/boost/numeric/bindings/lapack/heevd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/heevd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/heevd.hpp 2009-01-10 15:10:53 EST (Sat, 10 Jan 2009)
@@ -166,14 +166,14 @@
         void operator() (
           char const jobz, char const uplo, integer_t const n,
           T* a, integer_t const lda,
- R* w, std::pair<detail::workspace1<W>, detail::workspace1<WI> > work, integer_t& info) {
+ R* w, detail::workspace2<W, WI> work, integer_t& info) {
 
- assert (traits::vector_size (work.first.select(T())) >= jobz=='N' ? 1+2*n : 1+6*n+2*n*n);
- assert (traits::vector_size (work.second.select(integer_t())) >= jobz=='N' ? 1 : 3+5*n);
+ assert (traits::vector_size (work.select(T())) >= jobz=='N' ? 1+2*n : 1+6*n+2*n*n);
+ assert (traits::vector_size (work.select(integer_t())) >= jobz=='N' ? 1 : 3+5*n);
 
           heevd( jobz, uplo, n, a, lda, w,
- traits::vector_storage (work.first.select(T())), traits::vector_size (work.first.select(T())),
- traits::vector_storage (work.second.select(integer_t())), traits::vector_size (work.second.select(integer_t())),
+ traits::vector_storage (work.select(T())), traits::vector_size (work.select(T())),
+ traits::vector_storage (work.select(integer_t())), traits::vector_size (work.select(integer_t())),
             info);
         }
       };
@@ -228,20 +228,20 @@
         void operator() (
           char const jobz, char const uplo, integer_t const n,
           T* a, integer_t const lda,
- R* w, std::pair<detail::workspace2<WC,WR>, detail::workspace1<WI> > work, integer_t& info) {
+ R* w, detail::workspace3<WC, WR, WI> work, integer_t& info) {
 
- assert (traits::vector_size (work.first.select(T())) >= jobz=='N' ? 1+n : 2*n+n*n);
- assert (traits::vector_size (work.first.select(R())) >= jobz=='N' ? n : 1+5*n+2*n*n);
- assert (traits::vector_size (work.second.select(integer_t())) >= jobz=='N' ? 1 : 3+5*n);
+ assert (traits::vector_size (work.select(T())) >= jobz=='N' ? 1+n : 2*n+n*n);
+ assert (traits::vector_size (work.select(R())) >= jobz=='N' ? n : 1+5*n+2*n*n);
+ assert (traits::vector_size (work.select(integer_t())) >= jobz=='N' ? 1 : 3+5*n);
 
           typedef typename traits::vector_traits<WR>::value_type wr_value_type ;
           typedef typename traits::vector_traits<WI>::value_type wi_value_type ;
           typedef typename traits::vector_traits<WC>::value_type wc_value_type ;
 
           heevd( jobz, uplo, n, a, lda, w,
- traits::vector_storage (work.first.select(T())), traits::vector_size (work.first.select(T())),
- traits::vector_storage (work.first.select(R())), traits::vector_size (work.first.select(R())),
- traits::vector_storage (work.second.select(integer_t())), traits::vector_size (work.second.select(integer_t())),
+ traits::vector_storage (work.select(T())), traits::vector_size (work.select(T())),
+ traits::vector_storage (work.select(R())), traits::vector_size (work.select(R())),
+ traits::vector_storage (work.select(integer_t())), traits::vector_size (work.select(integer_t())),
             info);
         }
       };

Modified: sandbox/boost/numeric/bindings/lapack/heevx.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/heevx.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/heevx.hpp 2009-01-10 15:10:53 EST (Sat, 10 Jan 2009)
@@ -191,14 +191,14 @@
           T* a, integer_t const lda,
           R vl, R vu, integer_t const il, integer_t const iu,
           R abstol, integer_t& m,
- R* w, T* z, integer_t const ldz, std::pair<detail::workspace1<W>, detail::workspace1<WI> > work, integer_t* ifail, integer_t& info) {
+ R* w, T* z, integer_t const ldz, detail::workspace2<W, WI> work, integer_t* ifail, integer_t& info) {
 
- assert (traits::vector_size (work.first.select(T())) >= 8*n);
- assert (traits::vector_size (work.second.select(integer_t())) >= 5*n);
+ assert (traits::vector_size (work.select(T())) >= 8*n);
+ assert (traits::vector_size (work.select(integer_t())) >= 5*n);
 
           heevx( jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz,
- traits::vector_storage (work.first.select(T())), traits::vector_size (work.first.select(T())),
- traits::vector_storage (work.second.select(integer_t())),
+ traits::vector_storage (work.select(T())), traits::vector_size (work.select(T())),
+ traits::vector_storage (work.select(integer_t())),
             ifail, info);
         }
       };
@@ -259,16 +259,16 @@
           T* a, integer_t const lda,
           R vl, R vu, integer_t const il, integer_t const iu,
           R abstol, integer_t& m,
- R* w, T* z, integer_t const ldz, std::pair<detail::workspace2<WC,WR>, detail::workspace1<WI> > work, integer_t* ifail, integer_t& info) {
+ R* w, T* z, integer_t const ldz, detail::workspace3<WC, WR, WI> work, integer_t* ifail, integer_t& info) {
 
- assert (traits::vector_size (work.first.select(T())) >= 2*n);
- assert (traits::vector_size (work.first.select(R())) >= 7*n);
- assert (traits::vector_size (work.second.select(integer_t())) >= 5*n);
+ assert (traits::vector_size (work.select(T())) >= 2*n);
+ assert (traits::vector_size (work.select(R())) >= 7*n);
+ assert (traits::vector_size (work.select(integer_t())) >= 5*n);
 
           heevx( jobz, range, uplo, n, a, lda, vl, vu, il, iu, abstol, m, w, z, ldz,
- traits::vector_storage (work.first.select(T())), traits::vector_size (work.first.select(T())),
- traits::vector_storage (work.first.select(R())),
- traits::vector_storage (work.second.select(integer_t())),
+ traits::vector_storage (work.select(T())), traits::vector_size (work.select(T())),
+ traits::vector_storage (work.select(R())),
+ traits::vector_storage (work.select(integer_t())),
             ifail, info);
         }
       };


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