[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:3577

From: "ohai (Ippei Obayashi)" <redmine@r...>
Date: Thu, 28 Feb 2013 01:32:40 +0900
Subject: [ruby-reference-manual:3577] [るりまプロジェクト - Bug #7576] fdiv と quo は同等ではない(特に 1.9 以降)


Issue #7576 has been updated by ohai (Ippei Obayashi).


r5696 でパッチを取り込みました。よいと思います。他のクラスのドキュメントも書いてください。
----------------------------------------
Bug #7576: fdiv と quo は同等ではない(特に 1.9 以降)
https://bugs.ruby-lang.org/issues/7576#change-37156

Author: pypypy567 (py _)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
reporter: 
ruby_version: 


http://doc.ruby-lang.org/ja/1.9.3/method/Numeric/i/quo.html
現在 Numeric の quo と fdiv は一つの項目にまとめられています。
Numeric 系クラスに fdiv が追加された 1.8.7 では大体 quo と同じC関数で定義されてるようですがその意味付けは異なると思います。

fdiv は頭の f が示すようにほぼ常に Float を返します。
(Complex が絡むと実部と虚部が Float の Complex オブジェクトを返します。)
quo はなるべく正確な商を返します。
具体的には可能なら Rational を返します。
というのは 1.9 以降ですが、1.8系でも require 'rational' すればそうなります。

とりあえず Numeric だけ修正案を書いてみました。


ちなみに 1.9.3 以降で

  1.quo(3.0)  #=> (1/3)
などとなるのは quo の定義が Rational(self) / other みたいな感じになってることと Bug #7203 で報告した変更が原因です。
チケットは quo で書いちゃいましたが Rational クラスでは / と同等です。



-- 
http://bugs.ruby-lang.org/

--
ML: ruby-reference-manual@m...
Info: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      3446 2012-12-16 11:40 [redmine@r...        ] [るりまプロジェクト - Bug #7576][Open] fdiv と quo は同等ではない(特に 1.9 以降)
      3447 2012-12-16 11:46 ┣[redmine@r...        ] [るりまプロジェクト - Bug #7576] fdiv と quo は同等ではない(特に 1.9 以降)
->    3577 2013-02-27 17:32 ┣[redmine@r...        ] [るりまプロジェクト - Bug #7576] fdiv と quo は同等ではない(特に 1.9 以降)
      3581 2013-03-02 16:13 ┣[redmine@r...        ] [るりまプロジェクト - Bug #7576] fdiv と quo は同等ではない(特に 1.9 以降)
      3582 2013-03-02 16:24 ┣[redmine@r...        ] [るりまプロジェクト - Bug #7576] fdiv と quo は同等ではない(特に 1.9 以降)
      3592 2013-03-12 14:49 ┗[redmine@r...        ] [るりまプロジェクト - Bug #7576][Closed] fdiv と quo は同等ではない(特に 1.9 以降)