# MATH_Checksum*Init

## 構文

      #include <nitro/math/checksum.h>

      static inline void MATH_Checksum8Init( MATHChecksum8Context *context );
      static inline void MATH_Checksum16Init( MATHChecksum16Context *context );

## 引数

context | 初期化する各種 Checksum 計算用のコンテキスト構造体へのポインタ。

## 返り値

なし。

## 説明

この関数は、8bit と 16bit の Checksum を計算する際に使用する `MATHChecksum8Context`, `MATHChecksum16Context` 型のコンテキスト構造体を初期化します。 `MATH_Checksum*Update()`・`MATH_Checksum*GetHash()`を使用する前に必ず呼び出すようにしてください。
また、初期化済みのコンテキスト構造体にこの関数を再適用しても構いません。その場合は、コンテキスト構造体は初期状態に戻ります。
8bit Checksum は 8bit のハッシュ値を求めるためのアルゴリズムです。1の補数和の1の補数を 8bit 単位で計算します。
16bit Checksum は 16bit のハッシュ値を求めるためのアルゴリズムです。1の補数和の1の補数を 16bit 単位で計算します。
16bit Checksum は IP, UDP, TCP などで使用する IP Checksum、または Internet Checksum と呼ばれるものと同じ値を返します。Internet Checksum の詳細は IETF (The Internet Engineering Task Force) が発行している RFC (Request For Comments) 1071 などを参照してください。

## 参照

`MATH_Checksum*Update, MATH_Checksum*GetHash`

## 履歴

2005/06/24 構文の誤記訂正
2005/04/12 初版