[#8168] {literal}#[]= — EGUCHI Osamu <eguchi@...>

えぐち@エスアンドイーです。

16 messages 1999/11/01
[#8172] Re: {literal}#[]= — matz@... (Yukihiro Matsumoto) 1999/11/01

まつもと ゆきひろです

[#8176] Multiple self assignment — Kazuhiro Yoshida <moriq.kazuhiro@...>

もりきゅうです。

35 messages 1999/11/01
[#8178] Re: Multiple self assignment — matz@... (Yukihiro Matsumoto) 1999/11/01

まつもと ゆきひろです

[#8212] Re: Multiple self assignment — Kazuhiro Yoshida <moriq.kazuhiro@...> 1999/11/02

もりきゅうです。

[#8213] Re: Multiple self assignment — matz@... (Yukihiro Matsumoto) 1999/11/03

まつもと ゆきひろです

[#8232] 例外を処理する 2 項演算子 — Kazunori NISHI <kazunori@...> 1999/11/05

西@九大です。

[#8233] Re: 例外を処理する 2 項演算子 — matz@... (Yukihiro Matsumoto) 1999/11/05

まつもと ゆきひろです

[#8236] Re: 例外を処理する 2 項演算子 — Kazuhiro Yoshida <moriq.kazuhiro@...> 1999/11/05

もりきゅうです。

[#8266] Re: 例外を処理する 2 項演算子 — EGUCHI Osamu <eguchi@...> 1999/11/07

えぐち@エスアンドイー です。

[#8269] Re: 例外を処理する 2 項演算子 — gotoken@... (GOTO Kentaro) 1999/11/07

In message "[ruby-dev:8266] Re: 例外を処理する 2 項演算子"

[#8271] Re: 例外を処理する 2 項演算子 — matz@... (Yukihiro Matsumoto) 1999/11/08

まつもと ゆきひろです

[#8274] Re: 例外を処理する 2 項演算子 — keiju@... (石塚圭樹) 1999/11/08

けいじゅ@日本ラショナルソフトウェアです.

[#8204] Re: [ruby-list:18281] Re: アクセス制御について — Shugo Maeda <shugo@...>

前田です。

12 messages 1999/11/02
[#8205] Re: [ruby-list:18281] Re: アクセス制御について — Shin-ichiro Hara <sinara@...> 1999/11/02

原です。

[#8315] Re: [ruby-list:18601] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — Kazunori NISHI <kazunori@...>

西@九大です。

37 messages 1999/11/15
[#8316] Re: [ruby-list:18601] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — matz@... (Yukihiro Matsumoto) 1999/11/15

まつもと ゆきひろです

[#8369] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — Koji Arai <JCA02266@...> 1999/11/18

新井です。

[#8374] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — matz@... (Yukihiro Matsumoto) 1999/11/18

まつもと ゆきひろです

[#8384] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — Koji Arai <JCA02266@...> 1999/11/19

新井です。

[#8405] 1.4.3 (Re: Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{}) — matz@... (Yukihiro Matsumoto) 1999/11/24

[#8319] Re: Exception handling — Jun Adachi <adachi@...>

安達@沖データと申します。

21 messages 1999/11/16
[#8350] Re: Exception handling — Kazunori NISHI <kazunori@...> 1999/11/17

西@九大です。

[#8446] [REQ] {enumerable, integer, range}.rand — Kazunori NISHI <kazunori@...>

西@九大です。

37 messages 1999/11/29
[#8449] Re: [REQ] {enumerable, integer, range}.rand — matz@... (Yukihiro Matsumoto) 1999/11/30

まつもと ゆきひろです

[#8463] Re: [REQ] {enumerable, integer, range}.rand — Kazunori NISHI <kazunori@...> 1999/11/30

西@九大です。

[#8474] Re: [REQ] {enumerable, integer, range}.rand — matz@... (Yukihiro Matsumoto) 1999/12/01

まつもと ゆきひろです

[#8476] Re: [REQ] {enumerable, integer, range}.rand — Kazunori NISHI <kazunori@...> 1999/12/01

西@九大です。

[#8487] Re: [REQ] {enumerable, integer, range}.rand — matz@... (Yukihiro Matsumoto) 1999/12/02

まつもと ゆきひろです

[#8494] Re: [REQ] {enumerable, integer, range}.rand — Kazunori NISHI <kazunori@...> 1999/12/02

西@九大です。

[#8451] new Hash (Re: [ruby-list:19043]) — Wakou Aoyama <wakou@...>

青山です。

18 messages 1999/11/30

[ruby-dev:8448] [patch] RSHIFT (Re: Re: BIGDN)

From: EGUCHI Osamu <eguchi@...>
Date: 1999-11-30 03:03:32 UTC
List: ruby-dev #8448
えぐち@エスアンドイー です。

>>> In message [ruby-dev:8444] Re: BIGDN
    On Tue, 30 Nov 1999 00:28:00 +0900, Toyofuku <toyofuku@juice.or.jp> said:

豊福>   豊福です。
豊福> 
豊福> [ruby-dev8:8441] まつもとさん
豊福> > |  bignum.c の
豊福> > |    #define BIGDN(x) (((x)<0) ? ~((~(x))>>BITSPERDIG) : (x)>>BITSPERDIG)
豊福> > |は
豊福> > |    ((x)>>BITSPERDIG)
豊福> > |と結果が違うときあるんでしたっけ。
豊福> > 
豊福> > おぼろげな記憶によれば >> 演算子の挙動は符号の扱いについて処
豊福> > 理系依存の部分があるのに対応するためだと思いました。

[ruby-dev:3097] bignum of ruby11b9_28
からのスレッドですね、 HPUX-10.x が該当するらしいです。

豊福> [ruby-dev:546] えぐちさん
豊福> | Date: Fri, 26 Sep 97 17:40:40 +0900
豊福> | bigsub()
豊福> | 	+ ループの底の if を同義の演算に変形
豊福> | 	  パイプラインのストールを防ぐため
豊福> 
豊福> というのを読んで(今頃古いメールをじっくり読ん
豊福> でる私 (^_^;)config 時に BIGDN(x) を設定すれば
豊福> 少しでも Bignum が速くなるかなと思った次第でした。

この文脈で、自分の名前が出て来るとドッキッとしますね。^^;;
#チューニングしてバグいれたか!  と思うらしい>わたし

さて、BIGDN() がブランチを生成する可能性が気になるのであれば、
configure で処理系による差を RSHIFT() というマクロで吸収しているので、 
BIGDN(x) の定義も RSHIFT(x,BITSPERDIG) が良いと思います。

パッチをつけますが
もし取り込む場合は、 HPUX-10.x でのテストお願いします。

	えぐち

Index: bignum.c
===================================================================
RCS file: /usr/home/eguchi/cvs.netlab.co.jp//ruby/bignum.c,v
retrieving revision 1.2
diff -d -u -r1.2 bignum.c
--- bignum.c	1999/08/13 05:45:02	1.2
+++ bignum.c	1999/11/30 02:45:59
@@ -20,7 +20,7 @@
 #define BIGRAD (1L << BITSPERDIG)
 #define DIGSPERINT ((unsigned int)(sizeof(long)/sizeof(short)))
 #define BIGUP(x) ((unsigned long)(x) << BITSPERDIG)
-#define BIGDN(x) (((x)<0) ? ~((~(x))>>BITSPERDIG) : (x)>>BITSPERDIG)
+#define BIGDN(x) RSHIFT(x,BITSPERDIG)
 #define BIGLO(x) ((USHORT)((x) & (BIGRAD-1)))
 
 static VALUE


In This Thread