[#32185] Date#+に大きな数字を与えるとおかしな日付に — "madoka yamamoto" <yamamotomadoka@...>

こんにちは、山本と申します。

26 messages 2007/11/08
[#32186] Re: Date#+に大きな数字を与えるとおかしな日付に — Tadayoshi Funaba <tadf@...> 2007/11/08

> Dateオブジェクトに+で大きな数字を与えるとおかしくなるようです。

[#32188] Re: Date#+に大きな数字を与えるとおかしな日付に — "madoka yamamoto" <yamamotomadoka@...> 2007/11/09

山本です。

[#32191] Re: Date#+に大きな数字を与えるとおかしな日付に — tadf@... 2007/11/09

> アルゴリズムの意味がわからないで書いた、表層的なパッチなので

[#32194] Re: Date#+に大きな数字を与えるとおかしな日付に — Yukihiro Matsumoto <matz@...> 2007/11/09

Hi,

[#32200] Re: rational (Re: Date#+に大きな数字を与えるとおかしな日付に) — Tadayoshi Funaba <tadf@...> 2007/11/10

> 1.9ではRationalとComplexを組み込みに、という話はありましたが、

[#32225] Re: rational (Re: Date#+に大きな数字を与えるとおかしな日付に) — Shin-ichiro HARA <sinara@...> 2007/11/12

原です。

[#32198] [提案] Array#tail — "Yusuke ENDOH" <mame@...>

遠藤と申します。

21 messages 2007/11/09
[#32199] Re: [提案] Array#tail — Yukihiro Matsumoto <matz@...> 2007/11/10

まつもと ゆきひろです

[#32352] 1.9.1のリリース時期について — KIMURA Koichi <hogemuta@...>

木村です。

16 messages 2007/11/24
[#32353] Re: 1.9.1のリリース時期について — Yukihiro Matsumoto <matz@...> 2007/11/24

まつもと ゆきひろです

[#32403] Next 1.8.6 patch release? (was Re: 1.9.1のリリース時期について) — Takahiro Kambe <taca@...>

こんばんは。

32 messages 2007/11/29
[#32414] Re: Next 1.8.6 patch release? (was Re: 1.9.1のリリース時期について) — Urabe Shyouhei <shyouhei@...> 2007/11/30

卜部です。

[#32444] Re: Next 1.8.6 patch release? (was Re: 1.9.1のリリース時期について) — Yukihiro Matsumoto <matz@...> 2007/12/03

まつもと ゆきひろです

[#32488] Re: Next 1.8.6 patch release? (was Re: 1.9.1のリリース時期について) — Urabe Shyouhei <shyouhei@...> 2007/12/08

卜部です。

[#32525] Re: Next 1.8.6 patch release? (was Re: 1.9.1のリリース時期について) — "Yusuke ENDOH" <mame@...> 2007/12/10

遠藤と申します。

[#32643] Re: Next 1.8.6 patch release? (was Re: 1.9.1のリリース時期について) — "Yusuke ENDOH" <mame@...> 2007/12/19

遠藤です。

[#32409] Re: [ruby-cvs:21293] Ruby:r14056 (trunk): * signal.c (trap_signm): SIGVTALRM no longer used for green — SASADA Koichi <ko1@...>

 ささだです.

10 messages 2007/11/30

[ruby-dev:32269] Re: round missing (mswin32)

From: Urabe Shyouhei <shyouhei@...>
Date: 2007-11-13 15:11:43 UTC
List: ruby-dev #32269
卜部です。

きむらこういち wrote:
>> 可能性としてはこれくらい?
>> * round使わない。
>> * missing/round.cを作る。configureで存在性を確認する。
>> * Float#roundはあるんだからそれを使う
>>     
>
> rev 13907 で、ifdefを切ってroundがない場合には
>
> val = (div < 0) ? ceil(x - 0.5) : floor(x + 0.5);
>
> のようにする修正が入っていますがどんなもんでしょうか。
>   

ええ。投稿した後にsvn upしたら既に入っていてちょっと腰砕けに...

話題(1):
問題の箇所はFloat#divmodの中のdivisor部分なので、そもそもdivは整数にすで
になってるか非常に近い値のはずなのです。したがって偶数丸めがどうとかで悩
むことはないはずです。もっとも近い整数値に丸まってくれればOKです。

話題(2):
ところでFloat#roundの実装というのも実のところ正なら床で負なら天井とい
う、上とほとんど同じ実装になってるわけで、まとめてround() に置き換えると
いうのもありだとは思います。システムが提供するround()があれば、たとえば
doubleよりも高精度な演算とかをしてくれるかもしれません。典型的にはx86で
80bit演算してくれるとか。
# c.f. http://d.hatena.ne.jp/hnw/20070623

> Google code search でみつけた round の実装だと、インラインアセンブラも
> 使ってました。

っていうのはそういうところを意図してるとかじゃないですかね。

In This Thread