Zig 0.17.0-dev (Split by item) This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig standard library.
std › hash › xxhash › XxHash3 › hash Public Function hash Doc Source Public Function std.hash.xxhash.XxHash3.hash
pub fn hash (seed : u64 , input : anytype ) u64 Params File hash/xxhash.zig: 588
588
589
590
591
592
593
594
595
596
597
598
599
600 pub fn hash (seed : u64 , input : anytype ) u64 {
const secret = &default_secret ;
if (input .len > 240 ) return hashLong (seed , input );
if (input .len > 128 ) return hash240 (seed , input , secret );
if (input .len > 16 ) return hash128 (seed , input , secret );
if (input .len > 8 ) return hash16 (seed , input , secret );
if (input .len > 3 ) return hash8 (seed , input , secret );
if (input .len > 0 ) return hash3 (seed , input , secret );
const flip : [2 ]u64 = @bitCast (secret [56 ..72 ].*);
const key = flip [0 ] ^ flip [1 ];
return avalanche (.h64 , seed ^ key );
}