From 4f981ff7455d2e7b34ffd54c26d249197d287db6 Mon Sep 17 00:00:00 2001 From: Pavel Punegov Date: Fri, 4 Feb 2022 12:34:28 +0300 Subject: [PATCH] [K/N] Use toBits() in Float and Double hashCode() toBits() is aware of NaNs comparing to bits() --- kotlin-native/runtime/src/main/kotlin/kotlin/Primitives.kt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/Primitives.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/Primitives.kt index f22954e7d5f..f31ba2016e6 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/Primitives.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/Primitives.kt @@ -1603,9 +1603,7 @@ public final class Float private constructor() : Number(), Comparable { public override fun toString() = NumberConverter.convert(this) - public override fun hashCode(): Int { - return bits() - } + public override fun hashCode(): Int = toBits() @TypedIntrinsic(IntrinsicType.REINTERPRET) @PublishedApi @@ -1915,7 +1913,7 @@ public final class Double private constructor() : Number(), Comparable { public override fun toString(): String = NumberConverter.convert(this) - public override fun hashCode(): Int = bits().hashCode() + public override fun hashCode(): Int = toBits().hashCode() @TypedIntrinsic(IntrinsicType.REINTERPRET) @PublishedApi