From: Go Nakagawa Date: 1998-07-13T18:30:15+09:00 Subject: [ruby-list:8706] Re: can't build 1.1b9_28 on digital-unix 中川です。たびたび恐縮です。 From: matz@netlab.co.jp (Yukihiro Matsumoto) Subject: [ruby-list:8703] Re: can't build 1.1b9_28 on digital-unix Date: Mon, 13 Jul 1998 15:29:59 +0900 > まつもと ゆきひろです > > * sizeof(short)の値は? 2? > * sizeof(VALUE)の値は? 8? sizeof(short) は 2、sizeof(VALUE) は 8 です。 > * 添付のパッチを当てた結果はいかがでしょう? % ruby -e 'p 1<<1014' 175555970201398037864189960037990696642380564349834626243584063630598316216309534309285622385163609395625111210811907575838661883607828732903171318983861449587663958422720200465138886329341888788528401320395513446131006525725061407689368272012526598792334483090416306874948482361796597953940777665648656384 % ruby -e 'p (-1<<1014)' -175555970201398037864189960037990696642380564349834626243584063630598316216309534309285622385163609395625111210811907575838661883607828732903171318983861449587663958422720200465138886329341888788528401320395513446131006525725061407689368272012526598792334483090416306874948482361796597953940777665648656384 % ruby -e 'p 2**1014' 175555970201398037864189960037990696642380564349834626243584063630598316216309534309285622385163609395625111210811907575838661883607828732903171318983861449587663958422720200465138886329341888788528401320395513446131006525725061407689368272012526598792334483090416306874948482361796597953940777665648656384 ここまではいいのですが、 % make test not ok marshal 1 -- /usr/users/nakagawa/ruby-1.1b9_30-alpha/sample/test.rb:925 test failed --------------------------ここから def fact(n) return 1 if n == 0 f = 1 while n>0 f *= n n -= 1 end return f end for i in 0..30 p fact(i) end --------------------------ここまで 上記の結果はパッチをあてた場合は 1 1 2 6 24 120 720 5040 40320 362880 3628800 39916800 479001600 6227020800 87178291200 1307674368000 20922789888000 355687428096000 6402373705728000 121645100408832000 2432902008176640000 20279721984 497693491200 5262197391360 126292737392640 15511210043330985984000000 144432588600115200 10888869450418352160768000000 304888344611713860501504000000 2820914309738004480000 3699376128000 パッチを当てない場合は 1 1 2 6 24 120 720 5040 40320 362880 3628800 39916800 479001600 6227020800 87178291200 1307674368000 20922789888000 355687428096000 6402373705728000 121645100408832000 2432902008176640000 51090942171709440000 1124000727777607680000 25852016738884976640000 620448401733239439360000 15511210043330985984000000 403291461126605635584000000 10888869450418352160768000000 304888344611713860501504000000 8841761993739701954543616000000 265252859812191058636308480000000 です。 -- 中川 剛 / nakagawa@shizuokanet.ne.jp