Boost logo

Boost :

Subject: Re: [boost] [math] boost::math::isfinite fails with --fast-math
From: Tim Blechmann (tim_at_[hidden])
Date: 2012-11-26 08:42:36


>>> I'm wandering if this is to be expected, the following code
>>> fails if compiled with --fast-math:
>>>
>>> //====================================================
>>> #include <boost/math/special_functions/fpclassify.hpp>
>>> int main() {
>>> const float a = 0.0f/0.0f;
>>> assert(not boost::math::isfinite(a));
>>> }
>>
>> Which fails - does the 0/0 actually yield an infinity? Or is it isfinite that fails?
>>
>> Either way is hard to make guarentees once you enable an option like that.
>
> The following code:
>
[snip]
>
> so I believe somehow even with --fast-math it should be possible to make it
> "working" (if it has to be).

rtfm: you asked the compiler to assume that neither arguments nor
results are NaNs or Infs. if your code uses or generates NaNs or Infs
its behavior is undefined.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk