[#28509] Rational — Tadayoshi Funaba <tadf@...>

ふなばです。

49 messages 2006/04/05
[#28510] Re: Rational — keiju@... (石塚圭樹) 2006/04/05

けいじゅ@いしつかです.

[#28512] Re: Rational — Tadayoshi Funaba <tadf@...> 2006/04/05

ふなばです。

[#28513] Re: Rational — Shin-ichiro HARA <sinara@...> 2006/04/05

原です。

[#28514] Re: Rational — keiju@... (石塚圭樹) 2006/04/05

けいじゅ@いしつかです.

[#28517] Re: Rational — Yukihiro Matsumoto <matz@...> 2006/04/06

まつもと ゆきひろです

[#28520] Re: Rational — keiju@... (石塚圭樹) 2006/04/06

けいじゅ@いしつかです.

[#28521] Re: Rational — Yukihiro Matsumoto <matz@...> 2006/04/06

まつもと ゆきひろです

[#28525] Re: Rational — keiju@... (石塚圭樹) 2006/04/06

けいじゅ@いしつかです.

[#28527] Re: Rational — Shin-ichiro HARA <sinara@...> 2006/04/06

原です。

[#28536] Re: Rational — Shin-ichiro HARA <sinara@...> 2006/04/10

原です。

[#28537] Re: Rational — keiju@... (石塚圭樹) 2006/04/10

けいじゅ@いしつかです.

[#28589] Float#div and Float#divmod [AGAIN] — Shin-ichiro HARA <sinara@...>

原です。

16 messages 2006/04/23

[ruby-dev:28509] Rational

From: Tadayoshi Funaba <tadf@...>
Date: 2006-04-05 14:42:25 UTC
List: ruby-dev #28509
ふなばです。

ruby の標準ライブラリ Rational を便利につかわせてもらっていますが、速
度面で課題がないわけではありません。そこで、原さんの rational
(http://raa.ruby-lang.org/project/rational/) を採用するというのはどう
でしょう。

標準ライブラリのなかでも、Rational は重要なもので、よくつかわれるもの
だと思います。もし速度面での改善が無意味でないならば、検討してみてほし
いと思います。


ついでですが、いくつか気がついたことを書きます。

Rational(-13, 4).to_i は、-4 になりますが、ruby の to_i は truncate の
はずなので、-3 にならないといけないのではないかと思います。

  r = Rational(-13, 4)
  r.to_i => -4
  r.to_f => -3.25
  r.to_f.to_i => -3


以下、divmod は床をとったものと余りになる、たとえば Common Lisp でいえ
ば、

  (multiple-value-list (floor -13/4 1) => (-4 3/4)

で、なおかつ、a.divmod(b) == [a.div(b), a % b] という前提で書きます。


原さんの rational は、r.divmod(1) が [-3, -1/4] になります (div と % も)。

ruby 1.8 では、-3.25.div(1) が -3 になります。1.9 では、-4 になります。

In This Thread

Prev Next