RANDOM_SEED

組込みサブルーチンRANDOM_NUMBER が使用する擬似乱数生成器の種子 (出発値) を変更または問い合わせします。

形式

CALL RANDOM_SEED([size] [, put] [, get])

size
(省略可能,出力) 基本整数型スカラ。これは,プロセッサーが種子値を保持するために使用する整数の数に設定されます。

put
(省略可能,入力) 次元数 1 の基本整数型配列。プロセッサーが種子値を再定義するために使用されます。

get
(省略可能,出力) 次元数 1 の基本整数型配列。種子の現在の値に設定されます。

引数をすべて省略することができます。putget の両方は,プロセッサーが種子を保存するために使用する配列の大きさ以上でなければなりません。size 引数を指定した RANDOM_SEED を呼び出すことでこの大きさを決定することができます (第 2 例を参照)。

引数が指定されなければ,日時に基づいた乱数が種子に代入されます。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

RANDOM_NUMBERSEEDSRAND

次に例を示します。

	CALL RANDOM_SEED ( )			! プロセッサーは日時から
						! 乱数的に種子を再初期化します。
	CALL RANDOM_SEED (SIZE = M)		! M に N が返されます。
	CALL RANDOM_SEED (PUT = SEED (1 : M))	! ユーザーの種子を設定します。
	CALL RANDOM_SEED (GET = OLD  (1 : M))	! 現在の種子を読みます。

以下に他の例を示します。

	INTEGER I
	INTEGER, ALLOCATABLE :: new (:), old(:)
	CALL RANDOM_SEED ( )		! プロセッサーは日時からランダム
					! に種子を再初期化します。
	CALL RANDOM_SEED (SIZE = I)	! I に種子配列の大きさを設定します。
	ALLOCATE (new(I))
	ALLOCATE (old(I))
	CALL RANDOM_SEED (GET=old(1:I))	! 現在の種子を得ます。
	WRITE(*,*) old
	new = 5
	CALL RANDOM_SEED (PUT=new(1:I))	! 配列 new から種子を設定します。
	END