# MATH_CalcChecksum*

## 構文

      #include <nitro/math/checksum.h>

      u8  MATH_CalcChecksum8( const void* data, u32 dataLength );
      u16 MATH_CalcChecksum16( const void* data, u32 dataLength );

## 引数

data | 入力データへのポインタ。
dataLength | 入力データのサイズ。

## 返り値

各種 Checksum 値。

## 説明

この関数は、8bit Checksum, 16bit Checksum の計算を1度の関数呼び出しでまとめて行います。
入力データには任意のサイズ・任意のアラインメント位置のものが使用できます。
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 初版