Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r58940 - in sandbox/numeric_bindings/boost/numeric/bindings: lapack/computational lapack/driver ublas
From: rutger_at_[hidden]
Date: 2010-01-12 08:30:16


Author: rutger
Date: 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
New Revision: 58940
URL: http://svn.boost.org/trac/boost/changeset/58940

Log:
support for dynamic bandwidth selection (based on uplo tag)

Text files modified:
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp | 12 ++++++------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp | 6 +++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp | 6 +++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp | 18 ++++++++++--------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp | 34 ++++++++++++++++++----------------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp | 8 ++++----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp | 8 ++++----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp | 6 +++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp | 12 ++++++------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp | 6 +++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp | 10 +++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp | 8 ++++----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp | 6 +++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp | 12 ++++++------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp | 16 ++++++++--------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp | 12 ++++++------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp | 6 +++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp | 16 ++++++++--------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp | 10 +++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp | 8 ++++----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp | 6 +++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp | 12 ++++++------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp | 16 ++++++++--------
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp | 12 ++++++------
   sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_proxy.hpp | 1 +
   25 files changed, 136 insertions(+), 131 deletions(-)

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -115,19 +115,19 @@
                 MatrixX >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixAB >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixX >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
- BOOST_ASSERT( bandwidth_upper(bb) >= bandwidth_upper(bb) );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
+ BOOST_ASSERT( bandwidth(bb, uplo()) >= bandwidth(bb, uplo()) );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(work.select(real_type())) >= min_size_rwork( n ));
         BOOST_ASSERT( size(work.select(value_type())) >= min_size_work( n ));
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(bb) == 1 || stride_minor(bb) == 1 );
         BOOST_ASSERT( size_minor(x) == 1 || stride_minor(x) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(bb) >= bandwidth_upper(bb)+1 );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(bb) >= bandwidth(bb, uplo())+1 );
         BOOST_ASSERT( vect == 'N' || vect == 'V' );
