Re: [Boost-bugs] [Boost C++ Libraries] #4034: better vector/matrix assignment (or initialization)

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4034: better vector/matrix assignment (or initialization)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-03-28 20:39:42


#4034: better vector/matrix assignment (or initialization)
------------------------------+---------------------------------------------
 Reporter: guwi17 | Owner: guwi17
     Type: Patches | Status: new
Milestone: To Be Determined | Component: uBLAS
  Version: Boost 1.42.0 | Severity: Optimization
 Keywords: assigment |
------------------------------+---------------------------------------------

Comment(by nasos_i@…):

 I attach a whole new version of the assignment operator
 (assignment.patch.tar.gz). The patch contains a header assignment.hpp and
 unit tests (test_assignment.cpp). I think some sophisticated assignment
 tricks can be used with those operators (still finding news ways they can
 be used). This version is a complete rewrite, but in terms of interface
 the differences are the following:

 0. Name was changed to assignment after Boost.Assignment.

 1. non_vector(T i) was removed and was replaced by move(T i)

 2. move(T i, T j) was added for matrix expression traversing

 3. Absolute traverser was added so that move_to(T i) and move_to(T i, T j)
 can be used on vector and matrix containers respectively.

 4. mat1 << mat2, ... support was added

 5. A simple traits mechanism so that fill policy can be chosen was
 implemented. This allows for:

 {{{
 compressed_matrix<double> cm;
 cm << fill_policy::sparse_push_back(),
       1, 2, mat, vec, vec_expres, ...;
 }}}

 6. A number of test cases were added in the spirit of
 http://svn.boost.org/svn/boost/trunk/libs/numeric/ublas/test/test_coordinate_matrix_sort.cpp.

 They patch looks ready for merging to ublas, but of course this is only
 under my eyes. Comments, suggestions are HIGHLY desired.

 Beside the sparse_push_back policy, performance was not considered but
 with the fill_policy tag it looks that we can implement more sophisticated
 assignments now.

 I can write a small tutorial or guide, but I would like to now the format
 I should provide it in.

 Best
 Nasos

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4034#comment:1>
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:02 UTC