SFMTcc API 仕様

概要

本ライブラリで生成される SFMT 疑似乱数の ID パラメータは、以下の通り。

"SFMT-19937:122-18-1-11-1:dfffffef-ddfecb7f-bffaffff-bffffff6"

関数呼び出しの順序などは、サンプルソース Main.cpp を参照のこと。

初期化

  1. BOOL SFMT_Initialize(void);
  2. BOOL SFMT_SetEnableSSE2(BOOL b);

SFMT_Initialize()

ライブラリ初期化のため、プロセス開始時に一度だけ呼び出す。

SFMT_SetEnableSSE2()

SSE2 拡張ルーチンを使用するかどうかを変更する。使用 CPU によって SFMT_Initialize() 関数が 自動的に設定するため、テスト以外の用途では呼び出す必要はない。

コンテキスト

  1. struct SFMTContext;
  2. typedef struct SFMTContext SFMTContext_t;
  3. SFMTContext_t* SFMT_CreateContext(void);
  4. void SFMT_ReleaseContext(SFMTContext_t* t);
  5. void SFMT_InitializeContext(
  6. SFMTContext_t* t,
  7. UINT32 seed);
  8. void SFMT_InitializeContextByArray(
  9. SFMTContext_t* t,
  10. const UINT32* key,
  11. INT32 len);

SFMT_CreateContext()

コンテキストオブジェクトを作成する。

SFMT_ReleaseContext()

コンテキストオブジェクトを解放する。

SFMT_InitializeContext()

32 bit 整数スカラー値で、コンテキストを初期化する。

SFMT_InitializeContextByArray()

32 bit 整数配列値で、コンテキストを初期化する。

  1. typedef UINT32 (*SFMT_gen_rand32_t)(SFMTContext_t*);
  2. SFMT_gen_rand32_t SFMT_Get_gen_rand32(
  3. SFMTContext_t* t);

SFMT_Get_gen_rand32()

生成された疑似乱数を 32 bit 整数値で取得するための関数のポインタを取得する。

実際に生成された疑似乱数を取得する場合は、ここで得られた関数を実行することになる。