[#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:4823] Re: compare to NaN (Re: Re: call for finite/isnan testers)
けいじゅ@日本ラショナルソフトウェアです.
休出までして会社に来ているのにと思いつつ....
今日頻繁に登場しておられる方々はみなそうなのかな??
In [ruby-dev :4821 ] the message: "[ruby-dev:4821] Re: compare to NaN
(Re: Re: call for finite/isnan testers) ", on Feb/07 17:59(JST) EGUCHI
Osamu writes:
>えぐち@エスアンドイー です。
>keiju> 確かにその意見もあるかも知れないですね. 状態であると考えるわけですね.
>
>無限/非数との一致は検査したいと思いますが、
>式の中に無限が登場するのは、いまはあまり良い考えでは
>ないと思っています。
そうですね... ちょっと難しいですよね. それに標準のRubyのモデルとしては
ちょっとって気もします. やるなら, mathn.rbモジュールのように標準とは別
の動作として実装した方が良いかも.
>keiju> >IEEE 準拠と言う見方から、Float::INFINITY でよいように思えてきました。
>keiju> >
>
>具体的には番人に使うケースぐらいしか思い当たらないので、
>それならば、
>
> → Float::Max
> Float::Min
>
>で良いと思います。
そういえば, 番人の例も出ていましたね.
そういうものも, 標準には添付されていなくて, 上記のようなものが定義され
ている別モジュールでいいんじゃないかしら.
>非数の値を得たい、言う考え自体は私は放棄しました。
色々なパターンの無限があるので, そこが難しいですよね.
>Ruby の Float は名前の通り、計算機の中で扱われる
>浮動小数点数のクラスなので、数学の実数は Real として
>実装する(実装できるようにする)のが良いと思います。
>有理数の全てを仮数/指数の対で表そうとすると、
>この循環小数問題は避けがたいですね。
>
>私は、固定精度を想定したのですが、
>なるほど、可変精度を実装するわけですね、
固定も可変も実装上あまり変わりませんので(^^;;;
あと, Bigfloat(prec) の用にまず固定精度のBigfloatクラスを生成してその
中では固定精度で計算するというアプローチもありますね. こちらの方が,
Floatなどの既存Floatの考えに馴染むかも知れません.
# coerceの対応が頭いたそうだけど(^^;;;
>この場合は、演算結果の精度のがいくつになるかの規則が問題ですね。
>
>例えば
> 加限算は、絶対値の大きな項の精度になる
> 乗除算は、精度の小さな項の精度になる
>などです。
全部, 精度の小さな項の精度になる
になっています. 加減算でも, 片方の精度を越えた部分に関しては, 計算して
も無意味だと思うのですが?
>四則で既に問題なので、Math 相当の関数全てについて値の精度に
>配慮するのは、かなり厄介ですね。
うーん... 超越関数の精度を自動的に調整するのは難しいですよね.
sin(val, prec) 見たいにユーザにまかせるのかなって考えていました.
>keiju> # 実装はしても, テストが中途半端なままほっといてんですが(^^;;;
>ありのままな状態で良いので、是非拝見したいです。
あらま(*^^*
大部いじっていないので, もしかしたら本当にデバッグ中かも知れませんので,
動作しないかも知れません.
あと, Bigfloatを
仮数 * 10 ^ 指数
で表現するか,
仮数 * 256 ^ 指数
で表現するか, はたまた他にするかが問題だと思いますが, たぶん10を用いて
いたと思います.
# それに当然ですが, rubyで書いてあります.
-- ここから.
require "e2mmap"
def Bigfloat(n, prep = Bigfloat.DEFAULT_PREC)
Bigfloat.new(n)
end
# dummy definition
class Rational<Numeric;end
class Complex<Numeric;end
class Bigfloat < Numeric
extend Exception2MessageMapper
def_e2message(TypeError, "wrong argument type %s (expected %s)")
# 有効精度. Bigfloat::10進数での桁数
class << self
attr :DEFAULT_PREC, TRUE
end
@DEFAULT_PREC = 32
def Bigfloat.count_prec_of_float
i = 0
a = 1
b = 1.0/10.0
begin
o = a
a += b
b /= 10.0
i += 1
end until(a == o)
i
end
FLOAT_PREC = Bigfloat.count_prec_of_float
# expが有効なのは整数の時だけ.
def initialize(num, prec = Bigfloat.DEFAULT_PREC, exp = 0)
@prec = prec
case num
when Integer
@exp = exp
@prov = num
while (d, m = @prov.divmod(10); m == 0)
@exp += 1
@prov = d
end
when Rational
Bigfloat.new(num.numerator, prec) / Bigfloat.new(num.denominator, prec)
when Float
prov, exp2 = Math.frexp(num)
exp10 = 0
while Integer(prov) != prov
exp10 -= 1
prov *= 10
end
if exp2 < 0
while (n = prov/2; Integer(n) == n or exp2 == 0)
prov = n
exp2 -= 1
end
while exp2 != 0
prov *= 5
exp10 -= 1
exp2 -= 1
end
else
while exp2 != 0
prov *= 2
exp2 += 1
end
end
when String
# [+|-]99999.?99999[e[+|-]99999]
num =~ /([-+]?[0-9]*)\.?([0-9]*)(e([+-]?[0-9]+))?$/
int = $1
dec = $2
@prov = Integer(int + dec)
if $4
@exp = Integer($4) - dec.size
else
@exp = -dec.size
end
while (d, m = @prov.divmod(10); m == 0)
@exp += 1
@prov = d
end
when Bigfloat
@exp, @prov = num.instance_eval("[@exp, @prov]")
else
Bigfloat.fail(TypeError,
num.type,
"Inetger or Float or String or Bigfloat or Rational")
end
end
attr :exp
attr :prov
attr :prec
def +(other)
case other
when Bigfloat
#break
when Integer, Rational
self + Bigfloat(other)
when Float
Float(self) + other
when Complex
Complex(self) + other
else
x, y = other.coerce(self)
x + y
end
n_prec = [@prec, other.prec].min
s_p = @prov
o_p = other.prov
n_exp = [@exp, other.exp].min
if @exp < other.exp
o_p *= 10 ** (other.exp - @exp)
elsif @exp > other.exp
s_p *= 10 ** (@exp - other.exp)
end
n_p = s_p + o_p
Bigfloat.new(n_p, n_prec, n_exp)
end
def -(other)
case other
when Bigfloat
#break
when Integer, Rational
self - Bigfloat(other)
when Float
Float(self) - other
when Complex
Complex(self) - other
else
x, y = other.coerce(self)
x - y
end
n_prec = [@prec, other.prec].min
s_p = @prov
o_p = other.prov
n_exp = [@exp, other.exp].min
if @exp < other.exp
o_p *= 10 ** (other.exp - @exp)
elsif @exp > other.exp
s_p *= 10 ** (@exp - other.exp)
end
n_p = s_p - o_p
Bigfloat.new(n_p, n_prec, n_exp)
end
def *(other)
case other
when Bigfloat
#break
when Integer, Rational
self * Bigfloat(other)
when Float
Float(self) * other
when Complex
Complex(self) * other
else
x, y = other.coerce(self)
x - y
end
n_prec = [@prec, other.prec].min
s_p = @prov
o_p = other.prov
n_exp = @exp + other.exp
n_p = s_p * o_p
Bigfloat.new(n_p, n_prec, n_exp)
end
def /(other)
case other
when Bigfloat
#break
when Integer, Rational
self / Bigfloat(other)
when Float
Float(self) / other
when Complex
Complex(self) / other
else
x, y = other.coerce(self)
x / y
end
n_prec = [@prec, other.prec].min
s_p = @prov
o_p = other.prov
s_exp = @exp
s_len = Integer(Math.log(s_p) + 1)
o_len = Integer(Math.log(o_p) + 1)
if s_len < n_prec + o_len
s_p *= 10 ** (n_prec + o_len - s_len)
s_exp -= n_prec + o_len - s_len
end
n_exp = s_exp - other.exp
n_p = s_p / o_p
Bigfloat.new(n_p, n_prec, n_exp)
end
def coerce(other)
case other
when Integer, Rational
return Bigfloat(other, self.prec), self
when Float
return other, self.to_f
when Complex
return other, Complex(self)
else
super
end
end
def to_f
@prov * 10**@exp
end
def to_s
s = @prov.to_s
if @exp >= 0
s.concat "0" * @exp
s.concat ".0"
else
if s.size + @exp >= 0
s[s.size + @exp, 0] = "."
else
s.sub!(/(-?)([0-9]*)/){
$1+"0." + "0" * -(@exp + s.size) + $2
}
end
end
s
end
end
__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---