[#16708] includedir — nobu.nakada@...
なかだです。
[#16732] sharing sub-regexp — Tanaka Akira <akr@...17n.org>
Oniguruma についてひとつ要望があります。
Tanaka Akiraさんの<hvopu1hxfyd.fsf@coulee.a02.aist.go.jp>から
まつもと ゆきひろです
In article <1017890618.302241.17865.nullmailer@ev.netlab.jp>,
Tanaka Akiraさんの<hvo7knn93ug.fsf@coulee.a02.aist.go.jp>から
In article <20020405044506.D4784349@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvopu1e4omy.fsf@coulee.a02.aist.go.jp>から
In article <20020410025054.C8DF0915@helium.ruby-lang.org>,
In article <hvor8lnchak.fsf@coulee.a02.aist.go.jp>,
前田です。
In article <87pu15z80q.wl@studly.priv.netlab.jp>,
前田です。
In article <87g01x1e6m.wl@studly.priv.netlab.jp>,
西山和広です。
In article <20020416180631.988E.ZN@mbf.nifty.com>,
前田です。
In article <87u1qaj0xe.wl@studly.priv.netlab.jp>,
前田です。
まつもと ゆきひろです
In article <1019116103.420173.12691.nullmailer@picachu.netlab.jp>,
前田です。
なかだです。
In article <200204181023.g3IANgM21124@sharui.nakada.kanuma.tochigi.jp>,
まつもと ゆきひろです
In article <1019140164.869863.14833.nullmailer@picachu.netlab.jp>,
[#16757] === — "Akinori MUSHA" <knu@...>
Array, Hash, Proc などで、 === が以下のように定義されていると
[#16761] StringIO — tadf@...
ふなばです。
なかだです。
ふなばです。
なかだです。
ふなばです。
青山です。
まつもと ゆきひろです
In article <1022740594.117106.6073.nullmailer@picachu.netlab.jp>,
前田です。
In article <874rgqdt3x.wl@studly.priv.netlab.jp>,
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
青山です。
[#16776] Ruby 1.7.2 segfault — takuma ozawa <metal@...>
小澤といいます。
なかだです。
[#16790] Ruby Shim — "Akinori MUSHA" <knu@...>
1.7 early access kit という仮称で提案した構想ですが、先ほど
新井です。
At Tue, 9 Apr 2002 02:12:27 +0900,
なかだです。
[#16816] remove_const: cannot remove constant — Koji Arai <JCA02266@...>
新井です。
[#16833] math.c 1.10 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
まつもと ゆきひろです
さくです。
なかだです。
まつもと ゆきひろです
[#16868] make error on debian potato — Wakou Aoyama <wakou@...>
青山です。
[#16869] Makefiles dependency — nobu.nakada@...
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
[#16894] compile failure in process.c, setpgrp() & setpgid() — Ryo HAYASAKA <ryoh@...>
早坂@北陸先端です.
[#16923] Module::new with block is useful? — "Shin'ya Adzumi" <adzumi@...>
あづみです。
[#16978] Re: [rubyist:1343] Re: another sample for the Method — Koji Arai <JCA02266@...>
新井です。
[#16989] making Proc in C (Re: [rubyist:1356] Re: another sample for the Method) — nobu.nakada@...
なかだです。
[ruby-dev:16829] Re: if Re: BigFloat
小林です。
----- Original Message -----
From: "Shin-ichiro HARA" <sinara@blade.nagaokaut.ac.jp>
Subject: [ruby-dev:16828] Re: if Re: BigFloat
> で、BigDecimal はその変数の精度を自由に決めようとしているわけで、
> データの精度は問題にしない、、、と。
実は、BigDecimal.new("0.5",6)またはBigDecimal.new("0.500000")
とすると 0.500000 であると認識しているのですが、(struct Real の
MaxPrec)、有効利用の途中でくじけました。一応、情報としては持
っているので下の例のa.add(b,1)の1の変わりに a か b の
MaxPrecの小さい方を使うという案もあるのですが、色々と...
> つまり 0.1 + 0.1000000000001 を 0.2000000000001 と計算しても小数部
> 分の 000000000001 は明らかに不用なんで、0.2 で必要十分です。という
> か、0.2 の方が情報が残っていて、0.2000000000001の方が「情報落ち」し
> てると考えられますね。Mathematica 方式は実務的な技術計算上は合理的
> で効率もいいと思います。(もちろん 0.1000000000000 + 0.1000000000001
> は 0.2000000000001 です。)
明示的に
require "bigdecimal"
a = BigDecimal.new("0.1")
b = BigDecimal.new("0.1000000000001")
c = a + b # => 0.2000000000001000E0
d = a.add(b,1) # => 0.2000E0
ということでお茶を濁しています。
> あれ、Floatって有理数への変換は分母が2べきの有理数になるので
> 「変換誤差」はありませんよね。そういう意味では BigDecimalと一
> 緒では。誤差があるのは、Float のリテラル表現と、内部表現の間の
> 誤差、いわば Float -> Float の問題ですよね。これは BigDecimal
> にはない。しかし、表記の問題は数システムの問題とは別ではないか
> な。
うーん、2進内部表現のビット幅や指数部がわかれば
Ratinal.new(a1*2**0+a2*2**1+a3*2**2+..., 2**n)
と出来なくはないと思いますが...
> 有理数は理論的な値を表現する習慣であること、有理数はかなり
> 「重い」オブジェクトなので、自動的な有理数への変換には抵抗
「自動的な」という部分に関しては異論はありません。
さらに、「敢えて変換する」ならばという前提付きですね。
> があること、が主な理由です。これを美的センスの問題とは言い
> たくない(が、そうかもしれない)。
;;;(^^)
> さあて、どうするのがいいですかね。
取り合えず BigDecimal#to_r を提供([ruby-dev:16789])
して、後はユーザ任せじゃダメでしょうか?
------------------
小林 茂雄
shigeo@tinyforest.jp