[#33948] Schedule for the 1.8.7 release — "Akinori MUSHA" <knu@...>
Hi, developers,
[#33955] --encoding affects script encoding — sheepman <sheepman@...>
こんばんは sheepman です。
なかだです。
[#33962] Ruby1.9.0でのインタプリタ組み込みについての質問 — Masayuki Yamaguchi <Yamaguchi.Masayuki@...>
山口と申します。
[#33966] Re: [ruby-cvs:22881] Ruby:r15644 (trunk): * test/ruby/test_m17n_comb.rb (TestM17NComb::test_str_chomp): test — Tanaka Akira <akr@...>
In article <200802291457.m1TEv6nh008515@ci.ruby-lang.org>,
まつもと ゆきひろです
[#33974] Test::Unit::Collector::Dirがtest_*.rb以外集めてくれない — "Ken Date" <itacchi@...>
こんにちは、伊達です。
[#33983] Re: [ruby-cvs:22913] Re: Ruby:r15674 (trunk): * gc.c (add_heap): sort heaps array in ascending order to use — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
In article <E1JWAV5-0001MG-9W@x61.netlab.jp>,
[#34011] Should --verbose be equal to -v ? — Yugui <yugui@...>
Yuguiです。
まつもと ゆきひろです
西山和広です。
Yuguiです。
[#34020] MurmurHash problem — Nobuyoshi Nakada <nobu@...>
なかだです。
[#34030] uint32_t — KIMURA Koichi <kimura.koichi@...>
木村です。
[#34037] Ruby performance gains on SPARC — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#34067] Array#take,take_while,drop,drop_whlie — "Yusuke ENDOH" <mame@...>
遠藤と申します。
[#34068] lgamma_r requires _REENTRANT on Solaris — "Yusuke ENDOH" <mame@...>
遠藤と申します。
[#34077] 異なるエンコーディングだと同じバイト列でも==にならない件 — rubikitch@...
るびきちです。
[#34086] extend spawn to change attributes of child process. — Tanaka Akira <akr@...>
spaen, system, exec, IO.popen で、起動する子プロセスの属性を
[#34093] 拡張ライブラリ初期化中でのmodule_eval — Kouhei Sutou <kou@...>
須藤です。
[#34095] (再送) Cygwin で Resolv.getaddress が失敗する — Kouhei Yanagita <yanagi@...>
こんにちは。柳田です。
こんばんは、植田と申します。
柳田です。
[#34105] rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...>
rational と complex が組み込みになったことで、lib/mathn.rb の意義は薄
現時点で rational.rb と complex.rb を残しているのは、それが無難だから
で、かなり選択肢を絞った叩き台です。
けいじゅ@いしつかです.
原です。
> 私も Complex の組み込みは Rational とは比較にならないくらい、仕様が決め
まつもと ゆきひろです
> Mathモジュールは伝統的にlibmのラッパーであったので、それを逸
原です。
> (1) (-8)**Rational(1,2) は複素数1.0+1.7320508*i
[#34109] LP64: date.rb:321:in `convert': integer 86400000000000 too big to convert to `int' (RangeError) — Tanaka Akira <akr@...>
LP64 なマシンで test-all が動かなくなっています。
[#34144] [質問2点] C からの定数参照 & thread switching コストの低減 — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#34158] Complex組み込み — Masahiro TANAKA <masa16.tanaka@...>
Complexが組み込みになるそうですが、これはcomplex.rbを踏襲して、
原です。
> 今までの Complex は、complex.rb にほぼ残して、たとえば Rational 成分
原です。
> そうです。Complex が難しい、という話を書いておくと、
まつもと ゆきひろです
> |僕としては、/ 演算子の振舞いについて前向きに検討してほしいです。
まつもと ゆきひろです
> ふむ。では、/ のふるまいを
まつもと ゆきひろです
> |僕は、quo がいいと思います。
まつもと ゆきひろです
> となるようですが、別の実装として、
田中です。
> 最初に言っておきますが、気を悪くされたのならすみません。
村田です.
[#34159] ruby-trunk Marshal.dump bug — nagachika <rucila@...>
nagachika と申します。
[#34163] Array#shift/unshift の高速化 — wanabe <s.wanabe@...>
ワナベと申します。
[#34189] Re: [ruby-cvs:23106] Re: Ruby:r15866 (trunk): * numeric.c (num_quo): should convert its operand to Rational. — Tadayoshi Funaba <tadf@...>
間違って送ったので、再送。
> > > Log:
[ruby-dev:34110] Re: LP64: date.rb:321:in `convert': integer 86400000000000 too big to convert to `int' (RangeError)
> LP64 なマシンで test-all が動かなくなっています。
別の理由で、test-all が手元でできないですが、こんな感じでどうでしょう。
Index: complex.c
===================================================================
--- complex.c (revision 15817)
+++ complex.c (working copy)
@@ -70,12 +70,12 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- if (FIX2INT(y) == 0)
+ if (FIX2LONG(y) == 0)
_r = x;
else
_r = rb_funcall(x, '+', 1, y);
} else if (FIXNUM_P(x)) {
- if (FIX2INT(x) == 0)
+ if (FIX2LONG(x) == 0)
_r = y;
else
_r = rb_funcall(x, '+', 1, y);
@@ -85,10 +85,10 @@
}
inline static VALUE
-f_div(x, y)
+f_div(VALUE x, VALUE y)
{
VALUE _r;
- if (FIXNUM_P(y) && FIX2INT(y) == 1)
+ if (FIXNUM_P(y) && FIX2LONG(y) == 1)
_r = x;
else
_r = rb_funcall(x, '/', 1, y);
@@ -100,7 +100,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) > FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) > FIX2LONG(y));
else
_r = rb_funcall(x, '>', 1, y);
return _r;
@@ -111,7 +111,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) < FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) < FIX2LONG(y));
else
_r = rb_funcall(x, '<', 1, y);
return _r;
@@ -124,7 +124,7 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- int _iy = FIX2INT(y);
+ long _iy = FIX2LONG(y);
if (_iy == 0) {
if (TYPE(x) == T_FLOAT)
_r = rb_float_new(0.0);
@@ -135,7 +135,7 @@
else
_r = rb_funcall(x, '*', 1, y);
} else if (FIXNUM_P(x)) {
- int _ix = FIX2INT(x);
+ long _ix = FIX2LONG(x);
if (_ix == 0) {
if (TYPE(y) == T_FLOAT)
_r = rb_float_new(0.0);
@@ -155,7 +155,7 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- if (FIX2INT(y) == 0)
+ if (FIX2LONG(y) == 0)
_r = x;
else
_r = rb_funcall(x, '-', 1, y);
@@ -189,7 +189,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y)) {
- int c = FIX2INT(x) - FIX2INT(y);
+ long c = FIX2LONG(x) - FIX2LONG(y);
if (c > 0)
c = 1;
else if (c < 0)
@@ -208,7 +208,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) == FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) == FIX2LONG(y));
else
_r = rb_funcall(x, id_equal_p, 1, y);
return _r;
@@ -223,7 +223,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) < 0);
+ _r = f_boolcast(FIX2LONG(x) < 0);
else
_r = rb_funcall(x, '<', 1, ZERO);
return _r;
@@ -234,7 +234,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) == 0);
+ _r = f_boolcast(FIX2LONG(x) == 0);
else
_r = rb_funcall(x, id_equal_p, 1, ZERO);
return _r;
@@ -245,7 +245,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) == 1);
+ _r = f_boolcast(FIX2LONG(x) == 1);
else
_r = rb_funcall(x, id_equal_p, 1, ONE);
return _r;
Index: rational.c
===================================================================
--- rational.c (revision 15818)
+++ rational.c (working copy)
@@ -53,12 +53,12 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- if (FIX2INT(y) == 0)
+ if (FIX2LONG(y) == 0)
_r = x;
else
_r = rb_funcall(x, '+', 1, y);
} else if (FIXNUM_P(x)) {
- if (FIX2INT(x) == 0)
+ if (FIX2LONG(x) == 0)
_r = y;
else
_r = rb_funcall(x, '+', 1, y);
@@ -68,10 +68,10 @@
}
inline static VALUE
-f_div(x, y)
+f_div(VALUE x, VALUE y)
{
VALUE _r;
- if (FIXNUM_P(y) && FIX2INT(y) == 1)
+ if (FIXNUM_P(y) && FIX2LONG(y) == 1)
_r = x;
else
_r = rb_funcall(x, '/', 1, y);
@@ -83,7 +83,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) > FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) > FIX2LONG(y));
else
_r = rb_funcall(x, '>', 1, y);
return _r;
@@ -94,7 +94,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) < FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) < FIX2LONG(y));
else
_r = rb_funcall(x, '<', 1, y);
return _r;
@@ -107,7 +107,7 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- int _iy = FIX2INT(y);
+ long _iy = FIX2LONG(y);
if (_iy == 0) {
if (TYPE(x) == T_FLOAT)
_r = rb_float_new(0.0);
@@ -118,7 +118,7 @@
else
_r = rb_funcall(x, '*', 1, y);
} else if (FIXNUM_P(x)) {
- int _ix = FIX2INT(x);
+ long _ix = FIX2LONG(x);
if (_ix == 0) {
if (TYPE(y) == T_FLOAT)
_r = rb_float_new(0.0);
@@ -138,7 +138,7 @@
{
VALUE _r;
if (FIXNUM_P(y)) {
- if (FIX2INT(y) == 0)
+ if (FIX2LONG(y) == 0)
_r = x;
else
_r = rb_funcall(x, '-', 1, y);
@@ -162,7 +162,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y)) {
- int c = FIX2INT(x) - FIX2INT(y);
+ long c = FIX2LONG(x) - FIX2LONG(y);
if (c > 0)
c = 1;
else if (c < 0)
@@ -180,7 +180,7 @@
{
VALUE _r;
if (FIXNUM_P(x) && FIXNUM_P(y))
- _r = f_boolcast(FIX2INT(x) == FIX2INT(y));
+ _r = f_boolcast(FIX2LONG(x) == FIX2LONG(y));
else
_r = rb_funcall(x, id_equal_p, 1, y);
return _r;
@@ -194,7 +194,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) < 0);
+ _r = f_boolcast(FIX2LONG(x) < 0);
else
_r = rb_funcall(x, '<', 1, ZERO);
return _r;
@@ -205,7 +205,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) == 0);
+ _r = f_boolcast(FIX2LONG(x) == 0);
else
_r = rb_funcall(x, id_equal_p, 1, ZERO);
return _r;
@@ -216,7 +216,7 @@
{
VALUE _r;
if (FIXNUM_P(x))
- _r = f_boolcast(FIX2INT(x) == 1);
+ _r = f_boolcast(FIX2LONG(x) == 1);
else
_r = rb_funcall(x, id_equal_p, 1, ONE);
return _r;
@@ -319,7 +319,7 @@
for (;;) {
if (FIXNUM_P(x)) {
- if (FIX2INT(x) == 0)
+ if (FIX2LONG(x) == 0)
return y;
if (FIXNUM_P(y))
return LONG2NUM(i_gcd(FIX2LONG(x), FIX2LONG(y)));
@@ -897,7 +897,7 @@
{
get_dat1(self);
- if (FIXNUM_P(dat->den) && FIX2INT(dat->den) == 1)
+ if (FIXNUM_P(dat->den) && FIX2LONG(dat->den) == 1)
return f_cmp(dat->num, other);
else
return f_cmp(self, f_rational_new_bang1(CLASS_OF(self), other));
@@ -912,8 +912,8 @@
if (FIXNUM_P(adat->num) && FIXNUM_P(adat->den) &&
FIXNUM_P(bdat->num) && FIXNUM_P(bdat->den)) {
- num1 = f_imul(FIX2INT(adat->num), FIX2INT(bdat->den));
- num2 = f_imul(FIX2INT(bdat->num), FIX2INT(adat->den));
+ num1 = f_imul(FIX2LONG(adat->num), FIX2LONG(bdat->den));
+ num2 = f_imul(FIX2LONG(bdat->num), FIX2LONG(adat->den));
} else {
num1 = f_mul(adat->num, bdat->den);
num2 = f_mul(bdat->num, adat->den);
@@ -939,7 +939,7 @@
if (!FIXNUM_P(dat->den))
return Qfalse;
- if (FIX2INT(dat->den) != 1)
+ if (FIX2LONG(dat->den) != 1)
return Qfalse;
if (f_equal_p(dat->num, other))
return Qtrue;