2011年5月12日

[ruby-list:48085] Re: 小数点つき時刻情報とTime#parse

2011年5月10日16:08 EGUCHI Osamu <eguchi@xxxxx>:

>> 64bit 整数型の存在に関する仮定に関して、
>> 1.9 で変化したという覚えはないんですが、
>> なにかありましたっけ?
>
> 64bit 整数型の有無により条件コンパイルで
> ある場合は処理系の組み込み型を使い、

> 必要に応じてBignumにシフトチェンジするようです。

time.c の変化を尋ねたのではありません。

64bit 整数型の存在を条件なしに仮定していいか、
という環境に関する想定が Ruby 1.9 で変化したのか、
ということを尋ねたのです。

もし Ruby 1.9 では 64bit 整数型の存在を仮定していい、ということであれば、
存在しないケースを考えずに済むようになり、
(私にとって) 喜ばしく、そのため、この点にはとても強い興味を持っているのですが、
なにか確かな根拠はあるでしょうか。

>>> いま話題にしている1.8では64bit 整数型をイミュレーションするコードはないですが、
>>> そのようなプラットホームでも [ruby-list:48070]で私が示したワークアラウンドは有効です。
>>
>> 理解できません。
>
> ワークアラウンド=
> Cで書かれたTime同士の引き算の桁落ちを Rubyで書いたメソッドで
> 回避することができているという意味です。
> #そのようなプラットホーム=bccでコンパイルされた環境

なるほど。理解できました。

> Cで書かれたメソッドを計算結果に変化がある形で変更するのは
> (それが精度向上であっても)1.8 には取り込むべきではない
> と言うのが私のスタンスです。

ふむ。それはひとつの立場ですね。

ということは、最初の質問に対する答は、
誤差は改善できるが Ruby 1.8 では改善されないので
ワークアラウンドでどうにかするなど注意してください、
というところですかね。

浮動小数点のせい、というのはかなりポイントを外している気がするなぁ。
--
[田中 哲][たなか あきら][Tanaka Akira]


投稿者 xml-rpc : 2011年5月12日 10:56
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/103845
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。