[#33561] open-uri problem — rubikitch@...
るびきちです。
[#33567] rational, complex and nuby — Tadayoshi Funaba <tadf@...>
ruby に rational と complex を組みこもうと試していて nuby という派生物
原です。
なかだです。
> 若干古い1.8.6がベースでしょうか。
なかだです。
> 2002/01/25版にその後の修正を手で追加した状態? ChangeLogをみたら、
なかだです。
> ちょっと見たところ、Enumerable#stable_sort_byがsortを使っている
[#33580] Re: cgi.rb再構築案 — "Makoto Kuwata" <kwa@...>
桑田といいます。
まつもと ゆきひろです
なかだです。
[#33611] Solaris で timeout.rb が Segmentation fault する。 — shiiya@...
はじめまして。椎屋と申します。
なかだです。
椎屋です。反応ありがとうございます。
なかだです。
さとうふみやす @ OSS テクノロジです。
In article <87r6foys1z.wl%fumiyas@osstech.jp>,
At Fri, 8 Feb 2008 14:00:35 +0900,
In article <87prv8yovi.wl%fumiyas@osstech.jp>,
とみたです。
In article <20080219182203.2559fc3e.tommy@tmtm.org>,
[#33621] EUC-KR <-> UTF-8 transition table — "Park Ji-In" <tisphie@...>
朴 芝印です。
成瀬です。
At 05:00 08/02/07, NARUSE, Yui wrote:
朴 芝印です。
[#33628] encdet.rb — Tanaka Akira <akr@...>
前から考えていたのですが、ファイル先頭の magic comment や
まつもと ゆきひろです
In article <E1JN0fO-00084M-Dg@x61.netlab.jp>,
須藤です。
In article <20080214.203702.439940124859613817.kou@cozmixng.org>,
須藤です。
In article <20080215.210932.373570872046057306.kou@cozmixng.org>,
須藤です。
In article <20080219.210130.275954098091635027.kou@cozmixng.org>,
[#33646] require/load/autoload の encoding オプション — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
[#33662] rational, complex and mathn — Tadayoshi Funaba <tadf@...>
rational は floor、truncate、ceil、round を定義していません。Numeric
まつもと ゆきひろです
他にも問題、課題はあると思います。すぐに解決できるものと、そうでないも
ひとつ書き忘れました。
まつもと ゆきひろです
> 原さんのrationalは導入予定がありますので、この機会にもう一度
原です。
> 前にふなばさんと個人的なメールのやりとりで、結局また私がrationalをまと
原です。
> > それなりに速くはなるし、単純なところでそれなりに満足していますが、一度、
nurat 0.0.2 を出しました (ついでに nucomp も)。
仕様を確認していきたいと思います。
まつもと ゆきひろです
原です。
> > new!はRubyで実装しているためにだけ必要なので、Cで実装するな
原です。
けいじゅ@いしつかです.
> Rational::Unify が定義されているときは、Rational.new(1,1) で Integer
> Rational() は、1つか2つの引数をとる。
> 実際的に重要な機能が Rational() という名前で固定されるのはクラスの定義
もうあまり手を入れないでおこうと思ったのです、つい手を入れてしまいまし
原です。
ちょっと実験してみました。原さんの rational は、かけ算割り算が速いので、
で、考えていたんですが、目的は、最速の rational を作ることではなくて、
原です。
成瀬です。
まつもと ゆきひろです
> はい。Complexについても1.9の間に組み込んでよいと思います。
まつもと ゆきひろです
nurat を組みこんでみました。最低限必要な修正だけになっていると思います。
rational と complex を 1.9 に組みこむ作業をしました。
異議がなければ、若干の手直しの後、次週末にでも trunk にコミットしよう
> 異議がなければ、若干の手直しの後、次週末にでも trunk にコミットしよう
[#33674] erb.rb の仕様について — "Makoto Kuwata" <kwa@...>
桑田といいます。
[#33676] Suggestion: Proc#curry — "Yusuke ENDOH" <mame@...>
遠藤と申します。
[#33679] bigdecimal — Tadayoshi Funaba <tadf@...>
bigdecimal/math.rb の BigMath は、利用者が include してつかうことを前
Integer や Float に比べると、BigDicimal() は、1 や 1.1 を受けつけない、
斎藤と申します。
> 仮にBigDecimal(1.1)を、(二進小数として)受け付けると、「BigDecimalでは、
まつもと ゆきひろです
[#33699] trunk: インストールファイルのアクセス権 — pegacorn <subscriber.jp@...>
trunk で、インストールファイルのアクセス権が適切に設定されないものが
[#33712] Array の product の戻り値 — "Hideo Konami" <konami@...>
小波です。
[#33726] Re: [ruby-cvs:22680] Ruby:r15443 (trunk): * bootstraptest/runner.rb, bootstraptest/test_method.rb, enc/depend, — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
成瀬です。
こんにちは、なかむら(う)です。
成瀬です。
In article <47B26518.60309@airemix.com>,
Tanaka Akira wrote:
[#33825] Ruby M17N 会議の議事録 — "NARUSE, Yui" <naruse@...>
成瀬です。
[#33837] spec of Rational — Shin-ichiro HARA <sinara@...>
原です。
[#33838] 文字列処理の高速化 ? — Martin Duerst <duerst@...>
ただの一例ですが、先週の金曜日に松本さんに見せたときに
[#33843] IO.copy_stream — Tanaka Akira <akr@...>
IO.copy_stream をつけるのはどうでしょうか。
[#33889] Re: [ ruby-Bugs-17454 ] irb crash while iterating over all objects — Urabe Shyouhei <shyouhei@...>
卜部です。ちょっとお知恵を拝借したく。
ミスって送信ボタン押しちゃった
こんにちは、なかむら(う)です。
なかだです。
Nobuyoshi Nakada さんは書きました:
豊福です。
まつもと ゆきひろです
豊福です。
まつもと ゆきひろです
豊福です。
まつもと ゆきひろです
豊福です。
[#33894] character encodings differ: US-ASCII and dummy encoding — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
まつもと ゆきひろです
[#33916] UTF_16LE.dummy? returns false — sheepman <sheepman@...>
こんにちは sheepman です。
[#33926] --host=i586-mingw32msvc — Kouhei Sutou <kou@...>
須藤です。
[#33937] patch for ruby_1_8_6/lib/rexml/element.rb@12852 — oshida@...
押田です。
[#33943] warning about space before argument parentheses — Nobuyoshi Nakada <nobu@...>
なかだです。
[ruby-dev:33852] Re: rational, complex and mathn
原です。
Tadayoshi Funaba さんは書きました:
>> $ ruby -I../nurat-0.0.4/lib:../nurat-0.0.3/ext bench.rb nurat-0.0.4 >>
>> benchmark.log
>
> これだと 0.0.3 をつかってしまいそうですが。ま、あまり変りないかもしれ
> ませんが。
あ、失敗。
> 原さんのはかけ算が圧倒的に速いですね。ただ、加減算などになるとあまり違
> いがなくなってきて、特に数が大きくなると、nurat のほうが速くなったりす
> るようです。いいところをうまく取りこめるといいですが。
> --- hara-bench.rb Tue Feb 19 06:49:34 2008
> +++ hara-bench-n.rb Tue Feb 19 06:59:31 2008
> --- hara-bench.rb Tue Feb 19 06:49:34 2008
> +++ hara-bench-n2.rb Tue Feb 19 07:00:08 2008
確かに加算の rational-1.19 はいまいちだなあ。
> --- hara-bench.rb Tue Feb 19 06:49:34 2008
> +++ hara-bench-n3.rb Tue Feb 19 07:01:04 2008
> @@ -22,13 +22,13 @@
> end
>
> def prod1
> - n = 10**4
> + n = 10**5
> a = sa('a', 1, 100, n).zip(sa('b', 1, 100, n)).map{|x, y| Rational(x, y)}
>
> bm("product-small", $libname) do
> - s = Rational(1)
> + s = Rational(2)
> a.each do |x|
> - s *= x
> + s **= x
> end
> end
> end
これは、掛け算ではなく **(aRational) の問題みたい。nurat では、
N = Float::MAX.to_i * 2
p Rational(N + 2, N + 1).to_f
とすると NaN ですが、rational-1.19 では複雑なことをしていて、1.0 にな
ります。しかし、工夫の余地があるということだなあ。
-----^ bm.rb
#!/usr/bin/ruby
require "rational.rb"
$libname = ARGV.shift || "(unknown)"
def sa(name, from, to, size)
fname = sprintf("INT%s_%d_%d_%d", name, from, to, size)
unless File.exist?(fname)
a = (1..size).map{Rational(rand(to - from + 1) + from)}
open(fname, "w") {|f| f << a.join("\n")}
end
File.read(fname).split.map{|x| x.to_i}
end
def bm(name, routine = nil, n = 1)
start = Time.now
n.times do
yield
end
stop = Time.now
printf("= %-20s %-20s %f sec.\n", name, "(#{$libname})", stop - start)#-
end
def rats(a, b, n)
sa(*(a+[n])).zip(sa(*(b+[n]))).map{|x, y| Rational(x, y)}
end
def plus0(title, x, y, n)
a = rats(['a', *x], ['b', *y], n)
bm(title, $libname) do
s = Rational(0)
a.each do |x|
s += x
end
end
end
def mul0(title, x, y, n)
a = rats(['a', *x], ['b', *y], n)
bm(title, $libname) do
s = Rational(1)
a.each do |x|
s *= x
end
end
end
def rat_pow0(title, x, y, n)
a = rats(['a', *x], ['b', *y], n)
bm(title, $libname) do
s = Rational(2)
a.each do |x|
s **= x
end
end
end
if $0 == __FILE__
plus0("addtion-small", [-100, 100], [1, 100], 10**3)
mul0("product-small", [1, 100], [1, 100], 10**3)
plus0("addition-big", [10**30, 10**40], [10**30, 10**40], 50)
mul0("product-big", [10**30, 10**40], [10**30, 10**40], 50)
rat_pow0("exponential-rat-big", [1, 100], [1, 100], 10**5)
end
-----$ bm.rb