Vector types

Иван Вайгульт i.vaigult at gmail.com
Sat Sep 22 00:53:24 CEST 2012


I will try to refactor to mpz_class. Thanks, everybody!

2012/9/22 Marc Glisse <marc.glisse at inria.fr>

> On Sat, 22 Sep 2012, Иван Вайгульт wrote:
>
>  I have found answer on my last question :-)
>>
>>  Expressions which by their nature imply intermediate values, like
>>> a=b*c+d*e, still use temporaries though.
>>>
>>
>> That is why I can not use mpz_class.
>>
>
> What this sentence means (never mind if the example is not the best) is
> that if you cannot write the C code such that there is no temporary, then
> the C++ code won't magically find a way. Even when it is possible, it may
> not always find that way. Also, addmul doesn't prevent the use of a
> temporary, it just uses an internal temporary, which tends to be cheaper.
>
>
>  Can you not use a custom allocator with vector<>?
>>
>
> That would be useless. On the other hand, you can use a custom allocator
> with gmp. This way you can first malloc a large region of memory, then
> initialize the elements of the array in order, and your custom allocator
> can give them consecutive parts of your malloc region.
>
> --
> Marc Glisse
>


More information about the gmp-discuss mailing list