# MATHChecksum*Context

## 構文

      #include <nitro/math/checksum.h>

      typedef u8 MATHChecksum8Context;
      typedef u16 MATHChecksum16Context;

## 要素

構造体の内部へ直接アクセスしないでください。

## 説明

各種 Checksum を計算するために使用するコンテキスト構造体です。
`MATH_Checksum*Init()`で初期化した上で、 入力データを `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*Init, MATH_Checksum*Update, MATH_Checksum*GetHash`

## 履歴

2005/04/12 初版