From: Shin-ichiro HARA Date: 2008-04-02T13:05:24+09:00 Subject: [ruby-dev:34218] Re: Complex組み込み 原です。 > 卜部です。 > > Kenta Murata さんは書きました: >> というのは,sqrt の用途を考えたときに,結果として実数もしくは複素数を期待する >> 場合の方が圧倒的に多いだろうからです.sqrt の結果が整数になる事を期待する人は >> どれだけいるんでしょう? >> > > ここにいます。 > > 私の専門領域(グラフアルゴリズム)では正方対称行列をよく扱いますが、その中 > で上三角あるいは下三角部分のみが書かれたファイルを読み込んで元の正方行列 > を復元することがよくあります。このとき、元の行列のサイズはFile.sizeから > 平方根で求めるのが一番容易ですが、当然その結果は(行列のサイズなのですか > ら)整数を期待します。 ちょっと本題から離れるけど、前からわからなかったのですが、C の math ラ イブラリの仕様として、Math.sqrt(n ** 2).floor は、n になることは保証さ れてるんですかね(n は自然数)。n - 1 になったりしないですかね。多分、大 丈夫なんでしょうけど、明文化されてるでしょうか。 > まあ、何事にも言えることでしょうが、思い込みで「そんなことする奴ぁいねー > よ」とか思ってると、案外いるもんです。 ここは話がちょっとねじれているんですが、sqrt が Integer で欲しい人はそ れなりにいると思います。ruby-math で isqrt を一生懸命議論していたのは、 そいう事です。そいういう人は、Math.sqrt に不安がある。つまり、期待して いる人は Math.sqrt に期待しない。