- return detail::hbgst( vect, uplo(), n, bandwidth_upper(ab),
- bandwidth_upper(bb), begin_value(ab), stride_major(ab),
+ return detail::hbgst( vect, uplo(), n, bandwidth(ab, uplo()),
+ bandwidth(bb, uplo()), begin_value(ab), stride_major(ab),
                 begin_value(bb), stride_major(bb), begin_value(x),
                 stride_major(x), begin_value(work.select(value_type())),
                 begin_value(work.select(real_type())) );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -114,15 +114,15 @@
         BOOST_STATIC_ASSERT( (is_mutable< VectorD >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorE >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixQ >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(d) >= n );
         BOOST_ASSERT( size(work.select(value_type())) >= min_size_work( n ));
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(q) == 1 || stride_minor(q) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
         BOOST_ASSERT( vect == 'N' || vect == 'V' || vect == 'U' );
- return detail::hbtrd( vect, uplo(), n, bandwidth_upper(ab),
+ return detail::hbtrd( vect, uplo(), n, bandwidth(ab, uplo()),
                 begin_value(ab), stride_major(ab), begin_value(d),
                 begin_value(e), begin_value(q), stride_major(q),
                 begin_value(work.select(value_type())) );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -136,14 +136,14 @@
     static std::ptrdiff_t invoke( const char uplo, const fortran_int_t n,
             const MatrixAB& ab, const real_type anorm, real_type& rcond,
             detail::workspace2< WORK, IWORK > work ) {
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(work.select(fortran_int_t())) >=
                 min_size_iwork( n ));
         BOOST_ASSERT( size(work.select(real_type())) >= min_size_work( n ));
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- return detail::pbcon( uplo, n, bandwidth_upper(ab), begin_value(ab),
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ return detail::pbcon( uplo, n, bandwidth(ab, uplo()), begin_value(ab),
                 stride_major(ab), anorm, rcond,
                 begin_value(work.select(real_type())),
                 begin_value(work.select(fortran_int_t())) );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -140,12 +140,13 @@
                 typename remove_const< typename value<
                 VectorS >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorS >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- return detail::pbequ( uplo(), n, bandwidth_upper(ab), begin_value(ab),
- stride_major(ab), begin_value(s), scond, amax );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ return detail::pbequ( uplo(), n, bandwidth(ab, uplo()),
+ begin_value(ab), stride_major(ab), begin_value(s), scond,
+ amax );
     }
 
 };
@@ -170,12 +171,13 @@
             const MatrixAB& ab, VectorS& s, real_type& scond,
             real_type& amax ) {
         BOOST_STATIC_ASSERT( (is_mutable< VectorS >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- return detail::pbequ( uplo(), n, bandwidth_upper(ab), begin_value(ab),
- stride_major(ab), begin_value(s), scond, amax );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ return detail::pbequ( uplo(), n, bandwidth(ab, uplo()),
+ begin_value(ab), stride_major(ab), begin_value(s), scond,
+ amax );
     }
 
 };

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -177,7 +177,7 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixX >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorFERR >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorBERR >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(berr) >= size_column(x) );
         BOOST_ASSERT( size(work.select(fortran_int_t())) >=
@@ -188,15 +188,16 @@
         BOOST_ASSERT( size_minor(afb) == 1 || stride_minor(afb) == 1 );
         BOOST_ASSERT( size_minor(b) == 1 || stride_minor(b) == 1 );
         BOOST_ASSERT( size_minor(x) == 1 || stride_minor(x) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(afb) >= bandwidth_upper(ab)+1 );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(afb) >= bandwidth(ab, uplo())+1 );
         BOOST_ASSERT( stride_major(b) >= std::max< std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( stride_major(x) >= std::max< std::ptrdiff_t >(1,n) );
- return detail::pbrfs( uplo(), n, bandwidth_upper(ab), size_column(x),
- begin_value(ab), stride_major(ab), begin_value(afb),
- stride_major(afb), begin_value(b), stride_major(b),
- begin_value(x), stride_major(x), begin_value(ferr),
- begin_value(berr), begin_value(work.select(real_type())),
+ return detail::pbrfs( uplo(), n, bandwidth(ab, uplo()),
+ size_column(x), begin_value(ab), stride_major(ab),
+ begin_value(afb), stride_major(afb), begin_value(b),
+ stride_major(b), begin_value(x), stride_major(x),
+ begin_value(ferr), begin_value(berr),
+ begin_value(work.select(real_type())),
                 begin_value(work.select(fortran_int_t())) );
     }
 
@@ -294,7 +295,7 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixX >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorFERR >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorBERR >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(berr) >= size_column(x) );
         BOOST_ASSERT( size(work.select(real_type())) >= min_size_rwork( n ));
@@ -304,15 +305,16 @@
         BOOST_ASSERT( size_minor(afb) == 1 || stride_minor(afb) == 1 );
         BOOST_ASSERT( size_minor(b) == 1 || stride_minor(b) == 1 );
         BOOST_ASSERT( size_minor(x) == 1 || stride_minor(x) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(afb) >= bandwidth_upper(ab)+1 );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(afb) >= bandwidth(ab, uplo())+1 );
         BOOST_ASSERT( stride_major(b) >= std::max< std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( stride_major(x) >= std::max< std::ptrdiff_t >(1,n) );
- return detail::pbrfs( uplo(), n, bandwidth_upper(ab), size_column(x),
- begin_value(ab), stride_major(ab), begin_value(afb),
- stride_major(afb), begin_value(b), stride_major(b),
- begin_value(x), stride_major(x), begin_value(ferr),
- begin_value(berr), begin_value(work.select(value_type())),
+ return detail::pbrfs( uplo(), n, bandwidth(ab, uplo()),
+ size_column(x), begin_value(ab), stride_major(ab),
+ begin_value(afb), stride_major(afb), begin_value(b),
+ stride_major(b), begin_value(x), stride_major(x),
+ begin_value(ferr), begin_value(berr),
+ begin_value(work.select(value_type())),
                 begin_value(work.select(real_type())) );
     }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -119,12 +119,12 @@
     template< typename MatrixAB >
     static std::ptrdiff_t invoke( const fortran_int_t n, MatrixAB& ab ) {
         BOOST_STATIC_ASSERT( (is_mutable< MatrixAB >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- return detail::pbstf( uplo(), n, bandwidth_upper(ab), begin_value(ab),
- stride_major(ab) );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ return detail::pbstf( uplo(), n, bandwidth(ab, uplo()),
+ begin_value(ab), stride_major(ab) );
     }
 
 };

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -119,12 +119,12 @@
     template< typename MatrixAB >
     static std::ptrdiff_t invoke( const fortran_int_t n, MatrixAB& ab ) {
         BOOST_STATIC_ASSERT( (is_mutable< MatrixAB >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- return detail::pbtrf( uplo(), n, bandwidth_upper(ab), begin_value(ab),
- stride_major(ab) );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ return detail::pbtrf( uplo(), n, bandwidth(ab, uplo()),
+ begin_value(ab), stride_major(ab) );
     }
 
 };

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -124,14 +124,14 @@
                 typename remove_const< typename value<
                 MatrixB >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixB >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size_column(b) >= 0 );
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(b) == 1 || stride_minor(b) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
         BOOST_ASSERT( stride_major(b) >= std::max< std::ptrdiff_t >(1,n) );
- return detail::pbtrs( uplo, n, bandwidth_upper(ab), size_column(b),
+ return detail::pbtrs( uplo, n, bandwidth(ab, uplo()), size_column(b),
                 begin_value(ab), stride_major(ab), begin_value(b),
                 stride_major(b) );
     }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -111,18 +111,18 @@
                 MatrixX >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixAB >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixX >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
- BOOST_ASSERT( bandwidth_upper(bb) >= bandwidth_upper(bb) );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
+ BOOST_ASSERT( bandwidth(bb, uplo()) >= bandwidth(bb, uplo()) );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(work.select(real_type())) >= min_size_work( n ));
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(bb) == 1 || stride_minor(bb) == 1 );
         BOOST_ASSERT( size_minor(x) == 1 || stride_minor(x) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(bb) >= bandwidth_upper(bb)+1 );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(bb) >= bandwidth(bb, uplo())+1 );
         BOOST_ASSERT( vect == 'N' || vect == 'V' );
