西@九大です。

From: matz / netlab.co.jp (Yukihiro Matsumoto)
> |    val = (double)val * (double)max / (double)RAND_MAX;
> 
> とかでも一緒ですかね.

同じでした。こちらの環境は Solaris2.x です。

Solaris2.x:/usr/include/stdlib.h
----------------------------------------------------------------------
#define RAND_MAX        32767
----------------------------------------------------------------------
と定義されていますが、このせいでしょうか?

random.c 内で、
----------------------------------------------------------------------
#define RAND_MAX        2147483647
----------------------------------------------------------------------
とかやると、max 内の値が返ってくるようですが、最後に `% max' がないと
何か不安な気がします。

------------------------------------------------------------------
九州大学大学院システム情報科学研究科 情報工学専攻 博士後期課程二年
      西 和則   ( e-mail: kazunori / swlab.csce.kyushu-u.ac.jp )
------------------------------------------------------------------