public override int GetHashCode(Utf8Memory value) { if (value.IsEmpty) { return(0); } var span = value.Span; var hash = MarvinHash64.ComputeHash(span, MarvinHash64.DefaultSeed); return(MarvinHash64.CollapseHash32(hash)); }
public override int GetHashCode(Utf8String?value) { if (Utf8String.IsNullOrEmpty(value)) { return(0); } var span = value.Bytes; var hash = MarvinHash64.ComputeHash(span, MarvinHash64.DefaultSeed); return(MarvinHash64.CollapseHash32(hash)); }
public override long GetLongHashCode(Utf8String?value) { if (Utf8String.IsNullOrEmpty(value)) { return(0); } var span = value.AsSpan(); var hash = MarvinHash64.ComputeHash(span, MarvinHash64.DefaultSeed); return(MarvinHash64.CollapseHash64(hash)); }
public override int GetHashCode(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.CollapseHash32(hash)); }
public override long GetLongHashCode(ReadOnlyMemory <char> value) { var span = value.Span; if (span.IsEmpty) { return(0); } var bytes = MemoryMarshal.AsBytes(span); var hash = MarvinHash64.ComputeHash(bytes, MarvinHash64.DefaultSeed); return(MarvinHash64.CollapseHash64(hash)); }