[#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:35876] Re: Complex & Rational

From: keiju@... (石塚圭樹)
Date: 2008-08-19 05:02:44 UTC
List: ruby-dev #35876
けいじゅ@いしつかです.

In the message: "[ruby-dev:35869] Re: Complex & Rational ", on Aug/19
00:22(JST) Tadayoshi Funaba writes:

>ruby-dev にメールが届かないので、直接ですみませんが、いくつか確認させて
>ください。

ふなばさんのテストメイルは届いていたみたいですが...
とりあえず, ruby-dev にもCcを入れてあります.

>> ですので, この考えが維持されるなら, 他のものになってもかまいません.
>> 例えば, 後でで出てくる, scalar?(とかreal?) でも実現可能ですね.
>
>一応公開されているので。それで、実際には、generic? は、CMath (Math) の
>あたりでしかつかわれおらず、言われるように、scalar? で置き換えることで
>よいと思います。

この件にしては, ハイなんですが...

generic?が使われていないとのことなので...
ソースを見ると, 以下のようになっていますが,

static VALUE
nucomp_add(VALUE self, VALUE other)
{
    switch (TYPE(other)) {
      case T_FIXNUM:
      case T_BIGNUM:
      case T_FLOAT:
      case T_RATIONAL:
	{
	    get_dat1(self);

	    return f_complex_new2(CLASS_OF(self),
				  f_add(dat->real, other), dat->image);
	}
      case T_COMPLEX:
	{
	    VALUE real, image;

	    get_dat2(self, other);

	    real = f_add(adat->real, bdat->real);
	    image = f_add(adat->image, bdat->image);

	    return f_complex_new2(CLASS_OF(self), real, image);
	}
      default:
	return rb_num_coerce_bin(self, other, '+');
    }

こうでなくて, T_FIXNUM, T_BIGNUM, T_FLOAT, T_RATIONAL だけにかぎらず,
other が real?(scalar?) だったら,

	    return f_complex_new2(CLASS_OF(self),
				  f_add(dat->real, other), dat->image);

できると言いたいわけなんですよ. 


>> >{Complex,Rational}#inspect の書式を変更したい。
>
>前者ということは、to_s と同じでよいということですか。確認したいのです
>が、

いえ, 括弧つきでってことです. to_sは再帰的に呼ばれることはあまりないで
すし, あっても, 呼び出す側が考えればよいことですが, inspect は再帰的に
呼ばれるのが前提なので, オブジェクトの境界は明確になって欲しいです.

>Rational(1,1).to_s #=> "1"
>Rational(1,2).to_s #=> "1/2"
>
>のように、Rational を見る限り to_s では表現が正規化されています。元になっ
>た、nurat では、inspect で "(1/1)"、"(1/2)" としていました。
>
>Complex について正規化はされていませんが、そのようにすべきならば
>
>Complex(1).to_s #=> "1"
>Complex(0,1).to_s #=> "i"
>Complex(3,1).to_s #=> "3+i"
>
>のようなこともあり得るでしょう。

そうか, 一貫性がなかったんですね...

>一見して区別するためには、to_s、inspect ともに正規化しないか、あるいは、
>少なくとも inspect では正規化しないようにせねばならないように思います。
>どちらが望ましいでしょうか。

両者とも正規化しない方がよい気がしてきました. to_sで "1" が返ると整数
の1と勘違いしそうですものね.

>つぎに、
>
>Complex(Rational(1,3),Rational(1,3)).to_s #=> "1/3+(1/3)i"
>
>となっているのですが、たとえば、MIT Scheme などいくつかの Scheme 処理系
>などの結果と比べて思うのは、虚部が有理数の場合の括弧は必要なのか、とい
>うことです。inspect の事を考えていたら、かなり微妙な感じに思えてきまし
>た。

わざわざこうやっているんですよね. 1/3i だと 1/(3i) に見えるなと思った
んです. それに,

  (1/3)i ≠ 1/(3i) = -(1/3)i 

ですし... まあ, ただ, それは数式としての話で, Ruby上の表記としてこうなっ
ているとすれば問題ない気もします. 他の処理系で一般的ならそれほどこだわ
りません. -- (A)

>仮に inspect は正規化されず、括弧でくくられるものだとして、
>
>Complex(Rational(1,3),Rational(1,3)).inspect
>	#=> "(1/3+1/3i)"
>	とか
>	#=> "((1/3)+(1/3)i)"
>
>のような感じになるのでしょうか。to_s との違いがかなり微妙です。
>
>つけるならつける、つけないならつけないで、
>
>Complex(Rational(1,3),Rational(1,3)).to_s #=> "1/3+1/3i"
>Complex(Rational(1,3),Rational(1,3)).inspect #=> "((1/3)+(1/3)i)"
>
>というわけにはいかないでしょうか。

表現的には一貫性がありますよね. あとは, 上記(A)の話だけですが, scheme
以外ってどうなっているんでしょうかね...

scheme は 1/3+1/3i って atom で元々各個つけられないですし... こうであ
るべきと考えたのか, これしか表現のしようがなかったのか判断できないです
し...

mathematica は

  1i
 ---
  3

見たいな感じですね. これはこれですごーく納得ですが, かなり特別扱いしな
いといけないですしねぇ.


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

In This Thread

Prev Next