メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

# dkcMath.c

`#include "dkcMath.h"`

dkcMath.cのインクルード依存関係図

ソースコードを見る。

## マクロ定義
#define | DKUTIL_C_MATH_C
## 関数
DKC_INLINE void WINAPI | dkcSrand (ULONG *seed, ULONG num)
| C言語の標準srand()を種値（ステート）を外部に保存できるようにしたもの
DKC_INLINE int WINAPI | dkcRand (ULONG *seed)
| C言語の標準rand()を種値（ステート）を外部に保存できるようにしたもの
DKC_INLINE int WINAPI | dkcRandom (ULONG *seed, ULONG Max_)
| 0からMax_までの乱数を出力する。
DKC_INLINE uint32 WINAPI | dkcPrime79 (uint32 n)
| param n[in] 0から79までの数を入れる

## 説明

作者:
  d金魚

から:
  2004/04/29

覚え書き:

NVIDIAのfastmath.cppの一部を利用させていただきました。 以下はfastmath.cppのオリジナルの文章です。

    File:  fastmath.cpp

    This file is provided without support, instruction, or implied warranty of any
    kind.  NVIDIA makes no guarantee of its fitness for a particular purpose and is
    not liable under any circumstances for any damages or loss whatsoever arising
    from the use or inability to use this file or items derived from it.

    Comments:

dkcMath.c で定義されています。

## マクロ定義

#define DKUTIL_C_MATH_C

| dkcMath.c の 26 行で定義されています。

## 関数

DKC_INLINE uint32 WINAPI dkcPrime79 | ( | uint32 | n | ) |

| param n[in] 0から79までの数を入れる 戻り値: 素数を返す 覚え書き: ハッシュ関数に使うのかな？ dkcMath.c の 46 行で定義されています。 参照先 dkcmFORCE_NOT_ASSERT, と dkcmPrime79.
    00047 {
    00048     dkcmFORCE_NOT_ASSERT(n > 79);
    00049     return dkcmPrime79(n);
    00050 }

DKC_INLINE int WINAPI dkcRand | ( | ULONG * | seed | ) |

| C言語の標準rand()を種値（ステート）を外部に保存できるようにしたもの dkcMath.c の 35 行で定義されています。 参照元 dkcRandom().
    00036 {
    00037     (*seed) = (*seed) * 1103515245L + 12345;
    00038     return (unsigned)((*seed) / 65536L) % 32768U;
    00039 }

DKC_INLINE int WINAPI dkcRandom | ( | ULONG * | seed,
|  | ULONG | Max_
| ) |

| 0からMax_までの乱数を出力する。 dkcMath.c の 41 行で定義されています。 参照先 dkcRand(). 参照元 dkcRandomV().
    00042 {
    00043     return dkcRand(seed) * (Max_ ) / SHRT_MAX;
    00044 }

DKC_INLINE void WINAPI dkcSrand | ( | ULONG * | seed,
|  | ULONG | num
| ) |

| C言語の標準srand()を種値（ステート）を外部に保存できるようにしたもの dkcMath.c の 30 行で定義されています。
    00031 {
    00032     *seed = num;
    00033 }