| // WITH_STDLIB |
| |
| import kotlin.math.* |
| |
| fun almostEqual(a: Float, b: Float): Boolean = abs(a - b) < 0.0000001F |
| |
| val umax = UInt.MAX_VALUE |
| val ulmax = ULong.MAX_VALUE |
| val imax = Int.MAX_VALUE |
| val lmax = Long.MAX_VALUE |
| |
| fun box(): String { |
| if (1F != 1.toFloat()) return "fail 1" |
| if (1.0F != 1.0.toFloat()) return "fail 2" |
| if (1e1F != 1e1.toFloat()) return "fail 3" |
| if (1.0e1F != 1.0e1.toFloat()) return "fail 4" |
| if (1e-1F != 1e-1.toFloat()) return "fail 5" |
| if (1.0e-1F != 1.0e-1.toFloat()) return "fail 6" |
| |
| if (1f != 1.toFloat()) return "fail 7" |
| if (1.0f != 1.0.toFloat()) return "fail 8" |
| if (1e1f != 1e1.toFloat()) return "fail 9" |
| if (1.0e1f != 1.0e1.toFloat()) return "fail 10" |
| if (1e-1f != 1e-1.toFloat()) return "fail 11" |
| if (1.0e-1f != 1.0e-1.toFloat()) return "fail 12" |
| |
| if (!almostEqual(kotlin.math.E.toFloat(), exp(1.0F))) return "fail 13" |
| |
| if (2147483647.toFloat() != imax.toFloat()) return "fail 14" |
| |
| if (9223372036854775807L.toFloat() != lmax.toFloat()) return "fail 15" |
| |
| if (0xFFFF_FFFF.toFloat() != umax.toFloat()) return "fail 16" |
| |
| if ((2.0f * Long.MAX_VALUE + 1) != ulmax.toFloat()) return "fail 17" |
| |
| return "OK" |
| } |