このページの内容

データフィールド

XXH64_hash_t acc [8]
unsigned char customSecret [XXH3_SECRET_DEFAULT_SIZE]
unsigned char buffer [XXH3_INTERNALBUFFER_SIZE]
XXH32_hash_t bufferedSize
XXH32_hash_t useSeed
size_t nbStripesSoFar
XXH64_hash_t totalLen
size_t nbStripesPerBlock
size_t secretLimit
XXH64_hash_t seed
XXH64_hash_t reserved64
const unsigned char * extSecret

フィールドの説明

◆ acc

XXH64_hash_t XXH3_state_s::acc[8]

8つのアキュムレーター。参照: XXH32_state_s::acc と XXH64_state_s::acc

◆ customSecret

unsigned char XXH3_state_s::customSecret[XXH3_SECRET_DEFAULT_SIZE]

seedから生成したカスタムsecretを格納するために使います。

◆ buffer

unsigned char XXH3_state_s::buffer[XXH3_INTERNALBUFFER_SIZE]

内部バッファー。

関連項目
XXH32_state_s::mem32

◆ bufferedSize

XXH32_hash_t XXH3_state_s::bufferedSize

buffer内のメモリー量。

関連項目
XXH32_state_s::memsize

◆ useSeed

XXH32_hash_t XXH3_state_s::useSeed

予約フィールド。64ビットでのパディングに必要です。

◆ nbStripesSoFar

size_t XXH3_state_s::nbStripesSoFar

処理済みのストライプ数。

◆ totalLen

XXH64_hash_t XXH3_state_s::totalLen

ハッシュ化した全体の長さ。32ビットの対象でも64ビットです。

◆ nbStripesPerBlock

size_t XXH3_state_s::nbStripesPerBlock

ブロックあたりのストライプ数。

◆ secretLimit

size_t XXH3_state_s::secretLimit

customSecret または extSecretのサイズ。

◆ seed

XXH64_hash_t XXH3_state_s::seed

_withSeed版のseed。それ以外ではゼロでなければなりません。

関連項目
XXH3_INITSTATE()

◆ reserved64

XXH64_hash_t XXH3_state_s::reserved64

予約フィールド。

◆ extSecret

const unsigned char* XXH3_state_s::extSecret

_withSecret版の外部secretへの参照。それ以外の版ではNULLです。


この構造体の文書は、次のファイルから生成しました:

固定コードとの追加照合

  • useSeed:原文は予約フィールドと説明していますが、固定コードは短い入力のdigestでseed版とsecret版を選ぶためにこの値を読み取ります。内部resetではseed != 0で設定し、XXH3_64bits_reset_withSecretandSeedではseedがゼロでも1を設定します。
  • secretLimit:原文はsecretのサイズと説明していますが、固定コードの内部resetではsecretSize - XXH_STRIPE_LENを設定します。XXH_STRIPE_LENは64です。digest処理は必要な箇所でこの値にXXH_STRIPE_LENを加えてsecretのサイズを得ます。

これらは固定ソースの静的照合による補足です。原文のフィールド説明を保持しています。