Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }