[#20127] protected_instance_methods(true) — Shin-ichiro HARA <sinara@...>
原です。
4 messages
2003/05/01
[#20163] Numeric#step — Koji Arai <JCA02266@...>
新井です。
13 messages
2003/05/05
[#20165] Re: Numeric#step
— Minero Aoki <aamine@...>
2003/05/05
青木です。
[#20167] Re: Numeric#step
— Koji Arai <JCA02266@...>
2003/05/05
新井です。
[#20169] Re: Numeric#step
— Minero Aoki <aamine@...>
2003/05/05
青木です。
[#20171] Re: Numeric#step
— Koji Arai <JCA02266@...>
2003/05/05
新井です。
[#20172] Re: Numeric#step
— Masahiro TANAKA <masa@...>
2003/05/06
At Tue, 6 May 2003 02:55:54 +0900,
[#20197] ARGF.filename — Koji Arai <JCA02266@...>
新井です。
6 messages
2003/05/17
[#20209] /()*\1/ =~ "" — Tanaka Akira <akr@...17n.org>
元ネタは BTS および Matzにっきなのですが、Matzにっきの調子が悪くてつっ
5 messages
2003/05/19
[#20227] dyna_vars problem? — Tanaka Akira <akr@...17n.org>
しばらく前から、稀に Ruby が core を吐くという問題を追いかけているので
15 messages
2003/05/19
[#20234] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/19
まつもと ゆきひろです
[#20236] Re: dyna_vars problem?
— Tanaka Akira <akr@...17n.org>
2003/05/19
In article <1053363181.529491.30320.nullmailer@picachu.netlab.jp>,
[#20245] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/20
まつもと ゆきひろです
[#20248] Re: dyna_vars problem?
— Tanaka Akira <akr@...17n.org>
2003/05/20
In article <1053422521.786672.22712.nullmailer@picachu.netlab.jp>,
[#20250] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/20
まつもと ゆきひろです
[#20251] Re: dyna_vars problem?
— Tanaka Akira <akr@...17n.org>
2003/05/20
In article <1053424909.383731.24667.nullmailer@picachu.netlab.jp>,
[#20255] Re: dyna_vars problem?
— matz@... (Yukihiro Matsumoto)
2003/05/20
まつもと ゆきひろです
[#20268] splat restary — nobu.nakada@...
なかだです。
5 messages
2003/05/21
[#20303] [Oniguruma] possessive quantifier — kkosako@...
強欲な繰り返し演算子を実装してみたんですが、
1 message
2003/05/28
[#20307] [Oniguruma] intersection of char class — kkosako@...
Javaの正規表現で実現されている
4 messages
2003/05/30
[ruby-dev:20167] Re: Numeric#step
From:
Koji Arai <JCA02266@...>
Date:
2003-05-05 15:53:05 UTC
List:
ruby-dev #20167
新井です。
In message "[ruby-dev:20165] Re: Numeric#step"
on 05 May 2003 23:54:31 +0900,
Minero Aoki <aamine@loveruby.net> wrote:
> 青木です。
> Linux 2.4.20 + glibc 2.2.5 + gcc 2.95.3 / P4 B
> 出ない
>
> ~ % ruby -ve '1.1.step(1.5, 0.1) {|n| p n }'
> ruby 1.8.0 (2003-05-02) [i686-linux]
> 1.1
> 1.2
> 1.3
> 1.4
>
> ~ % ruby -ve '1.1.step(1.7, 0.1) {|n| printf("%.20f\n", n) }'
> ruby 1.8.0 (2003-05-02) [i686-linux]
> 1.10000000000000008882
> 1.20000000000000017764
> 1.30000000000000004441
> 1.40000000000000013323
> 1.50000000000000000000
> 1.60000000000000008882
例えば、これはうちだと計算結果は同じですが、最後の1.7が出る
とこは違います。比較のため ruby は numeric.c パッチ前の
2003-05-02 版です。
Linux/Debian 2.4.19 + glibc 2.3.1-17 + gcc 3.2.3
1.1.step(1.7, 0.1) {|n| printf("%.20f\n", n) }
ruby 1.8.0 (2003-05-02) [i586-linux]
1.10000000000000008882
1.20000000000000017764
1.30000000000000004441
1.40000000000000013323
1.50000000000000000000
1.60000000000000008882
1.70000000000000017764
以下を試してみました。
#include <math.h>
#define DBL_EPSILON 2.2204460492503131e-16
main()
{
const double epsilon = DBL_EPSILON;
double beg = 1.1;
double end = 1.5;
double unit = 0.1;
double n = (end - beg)/unit;
printf("epsilon: %.20f\n", epsilon);
printf("n = (end - beg)/unit: %.20f\n", n = (end - beg)/unit);
printf("n + n*epsilon: %.20f\n", n + n*epsilon);
printf("floor(n + n*epsilon + 1): %.20f\n", n = floor(n + n*epsilon + 1));
return 0;
}
# gcc 3.2.3
% gcc hoge.c -lm && ./a.out
epsilon: 0.00000000000000022204
n = (end - beg)/unit: 3.99999999999999911182
n + n*epsilon: 4.00000000000000000000
floor(n + n*epsilon + 1): 5.00000000000000000000
# gcc version 2.95.4 20011002 (Debian prerelease)
$ gcc-2.95 hoge.c -lm && ./a.out
epsilon: 0.00000000000000022204
n = (end - beg)/unit: 3.99999999999999911182
n + n*epsilon: 4.00000000000000000000
floor(n + n*epsilon + 1): 5.00000000000000000000
--
新井康司 (Koji Arai)