[#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:8548] Re: BIGDN

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

>>> In message [ruby-dev:8544] Re: BIGDN
    On Mon, 6 Dec 1999 18:13:56 +0900, toyofuku@juice.or.jp said:

豊福>   豊福です。
豊福> 
豊福> [ruby-dev:8527] えぐちさん
豊福> > x の符号の有無や x の MSB が1の時の挙動はansi では実装依存なので、
豊福> > x を正に正規化しシフトする元のバージョンの実装は的確だと思います。
豊福> 
豊福>   (-1)>>1 == -1 のチェックによる効率化はすでに
豊福> 入っているのですからついでにもうちょっとチェック
豊福> を増やしてもいいかなと。

チェックを増やす事には、反対しませんが、configure.in の

  AC_DEFINE(RSHIFT(x,y), (((x)<0) ? ~((~(x))>>y) : (x)>>y))

を

  AC_DEFINE(RSHIFT(x,y), ((x)<<(signed int)(y))

とした場合 ANSIC 的には、問題が出る処理系があり得ます。(後述)

豊福>   ところで、
豊福> > x の符号の有無や x の MSB が1の時の挙動はansi では実装依存なので、
豊福> 
豊福>   この「符号」って正負? signed,unsigned ?
豊福> それとも両方ともですか。

判りづらくて済みません。
x >> y の x が signed の場合 かつ 負の場合、
結果は処理系に依存します。
#和訳 K&R 第2版の P-253 A4.7シフト演算子の
#後ろのパラグラフの『E1>>E2 の値は、……』

これは、Intel で言う SAL が用意されていないプロセッサを
対象とする処理系を想定しているように思えます。
その場合は、「(x)<<(signed int)(y)」では解決しません。

大体、y の型(符合)が結果に影響を与えて良いとは ANSIC は
言っていないので、hpux-10.x はその点が非準拠に思えます。

豊福>   signed だろうが unsigned だろうが MSB が 0 の
豊福> ときの右シフトは MSB に 0 が入ってくるというのだ
豊福> けはさすがに大丈夫なんですよね。

K&R2(≒ANSIC)に準拠する限り大丈夫そうです。

豊福> > x の MSB が1の時の挙動はansi では実装依存なので、
豊福> 
豊福>   とすると x が unsigned のときは
豊福> (((x)<0) ? ~((~(x))>>BITSPERDIG) : (x)>>BITSPERDIG)
豊福> もまずくないですか。必ず (x)>=0 なので。
豊福> 
豊福> (((long)(x)<0) ? ~((~(x))>>BITSPERDIG) : (x)>>BITSPERDIG)
豊福> ですか?

いえ、RSHIFT() や BIGDN() の場合、x が signed か unsigned かで
MSB を変えないのか、0が入るのかを制御しているので、これでいいです。

#要するに、x が signed では SAR に相当するコードを、
#x が unsigned では SHR に相当するコードを生成して欲しいわけです。

(x)<<(signed int)(y) だと、hpux では両方に SAR に相当する
コードを生成してしまう気がします。(手元にないので未検証)

	えぐち

In This Thread

Prev Next