SunOS, FreeBSD には、
48 ビット整数演算を利用した疑似乱数発生関数が備わっている。
例えば drand48() は、
double 型の、
内の一様疑似乱数を返す。
/*
* test-drand48.c
*/
/*
* drand48() は [0,1) の範囲の疑似乱数を返す。
*/
#include <stdio.h>
#include <stdlib.h> /* drand48() */
#include <sys/types.h>
#include <sys/time.h>
double drand48();
int main()
{
int i, n;
time_t tloc;
long int myseed;
n = 10;
printf("start\n");
for (i = 0; i < n; i++)
printf("%f\n", drand48());
time(&tloc);
myseed = tloc;
srand48(myseed);
printf("start (seed=%ld)\n", myseed);
for (i = 0; i < n; i++)
printf("%f\n", drand48());
return 0;
}
|
桂田 祐史