Files
kotlin-fork/js/js.translator/testData/box/polyfills/clz32/clz32WithExistedIntrinsic.kt
T

22 lines
458 B
Kotlin
Vendored

// WITH_STDLIB
// TARGET_BACKEND: JS_IR
// FILE: main.js
Math.clz32 = function clz32(x) {
clz32.called = true;
var asUint = x >>> 0;
if (asUint === 0) {
return 32;
}
return 31 - (Math.log(asUint) / Math.LN2 | 0) | 0; // the "| 0" acts like math.floor
}
// FILE: main.kt
fun box(): String {
val result = 4.countLeadingZeroBits()
assertEquals(result, 29)
assertEquals(js("Math.clz32.called"), true)
return "OK"
}