Boost logo

Ublas :

Subject: Re: [ublas] fixed_array in storage.hpp
From: Nasos Iliopoulos (nasos_i_at_[hidden])
Date: 2015-01-22 20:10:21


Thinking it over there may be a reason to implement a fixed_array class
and that is to remove the default (zero for numeric types)
initialization of the std::array. This would speed up code like:

(using ublas::fixed_vector here:)

fixed_vector<double,3 > v; // Right now this will initialize to 3 zeros
which is redundant.

for ( auto i = 0 ; i != 3; i++)
{
    v[i] = i;
}

For small arrays though this there is a safe and much better alternative:

fixed_vector<double,3> v( {0, 1, 2} ) ;

and hence I am not sure if it would be wise to implement a
non-initialization fixed_array class.

Another option I was thinking was to implement some sort of "lambda
initialization" i.e. a user provided function that is used in the
constructor. The problem with this is that it may provide opportunities
to break encapsulation and that would be terrible in the construction
phase. I am not ruling out such a feature though.

-Nasos

On 01/22/2015 05:59 PM, Joaquim Duran Comas wrote:
> I see. I can use std:array.
>
>
> 2015-01-22 15:03 GMT+01:00 Nasos Iliopoulos <nasos_i_at_[hidden]
> <mailto:nasos_i_at_[hidden]>>:
>
> Why do you want to do that? Can't you use std::array?
>
> On 01/21/2015 08:04 PM, Joaquim Duran Comas wrote:
>> I would like to create a fixed_array in strorage.hpp file. Is
>> there any inconvenient?
>>
>> Joaquim Duran
>>
>>
>>
>> _______________________________________________
>> ublas mailing list
>> ublas_at_[hidden] <mailto:ublas_at_[hidden]>
>> http://lists.boost.org/mailman/listinfo.cgi/ublas
>> Sent to:athanasios.iliopoulos.ctr.gr_at_[hidden] <mailto:athanasios.iliopoulos.ctr.gr_at_[hidden]>
>
>
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden] <mailto:ublas_at_[hidden]>
> http://lists.boost.org/mailman/listinfo.cgi/ublas
> Sent to: jdurancomas_at_[hidden] <mailto:jdurancomas_at_[hidden]>
>
>
>
>
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/ublas
> Sent to: nasos_i_at_[hidden]