まつもと ゆきひろです

In message "Re: [ruby-dev:41972] [Bug #3676] CMath.cbrt(-8)の結果が複素数にならない"
    on Tue, 10 Aug 2010 21:28:22 +0900, tadayoshi funaba <redmine / ruby-lang.org> writes:

|CMath.cbrt(-8)の結果が複素数にならない。

現在のCMath.cbrt(-8)の結果は-2で、これは3乗すると-8になるとい
う意味で正しい値に思えるのですが。Cmath.cbrt(-8)が返すべき
「正しい」値はなんだとお考えですか?

あるいは(-2+0i)を返すべきという主張なのかもしれませんが、現在
のCMathの関数群は、全般に「Mathの関数群が実数の範囲で定義され
ずエラーになる場合、CMathの対応する関数は複素数を返す」という
設計になっており、ことさらcbrtについてだけ変える必要があるよ
うには思えません。