[#28924] IO.popen("echo a") clear O_APPEND of other fds. — Tanaka Akira <akr@...17n.org>
以下のように、IO.popen("echo a") が関係ない他の IO の
なかだです。
[#28942] FUNC_CDECL/FUNC_STDCALL are not defined? — KIMURA Koichi <kimura.koichi@...>
木村です。
こんにちは、なかむら(う)です。
U.Nakamura wrote:
こんにちは、なかむら(う)です。
U.Nakamura wrote:
こんにちは、なかむら(う)です。
U.Nakamura wrote:
In article <44AA3F42.4060800@ttsky.net>,
Tanaka Akira wrote:
Takaaki Tateishi wrote:
卜部です。
URABE Shyouhei wrote:
Takaaki Tateishi wrote:
[#28960] 世代別 GC について — MORITA Naoyuki <mlgetter@...>
森田と申します.
[#28971] [ BUG ] $0 cannot keep the given string — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#28988] size of st_data_t — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#29006] block wrapper — Tanaka Akira <akr@...>
以前、[ruby-dev:28747] の pp.rb の問題を解決するのに
まつもと ゆきひろです
In article <1152541094.492146.23781.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1152542689.441125.24418.nullmailer@x31.priv.netlab.jp>,
In article <87psgd8qb2.fsf@fsij.org>,
In article <87r70rdpeg.fsf@fsij.org>,
In article <871wshddvn.fsf@fsij.org>,
In article <87ac5g5a7i.fsf@fsij.org>,
In article <8764foo7s7.fsf@fsij.org>,
In article <87venar27i.fsf@fsij.org>,
まつもと ゆきひろです
In article <1178883053.645482.13087.nullmailer@x31.netlab.jp>,
まつもと ゆきひろです
In article <1178978140.846301.8164.nullmailer@x31.netlab.jp>,
まつもと ゆきひろです
ささだです。
In article <465E1040.7020009@atdot.net>,
まつもと ゆきひろです
In article <E1HtaMS-00041i-6U@x31>,
まつもと ゆきひろです
In article <E1HtenN-0006CM-2a@x31>,
まつもと ゆきひろです
In article <E1Htx6H-00073o-Cw@x31>,
In article <E1Hv3TT-0004LL-L8@x31>,
まつもと ゆきひろです
[#29013] problem in bignorm — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
まつもと ゆきひろです
[#29014] def m(a=nil, b) — Tanaka Akira <akr@...>
ふと、1.9 なら (TCPServer#initialize のように) 第一引数を省
[#29032] rational 1.12 — Tadayoshi Funaba <tadf@...>
ふなばです。
なかだです。
ふなばです。
[#29038] irb completion — Tadayoshi Funaba <tadf@...>
ふなばです。
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
[#29044] block parameters for class_exec,module_exec,instance_exec — Takaaki Tateishi <ttate@...>
class_exec,module_exec,instance_execのブロックパラメータの仕様について
[#29080] UNIXSocket problem with ruby 1.8.5 preview2 on cygwin — Kouhei Yanagita <yanagi@...>
柳田です。
[#29089] test_strtod(TestFloat): ArgumentError: invalid value for Float(): "0." on 1.9 — Tanaka Akira <akr@...>
2006-07-18 以来、1.9 の test-all で (他のたくさんの失敗に紛
[#29093] Re: [ruby-cvs:17195] ruby/test/rss: * object.c (rb_mod_attr): make Module#attr to be an alias to — Tanaka Akira <akr@...>
In article <20060720173258.5D4BAC6781@lithium.ruby-lang.org>,
まつもと ゆきひろです
In article <1153423941.406034.21948.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1153425319.663162.22588.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1153446431.981115.25434.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1153449042.979962.26498.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1153453341.450474.27973.nullmailer@x31.priv.netlab.jp>,
[#29141] テスト2 — Tadayoshi Funaba <tadf@...>
もしかするとスパムかも。
[#29148] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — WATANABE Hirofumi <eban@...>
わたなべです。
成瀬です。
まつもと ゆきひろです
卜部です
まつもと ゆきひろです
卜部です。
成瀬です。
まつもと ゆきひろです
成瀬です
まつもと ゆきひろです
成瀬です。
まつもと ゆきひろです
成瀬です。
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
> 郵便局の消印は採用できないんですが、なにが良いと思いますか。
まつもと ゆきひろです
なかだです。
ふなばです。
[#29158] backport — "MIYAMUKO Katsuyuki" <miyamuko@...>
みやむこです。
[ruby-dev:29061] Re: Numeric#step
|From: Tadayoshi Funaba <tadf@dotrb.org>
|Date: Mon, 17 Jul 2006 21:44:58 +0900
> Numeric#step ですが、1.0/0 = 無限大であるとき、
>
> $ ruby -v -eInf=1.0/0 -e'1.step(Inf, Inf){|x| p x}'
> ruby 1.8.4 (2005-12-24) [i386-freebsd5.4]
> $ ruby -v -eInf=1.0/0 -e'10.step(1, Inf){|x| p x}'
> ruby 1.8.4 (2005-12-24) [i386-freebsd5.4]
> NaN
望ましい振舞いがどういうものかはわかりませんが、
Floatの場合にNaNが出るのはまずそうなので、
以下のような対処を考えました。
ついでにループカウンタが溢れる場合の対処もしています。
警告を出すかどうか/出し方はこれでよいかわかりませんが。
田中昌宏
--- numeric.c~ 2006-05-01 12:46:46 +0900
+++ numeric.c 2006-07-18 21:05:38 +0900
@@ -1478,22 +1478,38 @@
else if (TYPE(from) == T_FLOAT || TYPE(to) == T_FLOAT || TYPE(step) == T_FLOAT) {
const double epsilon = DBL_EPSILON;
double beg = NUM2DBL(from);
double end = NUM2DBL(to);
double unit = NUM2DBL(step);
double n = (end - beg)/unit;
double err = (fabs(beg) + fabs(end) + fabs(end-beg)) / fabs(unit) * epsilon;
long i;
+ int warn = 0;
+ if (isinf(beg) || isinf(unit)) {
+ if ((unit>0 && (end-beg)>=0) || (unit<0 && (end-beg)<=0)) {
+ unit = 0;
+ n = 0;
+ } else {
+ n = -1;
+ }
+ err = 0;
+ }
if (err>0.5) err=0.5;
n = floor(n + err) + 1;
+ if (n>LONG_MAX) {
+ n = LONG_MAX;
+ warn = 1;
+ }
for (i=0; i<n; i++) {
rb_yield(rb_float_new(i*unit+beg));
}
+ if (warn)
+ rb_warn("iteration is reduced to LONG_MAX times");
}
else {
VALUE i = from;
ID cmp;
if (RTEST(rb_funcall(step, '>', 1, INT2FIX(0)))) {
cmp = '>';
}
* ChangeLog
* numeric.c (num_step): cares for Infifnity cases.
repeats at most LONG_MAX times in Float cases.
* 変更前動作
$ ./ruby -v
ruby 1.8.5 (2006-07-18) [i686-linux]
$ ./ruby -e'Inf=1.0/0; 1.step(Inf,1){|x| p x; break if x.abs>5}'
1.0
2.0
3.0
4.0
5.0
6.0
$ ./ruby -e'Inf=1.0/0; 1.step(Inf,-1){|x| p x; break if x.abs>5}'
$ ./ruby -e'Inf=1.0/0; 1.step(-Inf,1){|x| p x; break if x.abs>5}'
$ ./ruby -e'Inf=1.0/0; 1.step(-Inf,-1){|x| p x; break if x.abs>5}'
1.0
0.0
-1.0
-2.0
-3.0
-4.0
-5.0
-6.0
$ ./ruby -e'Inf=1.0/0;i=0; Inf.step(1,-1){|x| p x; break if (i+=1)>5}'
Infinity
Infinity
Infinity
Infinity
Infinity
Infinity
$ ./ruby -e'Inf=1.0/0;i=0; Inf.step(1,1){|x| p x; break if (i+=1)>5}'
$ ./ruby -e'Inf=1.0/0;i=0; (-Inf).step(1,-1){|x| p x; break if (i+=1)>5}'
$ ./ruby -e'Inf=1.0/0;i=0; (-Inf).step(1,1){|x| p x; break if (i+=1)>5}'
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
-Infinity
$ ./ruby -e'Inf=1.0/0; 1.step(10,Inf){|x| p x}'
NaN
$ ./ruby -e'Inf=1.0/0; 1.step(-10,Inf){|x| p x}'
NaN
$ ./ruby -e'Inf=1.0/0; 1.step(10,-Inf){|x| p x}'
NaN
$ ./ruby -e'Inf=1.0/0; 1.step(-10,-Inf){|x| p x}'
NaN
$ ./ruby -e'Inf=1.0/0; 1.step(1,Inf){|x| p x}'
NaN
$ ./ruby -e'Inf=1.0/0; 1.step(1,-Inf){|x| p x}'
NaN
$ ./ruby -e'Inf=1.0/0; 1.step(Inf,Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; 1.step(Inf,-Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; 1.step(-Inf,Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; 1.step(-Inf,-Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; Inf.step(Inf,Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; Inf.step(-Inf,Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; Inf.step(Inf,-Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; Inf.step(-Inf,-Inf){|x| p x}'
* 変更後動作
$ ./ruby -e'Inf=1.0/0; 1.step(Inf,1){|x| p x; break if x.abs>5}'1.0
2.0
3.0
4.0
5.0
6.0
$ ./ruby -e'Inf=1.0/0; 1.step(Inf,-1){|x| p x; break if x.abs>5}'
$ ./ruby -e'Inf=1.0/0; 1.step(-Inf,1){|x| p x; break if x.abs>5}'
$ ./ruby -e'Inf=1.0/0; 1.step(-Inf,-1){|x| p x; break if x.abs>5}'
1.0
0.0
-1.0
-2.0
-3.0
-4.0
-5.0
-6.0
$ ./ruby -e'Inf=1.0/0;i=0; Inf.step(1,-1){|x| p x; break if (i+=1)>5}'
Infinity
$ ./ruby -e'Inf=1.0/0;i=0; Inf.step(1,1){|x| p x; break if (i+=1)>5}'
$ ./ruby -e'Inf=1.0/0;i=0; (-Inf).step(1,-1){|x| p x; break if (i+=1)>5}'
$ ./ruby -e'Inf=1.0/0;i=0; (-Inf).step(1,1){|x| p x; break if (i+=1)>5}'
-Infinity
$ ./ruby -e'Inf=1.0/0; 1.step(10,Inf){|x| p x}'
1.0
$ ./ruby -e'Inf=1.0/0; 1.step(-10,Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; 1.step(10,-Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; 1.step(-10,-Inf){|x| p x}'
1.0
$ ./ruby -e'Inf=1.0/0; 1.step(1,Inf){|x| p x}'
1.0
$ ./ruby -e'Inf=1.0/0; 1.step(1,-Inf){|x| p x}'
1.0
$ ./ruby -e'Inf=1.0/0; 1.step(Inf,Inf){|x| p x}'
1.0
$ ./ruby -e'Inf=1.0/0; 1.step(Inf,-Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; 1.step(-Inf,Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; 1.step(-Inf,-Inf){|x| p x}'
1.0
$ ./ruby -e'Inf=1.0/0; Inf.step(Inf,Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; Inf.step(-Inf,Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; Inf.step(Inf,-Inf){|x| p x}'
$ ./ruby -e'Inf=1.0/0; Inf.step(-Inf,-Inf){|x| p x}'
Infinity