octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: round-off error in std::pow(std::complex<T>, double) in C++11


From: Paolo Carlini
Subject: Re: round-off error in std::pow(std::complex<T>, double) in C++11
Date: Fri, 25 Jan 2013 16:15:45 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130105 Thunderbird/17.0.2

On 01/25/2013 03:03 PM, Jordi Gutiérrez Hermoso wrote:
error here, that this can reasonably be considered a bug in libstdc++.
I don't have a strong opinion about this issue - whatever Gaby and Marc agree to do is fine with me - but I disagree that this is a plain libstdc++ bug, because: 1- We are following the letter of the Standard in terms of overloads (adding back the C++03 (..., int) overload has implications which go beyond performance and accuracy, eg, the return type for (float, int) becomes float instead of double, and that can be easily detected); 2- We are otherwise simply forwarding to the front-end builtins / underlying libc.

In my opinion - but, as I said already, I'm certainly not going to insist - real progress while remaining conforming would be either adding a more sophisticated set of overloads, in particular preserving the return type and in any case conforming or alternately improving the front-end code handling the builtins or the underlying libc; or maybe even re-open the ISO issue which led to the removal of the overload in the first place.

Paolo.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]