Boost logo

Ublas :

Subject: Re: [ublas] bindings for matrix_vector_range, matrix_vector_slice, bounded_matrix, bounded_vector
From: Thomas Klimpel (Thomas.Klimpel_at_[hidden])
Date: 2008-10-21 16:40:02


> I've attached a selection of code to test these bindings. I hope this helps.

Thank you. I added it to the test. I also added

// Copyright Markus Rickert 2008
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at

at the top of the file. Is this OK?

> > The report at
> >
> > doesn't mention stride1/stride2 functionality. I think the stride1/stride2 functionality
> > is an implementation detail of ublas_matrix.hpp used to implement the "storage" functionality.
> > Since ublas_vector2.hpp doesn't seem to depend on ublas_matrix.hpp,
> > I don't think that it should have stride1/stride2 functionality.
> I saw it listed in matrix_traits.hpp and found it rather useful while
> creating bindings for the Intel IPP libraries (e.g. ippmMul_mt_64f()
> with two vectors as input).

I added your patch, but commented out the stride1/stride2 functionality in ublas_vector2.hpp.
In case the stride1/stride2 functionality is important, free accessor functions dense_matrix_stride1 and dense_matrix_stride2 should be created instead, where matrix_traits<M>::leading_dimension(m) / 1 would be returned, dependent on matrix_traits<M>::ordering_type.