This is an automated email from the ASF dual-hosted git repository.
nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git
The following commit(s) were added to refs/heads/master by this push:
new 3736ddc
Lucene.Net.Highlighter.VectorHighlight.FieldPhraseList::GetHashCode(): Switched
to using J2N's TripleShift method, as it is clear by the comment the reason for
the problem was the cast to uint instead of ulong
3736ddc is described below
commit 3736ddcd7542c049377ef2fc3ab398bc4b23c2e0
Author: Shad Storhaug <[email protected]>
AuthorDate: Wed Feb 17 19:39:40 2021 +0700
Lucene.Net.Highlighter.VectorHighlight.FieldPhraseList::GetHashCode():
Switched to using J2N's TripleShift method, as it is clear by the comment the
reason for the problem was the cast to uint instead of ulong
---
.../VectorHighlight/FieldPhraseList.cs | 15 +++------------
1 file changed, 3 insertions(+), 12 deletions(-)
diff --git a/src/Lucene.Net.Highlighter/VectorHighlight/FieldPhraseList.cs
b/src/Lucene.Net.Highlighter/VectorHighlight/FieldPhraseList.cs
index 692cd6d..e2afbce 100644
--- a/src/Lucene.Net.Highlighter/VectorHighlight/FieldPhraseList.cs
+++ b/src/Lucene.Net.Highlighter/VectorHighlight/FieldPhraseList.cs
@@ -1,4 +1,5 @@
-using Lucene.Net.Support;
+using J2N.Numerics;
+using Lucene.Net.Support;
using Lucene.Net.Util;
using System;
using System.Collections.Generic;
@@ -415,20 +416,10 @@ namespace Lucene.Net.Search.VectorHighlight
result = prime * result + StartOffset;
result = prime * result + EndOffset;
long b = J2N.BitConversion.DoubleToInt64Bits(Boost);
- result = prime * result + (int)(b ^ TripleShift(b, 32));
+ result = prime * result + (int)(b ^ b.TripleShift(32));
return result;
}
- // LUCENENET NOTE: For some reason the standard way of correcting
the >>>
- // operator (int)((uint)b >> 32) didn't work here. Got this
solution from http://stackoverflow.com/a/6625912
- // and it works just like in Java.
- private static long TripleShift(long n, int s)
- {
- if (n >= 0)
- return n >> s;
- return (n >> s) + (2 << ~s);
- }
-
public override bool Equals(object obj)
{
if (this == obj)