[#34647] fork 不可能な環境での test_argv0_noarg — wanabe <s.wanabe@...>

ワナベと申します。

13 messages 2008/05/11
[#34667] Re: fork 不可能な環境での test_argv0_noarg — Yukihiro Matsumoto <matz@...> 2008/05/13

まつもと ゆきひろです

[#34742] Ruby 1.8.7-preview3 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.7-preview3 をリリースしました。

14 messages 2008/05/18
[#34744] Re: [ruby-list:44957] Ruby 1.8.7-preview3 has been released — Takahiro Kambe <taca@...> 2008/05/19

お疲れ様です。

[#34800] Windows2000上でtrunkがビルドできない — KIMURA Koichi <kimura.koichi@...>

木村です。

18 messages 2008/05/22
[#34801] Re: Windows2000上でtrunkがビルドできない — "U.Nakamura" <usa@...> 2008/05/22

こんにちは、なかむら(う)です。

[#34824] Re: Windows2000上でtrunkがビルドできない — KIMURA Koichi <kimura.koichi@...> 2008/05/23

木村です。

[#34850] Re: Windows2000上でtrunkがビルドできない — KIMURA Koichi <kimura.koichi@...> 2008/05/26

木村です。

[#34854] Re: Windows2000上でtrunkがビルドできない — "U.Nakamura" <usa@...> 2008/05/26

こんにちは、なかむら(う)です。

[#34889] Ruby 1.8.7-preview4 test-all failed in OpenSSL::TestSSL — Nobuhiro IMAI <nov@...>

いまいです。

10 messages 2008/05/29

[ruby-dev:34603] Re: ComplexFloat

From: keiju@... (石塚圭樹)
Date: 2008-05-07 18:40:01 UTC
List: ruby-dev #34603
けいじゅ@いしつかです.

In [ruby-dev :34601 ] the message: "[ruby-dev:34601] Re: ComplexFloat
", on May/07 22:31(JST) Yukihiro Matsumoto writes:

>まつもと ゆきひろです

>|複素数の除算で問題があります。Scheme では
>|  (/ 1 1+1i)
>|は 1/2 - 1/2i か 0.5 - 0.5i のどちらかです。
>|しかし、 Ruby の Complex では mathn を require しない場合
>|-i になります。
>|
>|$ ruby-1.9 -ve 'p 1/(1+Complex::I)'
>|ruby 1.9.0 (2008-04-24 revision 15721) [i686-linux]
>|Complex(0, -1)
>|
>|複素数を使う場合に求められる除算の動作は、Scheme のそれのどちらかだと思います。
>|なので、現在の Ruby の Complex の「/ の意味は自身の実部と虚部に任せる」という
>|方針は変えるべきだと思います。
>
>同意します。

これは. 単にcomplex.c{rb}のバグです. 
# 正直言って威張れない状況なのですが(^^;;;

原因はquoの導入時にComplecxの方は対応できていなかったってことなんです
が, 根本的に/とquoの使い分けが難しいってことがあります. Complex::/の定
義なのにquoを使わなくては行けないって状況になることに気が付きづらいん
ですよね. これは, Complex::/は最適化というほどでもないですが, ちょびっ
とコード改善がされているのでさらにわかりづらくなっています.

>|選択肢としては、
>|
>|1. 実部と虚部が整数の複素数の除算は、実部と虚部を Rational に変換してから行う。
>|2. Complex を捨てて ComplexFloat のみ。
>|3. Scheme の exact complex に相当する ComplexRational を導入する。 
>|4. complex が常に mathn を require する。
>|
>|があろうかと思います。
>
>が、どれが正しい選択であるか判断するのは私だけでは困難なので
>どなたか意見(or 情報)をいただけませんか?

今回のは, バグといえばバグなんですが... 

私としてはあえていいますが, 

>|4. complex が常に mathn を require する。

であり, かつcomplexが組み込みってことは常に4(/の振る舞いにかんしては)
とするってことです. やはり, /とquoの使い分けは結構難しいと思います(そ
れなりにわかっている人でさえも). これは, ふなばさんが以前に指摘してい
る通り, /に足そうせいが成り立っていないせいで起こっている問題です. プ
ログラマに優しくないことはRubyの精神に反しているってことで, 4の方針に
一気に行きましょう!!

4にすると何が起こるかの確認です:
  1/1 => 1
  1/2 => Rational(1,2)
  2/2 => 1

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

In This Thread