Boost logo

Boost :

Subject: Re: [boost] Looking for some "real world" extended precision integer arithmetic tests
From: Andrii Sydorchuk (sydorchuk.andriy_at_[hidden])
Date: 2012-02-21 15:22:03

Hi John

BTW I tried to run the test on Linux as well, but I couldn't get your code
> to compile there....

I recently migrated all the development to the 64bit Linux + gcc 4.6.1 and
fixed all the errors and warnings. So if you sync it should be fine. Also
the previous voronoi_fixed_int_test.cpp* *won't compile so please use the
new one (in the attachments).

This is with the latest gtl sandbox code BTW. Maybe you've changed
> something to make the code much less dependent on the integer type?

The reason why you get such close results is because lazy arithmetic kernel
is enabled by default. That means that in 95% of computations fixed_int is
not used at all. The configuration of the predicate kernel is not exposed
to the user. So to disable lazy arithmetic kernel you should change it
manually: file boost/polygon/detail/voronoi_predicates.hpp change "typename
CFF = lazy_circle_formation_functor<Site, Circle> >" to "typename CFF =
mp_circle_formation_functor<Site, Circle> >".

 I assume that the only code I need to change to test a new type is the
> line that defines big_int_type in voronoi_user_traits?

With the change above it's the only thing you need to change (+2 entries in
the fpt_converters arguments above the voronoi_user_traits definition).

mp_number<fixed_int<128, true> >

Please don't try to run the algorithm with 128-bit fixed_int because it may
cause algorithm to fail or produce incorrect results. The size of the
fixed_int should be at least 256 bits.

Cheers, Andrii.
Unsubscribe & other changes:**

Boost list run by bdawes at, gregod at, cpdaniel at, john at