[llvm-commits] [llvm] r49458 - /llvm/trunk/lib/Transforms/IPO/SimplifyLibCalls.cpp

Chris Lattner sabre at nondot.org
Thu Apr 10 09:51:48 PDT 2008


On Apr 10, 2008, at 9:47 AM, Duncan Sands wrote:

> On Thursday 10 April 2008 18:21:24 Chris Lattner wrote:
>> On Apr 10, 2008, at 4:25 AM, Duncan Sands wrote:
>>>>>> +      // x    pow(x, 0.5)  sqrt(x)
>>>>>> +      // ---------------------------------------------
>>>>>> +      // -0.0    +0.0       -0.0
>>>>>> +      // -inf    +inf       NaN
>>>>>
>>>>> looks like pow is broken.  Is pow's behaviour documented
>>>>> anywhere?  On my machine the man page says:
>>>>>
>>>>>      The pow() function can return the following error:
>>>>>
>>>>>      EDOM   The  argument x is negative and y is not an integral
>>>>> value.  This would result in a complex num‐
>>>>>             ber.
>>>>>
>>
>> -0.0 is negative, but it *is* an integral value, so EDOM doesn't  
>> apply.
>
> You are confusing x and y.

Whoa, you're right. I'll ping my numeric guru and ask why. :)

-Chris



More information about the llvm-commits mailing list