Hey,
I have to admit I am not super familiar with long doubles, either than
knowing they are 128-bit FP representations... but bisect has pointed me
to this patch when investigating a regression on aarch64_be-none-elf for
the libstdc++ testcase: 26_numerics/complex/13450.cc
After some reduction and investigation I found that __complex_pow<long
double> now returns a different value (which I believe is a NaN) after
this patch. Some debugging and it seems that the implementation of
complex_pow itself has not changed, or at least I didn't spot a change
but the underlying sqrtl is different, assuming one is from libstdc++
and the other from newlib? The one used prior to this patch when called
with input 0x3fff0000...0000 which I believe to be the value 1.0,
returns the same value. Whereas the new one returns 0x4101000...0000fdfa
with the same input.
Can you just confirm this is 'wrong' and that the problem is likely to
be with the big-endian implementation of sqrtl in I'm guessing newlib?
Kind regards,
Andre
- Re: libstdc++-v3: do not duplicate some math function... Andre Vieira (lists)
-