まつもと ゆきひろです
In message "[ruby-list:8669] Re: can't build 1.1b9_28 on digital-unix"
on 98/07/10, Go Nakagawa <nakagawa / shizuokanet.ne.jp> writes:
|中川です。
|> |> % ruby -e 'p 1<<1014'
|> |> % ruby -e 'p 2**1014'
|>
|> こちらも教えて下さいね.
|
|1.1b9_29, 1.1b9_29+[ruby-list:8660]のパッチ、1.1b9_30 で同じ
|結果になりました。
ありがとうございます.お手数かけます.うちのalphaマシンが動
くようになれば64bitアーキテクチャのテストも出来るんでしょう
けど(今はビデオカードがない).
|% ruby -e 'p (-1<<32)'
|0
おかしいですね.このパッチはどうでしょう.関係ないかな.
--- numeric.c 1998/07/09 08:40:18 1.1.1.2.2.24
+++ numeric.c 1998/07/10 09:11:42
@@ -1096,8 +1096,9 @@
{
- long val, width;
+ long val;
+ int width;
val = NUM2LONG(x);
- width = NUM2LONG(y);
+ width = NUM2INT(y);
if (width > (sizeof(VALUE)*CHAR_BIT-1)
- || (unsigned long)val>>(sizeof(VALUE)*CHAR_BIT-1-width) > 0) {
+ || ((unsigned long)val)>>(sizeof(VALUE)*CHAR_BIT-1-width) > 0) {
return big_lshift(int2big(val), y);
|% ruby -e 'p 2**1014'
|0
げ.おかしいなあ.b9_30ではlongに依存する部分はなくしたと思っ
たのになあ.