diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-11-21 18:44:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-21 18:44:01 +0100 |
commit | 11690f693f82c0ca5b6bb4df49ebf9d5958560cf (patch) | |
tree | feb4d582ee1dc1ea33335b5047b58a7aa0c136a8 | |
parent | aaaa5efdde6562a44e3fa4e6168783029d0d5a98 (diff) | |
parent | e6603ad4a1c5f19b92dd42f6e66abc2c92abb541 (diff) |
Merge pull request #24954 from vespa-engine/balder/wrap-openhft-in-vespajlib
Wrap openhft in vespajlib to contain dependency.[run-systemtest] MERGEOK
-rw-r--r-- | searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/StringValue.java | 4 | ||||
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/compress/Hasher.java | 14 |
2 files changed, 16 insertions, 2 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/StringValue.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/StringValue.java index 6ec08daf3b5..18399f6df1d 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/StringValue.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/StringValue.java @@ -1,11 +1,11 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchlib.rankingexpression.evaluation; +import com.yahoo.compress.Hasher; import com.yahoo.javacc.UnicodeUtilities; import com.yahoo.searchlib.rankingexpression.rule.Function; import com.yahoo.tensor.Tensor; import com.yahoo.tensor.TensorType; -import net.openhft.hashing.LongHashFunction; import java.nio.charset.StandardCharsets; /** @@ -41,7 +41,7 @@ public class StringValue extends Value { public double asDouble() { // Hash using the xxh3 algorithm which is also used on content nodes byte[] data = value.getBytes(StandardCharsets.UTF_8); - long h = LongHashFunction.xx3().hashBytes(data); + long h = Hasher.xxh3(data); if ((h & 0x7ff0000000000000L) == 0x7ff0000000000000L) { // Avoid nan and inf h = h & 0xffefffffffffffffL; diff --git a/vespajlib/src/main/java/com/yahoo/compress/Hasher.java b/vespajlib/src/main/java/com/yahoo/compress/Hasher.java new file mode 100644 index 00000000000..53d9cbb4f0c --- /dev/null +++ b/vespajlib/src/main/java/com/yahoo/compress/Hasher.java @@ -0,0 +1,14 @@ +package com.yahoo.compress; + +import net.openhft.hashing.LongHashFunction; + +/** + * Utility for hashing providing multiple hashing methods + * @author baldersheim + */ +public class Hasher { + /** Uses net.openhft.hashing.LongHashFunction.xx3() */ + public static long xxh3(byte [] data) { + return LongHashFunction.xx3().hashBytes(data); + } +} |