Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8268113: Re-use Long.hashCode() where possible #4309

Closed
wants to merge 13 commits into from
@@ -877,8 +877,7 @@ public int hashCode() {
* @since 1.8
*/
public static int hashCode(double value) {
long bits = doubleToLongBits(value);
return (int)(bits ^ (bits >>> 32));
return Long.hashCode(doubleToLongBits(value));
}

/**
@@ -1596,8 +1596,7 @@ public boolean equals(Object obj) {
*/
@Override
public int hashCode() {
long nod = toNanoOfDay();
return (int) (nod ^ (nod >>> 32));
return Long.hashCode(toNanoOfDay());
}

//-----------------------------------------------------------------------
@@ -410,7 +410,7 @@ public int hashCode() {
long hash = minSmallest + (minLargest << 16) + (minLargest >> 48) +
(maxSmallest << 32) + (maxSmallest >> 32) + (maxLargest << 48) +
(maxLargest >> 16);
return (int) (hash ^ (hash >>> 32));
return Long.hashCode(hash);
}

//-----------------------------------------------------------------------
@@ -111,8 +111,7 @@ public boolean equals(final Object obj) {
}

public int hashCode() {
final long bits = Double.doubleToLongBits(doubleValue);
return (int)(bits ^ (bits >>> 32));
return Double.hashCode(doubleValue);
}

public String toString() {
@@ -123,8 +123,7 @@ public int hashCode() {
if (value == 0d) {
return 0;
}
long v = Double.doubleToLongBits(value);
return (int) (v ^ (v >>> 32));
return Double.hashCode(value);
}

// NOTE: 0.0 is equal but not identical to -0.0
@@ -276,7 +276,7 @@ public boolean equals(Object o) {

@Override
public int hashCode() {
return (int) (asBits() ^ (asBits() >>> 32));
return Long.hashCode(asBits());
}

/**