#include <stdlib.h>
#include <iocslib.h>
#include <time.h>
#include "anum.h"

void srand2()
/* rand2()乱数を初期化する */
{
time_t t;
static time_t ts=-1;
	time(&t);
	t+=ONTIME(); // 別プログラムを短時間に起動した時のため
	/* clock()はプロセス起動時からの時間なので、
	　　プログラム起動毎に同じ乱数を発生しやすいので使えない */
	/*printf("time=%d,",t);*/
	t&=0xffff;
	if (t==ts) t+=rand2(65535); // 同一プログラム中でごく短期間に再び初期化された時のため
	ts=t;
	//t<<=4;
	/*printf("初期値:%d,",t);*/
	srand(t);
	/* srand()のseedはunsigned short intすなわち0〜65535で与えなくてはならない */
	/* マニュアルは間違い（int seedになっている）*/
}

#if 0
#include <stdio.h>

void main()
{
int i,j;
	for (j=0;j<2;j++) {
		srand2();
		for (i=0;i<25;i++) printf("%04x ",rand2(100));
		printf("\n");
	}
}
#endif
