Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r60790 - in sandbox/numeric_bindings/boost/numeric/bindings: mumps ublas umfpack
From: thomas.klimpel_at_[hidden]
Date: 2010-03-23 03:57:29


Author: klimpel
Date: 2010-03-23 03:57:27 EDT (Tue, 23 Mar 2010)
New Revision: 60790
URL: http://svn.boost.org/trac/boost/changeset/60790

Log:
fixed implementation of end_value and end_index_minor. Replaced "num_nonzeros( m )" by "end_value( m ) - begin_value( m )".
Text files modified:
   sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_6_4.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_8_0.hpp | 4 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_sparse.hpp | 14 +++++---------
   sandbox/numeric_bindings/boost/numeric/bindings/umfpack/umfpack.hpp | 14 +++++++-------
   4 files changed, 16 insertions(+), 20 deletions(-)

Modified: sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_6_4.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_6_4.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_6_4.hpp 2010-03-23 03:57:27 EDT (Tue, 23 Mar 2010)
@@ -213,10 +213,10 @@
     data.n = boost::numeric::bindings::size_row( m ) ;
     assert( boost::numeric::bindings::size_column( m ) == data.n ) ;
 
- data.nz = boost::numeric::bindings::detail::adaptor_access<M>::num_nonzeros( m ) ;
+ data.nz = boost::numeric::bindings::end_value( m ) - boost::numeric::bindings::begin_value( m );
     detail::indices( typename boost::numeric::bindings::detail::property_at< M, tag::data_order >::type(), data.irn, data.jcn, m ) ;
 
- data.nz_loc = boost::numeric::bindings::detail::adaptor_access<M>::num_nonzeros( m ) ;
+ data.nz_loc = boost::numeric::bindings::end_value( m ) - boost::numeric::bindings::begin_value( m );
     detail::indices( typename boost::numeric::bindings::detail::property_at< M, tag::data_order >::type(), data.irn_loc, data.jcn_loc, m ) ;
   } // matrix_integer_data()
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_8_0.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_8_0.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/mumps/mumps_driver_4_8_0.hpp 2010-03-23 03:57:27 EDT (Tue, 23 Mar 2010)
@@ -220,10 +220,10 @@
     data.n = boost::numeric::bindings::size_row( m ) ;
     assert( boost::numeric::bindings::size_column( m ) == data.n ) ;
 
- data.nz = boost::numeric::bindings::detail::adaptor_access<M>::num_nonzeros( m ) ;
+ data.nz = boost::numeric::bindings::end_value( m ) - boost::numeric::bindings::begin_value( m ) ;
     detail::indices( typename boost::numeric::bindings::detail::property_at< M, tag::data_order >::type(), data.irn, data.jcn, m ) ;
 
- data.nz_loc = boost::numeric::bindings::detail::adaptor_access<M>::num_nonzeros( m ) ;
+ data.nz_loc = boost::numeric::bindings::end_value( m ) - boost::numeric::bindings::begin_value( m ) ;
     detail::indices( typename boost::numeric::bindings::detail::property_at< M, tag::data_order >::type(), data.irn_loc, data.jcn_loc, m ) ;
   } // matrix_integer_data()
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_sparse.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_sparse.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/ublas/matrix_sparse.hpp 2010-03-23 03:57:27 EDT (Tue, 23 Mar 2010)
@@ -54,7 +54,7 @@
     }
 
     static value_type* end_value( Id& id ) {
- return bindings::end_value( id.value_data() );
+ return bindings::begin_value( id.value_data() ) + id.nnz();
     }
 
     static index_type* begin_compressed_index_major( Id& id ) {
@@ -70,7 +70,7 @@
     }
 
     static index_type* end_index_minor( Id& id ) {
- return bindings::end_value( id.index2_data() );
+ return bindings::begin_value( id.index2_data() ) + id.nnz();
     }
 
 };
@@ -94,10 +94,6 @@
 
     BOOST_STATIC_CONSTANT (std::size_t, index_base = IB);
 
