public override long GetLongHashCode(Utf8Memory value) { if (value.IsEmpty) { return(0); } var span = value.Span; var hash = MarvinHash64.ComputeHash(span, MarvinHash64.DefaultSeed); return(MarvinHash64.CollapseHash64(hash)); }
public override long GetLongHashCode(Utf8String?value) { if (Utf8String.IsNullOrEmpty(value)) { return(0); } var span = value.Bytes; var hash = MarvinHash64.ComputeHash(span, MarvinHash64.DefaultSeed); return(MarvinHash64.CollapseHash64(hash)); }
public override long GetLongHashCode(string?value) { var span = value.AsSpan(); if (span.IsEmpty) { return(0); } var bytes = MemoryMarshal.AsBytes(span); var hash = MarvinHash64.ComputeHash(bytes, MarvinHash64.DefaultSeed); return(MarvinHash64.CollapseHash64(hash)); }