[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freewnn:00136] Re: patch-1.1.1-a008, patch-1.1.1-a009



永江です。

書いているうちに元木さんに先を越されてしまったので、
重複部分を省きます。:-)

From: Tatsuo Furukawa <frkwtto@osk3.3web.ne.jp>
Subject: [freewnn:00134] Re: patch-1.1.1-a008, patch-1.1.1-a009
Date: Fri, 24 Sep 1999 04:42:59 +0900

> 	srand((int)time(NULL));
> 
> としてみました。1.1.1-a011 では何も言われないはずです。テストお願いし
> ます。

うっ。(^^;

diff -c de.c.orig de.c 
*** de.c.orig   Fri Sep 24 03:01:13 1999
--- de.c        Fri Sep 24 05:43:04 1999
***************
*** 485,491 ****
  #ifdef SRAND48
        srand48(time(NULL));
  #else
!       srand((int)time(NULL);
  #endif
        clientp = 0;    /* V3.0 */
        cur_clp = 0;    /* V3.0 */
--- 485,491 ----
  #ifdef SRAND48
        srand48(time(NULL));
  #else
!       srand((int)time(NULL));
  #endif
        clientp = 0;    /* V3.0 */
        cur_clp = 0;    /* V3.0 */

> ------------------------------------------------------------------------------
> 
> >> do_hindo_s.c: In function `hindo_set':
> >> do_hindo_s.c:135: warning: integer overflow in expression
> >> do_hindo_s.c:140: warning: integer overflow in expression
> 
> これは
> 
> 	 ( RAND() < (double)1 / ((hindo >> 2) + 1)))
> 
> でエラーになってますね。んで、RAND() が以下のように定義されてますが、
> 
> #ifdef SRAND48
>     double drand48();
> #define RAND()  drand48()
> #else
>     double drand();
> #define RAND()  ((double)rand() / (double)((1<<31) - 1))
> #endif
> 
> もしかして、OpenBSD 2.5 って int が 16 ビットなのでしょうか? (まさかね
> え…)

符号ビットの分ですね。unsigned にすれば黙りますよね。

diff -c do_hindo_s.c.orig do_hindo_s.c 
*** do_hindo_s.c.orig   Fri Sep 24 05:55:28 1999
--- do_hindo_s.c        Fri Sep 24 05:55:37 1999
***************
*** 103,109 ****
  #define RAND()  drand48()
  #else
      double drand();
! #define RAND()  ((double)rand() / (double)((1<<31) - 1))
  #endif
      UCHAR *hst;
      int ima, hindo;
--- 103,109 ----
  #define RAND()  drand48()
  #else
      double drand();
! #define RAND()  ((double)rand() / (double)((1U<<31) - 1))
  #endif
      UCHAR *hst;
      int ima, hindo;

---- May the source be with you. ----
 永江   英武     mailto:nagae@tk.airnet.ne.jp
Nagae Hidetake   http://www.tk.airnet.ne.jp/nagae/