- static std::ptrdiff_t num_nonzeros ( const Id& id ) {
- return id.nnz();
- }
-
     static std::ptrdiff_t size1( const Id& id ) {
         return id.size1();
     }
@@ -111,7 +107,7 @@
     }
 
     static value_type* end_value( Id& id ) {
- return bindings::end_value( id.value_data() );
+ return bindings::begin_value( id.value_data() ) + id.nnz();
     }
 
     static index_type* begin_index_major( Id& id ) {
@@ -119,7 +115,7 @@
     }
 
     static index_type* end_index_major( Id& id ) {
- return bindings::end_value( id.index1_data() );
+ return bindings::begin_value( id.index1_data() ) + id.nnz();
     }
 
     static index_type* begin_index_minor( Id& id ) {
@@ -127,7 +123,7 @@
     }
 
     static index_type* end_index_minor( Id& id ) {
- return bindings::end_value( id.index2_data() );
+ return bindings::begin_value( id.index2_data() ) + id.nnz();
     }
 
 };

Modified: sandbox/numeric_bindings/boost/numeric/bindings/umfpack/umfpack.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/umfpack/umfpack.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/umfpack/umfpack.hpp 2010-03-23 03:57:27 EDT (Tue, 23 Mar 2010)
@@ -139,7 +139,7 @@
     {
       int n_row = bindings::size_row (A);
       int n_col = bindings::size_column (A);
- int nnz = bindings::detail::adaptor_access<MatrA>::num_nonzeros (A);
+ int nnz = bindings::end_value (A) - bindings::begin_value (A);
 
       typedef typename bindings::value_type<MatrA>::type val_t;
 
@@ -173,7 +173,7 @@
 #endif
       int n_row = bindings::size_row (A);
       int n_col = bindings::size_column (A);
- int nnz = bindings::detail::adaptor_access<MatrA>::num_nonzeros (A);
+ int nnz = bindings::end_value (A) - bindings::begin_value (A);
 
       typedef typename bindings::value_type<MatrA>::type val_t;
 
@@ -366,7 +366,7 @@
     {
       int n_row = bindings::size_row (A);
       int n_col = bindings::size_column (A);
- int nnz = bindings::detail::adaptor_access<MatrA>::num_nonzeros (A);
+ int nnz = bindings::end_value (A) - bindings::begin_value (A);
 
       typedef typename bindings::value_type<MatrA>::type val_t;
 
@@ -512,7 +512,7 @@
 #endif
       int n_row = bindings::size_row (A);
       int n_col = bindings::size_column (A);
- int nnz = bindings::detail::adaptor_access<MatrA>::num_nonzeros (A);
+ int nnz = bindings::end_value (A) - bindings::begin_value (A);
 
       typedef typename bindings::value_type<MatrA>::type val_t;
 
@@ -644,7 +644,7 @@
     {
 
       int n = bindings::size_row (A);
- int nnz = bindings::detail::adaptor_access<MatrA>::num_nonzeros (A);
+ int nnz = bindings::end_value (A) - bindings::begin_value (A);
 
       typedef typename bindings::value_type<MatrA>::type val_t;
 
@@ -837,7 +837,7 @@
 #endif
       int n_row = bindings::size_row (A);
       int n_col = bindings::size_column (A);
- int nnz = bindings::detail::adaptor_access<MatrA>::num_nonzeros (A);
+ int nnz = bindings::end_value (A) - bindings::begin_value (A);
 
       typedef typename bindings::value_type<MatrA>::type val_t;
 
@@ -1051,7 +1051,7 @@
     {
       return detail::report_triplet (bindings::size_row (A),
                                      bindings::size_column (A),
- bindings::detail::adaptor_access<MatrA>::num_nonzeros (A),
+ bindings::end_value (A) - bindings::begin_value (A),
                                      bindings::begin_index_major (A),
                                      bindings::begin_index_minor (A),
                                      bindings::begin_value (A),


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