[Boost-bugs] [Boost C++ Libraries] #3449: introduce new free functions to access matrix/vector properties

Subject: [Boost-bugs] [Boost C++ Libraries] #3449: introduce new free functions to access matrix/vector properties
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-09-14 19:44:23


#3449: introduce new free functions to access matrix/vector properties
------------------------------+---------------------------------------------
 Reporter: guwi17 | Owner: guwi17
     Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: uBLAS
  Version: Boost 1.40.0 | Severity: Optimization
 Keywords: |
------------------------------+---------------------------------------------
 introduce new functions to make the access to important matrix properties
 more user friendly. The required functions are:

 ''for vector expression''
 {{{
 size( v ); // the number of elements in the vector
 size<1>( v ); // synonym of size( v )
 }}}
 ''for matrix expression''
 {{{
 // rationale: this is the most common name in mathematics
 num_rows( m ); // return number of rows
 num_columns( m ); // return number of row
 }}}
 {{{
 // rationale: size<i> gives the size of the i-th index of operator()
 size<1>( m ); // synonym of num_rows( m )
 size<2>( m ); // synonym of num_columns( m )
 }}}
 ''for matrix containers''
 {{{
 size<tag::major>( m ); // return the number of elements in the outer loop
 size<tag::minor>( m ); // return the number of elements in the inner loop
 }}}
 ''maybe for dense matrix proxies''
 {{{
 // rationale: this is widely used by LAPACK and similar
 size<tag::leading>( m ); // return the leading dimension
 }}}
 '''note:''' The leading dimension is the distance in memory between
 elements of two consecutive rows/columns which have the same colum/row
 index. This value must be extracted from the underlying matrix container.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3449>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:01 UTC