Boost logo

Geometry :

Subject: [ggl] abs warning on Linux
From: V D (zedxz2)
Date: 2011-10-25 03:46:51


Thanks, will definitely give that a try!

On Oct 22, 2011, at 6:42 AM, Barend Gehrels wrote:

> Hi,
>
> On 22-10-2011 4:49, V D wrote:
>> Hi Barend,
>>
>> Is it possible to know what/where was the patch for this ? I'm trying to move to TTMath instead of double because I'm having precision problems.
>> But I cannot get it to compile because of abs.
>>
>> I get errors such as:
>>
>> boost/geometry/algorithms/detail/overlay/assign_parents.hpp:80: error: cannot convert ?ttmath::Big<1ul, 32ul>? to ?int? for argument ?1? to ?int abs(int)?
>> boost/geometry/strategies/cartesian/cart_intersect.hpp:350: error: cannot convert ?ttmath::Big<1ul, 32ul>? to ?int? for argument ?1? to ?int abs(int)?
>>
>
> The cause is that ttmath does not support std::abs. Therefore there is a small stub necessary, which should be included like this:
>
> #include <boost/geometry/extensions/contrib/ttmath_stub.hpp>
>
> The stub does not much but is essential:
>
> - it enables the ADL finding of: sqrt,abs,sin,cos and some other math-functions (IMO ttmath should do this itself, I have to contact the author if he agrees and is willing to do this)
>
> - it defines ttmath_big, which is alas necessary everywhere T() is used (in quite some places). The reason is that ttmath's default constructor does not initialize to zero. Which is what T() expects. Have to contact about this too.
>
> - it defines pi
>
> - it can cast coordinates from/to strings (necessary to read from WKT)
>
> - it can cast coordinates numerically (supporting boost::numeric_cast) (which is not supported by ttmath intentionally, but sometimes, e.g. by writing to non-ttmath SVG map's, necessary
>
>
> So alas you need this stub.
>
> The ggl's ttmath_big is not templated, which is actually (now that I review it) limiting but we can easily add a templated version.
>
> Regards, Barend
>
>
> _______________________________________________
> ggl mailing list
> ggl_at_[hidden]
> http://lists.osgeo.org/mailman/listinfo/ggl


Geometry list run by mateusz at loskot.net