[#35789] [Ruby 1.9 - Bug #407] (Open) String#<< — Shyouhei Urabe <redmine@...>

チケット #407 が報告されました。 (by Shyouhei Urabe)

13 messages 2008/08/06

[#35845] [Bug #437] test_strftime(TestTime) fails on Solaris — Shugo Maeda <redmine@...>

Bug #437: test_strftime(TestTime) fails on Solaris

24 messages 2008/08/13
[#35855] Re: [Bug #437] test_strftime(TestTime) fails on Solaris — "Shugo Maeda" <shugo@...> 2008/08/15

前田です。

[#35856] Re: [Bug #437] test_strftime(TestTime) fails on Solaris — SATOH Fumiyasu <fumiyas@...> 2008/08/15

さとうふみやす @ OSS テクノロジです。

[#35857] Re: [Bug #437] test_strftime(TestTime) fails on Solaris — Yukihiro Matsumoto <matz@...> 2008/08/15

まつもと ゆきひろです

[#35870] Re: [Bug #437] test_strftime(TestTime) fails on Solaris — "Shugo Maeda" <shugo@...> 2008/08/18

前田です。

[#35863] Refactoring of enumerating prime numbers — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

20 messages 2008/08/16
[#35865] Re: Refactoring of enumerating prime numbers — keiju@... (keiju ISHITSUKA) 2008/08/17

けいじゅ@いしつかです.

[#35867] Re: Refactoring of enumerating prime numbers — "Yugui (Yuki Sonoda)" <yugui@...> 2008/08/17

Yuguiです。

[#35875] Re: Refactoring of enumerating prime numbers — keiju@... (keiju ISHITSUKA) 2008/08/19

けいじゅ@いしつかです.

[#35877] Re: Refactoring of enumerating prime numbers — Nobuyoshi Nakada <nobu@...> 2008/08/19

なかだです。

[#35882] Re: Refactoring of enumerating prime numbers — keiju@... (石塚圭樹) 2008/08/20

けいじゅ@いしつかです.

[#35904] [Feature:1.9] pack format 'm' based on RFC 4648 — "Yusuke ENDOH" <mame@...>

遠藤です。

14 messages 2008/08/21
[#36442] [Feature #471] pack format 'm' based on RFC 4648 — Yuki Sonoda <redmine@...> 2008/09/22

チケット #471 が更新されました。 (by Yuki Sonoda)

[#35906] %N for Time#strftime — "Shugo Maeda" <shugo@...>

前田です。

13 messages 2008/08/21

[#35986] 1.9と1.8で、delegateのインスタンスのクラス名の違う — Fujioka <fuj@...>

xibbarこと藤岡です。

17 messages 2008/08/26
[#35987] Re: 1.9と1.8で、delegateのインスタンスのクラス名の違う — Yukihiro Matsumoto <matz@...> 2008/08/26

まつもと ゆきひろです

[#35991] Re: 1.9と1.8で、delegateのインスタンスのクラス名の違う — keiju@... (石塚圭樹) 2008/08/26

けいじゅ@いしつかです.

[#35994] Re: 1.9と1.8で、delegateのインスタンスのクラス名の違う — Fujioka <fuj@...> 2008/08/27

藤岡です。

[#35998] Re: 1.9と1.8で、delegateのインスタンスのクラス名の違う — keiju@... (石塚圭樹) 2008/08/27

けいじゅ@いしつかです.

[#36066] Numeric#scalar? — Tadayoshi Funaba <tadf@...>

1.9 の Numeric#scalar? について、適当でないのでは (real? などのほうがい

24 messages 2008/08/31
[#36069] Re: Numeric#scalar? — Shin-ichiro HARA <sinara@...> 2008/08/31

原です。

[#36104] Re: Numeric#scalar? — Tadayoshi Funaba <tadf@...> 2008/09/02

> やはり、scalar? はずれているんじゃないかな。real? の方がいい

[#36122] Re: Numeric#scalar? — Shin-ichiro HARA <sinara@...> 2008/09/03

原です。

[#36133] Re: Numeric#scalar? — Tadayoshi Funaba <tadf@...> 2008/09/03

> ここで、scalar? を疑問視する理由を復習すると、たとえば、「複

[#36173] Re: Numeric#scalar? — Tadayoshi Funaba <tadf@...> 2008/09/05

1.9.1 までに時間がないので scalar? だけ何とかしたいと思っていましたが、

[#36183] Re: Numeric#scalar? — "Shugo Maeda" <shugo@...> 2008/09/06

前田です。

[#36186] Re: Numeric#scalar? — Shin-ichiro HARA <sinara@...> 2008/09/06

原です。

[ruby-dev:36042] Re: Refactoring of enumerating prime numbers

From: keiju@... (keiju ISHITSUKA)
Date: 2008-08-29 07:39:20 UTC
List: ruby-dev #36042
けいじゅ@いしつかです.

In [ruby-dev :35983 ] the message: "[ruby-dev:35983] Re: Refactoring
of enumerating prime numbers ", on Aug/26 22:09(JST) "Yugui (Yuki
Sonoda)" writes:

>Yuguiです。

遅メイルですいません.

>私が送ったコードも既存のPrime.newしているコードに配慮してはいますが、
>互換性をより確実に提供するという意味ではPrimeがクラスで有り続けたほうが
>良いかもしれません。

あとからでてきますが, Generatorを外から呼べなくなりますしね.

>ただ、その意味では石塚さんの、Primeを完全にシングルトンパターンにしてし
>まうのはPrime.newできないので困ると思います。

まあ, 1.9用だから良いかと思って(^^;;


>もう一度整理します。
>1. 素数全体を表すEnumerableなオブジェクトは唯一であるべき(yugui)
>   互換性のためにPrime.newできるのは仕方がないが、非推奨としたい
> => Primeを特異クラスを持つオブジェクトか、singletonパターン的なクラスに
>
>2. 素数全体を表すものはインスタンスであるべき(石塚さん)
> => Primeがクラスというのはまずい。
>    Primeへのメソッド呼び出しをPrimeのインスタンスへ委譲するならばありえる。
>
>3. 素数列挙の途中の状態を保持する外部イテレータが必要
>4. 疑似素数列を生成するGeneratorもほしい
>   => Prime::Generator, Prime::Generator23, Prime::EratosthenesGenerator

はい. 

>Prime::*の定数スコープを提供するためにもPrimeは、私が書いたような
>singletonなオブジェクトよりは、石塚さんのようなsingletonパターンのほうが
>良さそうに思えます。

ですね.

>ただし、互換性のためにPrime.newも許容するようにしてみました。このバー
>ジョンのprime.rbを添付します。

これで, いいんじゃないでしょうか. 

>この他、
>a) エラトステネスのふるいでGeneratorを書いてみたらとても速くなったので、
>Prime::EratosthenesGeneratorを加えてあります。
>
>      user     system      total        real
>trial division
> 17.060000  22.580000  39.640000 ( 39.556764)
>eratosthenes
>  2.270000   0.010000   2.280000 (  2.277945)

おー. 

(2**19-1)**2 の素因数分解でも:

Generator23  0.450000   0.000000   0.450000 (  0.468806)
Generator  3.680000   0.430000   4.110000 (  4.145663)
Eratos  0.620000   0.000000   0.620000 (  0.635689)

けっこう良い値がでています. 

気になるのがどのくらいメモリを消費するかです. n 以下のの素数で考えると:

Generator: 約 n/lon(n) * 4 byte
Eratos:       n/32 byte

になります. オーダーはGeneratorの方が良いです. ただ, 最初のうちは
Eratos の方が空間効率は良いです, Generatorの方がメモリを使わなくなる n
を求めると

  n = 3.8*10**55

となります. その時の使用バイト数は 10**54 byteぐらいになります. そんな
にメモリないので, 現実的な範囲では Eratosの方が空間使用量は少ないとい
えます.

# 検算求む(^^;

ということで, Prime#each の デフォルトの Generator を
EratosthenesGenerator にしましょう. 

あと, 

  Generator を TrialDivisionGenerator
  PrimeSet を TrialDivision 

に改名しましょうか? それと, 掲載順番を Eratosthenes* を先にしましょう
か?

>b) Prime.eachが上界をとるようにしてみました。そこに到達したら列挙を打
>ち切ります。

たしかにね. あった方が良いかも. 

>c) Prime.eachの第2引数にgeneratorを指定できるようにしてみました。

>d) Prime.eachとPrime.each.eachが同じオブジェクトであるために列挙状態を共
>有してしまいます。generatorがselfではなくself.dupを返すようにしました。

おー. 気が付きませんでした.

>e) Enumeratorに合わせて、Generatorにwith_indexとnextとrewindを足しま
>した。

了解

>> * Prime::IncreaseSuperPrimeGenerator
>確かにこの名前には違和感がありますね。
>
>PseudoPrimeGeneratorあたりではどうでしょうか。Generator23みたいに「疑
>似」の精度が悪くても、逆に真にprimeであってもPseudoのサブセットにはなる
>と思います。

そうしましょう. 

何カ所か変更個所がありましたが, いかがでしょう? 

もし, 問題ないようであれば, すいませんが, それを変更してcomit していた
だけないです?


__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju@ishitsuka.com <<---

In This Thread