[#20525] [BigDecimal] changing rule of coerce — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

44 messages 2003/07/07
[#20527] Re: [BigDecimal] changing rule of coerce — "Shigeo Kobayashi" <shigeo@...> 2003/07/07

小林です。

[#20528] Re: [BigDecimal] changing rule of coerce — matz@... (Yukihiro Matsumoto) 2003/07/07

まつもと ゆきひろです

[#20570] Marshal upgrade — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

41 messages 2003/07/09
[#20575] Re: Marshal upgrade — Masatoshi SEKI <m_seki@...> 2003/07/09

咳といいます。

[#20583] Re: Marshal upgrade — matz@... (Yukihiro Matsumoto) 2003/07/09

まつもと ゆきひろです

[#21016] Re: Marshal upgrade — matz@... (Yukihiro Matsumoto) 2003/07/30

まつもと ゆきひろです

[#20804] add library — nobu.nakada@... 2003/07/23

なかだです。

[#20580] add library(Re:ruby-dev:20570) — たむらけんいち <sgs02516@...>

たむらです。

30 messages 2003/07/09
[#20656] Re: add library — "NAKAMURA, Hiroshi" <nakahiro@...> 2003/07/14

なひです。

[#20658] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <038d01c349cb$eaad71d0$93222fc0@sarion.co.jp>,

[#20659] Re: add library — matz@... (Yukihiro Matsumoto) 2003/07/14

まつもと ゆきひろです

[#20660] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <1058171960.400840.10041.nullmailer@picachu.netlab.jp>,

[#20661] Re: add library — Takahiro Kambe <taca@...> 2003/07/14

話をそらしてしまうかもしれませんが、

[#20665] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <20030714.183104.09092354.taca@back-street.net>,

[#20666] Re: add library — Takahiro Kambe <taca@...> 2003/07/14

In message <20030715.013655.424936247.gotoyuzo@kotetsu.does.notwork.org>

[#20668] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <20030715.025907.26217115.taca@back-street.net>,

[#20750] Re: add library — Takahiro Kambe <taca@...> 2003/07/21

In message <20030715.051853.968499478.gotoyuzo@kotetsu.does.notwork.org>

[#20751] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/21

In message <20030721.163444.09092937.taca@back-street.net>,

[#20655] frozen ThreadGroup — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

26 messages 2003/07/14
[#20671] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/14

まつもと ゆきひろです

[#20673] Re: frozen ThreadGroup — Hidetoshi NAGAI <nagai@...> 2003/07/15

永井@知能.九工大です.

[#20676] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/15

まつもと ゆきひろです

[#20677] Re: frozen ThreadGroup — Hidetoshi NAGAI <nagai@...> 2003/07/15

永井@知能.九工大です.

[#20681] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/15

まつもと ゆきひろです

[#20690] portable(?) UserID/GroupID control (Re: frozen ThreadGroup) — Hidetoshi NAGAI <nagai@...> 2003/07/16

永井@知能.九工大です.

[#20712] Re: portable(?) UserID/GroupID control — Hidetoshi NAGAI <nagai@...> 2003/07/17

永井@知能.九工大です.

[#20735] Re: portable(?) UserID/GroupID control — matz@... (Yukihiro Matsumoto) 2003/07/20

まつもと ゆきひろです

[#20736] Re: portable(?) UserID/GroupID control — Hidetoshi NAGAI <nagai@...> 2003/07/20

永井@知能.九工大です.

[#20737] Re: portable(?) UserID/GroupID control — matz@... (Yukihiro Matsumoto) 2003/07/20

まつもと ゆきひろです

[#20748] [BigDecimal] exception handling — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

20 messages 2003/07/21

[#20765] Re: [ruby-cvs] ruby/lib: * lib/tmpdir.rb: new library to get temporary directory path, — WATANABE Hirofumi <eban@...>

わたなべです。

9 messages 2003/07/21

[#20780] complex.rb — Masahiro TANAKA <masa@...>

complex.rb についての修正案を[ruby-math:00543]で提案しましたが、その後

25 messages 2003/07/22
[#20782] Re: complex.rb — matz@... (Yukihiro Matsumoto) 2003/07/22

まつもと ゆきひろです

[#20900] Re: complex.rb — Masahiro TANAKA <masa@...> 2003/07/25

At Tue, 22 Jul 2003 17:30:31 +0900, Yukihiro Matsumoto wrote:

[#20905] Re: complex.rb — matz@... (Yukihiro Matsumoto) 2003/07/25

まつもと ゆきひろです

[#20906] Re: complex.rb — keiju@... (石塚圭樹) 2003/07/25

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

[#20810] Rational 始めました。 — Shin-ichiro HARA <sinara@...>

原です。

13 messages 2003/07/23
[#20876] Re: Rational 始めました。 — keiju@... (石塚圭樹) 2003/07/24

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

[#20954] ruby 1.8.0 preview5 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2003/07/28

[#20957] [BigDecimal] conflict between Numeric#div and BigDecimal#div — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

29 messages 2003/07/28
[#20960] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — Masahiro TANAKA <masa@...> 2003/07/28

At Mon, 28 Jul 2003 18:26:20 +0900, Tadashi Saito wrote:

[#20962] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — matz@... (Yukihiro Matsumoto) 2003/07/28

まつもと ゆきひろです

[#20990] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — Masahiro TANAKA <masa@...> 2003/07/29

At Mon, 28 Jul 2003 21:16:08 +0900, Yukihiro Matsumoto wrote:

[#20992] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — matz@... (Yukihiro Matsumoto) 2003/07/29

まつもと ゆきひろです

[ruby-dev:20907] Re: 0**(-1) with rational

From: keiju@... (石塚圭樹)
Date: 2003-07-25 22:47:49 UTC
List: ruby-dev #20907
けいじゅ@いしつかです.

In [ruby-dev:20889] the message: "[ruby-dev:20889] Re: 0**(-1) with
rational", on Jul/25 12:49(JST) Yukihiro Matsumoto writes:

>まつもと ゆきひろです

>|数値系のクラスNum1があって, coerceメカニズムを採用している
>|Num1op(other)が定義されている時に,
>|  num.op2(other)
>|して coerceされると, num'.op2(other') が呼ばれますよね?
>|これって仕様として相応しいんでしょうか? num1'.op(other')が呼ばれるべき
>|だと思うのですが?
>
>これはバグです。直します。

了解.

>|>> % ruby -rrational -e 'p 0**(-1)'
>|>> Rational(1, 0)
>|>> % ruby -e 'p 0**(-1)'           
>|>> Infinity
>|
>|たぶん意図してなかったと思います. バグです.
>
>どう直すべきですか。1.8.0のリリースが近いので暫定的でも修正
>したいです。石塚さんが忙しいなら方針(or あるべき状態)だけ出
>してくだされば、だれかの協力をお願いできるのではないかと思い
>ます。

気が付きましたが, これって, 一概にバグとも言えないでね(^^;;; きっと考
えてこの結果だったんだと思います. というのも, 

  (0**(-1)).class => Float 

なので, これは違うだろうってことなんだと思います.

さらに.... この辺りは, すごく深い問題ですね... というのも, rationalも
ですが, 数値系のクラス全体で一貫していないですね. Integer, Float,
Ratinal, BigDecimalで, 各々振る舞いが異なっています.

  0/0     => DevZero
  0.0/0.0 => Nan
  Ratinal(0)/0     => DevZero
  BigDecimal.new("0")/0.0 => Nan
  Complex(0)/0 => DevZero

  1/0     => DevZero
  1.0/0.0 => Infinity(Floatの)
  Ratinal(1)/0     => DevZero
  BigDecimal.new("1")/0.0 => Infinity(BigDecimalの)
  Complex(1)/0 => DevZero

  0**-1    => Infinity(Floatの)
  0.0**-1 => Infinity(Floatの)
  Ratinal(0)**-1 => Rational(1,0)
  BigDecimal.new("0")**-1 => 0.0
  Complex(-1)**0 => Complex(Infinity, Nan)

  0**0     => 1
  0.0**0   => 1
  Rational(0)**0 => Rational(1,1)
  BigDecimal.new("0")**0 => -0.0

# あと, 何かチェック項目ありましたっけ?
  
結論としては, Ratinalの振る舞いはIntegerと同じような感じってなりますか...
Float系とInteger系(含むRational)は振る舞いが異なっても良いのかもしれま
せんが...

# どちらにしても, けっこう重そうな話...

>|そうなんですよね. この件に関しては, いくらなんでもやりすぎかなと思い,
>|デフォルトでは, このような動作はしない方が良いかなと思っていたようで, 
>|その方向で直そうと思っていたみたいです.
>
>これも同様。

こちらはとりあえず削除をすれば良いかと... 


__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju@ishitsuka.com <<---

In This Thread