You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by bl...@apache.org on 2019/07/24 18:50:27 UTC

[incubator-iceberg] branch master updated: Bucket transform: Use doubleToLongBits instead of doubleToRawLongBits (#303)

This is an automated email from the ASF dual-hosted git repository.

blue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iceberg.git


The following commit(s) were added to refs/heads/master by this push:
     new 2082aad  Bucket transform: Use doubleToLongBits instead of doubleToRawLongBits (#303)
2082aad is described below

commit 2082aad292ce5dbfc2750cef6482ed615c7a3a4d
Author: Li Cheng <bl...@gmail.com>
AuthorDate: Thu Jul 25 02:50:22 2019 +0800

    Bucket transform: Use doubleToLongBits instead of doubleToRawLongBits (#303)
---
 api/src/main/java/org/apache/iceberg/transforms/Bucket.java | 4 ++--
 site/docs/spec.md                                           | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/api/src/main/java/org/apache/iceberg/transforms/Bucket.java b/api/src/main/java/org/apache/iceberg/transforms/Bucket.java
index 3bba9aa..9448d02 100644
--- a/api/src/main/java/org/apache/iceberg/transforms/Bucket.java
+++ b/api/src/main/java/org/apache/iceberg/transforms/Bucket.java
@@ -183,7 +183,7 @@ abstract class Bucket<T> implements Transform<T, Integer> {
 
     @Override
     public int hash(Float value) {
-      return MURMUR3.hashLong(Double.doubleToRawLongBits((double) value)).asInt();
+      return MURMUR3.hashLong(Double.doubleToLongBits((double) value)).asInt();
     }
 
     @Override
@@ -201,7 +201,7 @@ abstract class Bucket<T> implements Transform<T, Integer> {
 
     @Override
     public int hash(Double value) {
-      return MURMUR3.hashLong(Double.doubleToRawLongBits(value)).asInt();
+      return MURMUR3.hashLong(Double.doubleToLongBits(value)).asInt();
     }
 
     @Override
diff --git a/site/docs/spec.md b/site/docs/spec.md
index 5a0a22d..afed11f 100644
--- a/site/docs/spec.md
+++ b/site/docs/spec.md
@@ -508,7 +508,7 @@ The 32-bit hash implementation is 32-bit Murmur3 hash, x86 variant, seeded with
 | **`int`**          | `hashLong(long(v))`			[1]          | `34` → `2017239379`                        |
 | **`long`**         | `hashBytes(littleEndianBytes(v))`         | `34L` → `2017239379`                       |
 | **`float`**        | `hashDouble(double(v))`		[2]          | `1.0F` → `-142385009`                      |
-| **`double`**       | `hashLong(doubleToRawLongBits(v))`        | `1.0D` → `-142385009`                      |
+| **`double`**       | `hashLong(doubleToLongBits(v))`           | `1.0D` → `-142385009`                      |
 | **`decimal(P,S)`** | `hashBytes(minBigEndian(unscaled(v)))`[3] | `14.20` → `-500754589`                     |
 | **`date`**         | `hashInt(daysFromUnixEpoch(v))`           | `2017-11-16` → `-653330422`                |
 | **`time`**         | `hashLong(microsecsFromMidnight(v))`      | `22:31:08` → `-662762989`                  |