$include_dir="/home/hyper-archives/geometry/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [geometry] point on/intersects linestring?
From: Adam Wulkiewicz (adam.wulkiewicz_at_[hidden])
Date: 2013-09-04 14:33:28
Barend Gehrels wrote:
> On 4-9-2013 4:14, Adam Wulkiewicz wrote:
>
>>
>> Btw, shouldn't geometry::promote_floating_point<> always promote to 
>> raw floating point type? Currently boost::is_integral<T> trait is 
>> used to check if this type should be promoted. If this type is some 
>> class which means it's not intergal type, it isn't promoted to 
>> floating point type. Shouldn't the test be changed to 
>> !boost::is_float<T> ?
>
> No, because GMP or ttmath or any other floating point high precision 
> number are not catched by that.
>
Just asking. I thought about converting rational<> to some floating 
point number to workaround the lack of numeric_limits specialization but 
rational can't be implicitly converted to a different type so this won't 
work out-of-the-box.
> If there is any Integral high precision number, it is indeed a problem 
> - is_integral will probably return false... That can be helped by (did 
> not try) specializing that yourself. The library is as far as I know 
> never tested for non-standard integral types.
>
> Of course we could do the same trick for floating point... (specialize 
> is_float for ttmath). Then indeed we could change the test.
Or we could add another level of those type traits, e.g. 
geometry::is_float<>, geometry::is_integral<>, geometry::is_unsigned<> 
etc. to not interfere with the TypeTraits library. Then specialize them 
for some known types like ttmath. But this is probably not the priority 
right now.
Regards,
Adam