[#16732] sharing sub-regexp — Tanaka Akira <akr@...17n.org>

Oniguruma についてひとつ要望があります。

51 messages 2002/04/03
[#16744] Re: sharing sub-regexp — "K.Kosako" <kosako@...> 2002/04/04

Tanaka Akiraさんの<hvopu1hxfyd.fsf@coulee.a02.aist.go.jp>から

[#16746] Re: sharing sub-regexp — matz@... (Yukihiro Matsumoto) 2002/04/04

まつもと ゆきひろです

[#16753] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/04

In article <1017890618.302241.17865.nullmailer@ev.netlab.jp>,

[#16755] Re: sharing sub-regexp — "K.Kosako" <kosako@...> 2002/04/05

Tanaka Akiraさんの<hvo7knn93ug.fsf@coulee.a02.aist.go.jp>から

[#16756] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/05

In article <20020405044506.D4784349@helium.ruby-lang.org>,

[#16822] Re: sharing sub-regexp — "K.Kosako" <kosako@...> 2002/04/10

Tanaka Akiraさんの<hvopu1e4omy.fsf@coulee.a02.aist.go.jp>から

[#16831] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/10

In article <20020410025054.C8DF0915@helium.ruby-lang.org>,

[#16863] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/11

In article <hvor8lnchak.fsf@coulee.a02.aist.go.jp>,

[#16877] Re: sharing sub-regexp — Shugo Maeda <shugo@...> 2002/04/12

前田です。

[#16887] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/12

In article <87pu15z80q.wl@studly.priv.netlab.jp>,

[#16909] Regexp#to_s — Shugo Maeda <shugo@...> 2002/04/15

前田です。

[#16912] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/15

In article <87g01x1e6m.wl@studly.priv.netlab.jp>,

[#16931] Re: Regexp#to_s — Kazuhiro NISHIYAMA <zn@...> 2002/04/16

西山和広です。

[#16934] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/16

In article <20020416180631.988E.ZN@mbf.nifty.com>,

[#16938] Re: Regexp#to_s — Shugo Maeda <shugo@...> 2002/04/17

前田です。

[#16939] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/17

In article <87u1qaj0xe.wl@studly.priv.netlab.jp>,

[#16947] Re: Regexp#to_s — Shugo Maeda <shugo@...> 2002/04/18

前田です。

[#16950] Re: Regexp#to_s — matz@... (Yukihiro Matsumoto) 2002/04/18

まつもと ゆきひろです

[#16951] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/18

In article <1019116103.420173.12691.nullmailer@picachu.netlab.jp>,

[#16960] Re: Regexp#to_s — nobu.nakada@... 2002/04/18

なかだです。

[#16761] StringIO — tadf@...

ふなばです。

43 messages 2002/04/05
[#16786] Re: StringIO — nobu.nakada@... 2002/04/08

なかだです。

[#16802] Re: StringIO — tadf@... 2002/04/09

ふなばです。

[#16803] Re: StringIO — nobu.nakada@... 2002/04/09

なかだです。

[#16804] Re: StringIO — tadf@... 2002/04/09

ふなばです。

[#17221] Re: StringIO — Wakou Aoyama <wakou@...> 2002/05/30

青山です。

[#17230] Re: StringIO — matz@... (Yukihiro Matsumoto) 2002/05/30

まつもと ゆきひろです

[#17231] Re: StringIO — Tanaka Akira <akr@...17n.org> 2002/05/30

In article <1022740594.117106.6073.nullmailer@picachu.netlab.jp>,

[#17233] IO#size — Shugo Maeda <shugo@...> 2002/05/30

前田です。

[#17239] Re: IO#size — Tanaka Akira <akr@...17n.org> 2002/05/31

In article <874rgqdt3x.wl@studly.priv.netlab.jp>,

[#17253] Re: IO#size — Wakou Aoyama <wakou@...> 2002/05/31

青山です。

[#16790] Ruby Shim — "Akinori MUSHA" <knu@...>

 1.7 early access kit という仮称で提案した構想ですが、先ほど

27 messages 2002/04/08
[#16796] Re: Ruby Shim — Koji Arai <JCA02266@...> 2002/04/08

新井です。

[#16833] math.c 1.10 — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

23 messages 2002/04/11
[#16834] Re: math.c 1.10 — matz@... (Yukihiro Matsumoto) 2002/04/11

まつもと ゆきひろです

[#16869] Makefiles dependency — nobu.nakada@...

なかだです。

17 messages 2002/04/12

[ruby-dev:16879] Re: if Re: BigFloat

From: Shin-ichiro HARA <sinara@...>
Date: 2002-04-12 08:43:11 UTC
List: ruby-dev #16879
原です。

>小林です。

> > あれ、C 言語では内部表現ってアクセスできないんでしょうか?
>できないことはないと思いますが、一般的ではないと思います。
>でも、一般的にできるんなら Float op Rational -> Ratinal に
>賛成しちゃいますけど。 (^^);;

えー、それはないでしょう。(^^;

どうも Float には誤差があり、BigDecimal ないかのようなイメージ
あるなら、それは正確じゃないんじゃないですかね。

正確には、Float は単に「量」(内部表現と言ってもいいですが)
と、量の「表現」(具体的には文字列表現)とのインターフェース
が不十分なだけではないですか?

C 言語による Float の内部表現へのアクセス方法は私は知らない
んですが(誰か助けてください)、例えば Ruby を使って取り出せ
ますね(ここではおおざっぱに桁を多めに取っています):

   def f2b(n)
     e = 64 - 8
     m = (n * 2 ** e).to_i
     a = []
     while m != 0
       a.unshift m[0]
       m >>= 1
     end
     "0." + "0" * (e-a.size) + a.join("")
   end

   puts f2b(0.8)
   => 0.11001100110011001100110011001100110011001100110011010000

だから Float だって厳密に有理数に変換できるはずです。多分。
最後に 0 が並んでいますが、これは内部表現の("0.8" の、ではない)
厳密な文字列表示ですよね。

実際 C99 では、float 定数の 16 進表記や、strtof によって、16 進
表記された文字列から float への厳密な変換ができるみたいです。

で、これらは、量の問題ではなく量と量の文字列表現との変換のライブ
ラリの問題ですよね。

一方、分母が、BigDecimal は 2 と 5、Float 2 以外の因数を持つ有理
数は表現できません。これは文字列表現の問題ではなく、内部実装に応
じた、重大な量の問題です。この点で両者は同じようなものなわけです。

BigDecimal の一番のメリットは、可変長ということでしょう。そして
二番目のメリットとして、10 進リテラル表現と「相性がいい」という
ことでしょう。

ですから、量ではなく量の表現の問題だけならば、表現できないままが
まんするか、表現できるようなメソッドを書けばいいだけの話なので、
それが BigDecimal op Rational が何になるかという、本質的な数シス
テムの話とは結びつかないのではないか、というのが私の説です。


> > >取り合えず BigDecimal#to_r を提供([ruby-dev:16789])
> > >して、後はユーザ任せじゃダメでしょうか?
> > 
> > これはどういう意味ですか。
> > 
> >    BigDecimal op Rational -> BigDecimal
> > 
> > にして、かつ BigDecimal#to_r を用意するということ?
> > それは賛成です。
>あはっ、そうじゃなくて BigDecimal#to_r と
>Rational#to_d(かな?) だけを用意して(前の石塚さんの
>案では bigfloat-rational.rb?) BigDecimal op Rational 
>の結果は「ユーザの好みに任せる」ということです。
>結果がどちらであれ BigDecimal op Rational はコストが
>かかりますので「自動的」にはやらないということです

あれ、石塚案は、BigDecimal op Rational -> BigDecimal は
確定で、Rational, BigDecimal が最初から相手を必要として
しまうのを避ける工夫の事じゃないかしら。


In This Thread