On 13 December 2012 23:45, Ed Meyer <
address@hidden> wrote:
> that did it, but now it fails 2 tests involving pow. With the old
> std i^2 yields -1 exactly because the implementation of pow in
> /usr/include/c++/4.7/complex accounts for the fact that 2 is an even
> integer; it's wrapped with #ifndef __GXX_EXPERIMENTAL_CXX0X__ The
> new pow just does a polar(y*cos(log(x)), y*sin(log(x))) which
> because of roundoff leaves a tiny value (1.2e-16) in the imag part.
>
> I suppose realpow.m should check the imag part and cast the result
> to real if it is tiny instead of returning an error - what do you
> think?
Could this reasonably be considered a bug in the libstdc++