package core:hash
Overview
Packages 1
| xxhash | Yann Collet's xxhash. |
Index
Types (0)
This section is empty.
Constants (0)
This section is empty.
Variables (0)
This section is empty.
Procedures (31)
- adler32
- crc16_ccitt_0x1021
- crc32
crc64_… (4)
- djb2
- djbx33a
- fmix32
- fmix64
- fnv32
- fnv32_no_a
- fnv32a
- fnv64
- fnv64_no_a
- fnv64a
- ginger16
- ginger8
- ginger_hash16
- ginger_hash8
- jenkins
- murmur32
murmur3_… (3)
- murmur64a
- murmur64b
- rotl32
- rotl64
- sdbm
Procedure Groups (0)
This section is empty.
Types
This section is empty.
Constants
This section is empty.
Variables
This section is empty.
Procedures
crc16_ccitt_0x1021 ¶
@(optimization_mode="favor_size") crc16_ccitt_0x1021 :: proc "contextless" (data: []u8, seed: u16 = u16(0)) -> (result: u16) {…}
Compute CRC-16 in the manner of CCITT (ITU-T V.41), using the 0x1021 polynomial. Generator polynomial: x^16 + x^12 + x^5 + 1
Used in the UDF (DVD *.iso) disk format's Volume Descriptor Tag, and was more historically the ITU-T V.41 CRC-16 used in the XModem protocol, which uses 0xffff as the initial value.
crc64_iso_3306 ¶
@(optimization_mode="favor_size") crc64_iso_3306 :: proc "contextless" (data: []u8, seed: u64 = u64(0)) -> u64 {…}
Generator polynomial: x^64 + x^4 + x^3 + x + 1
crc64_xz ¶
@(optimization_mode="favor_size") crc64_xz :: proc "contextless" (data: []u8, seed: u64 = u64(0)) -> u64 {…}
Compute CRC-64 in the manner of xz, using the ECMA-182 polynomial, bit-reversed, with one's complement pre and post processing. Based on Mark Adler's v1.4 implementation in C under the ZLIB license.
fnv32_no_a ¶
@(optimization_mode="favor_size") fnv32_no_a :: proc "contextless" (data: []u8, seed: u32 = u32(0x811c9dc5)) -> u32 {…}
If you have a choice, prefer fnv32a
fnv64_no_a ¶
@(optimization_mode="favor_size") fnv64_no_a :: proc "contextless" (data: []u8, seed: u64 = u64(0xcbf29ce484222325)) -> u64 {…}
If you have a choice, prefer fnv64a
murmur3_x64_128 ¶
@(optimization_mode="favor_size") murmur3_x64_128 :: proc "contextless" (data: []u8, seed: u32 = 0) -> u128 {…}
See https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp#L255
murmur3_x86_128 ¶
@(optimization_mode="favor_size") murmur3_x86_128 :: proc "contextless" (data: []u8, seed: u32 = 0) -> u128 {…}
See https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp#L150
murmur3_x86_32 ¶
@(optimization_mode="favor_size") murmur3_x86_32 :: proc "contextless" (data: []u8, seed: u32 = 0) -> u32 {…}
See https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp#L94
murmur64a ¶
@(optimization_mode="favor_size") murmur64a :: proc "contextless" (data: []u8, seed: u64 = u64(0x9747b28c)) -> u64 {…}
See https://github.com/aappleby/smhasher/blob/master/src/MurmurHash2.cpp#L96
murmur64b ¶
@(optimization_mode="favor_size") murmur64b :: proc "contextless" (data: []u8, seed: u64 = u64(0x9747b28c)) -> u64 {…}
See https://github.com/aappleby/smhasher/blob/master/src/MurmurHash2.cpp#L140
Procedure Groups
This section is empty.
Source Files
Generation Information
Generated with odin version dev-2026-10 (vendor "odin") Windows_amd64 @ 2026-10-10 00:25:51.511820200 +0000 UTC