- return detail::sbgst( vect, uplo(), n, bandwidth_upper(ab),
- bandwidth_upper(bb), begin_value(ab), stride_major(ab),
+ return detail::sbgst( vect, uplo(), n, bandwidth(ab, uplo()),
+ bandwidth(bb, uplo()), begin_value(ab), stride_major(ab),
                 begin_value(bb), stride_major(bb), begin_value(x),
                 stride_major(x), begin_value(work.select(real_type())) );
     }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -116,15 +116,15 @@
         BOOST_STATIC_ASSERT( (is_mutable< VectorD >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorE >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixQ >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(d) >= n );
         BOOST_ASSERT( size(work.select(real_type())) >= min_size_work( n ));
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(q) == 1 || stride_minor(q) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
         BOOST_ASSERT( vect == 'N' || vect == 'V' || vect == 'U' );
- return detail::sbtrd( vect, uplo(), n, bandwidth_upper(ab),
+ return detail::sbtrd( vect, uplo(), n, bandwidth(ab, uplo()),
                 begin_value(ab), stride_major(ab), begin_value(d),
                 begin_value(e), begin_value(q), stride_major(q),
                 begin_value(work.select(real_type())) );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -108,7 +108,7 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixAB >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( size(work.select(real_type())) >= min_size_rwork(
                 size_column(ab) ));
@@ -117,10 +117,10 @@
         BOOST_ASSERT( size_column(ab) >= 0 );
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab) );
- return detail::hbev( jobz, uplo(), size_column(ab),
- bandwidth_upper(ab), begin_value(ab), stride_major(ab),
- begin_value(w), begin_value(z), stride_major(z),
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo()) );
+ return detail::hbev( jobz, uplo(), size_column(ab), bandwidth(ab,
+ uplo()), begin_value(ab), stride_major(ab), begin_value(w),
+ begin_value(z), stride_major(z),
                 begin_value(work.select(value_type())),
                 begin_value(work.select(real_type())) );
     }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -114,7 +114,7 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixAB >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(work.select(fortran_int_t())) >=
