This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: __builtin_cpow((0,0),(0,0))


Well, i'm studying mathematics and as i know so far 0^0 is always 1 (for real and complex numbers) and well defined even in numerical and theoretical mathematics. Could you point me to some publications which say other things?

cu, Ronny


Duncan Sands wrote:
On Mon, 2005-03-07 at 10:51 -0500, Robert Dewar wrote:

Paolo Carlini wrote:

Andrew Haley wrote:


F9.4.4 requires pow (x, 0) to return 1 for any x, even NaN.



Indeed. My point, basically, is that consistency appear to require the very same behavior for *complex* zero^zero.

I am not sure, it looks like the standard is deliberately vague here, and is not requiring this result.


Mathematically speaking zero^zero is undefined, so it should be NaN.
This already clear for real numbers: consider x^0 where x decreases
to zero.  This is always 1, so you could deduce that 0^0 should be 1.
However, consider 0^x where x decreases to zero.  This is always 0, so
you could deduce that 0^0 should be 0.  In fact the limit of x^y
where x and y decrease to 0 does not exist, even if you exclude the
degenerate cases where x=0 or y=0.  This is why there is no reasonable
mathematical value for 0^0.

Ciao,

Duncan.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]