[#4566] [Q] internal type of klass — gotoken@... (GOTO Kentaro)
ごとけんです
[#4576] Ruby ruby-1.3.1-990201 — matz@... (Yukihiro Matsumoto)
Ruby ruby-1.3.1-990201 is out, check out:
[#4603] call for finite/isnan testers — gotoken@... (GOTO Kentaro)
ごとけんです
稲葉です。
ごとけんです
稲葉です。
えぐち@エスアンドイー です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
わたなべです.
えぐち@エスアンドイー です。
えぐち@エスアンドイー です。
まつもと ゆきひろです
ごとけんです
Regard to "[ruby-dev:4788] Re: compare to NaN (Re: Re: call for finite/isnan testers)"
ごとけんです
Regard to "[ruby-dev:4867] Re: compare to NaN (Re: Re: call for finite/isnan testers)"
えぐち@エスアンドイー です。
Regard to "[ruby-dev:4875] Re: compare to NaN (Re: Re: call for finite/isnan testers)"
えぐち@エスアンドイー です。
Regard to "[ruby-dev:4901] Re: compare to NaN (Re: Re: call for finite/isnan testers)"
えぐち@エスアンドイー です。
Regard to "[ruby-dev:4934] Re: compare to NaN (Re: Re: call for finite/isnan testers)"
えぐち@エスアンドイー です。
ふなばです。
えぐち@エスアンドイー です。
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです.
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
まつもと ゆきひろです
まつもと ゆきひろです
えぐち@エスアンドイー です。
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
えぐち@エスアンドイー です。
ごとけんです
In message <199902102105.GAA28213@hanare00.math.sci.hokudai.ac.jp>
えぐち@エスアンドイー です。
ごとけんです
えぐち@エスアンドイー です。
ごとけんです
えぐち@エスアンドイー です。
Regard to "[ruby-dev:5023] Re: [PATCH] configure w/ isinf() (Re: 10e9999.to_i)"
えぐち@エスアンドイー です。
えぐち @エスアンドイーです。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
[#4614] Re: cookie on cgi-lib.rb — Wakou Aoyama <wakou@...>
青山です。
五十嵐です。
青山です。
まつもと ゆきひろです
高橋です。なつかしい話題が。
前田です。
前田です。
前田です。
五十嵐です。
青山です。
五十嵐です。
青山です。
[#4615] HTML generator — Wakou Aoyama <wakou@...>
青山です。
原です。
青山です。
原です。
青山です。
原です。
前田です。
安達@沖データと申します。
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
原です。
原です。
原です。
前橋です。
[#4619] Why automake+libtool? (Re: --enable-shared/BSD) — Motoyuki Kasahara <m-kasahr@...>
笠原です。
まつもと ゆきひろです
笠原です。
わたなべです.
笠原です。
まつもと ゆきひろです
笠原です。
[#4640] Ruby 1.3.1-990203 — matz@... (Yukihiro Matsumoto)
Ruby 1.3.1-990203 is out, check out:
ごとけんです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
[#4727] [REQ] 2進数整数リテラル — EGUCHI Osamu <eguchi@...>
えぐち@エスアンドイーです。
ごとけんです
まつもと ゆきひろです
えぐち@エスアンドイー です。
[#4755] Re: call for finite/isnan testers — KIMURA Koichi <kbk@...>
[#4767] [BUG] gsub?, Hash? — Wakou Aoyama <wakou@...>
青山です。
[#4825] Backslash(EOL) in comment — WATANABE Hirofumi <eban@...>
わたなべです.
まつもと ゆきひろです
青山です。
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
[#4829] Re: to_i,to_s の素朴な疑問 — HQss_YasuiS/hq_ss@...
[#4837] man Precision — gotoken@... (GOTO Kentaro)
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
[#4851] Re: port NetBSD/ alpha 1.3I — SHIROYAMA Takayuki <psi@...>
[#4852] Re: module Precision — "豊福" <toyofuku@...>
豊福@パパイヤです。
[#4853] Integer#format — Koji Arai <JCA02266@...>
新井です。
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
In message <E10Ep01-00009q-00@ev.netlab.co.jp>
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
[#4893] Ruby 1.3.1-990209 — Yukihiro Matsumoto <matz@...>
Ruby 1.3.1-990209 is out, check out:
青山です。
まつもと ゆきひろです
立石です。
[#4900] Ruby 1.3.1-990209 — Yukihiro Matsumoto <matz@...>
Ruby 1.3.1-990209 had serious flaw in installer. I re-packedaged it.
えぐち@エスアンドイー です。
[#4929] Re: module Precision — "豊福" <toyofuku@...>
豊福@パパイヤです。
[#4950] parse error "and" — Koji Arai <JCA02266@...>
新井です。
えぐち@エスアンドイー です。
まつもと ゆきひろです
新井です。
えぐち@エスアンドイー です。
えぐち@エスアンドイー です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
まつもと ゆきひろです
[#4970] Re: to_i,to_s の素朴な疑問 — HQss_YasuiS/hq_ss@...
前田です。
けいじゅ@日本ラショナルソフトウェアです.
前田です。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
安井、改め moochan です。よろしく。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
前田です。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
[#4971] Ruby 1.3.1-990210 — Yukihiro Matsumoto <matz@...>
It's about time for daily Ruby delivery. ;-)
立石です。
[#5010] #{\n}\\ in heredoc — Koji Arai <JCA02266@...>
新井です。
[#5083] [req] cgi-lib NPH support — Shugo Maeda <shugo@...>
前田です。
前田です。
前田です。
前田です。
前田です。
前田です。
前田です。
前田です。
前田です。
前田です。
前田です。
前田です。
青山です。
[#5086] [FIX] checking whether [sg]etpgrp takes no argument — EGUCHI Osamu <eguchi@...>
えぐち@エスアンドイーです。
[#5099] [PATCH] infinite loop of inspect (ruby-1.2.2) — gotoken@... (GOTO Kentaro)
ごとけんです
[#5119] Ruby 1.3.1-990215 — Yukihiro Matsumoto <matz@...>
Ruby 1.3.1-990215 is out, check out:
渡辺哲也です。
渡辺哲也です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
渡辺哲也です。
えぐち@エスアンドイー です。
[#5141] [req] rb_setenv() — Shugo Maeda <shugo@...>
前田です。
[#5176] mod_ruby 0.0.4 — Shugo Maeda <shugo@...>
前田です。
[#5215] Re: a genericity — toyofuku@...
豊福@パパイヤです。
ごとけんです
原です。
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
原です。
ごとけんです
原です。
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
まつもと ゆきひろです
[#5264] Re: ruby 1.2.3 released — Jun Adachi <adachi@...>
安達@沖データと申します。
[#5270] Prec.html — gotoken@... (GOTO Kentaro)
ごとけんです
[#5287] Time class — Tadayoshi Funaba <tadf@...>
ふなばです。
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
[#5395] Subseq of Array — Inaba Hiroto <inaba@...>
稲葉です.
青山です。
青山です。
福間@福岡 です。
自己フォローです。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
青山です。
ふなばです。
青山です。
ふなばです。
青山です。
原です。
青山です。
原です。
ふなばです。
青山です。
ふなばです。
青山です。
ふなばです。
青山です。
ふなばです。
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
ふなばです。
青山です。
えぐち@エスアンドイー です。
青山です。
けいじゅ@日本ラショナルソフトウェアです.
ふなばです。
青山です。
青山です。
青山です。
青山です。
まつもと ゆきひろです
原です。
青山です。
原です。
青山です。
ふなばです。
青山です。
[#5455] io_write — IKARASHI Akira <ikarashi@...>
五十嵐です。
[#5527] Re: [ruby-list:12268] Re: It wants to install mon_ruby — moochan <moochan@...>
moochan です。
moochan です.
moochan です.
わたなべです.
[#5558] [BUG] module_eval — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
[#5564] Ruby 1.3.1-990224 — Yukihiro Matsumoto <matz@...>
Ruby 1.3.1-990224 is out, check out:
渡辺哲也です。
えぐち@エスアンドイー です。
わたなべです.
ふなばです。
[#5570] Hash.new — gotoken@... (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
[#5575] Re: a genericity — "豊福" <toyofuku@...>
豊福@パパイヤです。
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
えぐち@エスアンドイー です。
ごとけんです
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
[#5601] Re: Hash.new — Inaba Hiroto <inaba@...>
稲葉です.
稲葉です。
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
[#5641] [REQ] mod_ruby ENV['HTTP_CONNECTION'] — Wakou Aoyama <wakou@...>
青山です。
[#5676] Ruby 1.3.1-990225 — Yukihiro Matsumoto <matz@...>
Ruby 1.3.1-990225 is out, check out:
[#5725] VERSION_DATE — Wakou Aoyama <wakou@...>
青山です。
[#5726] SERVER_SOFTWARE (mod_ruby) — Wakou Aoyama <wakou@...>
青山です。
[#5752] irb on ruby-1.4 — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
[#5776] Precision in Mathematica (Re: Bigfloat) — gotoken@... (GOTO Kentaro)
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
えぐち@エスアンドイー です。
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
[ruby-dev:5167] Re: compare to NaN (Re: Re: call for finite/isnan testers)
えぐち@エスアンドイー です。
>>> On Tue, 16 Feb 1999 14:44:37 +0900, keiju@Rational.Com (石塚圭樹 ) said:
keiju> けいじゅ@日本ラショナルソフトウェアです.
keiju>
keiju> In [ruby-dev :4978 ] the message: "[ruby-dev:4978] Re: compare to NaN
keiju> (Re: Re: call for finite/isnan testers) ", on Feb/10 23:04(JST) EGUCHI
keiju> Osamu writes:
keiju>
keiju> >えぐち@エスアンドイー です。
keiju>
keiju> >仮数部固定長(10進32桁)で Bigfloat を実装しました。
keiju> >Ruby のコードです。 添付します。
keiju>
keiju> おおっ!! すばらしい.
98%の完成度の物を、80%まで完成度を落したようで
心苦しいのですが ^^;;;
keiju> >BASE はともかく、PREC を可変出来るように設計したつもりです。
keiju>
keiju> これがないとね(^^;;;
『BASE はともかく』が、後を引く事になってしまいました ^^;;;;
keiju> >あと、無限/非数/正規化への配慮もしました。
keiju>
keiju> さすが(^^;;
まだ、ゼロの符合に関する配慮が欠けています。
keiju> >このレベルのコードをいぢるといろいろわかるもので
keiju> > def inf?(n)
keiju> > n == n + 1.0
keiju> > end
keiju> >は誤りで、ちょっと n が大きくなると
keiju> >すぐ無限と早とちりします。^^;;;
keiju> > def inf?(n)
keiju> > n == n * 1.1
keiju> > end
keiju> >が良い様です。(1.01 でも 1.000000000001 でもいいけど、、)
keiju>
keiju> うーん. 微妙な...
これ嘘です。
def inf?(n)
n == n * 1.1 + 1.0
end
でないと 0.0 が Inf と判断されちゃいます ;p
keiju> 些細なことですが, 幾つか気がついたことを.
添削ありがとうございます。:-)
keiju> >#
keiju> ># bigfloat.rb:
keiju> >#
keiju> >require "e2mmap"
keiju>
keiju> これ^無理して使って下さらなくても良いですよ(^^;;;
keiju>
keiju> >class Bigfloat < Numeric
keiju> > extend Exception2MessageMapper
keiju> > def_e2message(TypeError, "wrong argument type %s (expected %s)")
keiju>
keiju> このあたり^ですね.
いやぁ、カッコ良くて気に入ってるんですけど :)
keiju> > attr :sign # plus(and zero):+1, minus:-1, +Inf:+Inf, -Inf:-Inf, NaN:NaN
keiju> > attr :prov # PREC'digits prov.
keiju> > attr :exp # base BASE of exp.
keiju>
keiju> 仮数とか指数ってのはどっちかというと実装上の都合ですので丸見えにするこ
keiju> ともないような.
隠蔽しても良いのですが、 def + とかで、楽しちゃったもので、、
keiju> > def normalize!
keiju> > if @prov == 0 then
keiju> > @sign, @prov, @exp = +1, 0, 0
keiju> > return
keiju> > end
keiju> > @sign, @prov = +1, @sign * @prov
keiju> > @sign, @prov = -@sign, -@prov if @prov < 0
keiju> > while @prov < BASE ** PREC
keiju> > @prov *= BASE
keiju> > @exp -= 1
keiju> > end
keiju> > while @prov >= BASE ** (PREC + 1)
keiju> > @prov /= BASE
keiju> > @exp += 1
keiju> > end
keiju> > end
keiju>
keiju> @provは, 常にPRECだけの桁数を持つBignumなんですね? 確かにその方がよい
keiju> に違いない(^^;;;
有効数字だけ仮数を充填しておく事で正規化してます。
あれ、無限や非数を正規化してるじゃん!
また、指数を増す方の正規化に、丸めのへ配慮が欠けてました。
keiju> > def initialize(num, exp = 0)
keiju> > @sign, @prov, @exp = +1, 0, 0
keiju> > case num
keiju> > when Integer
keiju> > @sign, @prov, @exp = +1, num, exp
keiju> > when Rational
keiju> > Bigfloat.new(num.numerator) / Bigfloat.new(num.denominator)
keiju> > return
keiju> > when Float
keiju> > if inf?(num) or nan?(num) then
keiju> > @sign, @prov, @exp = num, 0, 0
keiju> > return
keiju> > end
keiju> > @sign = +1;
keiju> > @sign, num = -1, -num if num < 0
keiju> > exp10 = Integer(Math.log10(num))
keiju>
keiju> ここ BASEが10って仮定されています
keiju>
keiju> exp10 = Integer(Math.log(num)/Math.log(BASE))
keiju>
keiju> かな?
あ、めっかっちゃった。^^;;
keiju> > @exp = exp10 - FLOAT_PREC
keiju> > @prov = Integer(num / (BASE ** @exp))
keiju>
keiju> あと, これだと丸め誤差が気にならないでもないんですが... 確かごとけんさ
keiju> んが固定小数点数を作られているみたいなので, BigfloatはFloatとの相性を
keiju> 考えてBASEを2などの数にした方がよいかも. そうすれば, Math.frexpを使っ
keiju> て誤差なしで変換できますし.
2進数は考えましたが、 to_s があまりにややこしかったので挫折しました。;_;
私的には、2進化はC言語版になってからのの課題です。
keiju> > when Bigfloat
keiju> > @sign, @prov, @exp = num.instance_eval("[@sign, @prov, @exp
keiju> > ]")
keiju>
keiju> ここどういうつもりですか? って, 私のコードがこうなっていますね(^^;;;
keiju> 昔はこうでなくては駄目だったんですが, 今はこっちの方が良いでしょう:
keiju>
keiju> @sign, @prov, @exp = num.instace_eval{[@sign, @prov, @exp]}
え、こんなのあり?
keiju> > def to_s
keiju> > return @sign.inspect if inf?(@sign) or nan?(@sign)
keiju> > s = ""
keiju> > s += "-" if @sign < 0
keiju> > n, d = @prov.divmod(10 ** PREC)
keiju> > s += n.inspect
keiju> > s += "."
keiju> > s += format("%0*d", PREC, d.inspect)
keiju> ># return s if @prov == 0 or (@exp + PREC) == 0
keiju> > s += "E"
keiju> > s += (@exp + PREC).inspect
keiju> > end
keiju>
keiju> ここもBASEが仮定されているような...
keiju>
keiju> n, d = @prov.divmod(BASE ** PREC)
keiju>
keiju> ??
ここは、10進数文字列の 10 です。
3.14
の 3 を取り出しています。
#他がてきと〜だと、狼少年になっちゃうなぁ ^^)l
keiju>
keiju> > def abs
keiju> > sign, prov, exp = instance_eval("[@sign, @prov, @exp]")
keiju> > Bigfloat.new(sign, prov, exp)
keiju>
keiju> ?? こんなことをやる必要は全然ないのでは?
keiju> Bigfloat.new(-sign, prov, exp)
そ、です。ねぼけてました。
keiju> > def to_i
keiju> > Integer(@sign * @prov * 10 ** @exp)
keiju>
keiju> ここもBASEが仮定されているような...
keiju>
keiju> Integer(@sign * @prov * BASE ** @exp)
keiju>
keiju> > def to_f
keiju> > @sign * @prov * 10.0 ** @exp
keiju>
keiju> ここもBASEが仮定されているような...
keiju>
keiju> @sign * @prov * Float(BASE) ** @exp
ごろごろ出て来ますね。 @_@
keiju> > def <=>(other)
keiju> > def +(other)
keiju> > def -(other)
keiju> > def *(other)
keiju> > def coerce(other)
keiju>
keiju> ここなんですが, PRECの違うBigfloatについてまだ考慮がなされていませんね.
そうなんです。
実は、prov の大きい方に合わせるというアイディアを持っていてのですが、
実装には移ってないです。
keiju> あ. あと, クラス定数を使うと良いといいましたが駄目でした(__;;;
これ、しばらく考えたのですが。だめでした。
で、降参してこのまま ML に投げたです ^^;;
keiju> クラスのインスタンス変数を使いましょう.
keiju>
keiju> class Bigfloat
keiju> @PREC = 32
keiju> def self.prec
keiju> @PREC
keiju> end
keiju> def prec
keiju> type.prec
keiju> end
keiju> end
keiju>
keiju> これならサブクラスで
keiju>
keiju> class Bigfloat_64 < Bigfloat
keiju> @PREC = 64
keiju> end
keiju>
keiju> とすればOKです.
keiju>
keiju> # でも, モジュールにするとこれでは駄目でもうちょっと工夫が必要ですが...
モジュールにすると、どんな使い道が出るのか今一つ判らないのですが、
自由な精度(と基数?)の浮動小数点クラスが簡単に作れると良いですね。
keiju> PRECの違ったBigfloatどうしの演算は, 上記のようにPRECの違うBigfloatをサ
keiju> ブクラス化するか否やかにもかかってきますね.
keiju>
keiju> あと, 表に出すかどうかも...
keiju>
keiju> また, インスタンスがprecをもつけれども, 演算ではprecの違いは考えず変換
keiju> はcoerceで対応するというのもあるかなと... この方法だとクラスは1つにな
keiju> ります.
これだと
1.0/3.0
もんだいの決着が必要ですね。
えぐち