[#5809] mod_ruby-0.0.7 — Shugo Maeda <shugo@...>

前田です。

63 messages 1999/03/01
[#5845] Re: mod_ruby-0.0.7 — Shugo Maeda <shugo@...> 1999/03/01

前田です。

[#5860] Re: mod_ruby-0.0.7 — moochan <moochan@...> 1999/03/02

moochan です.

[#5892] Re: mod_ruby-0.0.7 — Shugo Maeda <shugo@...> 1999/03/02

前田です。

[#5855] Re: mod_ruby-0.0.7 — Shugo Maeda <shugo@...> 1999/03/01

前田です。

[#5919] Re: mod_ruby-0.0.7 — Shugo Maeda <shugo@...> 1999/03/03

前田です。

[#5895] [REQ] 中置の def — EGUCHI Osamu <eguchi@...>

えぐち@エスアンドイーです。

18 messages 1999/03/02
[#5907] Re: [REQ] 中置の def — EGUCHI Osamu <eguchi@...> 1999/03/03

えぐち@エスアンドイー です。

[#5965] Re: Precision in Mathematica (Re: Bigfloat) — keiju@... (石塚圭樹 )

けいじゅ@日本ラショナルソフトウェアです.

28 messages 1999/03/04
[#5981] Re: Precision in Mathematica (Re: Bigfloat) — gotoken@... (GOTO Kentaro) 1999/03/04

ごとけん

[#6053] Re: Precision in Mathematica (Re: Bigfloat) — matz@... (Yukihiro Matsumoto) 1999/03/06

まつもと ゆきひろです

[#6150] Re: Precision in Mathematica (Re: Bigfloat) — matz@... (Yukihiro Matsumoto) 1999/03/09

まつもと ゆきひろです

[#6159] Re: Precision in Mathematica (Re: Bigfloat) — EGUCHI Osamu <eguchi@...> 1999/03/09

えぐち@エスアンドイー です。

[#6197] Re: Precision in Mathematica (Re: Bigfloat) — keiju@... (石塚圭樹 ) 1999/03/10

けいじゅ@日本ラショナルソフトウェアです.

[#6203] Re: Precision in Mathematica (Re: Bigfloat) — EGUCHI Osamu <eguchi@...> 1999/03/10

えぐち@エスアンドイー です。

[#6224] Re: Precision in Mathematica (Re: Bigfloat) — keiju@... (石塚圭樹 ) 1999/03/11

けいじゅ@日本ラショナルソフトウェアです.

[#6238] Re: Precision in Mathematica (Re: Bigfloat) — EGUCHI Osamu <eguchi@...> 1999/03/11

えぐち@エスアンドイー です。

[#6302] Re: Precision in Mathematica (Re: Bigfloat) — keiju@... (石塚圭樹 ) 1999/03/12

けいじゅ@日本ラショナルソフトウェアです.

[#6304] Re: Precision in Mathematica (Re: Bigfloat) — EGUCHI Osamu <eguchi@...> 1999/03/12

えぐち@エスアンドイー です。

[#5970] [REQ] variable of regex — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

43 messages 1999/03/04

[#6090] Thread#kill — Shugo Maeda <shugo@...>

前田です。

24 messages 1999/03/08

[#6328] Re: Ruby 1.3.1-990315 — WATANABE Hirofumi <watanabe@...>

わたなべです.

41 messages 1999/03/15
[#6329] Re: Ruby 1.3.1-990315 — matz@... (Yukihiro Matsumoto) 1999/03/15

まつもと ゆきひろです

[#6331] Re: Ruby 1.3.1-990315 — Wakou Aoyama <wakou@...> 1999/03/15

青山です。

[#6338] Re: Ruby 1.3.1-990315 — matz@... (Yukihiro Matsumoto) 1999/03/16

まつもと ゆきひろです

[#6347] Re: Ruby 1.3.1-990315 — Wakou Aoyama <wakou@...> 1999/03/16

青山です。

[#6348] Re: Ruby 1.3.1-990315 — matz@... (Yukihiro Matsumoto) 1999/03/16

まつもと ゆきひろです

[#6350] Re: Ruby 1.3.1-990315 — Wakou Aoyama <wakou@...> 1999/03/16

青山です。

[#6353] Re: Ruby 1.3.1-990315 — matz@... (Yukihiro Matsumoto) 1999/03/16

まつもと ゆきひろです

[#6354] Re: Ruby 1.3.1-990315 — Wakou Aoyama <wakou@...> 1999/03/16

青山です。

[#6434] Time#+ — Koji Arai <JCA02266@...>

新井です。

19 messages 1999/03/22
[#6442] Re: Time#+ — matz@... (Yukihiro Matsumoto) 1999/03/22

まつもと ゆきひろです

[ruby-dev:6065] Re: Bigfloat [compare to NaN]

From: EGUCHI Osamu <eguchi@...>
Date: 1999-03-07 12:26:34 UTC
List: ruby-dev #6065
えぐち@エスアンドイー です。

>>> In message [ruby-dev:6044] Re: Bigfloat [compare to NaN] 
    On Sat, 6 Mar 1999 18:43:15 +0900, keiju@rational.com (石塚圭樹 ) said:

keiju> けいじゅ@日本ラショナルソフトウェアです.
keiju> 
keiju> In [ruby-dev :5966 ] the message: "[ruby-dev:5966] Re: Bigfloat
keiju> [compare to NaN] ", on Mar/04 14:05(JST) EGUCHI Osamu writes:
keiju> 
keiju> >えぐち@エスアンドイー です。
keiju> 
keiju> >keiju> だんだんメイルが溜ってきた(^^;;;
keiju> >
keiju> >フロー制御の閾値の選択が、むつかしいですね ^^;;;
keiju> 
keiju> ですね. えぐちさんのメイルだいぶ捨ててしまいました(__;;;

そういうことわたしも(よく)あります、^^;;
#しろやぎさんたらよまずにたべたさっきのメールのごようじなーに

keiju> >Bigfloat でも加算などで、結果の有効数字を指定できると、
keiju> >計算の中間精度を妥当なところで、見切ってしまえるので、
keiju> >速度面で(特定の場面ではメモリ使用量でも)有効だと思います。
keiju> 
keiju> いちおう, coerceで精度の低い方に合わせるのでもおなじ効果がありますが...

その時だけってケースもあるのでは???
あ、coerce を特異メソッドにすればいいのですね ^^;;;

keiju> >ただ、演算子の引数を増やす術がないので、(ですよね)
keiju> >
keiju> >	Bigfloat#add_with_prec(right, prec = @prec)
keiju> >
keiju> >のようなメソッドを、用意する必要があるのが難点です。
keiju> 
keiju> いや定義できるんですが.

え゛

keiju> class Foo
keiju>   def +(other, prec)
keiju>     ...
keiju>   end
keiju> end
keiju> 
keiju> は定義できるんですが, 呼び出しがsendしかできないという何点があります
keiju> (^^;;;
keiju> 
keiju>   foo.send :+, other, prec

をぉ、これは何かの時に使えそうだ。

keiju> >	low_prec(x, y)
keiju> >
keiju> >の様な引数で精度の小さい方の精度に、高い方の精度を
keiju> >合わせる関数を用意するのも手ですが、使いにくそ ^^;;;;
keiju> 
keiju> それならcoerceで自動的にやってくれた方が...

そうなんだけど、組み込みのクラスが coerce を使ってない
場合もあるので、 Fixnum#coerce を再定義しても

	1+1.1 => 2

には出来なかったりするのでした。
#この例では、無限精度の Fixnum に合わせていて、逆ですが、、
(Fixnum#+ を再定義すればいいのだけれど、、、)

fix_plus(x, y) の

    if (TYPE(y) == T_FLOAT) {
        return rb_float_new((double)FIX2LONG(x) + RFLOAT(y)->value);
    }

の様な、「言語組み込みの数値の型変換」はなくすべきかも知れません。
#効率の問題があるのですが ^^)l

keiju> >keiju> mpって四則演算だけですよね? それだったらあまり採用してもね...
keiju> >
keiju> >そうですね、四則の他は 2 ^ n, abs, sqrt や比較程度なので、
keiju> >スタートラインとしては、かなり厳しいかも知れない ^^;;;
keiju> 
keiju> ですね.

関数ライブラリの多くは、
  テーブルルックアップ法で第一近似を得てから
  ニュートン法などで必要な精度を得る
戦略で実装されていますが、可変精度でこれが使えるのか、
考えています。
sqrt に対する ** に様な、十分精度の出そうな質の良い逆関数が
あれば問題ないのですが、sin() などでも、目的の精度が出たかの判断に
難ありですね。
(atan と三平方で判定すると、それ自体の精度に疑問が出そう、、)

  def cos(t) sqrt(1 - sin(t) ** 2) end

でバランスさせる等の工夫も必要そうだし、、
# Float を越える精度で sin() を得たい人がいるかは疑問 ^^)l

	えぐち

In This Thread