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
@@ -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"
}