このページの内容

データ構造

struct  XXH32_canonical_t
  XXH32_hash_tの正規(ビッグエンディアン)表現。 詳細…

型定義

typedef struct XXH32_state_s XXH32_state_t
 XXH32ストリーミングAPI用の不透明な状態構造体。

関数

XXH32_hash_t XXH32 (const void *input, size_t length, XXH32_hash_t seed)
 xxHash32を使って、 input の32ビットハッシュを計算します。
XXH32_state_t * XXH32_createState (void)
  XXH32_state_tを割り当てます。
XXH_errorcode XXH32_freeState (XXH32_state_t *statePtr)
  XXH32_state_tを解放します。
void XXH32_copyState (XXH32_state_t *dst_state, const XXH32_state_t *src_state)
  XXH32_state_t を別の状態へコピーします。
XXH_errorcode XXH32_reset (XXH32_state_t *statePtr, XXH32_hash_t seed)
  XXH32_state_t をリセットして、新しいハッシュ処理を開始します。
XXH_errorcode XXH32_update (XXH32_state_t *statePtr, const void *input, size_t length)
  input のブロックを、 XXH32_state_tに取り込みます。
XXH32_hash_t XXH32_digest (const XXH32_state_t *statePtr)
  XXH32_state_tから計算済みのハッシュ値を返します。
void XXH32_canonicalFromHash (XXH32_canonical_t *dst, XXH32_hash_t hash)
  XXH32_hash_t を、ビッグエンディアンの XXH32_canonical_tへ変換します。
XXH32_hash_t XXH32_hashFromCanonical (const XXH32_canonical_t *src)
  XXH32_canonical_t を、ネイティブ形式の XXH32_hash_tへ変換します。

詳細説明

従来の32ビットxxHashアルゴリズムで使う関数を含みます。

注記
XXH32は、64ビット演算を使えない、またはその性能が低い古いプラットフォームで有用です。一方、 XXH3ファミリー は、32ビットと64ビットの両システムで競争力のある速度を備え、実際の64/128ビットのハッシュ結果を提供します。
関連項目
XXH64ファミリー, XXH3ファミリー :その他のxxHashファミリー
XXH32の実装 :実装の詳細

型定義の説明

◆ XXH32_state_t

typedef struct XXH32_state_s XXH32_state_t

XXH32ストリーミングAPI用の不透明な状態構造体。

関連項目
XXH32_state_s :詳細
ストリーミングの例

関数の説明

◆ XXH32()

XXH32_hash_t XXH32 ( const void * input,
size_t length,
XXH32_hash_t seed )

xxHash32を使って、 input の32ビットハッシュを計算します。

引数
inputハッシュ化するデータブロック。大きさは少なくとも length バイトです。
length inputの長さ(バイト単位)。
seedハッシュの出力を予測可能な形で変更する32ビットのシード。
前提条件
メモリ範囲の始点と終点: input と input + length 。この範囲は有効で、読み取り可能かつ連続したメモリでなければなりません。ただし、 length が 0なら、inputはNULLでもかまいません。C++では、これも次の要件を満たさなければなりません: TriviallyCopyable.
戻り値
計算された32ビットのxxHash32値。
関連項目
一括処理の例 を参照してください。

◆ XXH32_createState()

XXH32_state_t * XXH32_createState ( void )

XXH32_state_tを割り当てます。

戻り値
成功時は、 XXH32_state_t の割り当て済みポインター。
NULL (失敗時)。
注記
解放には XXH32_freeState()を使う必要があります。
関連項目
ストリーミングの例

◆ XXH32_freeState()

XXH_errorcode XXH32_freeState ( XXH32_state_t * statePtr)

XXH32_state_tを解放します。

引数
statePtr XXH32_state_t へのポインター。割り当てには XXH32_createState()を使います。
戻り値
XXH_OK.
注記
statePtr は、 XXH32_createState()で割り当てたものでなければなりません。
関連項目
ストリーミングの例

◆ XXH32_copyState()

void XXH32_copyState ( XXH32_state_t * dst_state,
const XXH32_state_t * src_state )

XXH32_state_t を別の状態へコピーします。

引数
dst_stateコピー先の状態。
src_stateコピー元の状態。
前提条件
dst_state と src_state は NULL であってはならず、領域が重なっていてもいけません。

◆ XXH32_reset()

XXH_errorcode XXH32_reset ( XXH32_state_t * statePtr,
XXH32_hash_t seed )

XXH32_state_t をリセットして、新しいハッシュ処理を開始します。

引数
statePtrリセットする状態構造体。
seedハッシュ結果を予測可能な形で変更する32ビットのシード。
前提条件
statePtr は NULLであってはなりません。
戻り値
XXH_OK (成功時)。
XXH_ERROR (失敗時)。
注記
この関数は状態をリセットし、シードを設定します。次の関数を呼び出す前に実行してください: XXH32_update().
関連項目
ストリーミングの例

◆ XXH32_update()

XXH_errorcode XXH32_update ( XXH32_state_t * statePtr,
const void * input,
size_t length )

input のブロックを、 XXH32_state_tに取り込みます。

引数
statePtr更新する状態構造体。
inputハッシュ化するデータブロック。大きさは少なくとも length バイトです。
length inputの長さ(バイト単位)。
前提条件
statePtr は NULLであってはなりません。
メモリ範囲の始点と終点: input と input + length 。この範囲は有効で、読み取り可能かつ連続したメモリでなければなりません。ただし、 length が 0なら、inputはNULLでもかまいません。C++では、これも次の要件を満たさなければなりません: TriviallyCopyable.
戻り値
XXH_OK (成功時)。
XXH_ERROR (失敗時)。
注記
データブロックを逐次取り込むために、この関数を呼び出します。
関連項目
ストリーミングの例

◆ XXH32_digest()

XXH32_hash_t XXH32_digest ( const XXH32_state_t * statePtr)

XXH32_state_tから計算済みのハッシュ値を返します。

引数
statePtrハッシュ値の計算に使う状態構造体。
前提条件
statePtr は NULLであってはなりません。
戻り値
その状態から計算された32ビットのxxHash32値。
注記
XXH32_digest() を呼び出しても、 statePtrには影響しません。そのため、更新、ダイジェスト取得、再度の更新が可能です。
関連項目
ストリーミングの例

◆ XXH32_canonicalFromHash()

void XXH32_canonicalFromHash ( XXH32_canonical_t * dst,
XXH32_hash_t hash )

XXH32_hash_t を、ビッグエンディアンの XXH32_canonical_tへ変換します。

引数
dst XXH32_canonical_t の保存先ポインター。
hash変換する XXH32_hash_t 。
前提条件
dst は NULLであってはなりません。
関連項目
正規形式の例

◆ XXH32_hashFromCanonical()

XXH32_hash_t XXH32_hashFromCanonical ( const XXH32_canonical_t * src)

XXH32_canonical_t を、ネイティブ形式の XXH32_hash_tへ変換します。

引数
src変換する XXH32_canonical_t 。
前提条件
src は NULLであってはなりません。
戻り値
変換されたハッシュ。
関連項目
正規形式の例