[#20490] [BUG] evalがらみでSIGSEGV — "yamamoto madoka" <dan@...2.so-net.ne.jp>
こんにちは、山本 円と申します。
[#20495] 不正なバイト列とのマッチ — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#20499] Re: [ruby-cvs] ruby/ext/curses: * string.c (rb_str_shared_replace): clear flags before copy. — nobu.nakada@...
なかだです。
まつもと ゆきひろです
わたなべです。
まつもと ゆきひろです
わたなべです。
[#20525] [BigDecimal] changing rule of coerce — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>
斎藤です。
小林です。
まつもと ゆきひろです
小林です。
小林です。
前田です。
小林です。
小林です。
小林です。
小林です。
小林です。
[#20570] Marshal upgrade — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
咳といいます。
まつもと ゆきひろです
まつもと ゆきひろです
新井です。
新井です。
まつもと ゆきひろです
咳といいます。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#20580] add library(Re:ruby-dev:20570) — たむらけんいち <sgs02516@...>
たむらです。
なひです。
In message <038d01c349cb$eaad71d0$93222fc0@sarion.co.jp>,
まつもと ゆきひろです
In message <1058171960.400840.10041.nullmailer@picachu.netlab.jp>,
話をそらしてしまうかもしれませんが、
In message <20030714.183104.09092354.taca@back-street.net>,
In message <20030715.013655.424936247.gotoyuzo@kotetsu.does.notwork.org>
In message <20030715.025907.26217115.taca@back-street.net>,
In message <20030715.051853.968499478.gotoyuzo@kotetsu.does.notwork.org>
In message <20030721.163444.09092937.taca@back-street.net>,
In message <20030721.191306.60866533.gotoyuzo@kotetsu.does.notwork.org>
In message <20030721.211845.20473808.taca@back-street.net>,
In message <20030722.002037.774147317.gotoyuzo@kotetsu.does.notwork.org>
In message <20030722.003236.72433302.taca@back-street.net>,
[#20582] rexmlのuconv依存 — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
まつもと ゆきひろです
In article <1057770842.878440.16422.nullmailer@picachu.netlab.jp>,
なかだです。
In article <200307100751.h6A7pLFs003667@sharui.nakada.kanuma.tochigi.jp>,
[#20606] ruby-1.8.0 on BSD/OS — OHARA Shigeki <os@...>
大原です。
[#20613] compiling Ruby on AIX (powerpc-ibm-aix4.3.3.0) and Alpha OSF/1 (alphaev67-dec-osf5.1) — NISHIMATSU Takeshi <t-nissie@...>
西松と申します.
なかだです。
西松です. お返事が遅くなり申し訳ありません.
[#20631] SOAP4R in 1.8.0? — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#20655] frozen ThreadGroup — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
In article <1058719939.886480.22830.nullmailer@picachu.netlab.jp>,
[#20680] 1.8.0 on IA64 etc. — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#20691] Re: [Oniguruma] explicit capture — kkosako@...
> -----Original Message-----
[#20716] Re: [Oniguruma] explicit capture — kkosako@...
> -----Original Message-----
[#20748] [BigDecimal] exception handling — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>
斎藤です。
[#20765] Re: [ruby-cvs] ruby/lib: * lib/tmpdir.rb: new library to get temporary directory path, — WATANABE Hirofumi <eban@...>
わたなべです。
まつもと ゆきひろです
わたなべです。
まつもと ゆきひろです
わたなべです。
[#20780] complex.rb — Masahiro TANAKA <masa@...>
complex.rb についての修正案を[ruby-math:00543]で提案しましたが、その後
まつもと ゆきひろです
けいじゅ@いしつかです.
At Tue, 22 Jul 2003 17:30:31 +0900, Yukihiro Matsumoto wrote:
まつもと ゆきひろです
けいじゅ@いしつかです.
At Sat, 26 Jul 2003 06:52:21 +0900, 石塚圭樹 wrote:
[#20791] 1.8.0 preview4 schedule — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
永井@知能.九工大です.
[#20795] warning: terminated thread — Masatoshi SEKI <m_seki@...>
咳といいます。
mput です。こんばんわ。
まつもと ゆきひろです
[#20800] 0**(-1) with rational — Tanaka Akira <akr@...17n.org>
そういえば思い出したのですが、rational を require しているときとしてい
At Wed, 23 Jul 2003 03:30:41 +0900, Tanaka Akira wrote:
[#20810] Rational 始めました。 — Shin-ichiro HARA <sinara@...>
原です。
けいじゅ@いしつかです.
In article <200307241940.EAA14225.keiju@ishitsuka.com>,
けいじゅ@いしつかです.
In article <200307271500.AAA04363.keiju@bc.mbn.or.jp>,
[#20818] ThreadGroup#wait — nobu.nakada@...
なかだです。
まつもと ゆきひろです
[#20868] ruby 1.8.0 preview4 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#20887] ext/openssl undefined BN_pseudo_rand_range — Kazuhiro Yoshida <moriq@...>
もりきゅうです。
[#20915] [BUG] errno == 0 — Kazuhiro Yoshida <moriq@...>
もりきゅうです。win32だけかもしれません。
まつもと ゆきひろです
もりきゅうです。
[#20932] move ChangeLog — Tanaka Akira <akr@...17n.org>
提案なんですが、1.8.0 が出たらそこまでのぶんの ChangeLog を移動しませ
[#20949] multiple Tk interpreter support — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#20954] ruby 1.8.0 preview5 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
もりきゅうです。
Siena. です。
[#20957] [BigDecimal] conflict between Numeric#div and BigDecimal#div — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>
斎藤です。
At Mon, 28 Jul 2003 18:26:20 +0900, Tadashi Saito wrote:
まつもと ゆきひろです
At Mon, 28 Jul 2003 21:16:08 +0900, Yukihiro Matsumoto wrote:
まつもと ゆきひろです
At Tue, 29 Jul 2003 14:43:19 +0900, Yukihiro Matsumoto wrote:
原です。
[#20989] Re: [Oniguruma] explicit capture — kkosako@...
> -----Original Message-----
[#21027] -W option — WATANABE Hirofumi <eban@...>
わたなべです。
[ruby-dev:20547] Re: [BigDecimal] renaming proposal
斎藤です。
----- Original Message -----
From: "Shigeo Kobayashi" <shigeo@tinyforest.gr.jp>
Sent: Monday, July 07, 2003 4:25 PM
Subject: [ruby-dev:20524] Re: [BigDecimal] renaming proposal
> そうですね、そう思います。 いずれにせよ、BigFloat -> BigDecimal
> への移行は若干の書き換えが必要になるので、思い切ってwarning
> も出さないことにしてあります(これでいいと思います)。
了解しました。
引用が前後しますが、
> > 既に上の4つの関数とexpについて、Rubyで書き直してみました。
> おおっ! そのうちライブラリとして公開していただけるといいですね。
> > ・[ruby-dev:20448] での
> > > 「Ruby + bigdecimal.dll(so) 」だけを配布したい場合も
> > という発言から察するに、ユーザが明示的に
> > 「require 'bigdecimal-math'」ということになるのでしょうか?
> ということです。
ええと自分は、元の小林さんの発言
> ただ、他にもありますが、こういったものはRubyスクリプト
> の形式で出したいですね。どなたか、sin/cos/log/sqrt等を
> Rubyで書いてくれる人がいるとうれしいですね。
から
「現状のbigdecimal.cの数学関数の部分は削除して、Rubyで
書き直し、それを標準添付の一部としたい」
ということだと思ったのですが、そうではない、ということでしょうか。
数学関数を標準添付したくないということですか?
> > ・既存のCの実装を捨てて(ということですよね?)、Rubyで書き直す
> > 目的というのは何でしょうか? 保守しやすいとか、それ自体が
> > サンプルになるというくらいの意味でしょうか。
> すべて、その通りです。ものによりますが、BigDecimal のように
ここは、分かりました。
> > 手元で簡単なテストを作ったところ、どちらの基準でも何らかの
> > 関数が正しくない数値を返しました。
> 具体的な内容と結果を教えてもらえますか?
はい。添付したスクリプトを走らせると、必ずNGになります。
(もっとうまい書き方があるのかもしれませんが…)
数学関数に、n桁の精度での解 x とその倍の精度での解 y を
計算させ、y の n桁までは正しいものと仮定します。
そして、x と y のn桁までを比較すると、いずれかの
関数で x == y が成り立たなくなります。
「unless s_ok.truncate(n) == s.truncate(n)」の truncate を
round にしても同様でした。
具体的には、引数に100を与えて走らせると
e: 44:
ok: 0.271828182845904523536028747135266249775724700E1
ng: 0.271828182845904523536028747135266249775724710E1
exp: 8:
ok: 0.738905600E1
ng: 0.738905610E1
ということが起き、truncateをroundにしてからだと
e: 64:
ok: 0.27182818284590452353602874713526624977572470936999595749669676280E1
ng: 0.27182818284590452353602874713526624977572470936999595749669676270E1
exp: 30:
ok: 0.738905609893065022723042746058000E1
ng: 0.738905609893065022723042746057000E1
となります。引数で700桁くらいを指定すると、piもそうなります。
> > ・やはり数学関数はMathモジュール以下に定義すべきだと
> > 思うのですが、そうしていいでしょうか?
> > (もちろん互換性を保った上で、です)
> えっと、作成中の「数学関数スクリプト」ということですよね?
いえ、違います。
手元で作ったスクリプトはもちろんそうしてありますが、
BigDecimal自体について言っているつもりでした。
HTMLのマニュアルの方で小林さんが暗におっしゃっている通り ^^;
a.sqrt(n)
では「aの平方根」とは読みずらいと思うからです。
それ以上に、既存のものとの親和性という点からも
Math.sqrt(a, n)
とできたほうが良いと思います。
(手元のスクリプトでは、第一引数がBigDecimalの時に限り
第二引数を認めるようにしています)
---
斎藤ただし
Attachments (1)
require 'bigdecimal'
raise "usage: #{$0} number-of-digit" unless ARGV.size == 1
N = ARGV[0].to_i
$ok = true
def testfunc(name)
correct = yield(2*N)
1.upto(N) do |i|
s_ok = correct
s = yield(i)
n = i - s.exponent
unless s_ok.truncate(n) == s.truncate(n)
print "#{name}: #{i}:\n",
"ok: #{s_ok.truncate(n)}\nng: #{s.truncate(n)}\n\n"
$ok &&= false
return
end
end
print "#{name}: OK\n\n"
end
two = BigDecimal.new("2")
funcs = [
['e', proc{|i|BigDecimal.E(i)}],
['pi', proc{|i|BigDecimal.PI(i)}],
['sqrt', proc{|i|two.sqrt(i)}],
['exp', proc{|i|two.exp(i)}],
['sin', proc{|i|two.sincos(i)[0]}],
['cos', proc{|i|two.sincos(i)[1]}]
]
funcs.each do |f|
testfunc(f[0], &f[1])
end
print "\ntest #{$ok ? "OK" : "NG"}\n"