New ieee754 arithmetic, Fix for KT-14651: Floating point comparisons shall operate according to IEEE754

This commit is contained in:
Mikhael Bogdanov
2016-11-22 16:27:35 +01:00
parent f9b40585cd
commit 627dd66ed5
62 changed files with 1632 additions and 22 deletions
+15
View File
@@ -0,0 +1,15 @@
fun box(): String {
val plusZero: Any = 0.0
val minusZero: Any = -0.0
if ((minusZero as Double) < (plusZero as Double)) return "fail 0"
val plusZeroF: Any = 0.0F
val minusZeroF: Any = -0.0F
if ((minusZeroF as Float) < (plusZeroF as Float)) return "fail 1"
if ((minusZero as Double) != (plusZero as Double)) return "fail 3"
if ((minusZeroF as Float) != (plusZeroF as Float)) return "fail 4"
return "OK"
}
@@ -0,0 +1,14 @@
// IGNORE_BACKEND: JS
fun box(): String {
if ((-0.0 as Comparable<Double>) >= 0.0) return "fail 0"
if ((-0.0F as Comparable<Float>) >= 0.0F) return "fail 1"
if ((-0.0 as Comparable<Double>) == 0.0) return "fail 3"
if (-0.0 == (0.0 as Comparable<Double>)) return "fail 4"
if ((-0.0F as Comparable<Float>) == 0.0F) return "fail 5"
if (-0.0F == (0.0F as Comparable<Float>)) return "fail 6"
return "OK"
}
+9
View File
@@ -0,0 +1,9 @@
// IGNORE_BACKEND: JS
data class Test(val z1: Double, val z2: Double?)
fun box(): String {
val x = Test(Double.NaN, Double.NaN)
val y = Test(Double.NaN, Double.NaN)
return if (x == y) "OK" else "fail"
}
+22
View File
@@ -0,0 +1,22 @@
fun equals1(a: Double, b: Double) = a == b
fun equals2(a: Double?, b: Double?) = a!! == b!!
fun equals3(a: Double?, b: Double?) = a != null && b != null && a == b
fun equals4(a: Double?, b: Double?) = if (a is Double && b is Double) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Double && b is Double) a == b else null!!
fun box(): String {
if (-0.0 != 0.0) return "fail 0"
if (!equals1(-0.0, 0.0)) return "fail 1"
if (!equals2(-0.0, 0.0)) return "fail 2"
if (!equals3(-0.0, 0.0)) return "fail 3"
if (!equals4(-0.0, 0.0)) return "fail 4"
if (!equals5(-0.0, 0.0)) return "fail 5"
return "OK"
}
+22
View File
@@ -0,0 +1,22 @@
fun equals1(a: Float, b: Float) = a == b
fun equals2(a: Float?, b: Float?) = a!! == b!!
fun equals3(a: Float?, b: Float?) = a != null && b != null && a == b
fun equals4(a: Float?, b: Float?) = if (a is Float && b is Float) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Float && b is Float) a == b else null!!
fun box(): String {
if (-0.0F != 0.0F) return "fail 0"
if (!equals1(-0.0F, 0.0F)) return "fail 1"
if (!equals2(-0.0F, 0.0F)) return "fail 2"
if (!equals3(-0.0F, 0.0F)) return "fail 3"
if (!equals4(-0.0F, 0.0F)) return "fail 4"
if (!equals5(-0.0F, 0.0F)) return "fail 5"
return "OK"
}
@@ -0,0 +1,30 @@
fun equals1(a: Double, b: Double?) = a == b
fun equals2(a: Double?, b: Double?) = a!! == b!!
fun equals3(a: Double?, b: Double?) = a != null && a == b
fun equals4(a: Double?, b: Double?) = if (a is Double) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Double && b is Double?) a == b else null!!
fun equals6(a: Any?, b: Any?) = if (a is Double? && b is Double) a == b else null!!
fun equals7(a: Double?, b: Double?) = a == b
fun equals8(a: Any?, b: Any?) = if (a is Double? && b is Double?) a == b else null!!
fun box(): String {
if (!equals1(-0.0, 0.0)) return "fail 1"
if (!equals2(-0.0, 0.0)) return "fail 2"
if (!equals3(-0.0, 0.0)) return "fail 3"
if (!equals4(-0.0, 0.0)) return "fail 4"
if (!equals5(-0.0, 0.0)) return "fail 5"
if (!equals6(-0.0, 0.0)) return "fail 6"
if (!equals7(-0.0, 0.0)) return "fail 7"
if (!equals8(-0.0, 0.0)) return "fail 8"
return "OK"
}
@@ -0,0 +1,20 @@
// IGNORE_BACKEND: JS
fun less1(a: Double, b: Double) = a.compareTo(b) == -1
fun less2(a: Double?, b: Double?) = a!!.compareTo(b!!) == -1
fun less3(a: Double?, b: Double?) = a != null && b != null && a.compareTo(b) == -1
fun less4(a: Double?, b: Double?) = if (a is Double && b is Double) a.compareTo(b) == -1 else null!!
fun less5(a: Any?, b: Any?) = if (a is Double && b is Double) a.compareTo(b) == -1 else null!!
fun box(): String {
if (!less1(-0.0, 0.0)) return "fail 1"
if (!less2(-0.0, 0.0)) return "fail 2"
if (!less3(-0.0, 0.0)) return "fail 3"
if (!less4(-0.0, 0.0)) return "fail 4"
if (!less5(-0.0, 0.0)) return "fail 5"
return "OK"
}
@@ -0,0 +1,21 @@
// IGNORE_BACKEND: JS
fun equals1(a: Double, b: Double) = a.equals(b)
fun equals2(a: Double?, b: Double?) = a!!.equals(b!!)
fun equals3(a: Double?, b: Double?) = a != null && b != null && a.equals(b)
fun equals4(a: Double?, b: Double?) = if (a is Double && b is Double) a.equals(b) else null!!
fun box(): String {
if ((-0.0).equals(0.0)) return "fail 0"
if (equals1(-0.0, 0.0)) return "fail 1"
if (equals2(-0.0, 0.0)) return "fail 2"
if (equals3(-0.0, 0.0)) return "fail 3"
if (equals4(-0.0, 0.0)) return "fail 4"
return "OK"
}
+18
View File
@@ -0,0 +1,18 @@
// FILE: b.kt
class Foo<T>(val minus0: T, val plus0: T) {
}
fun box(): String {
val foo = Foo<Double>(-0.0, 0.0)
val fooF = Foo<Float>(-0.0F, 0.0F)
if (foo.minus0 < foo.plus0) return "fail 0"
if (fooF.minus0 < fooF.plus0) return "fail 1"
if (foo.minus0 != foo.plus0) return "fail 3"
if (fooF.minus0 != fooF.plus0) return "fail 4"
return "OK"
}
+20
View File
@@ -0,0 +1,20 @@
fun greater1(a: Double, b: Double) = a > b
fun greater2(a: Double?, b: Double?) = a!! > b!!
fun greater3(a: Double?, b: Double?) = a != null && b != null && a > b
fun greater4(a: Double?, b: Double?) = if (a is Double && b is Double) a > b else null!!
fun greater5(a: Any?, b: Any?) = if (a is Double && b is Double) a > b else null!!
fun box(): String {
if (0.0 > -0.0) return "fail 0"
if (greater1(0.0, -0.0)) return "fail 1"
if (greater2(0.0, -0.0)) return "fail 2"
if (greater3(0.0, -0.0)) return "fail 3"
if (greater4(0.0, -0.0)) return "fail 4"
if (greater5(0.0, -0.0)) return "fail 5"
return "OK"
}
+20
View File
@@ -0,0 +1,20 @@
fun greater1(a: Float, b: Float) = a > b
fun greater2(a: Float?, b: Float?) = a!! > b!!
fun greater3(a: Float?, b: Float?) = a != null && b != null && a > b
fun greater4(a: Float?, b: Float?) = if (a is Float && b is Float) a > b else null!!
fun greater5(a: Any?, b: Any?) = if (a is Float && b is Float) a > b else null!!
fun box(): String {
if (0.0F > -0.0F) return "fail 0"
if (greater1(0.0F, -0.0F)) return "fail 1"
if (greater2(0.0F, -0.0F)) return "fail 2"
if (greater3(0.0F, -0.0F)) return "fail 3"
if (greater4(0.0F, -0.0F)) return "fail 4"
if (greater5(0.0F, -0.0F)) return "fail 5"
return "OK"
}
+49
View File
@@ -0,0 +1,49 @@
// IGNORE_BACKEND: JS
inline fun less(a: Comparable<Double>, b: Double): Boolean {
return a < b
}
inline fun equals(a: Comparable<Double>, b: Comparable<Double>): Boolean {
return a == b
}
inline fun <T: Comparable<Double>> lessGeneric(a: T, b: Double): Boolean {
return a < b
}
inline fun <T: Comparable<Double>> equalsGeneric(a: T, b: Double): Boolean {
return a == b
}
inline fun <reified T: Comparable<Double>> lessReified(a: T, b: Double): Boolean {
return a < b
}
inline fun <reified T: Comparable<Double>> equalsReified(a: T, b: T): Boolean {
return a == b
}
inline fun less754(a: Double, b: Double): Boolean {
return a < b
}
inline fun equals754(a: Double, b: Double): Boolean {
return a == b
}
fun box(): String {
if (!less(-0.0, 0.0)) return "fail 1"
if (equals(-0.0, 0.0)) return "fail 2"
if (!lessGeneric(-0.0, 0.0)) return "fail 3"
if (equalsGeneric(-0.0, 0.0)) return "fail 4"
if (!lessReified(-0.0, 0.0)) return "fail 5"
if (equalsReified(-0.0, 0.0)) return "fail 6"
if (less754(-0.0, 0.0)) return "fail 7"
if (!equals754(-0.0, 0.0)) return "fail 8"
return "OK"
}
+20
View File
@@ -0,0 +1,20 @@
fun less1(a: Double, b: Double) = a < b
fun less2(a: Double?, b: Double?) = a!! < b!!
fun less3(a: Double?, b: Double?) = a != null && b != null && a < b
fun less4(a: Double?, b: Double?) = if (a is Double && b is Double) a < b else null!!
fun less5(a: Any?, b: Any?) = if (a is Double && b is Double) a < b else null!!
fun box(): String {
if (-0.0 < 0.0) return "fail 0"
if (less1(-0.0, 0.0)) return "fail 1"
if (less2(-0.0, 0.0)) return "fail 2"
if (less3(-0.0, 0.0)) return "fail 3"
if (less4(-0.0, 0.0)) return "fail 4"
if (less5(-0.0, 0.0)) return "fail 5"
return "OK"
}
+20
View File
@@ -0,0 +1,20 @@
fun less1(a: Float, b: Float) = a < b
fun less2(a: Float?, b: Float?) = a!! < b!!
fun less3(a: Float?, b: Float?) = a != null && b != null && a < b
fun less4(a: Float?, b: Float?) = if (a is Float && b is Float) a < b else true
fun less5(a: Any?, b: Any?) = if (a is Float && b is Float) a < b else true
fun box(): String {
if (-0.0F < 0.0F) return "fail 0"
if (less1(-0.0F, 0.0F)) return "fail 1"
if (less2(-0.0F, 0.0F)) return "fail 2"
if (less3(-0.0F, 0.0F)) return "fail 3"
if (less4(-0.0F, 0.0F)) return "fail 4"
if (less5(-0.0F, 0.0F)) return "fail 5"
return "OK"
}
@@ -0,0 +1,15 @@
fun box(): String {
val plusZero: Any? = 0.0
val minusZero: Any? = -0.0
if ((minusZero as Double) < (plusZero as Double)) return "fail 0"
val plusZeroF: Any? = 0.0F
val minusZeroF: Any? = -0.0F
if ((minusZeroF as Float) < (plusZeroF as Float)) return "fail 1"
if ((minusZero as Double) != (plusZero as Double)) return "fail 3"
if ((minusZeroF as Float) != (plusZeroF as Float)) return "fail 4"
return "OK"
}
+14
View File
@@ -0,0 +1,14 @@
// IGNORE_BACKEND: JS
fun box(): String {
val plusZero: Double? = 0.0
val minusZero: Double = -0.0
if (plusZero?.equals(minusZero) ?: null!!) {
return "fail 1"
}
if (plusZero?.compareTo(minusZero) ?: null!! != 1) {
return "fail 2"
}
return "OK"
}
@@ -0,0 +1,14 @@
// IGNORE_BACKEND: JS
fun box(): String {
val zero: Any = 0.0
val floatZero: Any = -0.0F
if (zero is Double && floatZero is Float) {
if (zero == floatZero) return "fail 1"
if (zero <= floatZero) return "fail 2"
return "OK"
}
return "fail"
}
+21
View File
@@ -0,0 +1,21 @@
fun box(): String {
val plusZero: Any = 0.0
val minusZero: Any = -0.0
if (plusZero is Double) {
when (plusZero) {
-0.0 -> {
}
else -> return "fail 1"
}
if (minusZero is Double) {
when (plusZero) {
minusZero -> {
}
else -> return "fail 2"
}
}
}
return "OK"
}
+26
View File
@@ -0,0 +1,26 @@
fun box(): String {
val plusZero: Any = 0.0
val minusZero: Any = -0.0
if (plusZero is Double && minusZero is Double) {
when {
plusZero < minusZero -> {
return "fail 1"
}
plusZero > minusZero -> {
return "fail 2"
}
else -> {
}
}
when {
plusZero == minusZero -> {
}
else -> return "fail 3"
}
}
return "OK"
}
@@ -0,0 +1,27 @@
// FILE: JavaClass.java
public class JavaClass {
public Object minus0()
{
return -0.0;
}
public Object plus0()
{
return 0.0;
}
}
// FILE: b.kt
fun box(): String {
val jClass = JavaClass()
if ((jClass.minus0() as Double) < (jClass.plus0() as Double)) return "fail 1"
if ((jClass.minus0() as Double) != (jClass.plus0() as Double)) return "fail 2"
return "OK"
}
@@ -0,0 +1,26 @@
// FILE: JavaClass.java
public class JavaClass {
public Double minus0()
{
return -0.0;
}
public Double plus0()
{
return 0.0;
}
}
// FILE: b.kt
fun box(): String {
val jClass = JavaClass()
if ((jClass.minus0() as Comparable<Double>) >= jClass.plus0()) return "fail 1"
if ((jClass.minus0() as Comparable<Double>) == jClass.plus0()) return "fail 2"
if (jClass.minus0() == (jClass.plus0() as Comparable<Double>)) return "fail 3"
return "OK"
}
@@ -0,0 +1,43 @@
// FILE: JavaClass.java
public class JavaClass {
public Double minus0(){
return -0.0;
}
public Double plus0(){
return 0.0;
}
public Double null0(){
return null;
}
}
// FILE: b.kt
fun box(): String {
val jClass = JavaClass()
if (jClass.minus0() < jClass.plus0()) return "fail 1"
//TODO: KT-14989
//if (jClass.null0() < jClass.plus0()) return "fail 2"
if (jClass.plus0() > jClass.minus0()) return "fail 3"
//TODO: KT-14989
//if (jClass.null0() < jClass.plus0()) return "fail 4"
if (jClass.minus0() != jClass.plus0()) return "fail 5"
//TODO: KT-14989
//if (jClass.null0() != jClass.plus0()) return "fail 6"
return "OK"
}
@@ -0,0 +1,38 @@
// FILE: JavaClass.java
public class JavaClass {
public Double minus0(){
return -0.0;
}
public Double plus0(){
return 0.0;
}
public Double null0(){
return null;
}
}
// FILE: b.kt
fun box(): String {
val jClass = JavaClass()
if (jClass.minus0().compareTo(jClass.plus0()) != -1) return "fail 1"
//TODO: KT-14989
//if (jClass.null0().compareTo(jClass.plus0())) return "fail 2"
try {
if (jClass.minus0().compareTo(jClass.null0()) != -2) return "fail 3"
return "fail: exception expected";
} catch (e: IllegalStateException) {
}
return "OK"
}
@@ -0,0 +1,31 @@
// FILE: JavaClass.java
public class JavaClass {
public Double minus0(){
return -0.0;
}
public Double plus0(){
return 0.0;
}
public Double null0(){
return null;
}
}
// FILE: b.kt
fun box(): String {
val jClass = JavaClass()
if (jClass.minus0().equals(jClass.plus0())) return "fail 5"
if (jClass.null0().equals(jClass.plus0())) return "fail 6"
if (jClass.minus0().equals(jClass.null0())) return "fail 7"
return "OK"
}
@@ -0,0 +1,46 @@
// FILE: JavaClass.java
public class JavaClass {
public Float minus0()
{
return -0.0F;
}
public Float plus0()
{
return 0.0F;
}
public Float null0()
{
return null;
}
}
// FILE: b.kt
fun box(): String {
val jClass = JavaClass()
if (jClass.minus0() < jClass.plus0()) return "fail 1"
//TODO: KT-14989
//if (jClass.null0() < jClass.plus0()) return "fail 2"
if (jClass.plus0() > jClass.minus0()) return "fail 3"
//TODO: KT-14989
//if (jClass.null0() < jClass.plus0()) return "fail 4"
if (jClass.minus0() != jClass.plus0()) return "fail 5"
//TODO: KT-14989
//if (jClass.null0() != jClass.plus0()) return "fail 6"
return "OK"
}
@@ -0,0 +1,36 @@
// FILE: JavaClass.java
public class JavaClass<T> {
private T minus0;
private T plus0;
JavaClass(T minus0, T plus0)
{
this.minus0 = minus0;
this.plus0 = plus0;
}
public T minus0()
{
return minus0;
}
public T plus0()
{
return plus0;
}
}
// FILE: b.kt
fun box(): String {
val jClass = JavaClass<Double>(-0.0, 0.0)
if (jClass.minus0() < jClass.plus0()) return "fail 2"
if (jClass.minus0() != jClass.plus0()) return "fail 5"
return "OK"
}
@@ -0,0 +1,26 @@
// FILE: JavaClass.java
public class JavaClass {
public Object minus0()
{
return -0.0;
}
public Object plus0()
{
return 0.0;
}
}
// FILE: b.kt
fun box(): String {
val jClass = JavaClass()
if ((jClass.minus0() as Double) < (jClass.plus0() as Double)) return "fail 2"
if ((jClass.minus0() as Double) != (jClass.plus0() as Double)) return "fail 5"
return "OK"
}
@@ -0,0 +1,16 @@
fun equals3(a: Byte?, b: Byte?) = a != null && b != null && a == b
fun equals4(a: Byte?, b: Byte?) = if (a is Byte && b is Byte) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Byte && b is Byte) a == b else null!!
fun less3(a: Byte?, b: Byte?) = a != null && b != null && a < b
fun less4(a: Byte?, b: Byte?) = if (a is Byte && b is Byte) a < b else true
fun less5(a: Any?, b: Any?) = if (a is Byte && b is Byte) a < b else true
// 3 Intrinsics\.areEqual
// 3 Intrinsics\.compare
// for compare:
// 3 IF_ICMPGE
@@ -0,0 +1,16 @@
fun equals3(a: Char?, b: Char?) = a != null && b != null && a == b
fun equals4(a: Char?, b: Char?) = if (a is Char && b is Char) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Char && b is Char) a == b else null!!
fun less3(a: Char?, b: Char?) = a != null && b != null && a < b
fun less4(a: Char?, b: Char?) = if (a is Char && b is Char) a < b else true
fun less5(a: Any?, b: Any?) = if (a is Char && b is Char) a < b else true
// 3 Intrinsics\.areEqual
// 3 Intrinsics\.compare
// for compare:
// 3 IF_ICMPGE
@@ -0,0 +1,16 @@
fun box(): String {
val zero: Any = 0.0
val floatZero: Any = -0.0F
if (zero is Double && floatZero is Float) {
if (zero == floatZero) return "fail 1"
if (zero <= floatZero) return "fail 2"
return "OK"
}
return "fail"
}
// 1 Intrinsics\.areEqual
// 1 Double\.compare
@@ -0,0 +1,16 @@
fun equals3(a: Int?, b: Int?) = a != null && b != null && a == b
fun equals4(a: Int?, b: Int?) = if (a is Int && b is Int) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Int && b is Int) a == b else null!!
fun less3(a: Int?, b: Int?) = a != null && b != null && a < b
fun less4(a: Int?, b: Int?) = if (a is Int && b is Int) a < b else true
fun less5(a: Any?, b: Any?) = if (a is Int && b is Int) a < b else true
// 3 Intrinsics\.areEqual
// 3 Intrinsics\.compare
// for compare:
// 3 IF_ICMPGE
@@ -0,0 +1,16 @@
fun equals3(a: Long?, b: Long?) = a != null && b != null && a == b
fun equals4(a: Long?, b: Long?) = if (a is Long && b is Long) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Long && b is Long) a == b else null!!
fun less3(a: Long?, b: Long?) = a != null && b != null && a < b
fun less4(a: Long?, b: Long?) = if (a is Long && b is Long) a < b else true
fun less5(a: Any?, b: Any?) = if (a is Long && b is Long) a < b else true
// 3 Intrinsics\.areEqual
// 3 Intrinsics\.compare
// for compare:
// 3 IF_ICMPGE
@@ -0,0 +1,16 @@
fun equals3(a: Short?, b: Short?) = a != null && b != null && a == b
fun equals4(a: Short?, b: Short?) = if (a is Short && b is Short) a == b else null!!
fun equals5(a: Any?, b: Any?) = if (a is Short && b is Short) a == b else null!!
fun less3(a: Short?, b: Short?) = a != null && b != null && a < b
fun less4(a: Short?, b: Short?) = if (a is Short && b is Short) a < b else true
fun less5(a: Any?, b: Any?) = if (a is Short && b is Short) a < b else true
// 3 Intrinsics\.areEqual
// 3 Intrinsics\.compare
// for compare:
// 3 IF_ICMPGE
@@ -0,0 +1,3 @@
public final class AnyToRealKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
}
@@ -0,0 +1,3 @@
public final class ComparableTypeCastKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
}
@@ -0,0 +1,19 @@
public final class DataClassKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
}
public final class Test {
private final field z1: double
private final @org.jetbrains.annotations.Nullable field z2: java.lang.Double
public method <init>(p0: double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): void
public final method component1(): double
public final @org.jetbrains.annotations.Nullable method component2(): java.lang.Double
public synthetic static method copy$default(p0: Test, p1: double, p2: java.lang.Double, p3: int, p4: java.lang.Object): Test
public final @org.jetbrains.annotations.NotNull method copy(p0: double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): Test
public method equals(p0: java.lang.Object): boolean
public final method getZ1(): double
public final @org.jetbrains.annotations.Nullable method getZ2(): java.lang.Double
public method hashCode(): int
public method toString(): java.lang.String
}
@@ -0,0 +1,8 @@
public final class EqualsDoubleKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
public final static method equals1(p0: double, p1: double): boolean
public final static method equals2(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method equals3(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method equals4(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method equals5(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
}
@@ -0,0 +1,8 @@
public final class EqualsFloatKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
public final static method equals1(p0: float, p1: float): boolean
public final static method equals2(@org.jetbrains.annotations.Nullable p0: java.lang.Float, @org.jetbrains.annotations.Nullable p1: java.lang.Float): boolean
public final static method equals3(@org.jetbrains.annotations.Nullable p0: java.lang.Float, @org.jetbrains.annotations.Nullable p1: java.lang.Float): boolean
public final static method equals4(@org.jetbrains.annotations.Nullable p0: java.lang.Float, @org.jetbrains.annotations.Nullable p1: java.lang.Float): boolean
public final static method equals5(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
}
@@ -0,0 +1,11 @@
public final class EqualsNullableDoubleKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
public final static method equals1(p0: double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method equals2(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method equals3(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method equals4(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method equals5(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
public final static method equals6(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
public final static method equals7(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method equals8(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
}
@@ -0,0 +1,8 @@
public final class ExplicitCompareCallKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
public final static method less1(p0: double, p1: double): boolean
public final static method less2(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method less3(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method less4(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method less5(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
}
@@ -0,0 +1,7 @@
public final class ExplicitEqualsCallKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
public final static method equals1(p0: double, p1: double): boolean
public final static method equals2(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method equals3(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method equals4(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
}
@@ -0,0 +1,12 @@
public final class BKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
}
public final class Foo {
private final field minus0: java.lang.Object
private final field plus0: java.lang.Object
public method <init>(p0: java.lang.Object, p1: java.lang.Object): void
public final method getMinus0(): java.lang.Object
public final method getPlus0(): java.lang.Object
}
@@ -0,0 +1,8 @@
public final class GreaterDoubleKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
public final static method greater1(p0: double, p1: double): boolean
public final static method greater2(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method greater3(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method greater4(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method greater5(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
}
@@ -0,0 +1,8 @@
public final class GreaterFloatKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
public final static method greater1(p0: float, p1: float): boolean
public final static method greater2(@org.jetbrains.annotations.Nullable p0: java.lang.Float, @org.jetbrains.annotations.Nullable p1: java.lang.Float): boolean
public final static method greater3(@org.jetbrains.annotations.Nullable p0: java.lang.Float, @org.jetbrains.annotations.Nullable p1: java.lang.Float): boolean
public final static method greater4(@org.jetbrains.annotations.Nullable p0: java.lang.Float, @org.jetbrains.annotations.Nullable p1: java.lang.Float): boolean
public final static method greater5(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
}
@@ -0,0 +1,11 @@
public final class InlineKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
public final static method equals(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable, @org.jetbrains.annotations.NotNull p1: java.lang.Comparable): boolean
public final static method equals754(p0: double, p1: double): boolean
public final static method equalsGeneric(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable, p1: double): boolean
private final static method equalsReified(p0: java.lang.Comparable, p1: java.lang.Comparable): boolean
public final static method less(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable, p1: double): boolean
public final static method less754(p0: double, p1: double): boolean
public final static method lessGeneric(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable, p1: double): boolean
private final static method lessReified(p0: java.lang.Comparable, p1: double): boolean
}
@@ -0,0 +1,8 @@
public final class LessDoubleKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
public final static method less1(p0: double, p1: double): boolean
public final static method less2(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method less3(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method less4(@org.jetbrains.annotations.Nullable p0: java.lang.Double, @org.jetbrains.annotations.Nullable p1: java.lang.Double): boolean
public final static method less5(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
}
@@ -0,0 +1,8 @@
public final class LessFloatKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
public final static method less1(p0: float, p1: float): boolean
public final static method less2(@org.jetbrains.annotations.Nullable p0: java.lang.Float, @org.jetbrains.annotations.Nullable p1: java.lang.Float): boolean
public final static method less3(@org.jetbrains.annotations.Nullable p0: java.lang.Float, @org.jetbrains.annotations.Nullable p1: java.lang.Float): boolean
public final static method less4(@org.jetbrains.annotations.Nullable p0: java.lang.Float, @org.jetbrains.annotations.Nullable p1: java.lang.Float): boolean
public final static method less5(@org.jetbrains.annotations.Nullable p0: java.lang.Object, @org.jetbrains.annotations.Nullable p1: java.lang.Object): boolean
}
@@ -0,0 +1,3 @@
public final class NullableAnyToRealKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
}
@@ -0,0 +1,3 @@
public final class SafeCallKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
}
@@ -0,0 +1,3 @@
public final class SmartCastToDifferentTypesKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
}
@@ -0,0 +1,3 @@
public final class WhenKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
}
@@ -0,0 +1,3 @@
public final class WhenNoSubjectKt {
public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
}