Why the Math.Pow(1.0, double.NaN) command returns NaN instead of the correct 1.0? I understand NaN as an indefinite value (mathematically) that represents all the real numbers including positive and negative infinities.
And for all these values, the expression is always mathematically correct and equals 1.0.
E.g. Python has it, and 1**float("nan") == 1 is True, in accordance with IEEE standard:
For any value of y (including NaN), if x is +1, 1.0 shall be returned.