C99 附属書 F (IEEE 浮動小数点サポート) は次のように述べています。
pow(−∞, y)
奇数でない y > 0 に対して +∞ を返します。
しかし、たとえば、(−∞) 0.5は実際には +∞ ではなく ±∞i の虚数値を持ちます。C99 自身sqrt(−∞)
は NaN を返し、予想どおりドメイン エラーを生成します。では、なぜpow
+∞ を返す必要があるのでしょうか?
(他のほとんどの言語は C ライブラリを直接使用するか、この場合の Python のように、標準で必要な動作をコピーするため、実際には C99 以外にも影響します。)