@@ -125,8 +125,8 @@
                 n ));
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab) );
- return detail::hbevd( jobz, uplo(), n, bandwidth_upper(ab),
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo()) );
+ return detail::hbevd( jobz, uplo(), n, bandwidth(ab, uplo()),
                 begin_value(ab), stride_major(ab), begin_value(w),
                 begin_value(z), stride_major(z),
                 begin_value(work.select(value_type())),
@@ -172,7 +172,7 @@
         value_type opt_size_work;
         real_type opt_size_rwork;
         fortran_int_t opt_size_iwork;
- detail::hbevd( jobz, uplo(), n, bandwidth_upper(ab),
+ detail::hbevd( jobz, uplo(), n, bandwidth(ab, uplo()),
                 begin_value(ab), stride_major(ab), begin_value(w),
                 begin_value(z), stride_major(z), &opt_size_work, -1,
                 &opt_size_rwork, -1, &opt_size_iwork, -1 );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -132,7 +132,7 @@
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorIFAIL >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( range == 'A' || range == 'V' || range == 'I' );
@@ -144,9 +144,9 @@
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(q) == 1 || stride_minor(q) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab) );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo()) );
         BOOST_ASSERT( stride_major(q) >= std::max< std::ptrdiff_t >(1,n) );
- return detail::hbevx( jobz, range, uplo(), n, bandwidth_upper(ab),
+ return detail::hbevx( jobz, range, uplo(), n, bandwidth(ab, uplo()),
                 begin_value(ab), stride_major(ab), begin_value(q),
                 stride_major(q), vl, vu, il, iu, abstol, m, begin_value(w),
                 begin_value(z), stride_major(z),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -118,8 +118,8 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixBB >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
- BOOST_ASSERT( bandwidth_upper(bb) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
+ BOOST_ASSERT( bandwidth(bb, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(work.select(real_type())) >= min_size_rwork( n ));
@@ -127,10 +127,10 @@
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(bb) == 1 || stride_minor(bb) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(bb) >= bandwidth_upper(bb)+1 );
- return detail::hbgv( jobz, uplo(), n, bandwidth_upper(ab),
- bandwidth_upper(bb), begin_value(ab), stride_major(ab),
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(bb) >= bandwidth(bb, uplo())+1 );
+ return detail::hbgv( jobz, uplo(), n, bandwidth(ab, uplo()),
+ bandwidth(bb, uplo()), begin_value(ab), stride_major(ab),
                 begin_value(bb), stride_major(bb), begin_value(w),
                 begin_value(z), stride_major(z),
                 begin_value(work.select(value_type())),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -125,8 +125,8 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixBB >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
- BOOST_ASSERT( bandwidth_upper(bb) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
+ BOOST_ASSERT( bandwidth(bb, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(work.select(fortran_int_t())) >=
@@ -138,10 +138,10 @@
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(bb) == 1 || stride_minor(bb) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(bb) >= bandwidth_upper(bb)+1 );
- return detail::hbgvd( jobz, uplo(), n, bandwidth_upper(ab),
- bandwidth_upper(bb), begin_value(ab), stride_major(ab),
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(bb) >= bandwidth(bb, uplo())+1 );
+ return detail::hbgvd( jobz, uplo(), n, bandwidth(ab, uplo()),
+ bandwidth(bb, uplo()), begin_value(ab), stride_major(ab),
                 begin_value(bb), stride_major(bb), begin_value(w),
                 begin_value(z), stride_major(z),
                 begin_value(work.select(value_type())),
@@ -191,8 +191,8 @@
         value_type opt_size_work;
         real_type opt_size_rwork;
         fortran_int_t opt_size_iwork;
- detail::hbgvd( jobz, uplo(), n, bandwidth_upper(ab),
- bandwidth_upper(bb), begin_value(ab), stride_major(ab),
+ detail::hbgvd( jobz, uplo(), n, bandwidth(ab, uplo()),
+ bandwidth(bb, uplo()), begin_value(ab), stride_major(ab),
                 begin_value(bb), stride_major(bb), begin_value(w),
                 begin_value(z), stride_major(z), &opt_size_work, -1,
                 &opt_size_rwork, -1, &opt_size_iwork, -1 );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -139,8 +139,8 @@
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorIFAIL >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
- BOOST_ASSERT( bandwidth_upper(bb) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
+ BOOST_ASSERT( bandwidth(bb, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( range == 'A' || range == 'V' || range == 'I' );
@@ -152,10 +152,10 @@
         BOOST_ASSERT( size_minor(bb) == 1 || stride_minor(bb) == 1 );
         BOOST_ASSERT( size_minor(q) == 1 || stride_minor(q) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(bb) >= bandwidth_upper(bb)+1 );
- return detail::hbgvx( jobz, range, uplo(), n, bandwidth_upper(ab),
- bandwidth_upper(bb), begin_value(ab), stride_major(ab),
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(bb) >= bandwidth(bb, uplo())+1 );
+ return detail::hbgvx( jobz, range, uplo(), n, bandwidth(ab, uplo()),
+ bandwidth(bb, uplo()), begin_value(ab), stride_major(ab),
                 begin_value(bb), stride_major(bb), begin_value(q),
                 stride_major(q), vl, vu, il, iu, abstol, m, begin_value(w),
                 begin_value(z), stride_major(z),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -133,15 +133,15 @@
                 MatrixB >::type >::type >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixAB >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixB >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( size_column(ab) >= 0 );
         BOOST_ASSERT( size_column(b) >= 0 );
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(b) == 1 || stride_minor(b) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
         BOOST_ASSERT( stride_major(b) >= std::max< std::ptrdiff_t >(1,
                 size_column(ab)) );
- return detail::pbsv( uplo(), size_column(ab), bandwidth_upper(ab),
+ return detail::pbsv( uplo(), size_column(ab), bandwidth(ab, uplo()),
                 size_column(b), begin_value(ab), stride_major(ab),
                 begin_value(b), stride_major(b) );
     }

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -191,7 +191,7 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixX >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorFERR >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorBERR >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( equed == 'N' || equed == 'Y' );
         BOOST_ASSERT( fact == 'F' || fact == 'Y' || fact == 'N' ||
                 fact == 'E' );
@@ -205,11 +205,11 @@
         BOOST_ASSERT( size_minor(afb) == 1 || stride_minor(afb) == 1 );
         BOOST_ASSERT( size_minor(b) == 1 || stride_minor(b) == 1 );
         BOOST_ASSERT( size_minor(x) == 1 || stride_minor(x) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(afb) >= bandwidth_upper(ab)+1 );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(afb) >= bandwidth(ab, uplo())+1 );
         BOOST_ASSERT( stride_major(b) >= std::max< std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( stride_major(x) >= std::max< std::ptrdiff_t >(1,n) );
- return detail::pbsvx( fact, uplo(), n, bandwidth_upper(ab),
+ return detail::pbsvx( fact, uplo(), n, bandwidth(ab, uplo()),
                 size_column(x), begin_value(ab), stride_major(ab),
                 begin_value(afb), stride_major(afb), equed, begin_value(s),
                 begin_value(b), stride_major(b), begin_value(x),
@@ -326,7 +326,7 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixX >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorFERR >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorBERR >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( equed == 'N' || equed == 'Y' );
         BOOST_ASSERT( fact == 'F' || fact == 'Y' || fact == 'N' ||
                 fact == 'E' );
@@ -339,11 +339,11 @@
         BOOST_ASSERT( size_minor(afb) == 1 || stride_minor(afb) == 1 );
         BOOST_ASSERT( size_minor(b) == 1 || stride_minor(b) == 1 );
         BOOST_ASSERT( size_minor(x) == 1 || stride_minor(x) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(afb) >= bandwidth_upper(ab)+1 );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(afb) >= bandwidth(ab, uplo())+1 );
         BOOST_ASSERT( stride_major(b) >= std::max< std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( stride_major(x) >= std::max< std::ptrdiff_t >(1,n) );
- return detail::pbsvx( fact, uplo(), n, bandwidth_upper(ab),
+ return detail::pbsvx( fact, uplo(), n, bandwidth(ab, uplo()),
                 size_column(x), begin_value(ab), stride_major(ab),
                 begin_value(afb), stride_major(afb), equed, begin_value(s),
                 begin_value(b), stride_major(b), begin_value(x),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -110,17 +110,17 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixAB >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( size(work.select(real_type())) >= min_size_work(
                 size_column(ab) ));
         BOOST_ASSERT( size_column(ab) >= 0 );
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab) );
- return detail::sbev( jobz, uplo(), size_column(ab),
- bandwidth_upper(ab), begin_value(ab), stride_major(ab),
- begin_value(w), begin_value(z), stride_major(z),
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo()) );
+ return detail::sbev( jobz, uplo(), size_column(ab), bandwidth(ab,
+ uplo()), begin_value(ab), stride_major(ab), begin_value(w),
+ begin_value(z), stride_major(z),
                 begin_value(work.select(real_type())) );
     }
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -117,7 +117,7 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixAB >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(work.select(fortran_int_t())) >=
@@ -126,8 +126,8 @@
                 n ));
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab) );
- return detail::sbevd( jobz, uplo(), n, bandwidth_upper(ab),
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo()) );
+ return detail::sbevd( jobz, uplo(), n, bandwidth(ab, uplo()),
                 begin_value(ab), stride_major(ab), begin_value(w),
                 begin_value(z), stride_major(z),
                 begin_value(work.select(real_type())),
@@ -169,7 +169,7 @@
         typedef typename result_of::data_side< MatrixAB >::type uplo;
         real_type opt_size_work;
         fortran_int_t opt_size_iwork;
- detail::sbevd( jobz, uplo(), n, bandwidth_upper(ab),
+ detail::sbevd( jobz, uplo(), n, bandwidth(ab, uplo()),
                 begin_value(ab), stride_major(ab), begin_value(w),
                 begin_value(z), stride_major(z), &opt_size_work, -1,
                 &opt_size_iwork, -1 );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -132,7 +132,7 @@
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorIFAIL >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( range == 'A' || range == 'V' || range == 'I' );
@@ -143,9 +143,9 @@
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(q) == 1 || stride_minor(q) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab) );
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo()) );
         BOOST_ASSERT( stride_major(q) >= std::max< std::ptrdiff_t >(1,n) );
- return detail::sbevx( jobz, range, uplo(), n, bandwidth_upper(ab),
+ return detail::sbevx( jobz, range, uplo(), n, bandwidth(ab, uplo()),
                 begin_value(ab), stride_major(ab), begin_value(q),
                 stride_major(q), vl, vu, il, iu, abstol, m, begin_value(w),
                 begin_value(z), stride_major(z),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -118,18 +118,18 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixBB >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
- BOOST_ASSERT( bandwidth_upper(bb) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
+ BOOST_ASSERT( bandwidth(bb, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(work.select(real_type())) >= min_size_work( n ));
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(bb) == 1 || stride_minor(bb) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(bb) >= bandwidth_upper(bb)+1 );
- return detail::sbgv( jobz, uplo(), n, bandwidth_upper(ab),
- bandwidth_upper(bb), begin_value(ab), stride_major(ab),
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(bb) >= bandwidth(bb, uplo())+1 );
+ return detail::sbgv( jobz, uplo(), n, bandwidth(ab, uplo()),
+ bandwidth(bb, uplo()), begin_value(ab), stride_major(ab),
                 begin_value(bb), stride_major(bb), begin_value(w),
                 begin_value(z), stride_major(z),
                 begin_value(work.select(real_type())) );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -125,8 +125,8 @@
         BOOST_STATIC_ASSERT( (is_mutable< MatrixBB >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
- BOOST_ASSERT( bandwidth_upper(bb) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
+ BOOST_ASSERT( bandwidth(bb, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( size(work.select(fortran_int_t())) >=
@@ -136,10 +136,10 @@
         BOOST_ASSERT( size_minor(ab) == 1 || stride_minor(ab) == 1 );
         BOOST_ASSERT( size_minor(bb) == 1 || stride_minor(bb) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(bb) >= bandwidth_upper(bb)+1 );
- return detail::sbgvd( jobz, uplo(), n, bandwidth_upper(ab),
- bandwidth_upper(bb), begin_value(ab), stride_major(ab),
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(bb) >= bandwidth(bb, uplo())+1 );
+ return detail::sbgvd( jobz, uplo(), n, bandwidth(ab, uplo()),
+ bandwidth(bb, uplo()), begin_value(ab), stride_major(ab),
                 begin_value(bb), stride_major(bb), begin_value(w),
                 begin_value(z), stride_major(z),
                 begin_value(work.select(real_type())),
@@ -184,8 +184,8 @@
         typedef typename result_of::data_side< MatrixAB >::type uplo;
         real_type opt_size_work;
         fortran_int_t opt_size_iwork;
- detail::sbgvd( jobz, uplo(), n, bandwidth_upper(ab),
- bandwidth_upper(bb), begin_value(ab), stride_major(ab),
+ detail::sbgvd( jobz, uplo(), n, bandwidth(ab, uplo()),
+ bandwidth(bb, uplo()), begin_value(ab), stride_major(ab),
                 begin_value(bb), stride_major(bb), begin_value(w),
                 begin_value(z), stride_major(z), &opt_size_work, -1,
                 &opt_size_iwork, -1 );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -139,8 +139,8 @@
         BOOST_STATIC_ASSERT( (is_mutable< VectorW >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< MatrixZ >::value) );
         BOOST_STATIC_ASSERT( (is_mutable< VectorIFAIL >::value) );
- BOOST_ASSERT( bandwidth_upper(ab) >= 0 );
- BOOST_ASSERT( bandwidth_upper(bb) >= 0 );
+ BOOST_ASSERT( bandwidth(ab, uplo()) >= 0 );
+ BOOST_ASSERT( bandwidth(bb, uplo()) >= 0 );
         BOOST_ASSERT( jobz == 'N' || jobz == 'V' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( range == 'A' || range == 'V' || range == 'I' );
@@ -151,10 +151,10 @@
         BOOST_ASSERT( size_minor(bb) == 1 || stride_minor(bb) == 1 );
         BOOST_ASSERT( size_minor(q) == 1 || stride_minor(q) == 1 );
         BOOST_ASSERT( size_minor(z) == 1 || stride_minor(z) == 1 );
- BOOST_ASSERT( stride_major(ab) >= bandwidth_upper(ab)+1 );
- BOOST_ASSERT( stride_major(bb) >= bandwidth_upper(bb)+1 );
- return detail::sbgvx( jobz, range, uplo(), n, bandwidth_upper(ab),
- bandwidth_upper(bb), begin_value(ab), stride_major(ab),
+ BOOST_ASSERT( stride_major(ab) >= bandwidth(ab, uplo())+1 );
+ BOOST_ASSERT( stride_major(bb) >= bandwidth(bb, uplo())+1 );
+ return detail::sbgvx( jobz, range, uplo(), n, bandwidth(ab, uplo()),
+ bandwidth(bb, uplo()), begin_value(ab), stride_major(ab),
                 begin_value(bb), stride_major(bb), begin_value(q),
                 stride_major(q), vl, vu, il, iu, abstol, m, begin_value(w),
                 begin_value(z), stride_major(z),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_proxy.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_proxy.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_proxy.hpp 2010-01-12 08:30:13 EST (Tue, 12 Jan 2010)
@@ -59,6 +59,7 @@
     }
 
     static std::ptrdiff_t bandwidth2( const Id& id ) {
+ std::cout << "proxy bandwidth 2 requested.." << std::endl;
         return bindings::bandwidth2( id.data() );
     }
 


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