[#15357] Regexp literal and Regexp.new() — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

14 messages 2001/12/05
[#15358] Regexp in UTF-8 (Re: Regexp literal and Regexp.new()) — TAKAHASHI Masayoshi <maki@...> 2001/12/05

高橋征義です。むーん、問題のありかが違ったかも。

[#15435] Time#utcoff — Tanaka Akira <akr@...17n.org>

In article <hvosnahj702.fsf@coulee.a02.aist.go.jp>,

20 messages 2001/12/13
[#15436] Re: Time#utcoff — matz@... (Yukihiro Matsumoto) 2001/12/14

まつもと ゆきひろです

[#15505] ERb — m_seki@...

74 messages 2001/12/20
[#15560] Re: ERb — Tanaka Akira <akr@...17n.org> 2001/12/27

In article <20011220114249J.seki@mr.nasu.toshiba.co.jp>,

[#15879] Re: ERb — m_seki@... 2002/02/12

[#15884] Re: ERb — Tanaka Akira <akr@...17n.org> 2002/02/14

In article <m3eljr5o9m.wl@edwin.mva.biglobe.ne.jp>,

[#15885] Re: ERb — m_seki@... 2002/02/14

[#15886] Re: ERb — m_seki@... 2002/02/14

[#15887] Re: ERb — TAKAHASHI Masayoshi <maki@...> 2002/02/14

高橋征義です。

[#15888] Re: ERb — m_seki@... 2002/02/14

[#15896] Re: ERb — Tanaka Akira <akr@...17n.org> 2002/02/15

In article <20020215085405G.seki@mr.nasu.toshiba.co.jp>,

[#15898] Re: ERb — m_seki@... 2002/02/15

[#15900] Re: ERb — TADA Tadashi <sho@...> 2002/02/16

ただただしです。

[#15901] Re: ERb — m_seki@... 2002/02/16

[#15906] Re: ERb — matz@... (Yukihiro Matsumoto) 2002/02/17

まつもと ゆきひろです

[#15909] 1.6 の寿命 (Re: Re: ERb) — Koji Arai <JCA02266@...> 2002/02/17

新井です。

[#15507] fileutils (2) — Minero Aoki <aamine@...>

あおきです。

30 messages 2001/12/20
[#15512] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/20

高橋征義です。

[#15513] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/21

あおきです。

[#15515] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/21

高橋征義です。結論は最後に。

[#15516] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/21

あおきです。

[#15533] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/22

高橋征義です。

[#15536] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/24

あおきです。

[#15540] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/24

高橋征義です。

[#15545] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/24

あおきです。

[#15557] Re: fileutils (2) — TAKAHASHI Masayoshi <maki@...> 2001/12/26

高橋征義です。

[#15567] Re: fileutils (2) — Minero Aoki <aamine@...> 2001/12/27

あおきです。

[#15573] [patch] resolv.rb for win32 platform — Tietew <tietew-ml-ruby-dev@...>

Tietew です。

22 messages 2001/12/28

[ruby-dev:15460] Re: Time#utcoff

From: Tanaka Akira <akr@...17n.org>
Date: 2001-12-15 13:52:34 UTC
List: ruby-dev #15460
In article <200112150507.fBF571I17696@sharui.nakada.kanuma.tochigi.jp>,
  nobu.nakada@nifty.ne.jp writes:

> At Sat, 15 Dec 2001 13:44:33 +0900,
> Tanaka Akira <akr@m17n.org> wrote:
> > ただ、((time_t)-1L << 31) でも実用上問題ないとは思うんですが、
> > Standard C を調べて重箱の隅をつつくのが面白いので、つい指摘してしまう
> > と、signd long であるところの -1L を time_t にキャストするときに
> > time_t が unsigned であると implementation defined な振舞いになります。

これはかなり不正確でした。

  time_t が符号なしで long よりもビット数が少ないと implementation
  defined になる。

つまり、time_t が signed long か unsigned long であればビット数が同じ
なので implementation defined にはなりませんので符号なしなら事実上問題
ないようです。

ただ、さらに調べたところ、time_t は arithmetic type のどれかであり、浮
動小数点の可能性があるということに気がついてしまいました。とするとシフ
トが使えないことになります。

> 一応それも考えたんですが、やっぱり五十歩百歩かなと。

現実を考えるとどれでも同じなのはたしかです。
# だれか違いが出る実例を知っていたら教えて下さい。

> うーん、規格書は持ってないんですが、(-(time_t)1 << 31)ってのも
> ダメでしたっけ。unsingedに対する-自体がダメかな。

範囲外に出ちゃう演算は overflow ということになってこれが undefined な
んですよねぇ。

> あるいは、undefinedでないのならこんなのとか。
> 
>   if ((time_t)-1L >= (time_t)0) return 1;

おぉ、これはなかなか。time_t で負の値が表現不能なら当然
localtime/gmtime でも扱えないはずだからこれでいいわけですね。

ただ、-1L より -1 のほうがいいかな。L がついているて time_t が long よ
りも短いと implementation defined になっちゃうので。

In article <20011215145307.C780.ZN@mbf.nifty.com>,
  Kazuhiro NISHIYAMA <zn@mbf.nifty.com> writes:

> -2147483647-1じゃダメなんでしょうか?

int が 32bit の 1の補数な表現で time_t が long で 64bit というときに失
敗する、かな?

結局、

* ビット演算でデータを作ると負の数のフォーマットに依存する。たぶん。

* 加減算でデータを作ると overflow で undefined になる。

ので、無理なんじゃないかなぁ、という気がします。
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)

In This Thread