From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1998-08-18T12:41:44+09:00 Subject: [ruby-list:9187] Re: Matrix#to_i [Re: irb -m] けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :9171 ] the message: "[ruby-list:9171] Re: Matrix#to_i [Re: irb -m] ", on Aug/17 18:57(JST) GOTO Kentaro writes: >ごとけんです >では Complex#to_i と Complex#to_f は解決ということで。 はい. >>その, 精度という視点で考えるのは良い案だと思います. >良かった ^^;; 何か私も, 今までモヤモヤしていたものがすっきりした気がします(^^;;; >>ただ, prec(Float)っ >>て良く使うので, prec_fとかprecfぐらいの方が良いなと... > >えっと、prec(Integer) も意味あると思うのですよ。 ええ. prec_iとprec_fがあるといいなと... >例えば現在の Rational では rational.rb を include した >時点から Integer#/ は自然な規則で Rational を返す訳で、 # これは, mathn.rbをインクルードして初めてそのような動作をするようになっ # ています. >そうすると例えば > >Complex(0.0,1.0).prec(Integer) / 3 > ==> Complex(0,Rational(1,3)) > >の場合 prec(Float) よりも精度が良いことになります。 >prec(Rational) はちょっと難しそうですが、Float を >有理数として分母分子を計算するのはアリかも知れません。 >つまり (0.2).prec(Rational) # => Rational(1,5) みたく。 変換する意味があるかどうかは別ですけどね... >それと、prec(klass) という仕様の方が良いと思うのは、 >将来、FinerFloat や DiophantineApproximation >なんてものがあらわれた場合にも complex.rb や matrix.rb を >さわらなくても良いことです。 これはどうなんでしょ? prec_fとかでも問題なくできると思いますが... それ はともかく: >また十分に制御された特殊な精度クラスは数値計算論では >特に重要ですので、そのようなものが prec の引数に来る >可能性は十分あります(というかそんな人の気もひけるというか)。 そうですね. それはいえると思います. そういう意味ではprec()もあった方が 良いと思います. ただ, 他の精度変換よりもFloat/Integerへの精度変換は非 常に多いと思うので, 別名(?)として用意されれば良いなと... いちいち, num.prec(Float) * num.prec(Float) って書くのは長い.... __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---