[#8530] Enumerable and rand — Koretsugu Daigoro <tmmcross@...>

これつぐです。

21 messages 1999/12/05
[#8534] Re: Enumerable and rand — matz@... (Yukihiro Matsumoto) 1999/12/06

まつもと ゆきひろです

[#8581] Re: [ruby-list:19228] Ruby 1.4.3 — Katsuyuki Komatsu <komatsu@...>

小松です。

19 messages 1999/12/07
[#8592] Re: [ruby-list:19228] Ruby 1.4.3 — matz@... (Yukihiro Matsumoto) 1999/12/07

まつもと ゆきひろです

[#8645] urllib and httplib — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

47 messages 1999/12/14
[#8646] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/14

なひです.

[#8653] Re: urllib and httplib — matz@... (Yukihiro Matsumoto) 1999/12/14

まつもと ゆきひろです

[#8656] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/15

なひです.

[#8659] Re: urllib and httplib — Wakou Aoyama <wakou@...> 1999/12/15

青山です。

[#8685] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/21

なひです.

[#8687] Re: urllib and httplib — TAKAHASHI Masayoshi <maki@...> 1999/12/21

高橋征義です。

[#8690] Re: urllib and httplib — matz@... (Yukihiro Matsumoto) 1999/12/21

まつもと ゆきひろです

[#8717] Re: urllib and httplib — TAKAHASHI Masayoshi <maki@...> 1999/12/24

高橋征義です。

[#8963] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/01/19

なひです.

[#8650] [PATCH] Ruby/Tk — Koji Arai <JCA02266@...>

新井です。

20 messages 1999/12/14
[#8651] Re: [PATCH] Ruby/Tk — Koji Arai <JCA02266@...> 1999/12/14

新井です。

[#8692] [win] dir name — KANEKO Naoshi <wbs01621@...>

金子です。

22 messages 1999/12/21
[#8695] Re: [win] dir name — Koji Oda <oda@...1.qnes.nec.co.jp> 1999/12/22

小田@QNES です。

[#8741] Re: [ruby-list:19945] Re: array + empty string — Wakou Aoyama <wakou@...>

青山です。

18 messages 1999/12/27
[#8743] Re: [ruby-list:19945] Re: array + empty string — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8742] [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...>

西@九大です。

64 messages 1999/12/27
[#8744] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8748] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...> 1999/12/28

西@九大です。

[#8751] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8767] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...> 1999/12/29

西@九大です。

[#8777] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/30

まつもと ゆきひろです

[#8791] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Minero Aoki <aamine@...> 1999/12/31

あおきです。

[#8792] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/31

まつもと ゆきひろです

[#8793] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — ARIMA Yasuhiro <fit0298@...> 1999/12/31

有馬です。

[#8795] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Akinori MUSHA aka knu <knu@...> 1999/12/31

 knuです。

[#8798] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 2000/01/01

まつもと ゆきひろです

[#8811] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Akinori MUSHA aka knu <knu@...> 2000/01/03

 knuです。

[ruby-dev:8563] Re: BIGDN

From: EGUCHI Osamu <eguchi@...>
Date: 1999-12-07 02:28:40 UTC
List: ruby-dev #8563
えぐち@エスアンドイー です。

>>> In message [ruby-dev:8558] Re: BIGDN
    On Tue, 7 Dec 1999 01:41:03 +0900, Toyofuku <toyofuku@juice.or.jp> said:

豊福>   豊福です。
豊福> 
豊福> [ruby-dev:8551] えぐちさん

豊福> > これは、[ruby-dev:8550] の通り、大丈夫ぢゃないですね。
豊福> 
豊福>   あれ? 紛らわしかったんですが、結局は大丈夫だと
豊福> いうつもりで書いたんです。
豊福>   改めて書くと
豊福>       long x = -1;
豊福>       unsigned long ux = -1;
豊福>       printf("%x\n",  x>>((int)1));      /* ffffffff */
豊福>       printf("%x\n", ux>>((int)1));      /* 7fffffff */
豊福> なので、
豊福> 少なくとも HP-UX 10 では ((x)>>((int)(y))) でOK。
豊福> と、思ったんですが勘違いしてます?

まさにその通りですね。

問題は、hpux-10 を特別扱いするあまり、
『x<0 の時、MSB に0が入って来る``ANSIC 準拠な処理系''の
  サポートを無くしては行けなかろう。』
と言うのが私の意見です。

とすると、

 AC_CACHE_CHECK(whether right shift preserve sign bit, rb_cv_rshift_sign,
     [AC_TRY_RUN([
 int
 main()
 {
   if (-1==(-1>>1)) /* unsigned へのキャストは外す */
     return 0;
   return 1;
 }
 ],
	 rb_cv_rshift_sign=yes,
	 rb_cv_rshift_sign=no,
	 rb_cv_rshift_sign=yes)])
 if test "$rb_cv_rshift_sign" = yes; then
   AC_DEFINE(RSHIFT(x,y), ((x)>>(int)y))
 else
   AC_DEFINE(RSHIFT(x,y), (((x)<0) ? ~((~(x))>>y) : (x)>>y))
 fi

とすべきでしょうか?

こうすれば、hpux-10 もそれ以外の処理系も、

  (x)>>(int)y)

を使って、
「x<0 の時、MSB に0が入って来る」処理系には、

  (((x)<0) ? ~((~(x))>>y) : (x)>>y)

が使われます。

ところで、実際に「x>>y で、x<0 の時も、MSB に0が入って来る」処理系は
存在するのでしょうか???

	えぐち

In This Thread

Prev Next