Boost logo

Ublas :

Subject: Re: [ublas] [bindings] Initial support for glas and mtl containers
From: Karl Meerbergen (Karl.Meerbergen_at_[hidden])
Date: 2010-01-15 09:10:05


Great. If I a have a white spot in the week-end I may have a look. Thanks

Karl

Rutger ter Borg wrote:
> Karl Meerbergen wrote:
>
>
>> Dear Rutger,
>>
>> It may be possible to create bindings to all objects that satisfy the
>> glas::StridedDenseVectorCollection and
>> glas::StridedDenseMatrixCollection concepts. With the old bindings that
>> was easy to do with a single traits specialization. (For example, that
>> would automatically include std::vector). I will see if I can do the
>> same with the new traits system. I am rather busy at the moment with
>> other things so it will not be ready soon.
>>
>>
>
> Thanks Karl,
>
> those meta-functions in glas make it very easy to write bindings. In theory,
> one specialization could be used for the whole of glas, but that's probably
> not the most readable one. The granularity is up to the author of the
> specializations.
>
> I just committed an example of a single specialization that binds
> DenseVectorCollection and all its existing descendants (including fixed size
> stuff). See numeric/bindings/glas/dense_vector_collection.hpp. Not sure if
> views/proxies like ranges etc. are collections or expressions? In the latter
> case it may be beneficial to have an adaptor work for expressions, too.
>
> See below for a short code example.
>
> Cheers,
>
> Rutger
>
>
>
> ---
>
> #include <glas/container/dense_vector.hpp>
> #include <glas/container/fixed_size_dense_vector.hpp>
>
> #include <boost/numeric/bindings/glas/dense_vector_collection.hpp>
> #include <boost/numeric/bindings/noop.hpp>
> #include <boost/numeric/bindings/blas/level1/set.hpp>
> #include <boost/numeric/bindings/io.hpp>
>
> namespace bindings = boost::numeric::bindings;
> namespace blas = boost::numeric::bindings::blas;
>
> int main() {
> glas::dense_vector< double > v( 10 );
> std::cout << bindings::noop( v ) << std::endl;
>
> glas::fixed_size_dense_vector< 10, double > w ;
> blas::set( 5.0, w );
> std::cout << bindings::noop( w ) << std::endl;
>
> };
>
>
>
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/ublas
> Sent to: karl.meerbergen_at_[hidden]
>

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm