MATHRandContext*

構文

#include <nitro/math/rand.h>
typedef struct { u64 x; u64 mul; u64 add; } MATHRandContext32; typedef struct { u32 x; u32 mul; u32 add; } MATHRandContext16;

要素

x 現在の乱数値を保持しています。 MATH_Rand*()ではこの値をシフトした値を取得します。
mul 線形合同法にて、次の乱数を取得するために乗算される数を設定します。MATH_InitRand*()で固有の定数に初期化されますので、この値を変更する場合には、その後このメンバを変更してください。
add 線形合同法にて、次の乱数を取得するために加算される数を設定します。MATH_InitRand*()で固有の定数に初期化されますので、この値を変更する場合には、その後このメンバを変更してください。

説明

線形合同法による乱数のコンテキスト構造体です。

MATHRandContext32()では内部で64ビットの値を保持し、MATH_Rand32()で32ビットの乱数を取得します。
MATHRandContext16()では内部で32ビットの値を保持し、MATH_Rand16()で16ビットの乱数を取得します。

参照

MATH_InitRand*, MATH_Rand*

履歴

Ver. 2004/12/13 初版