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

 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.


Ticket URL: <>
Boost C++ Libraries <>
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