Use common implementation of fastLog2 based on countLeadingZeroBits

This commit is contained in:
Ilya Gorbunov
2019-06-20 20:56:56 +03:00
parent f8724654a1
commit 39bdf34b9f
3 changed files with 3 additions and 15 deletions
@@ -11,17 +11,6 @@ internal actual fun defaultPlatformRandom(): Random =
Random(js("(Math.random() * Math.pow(2, 32)) | 0").unsafeCast<Int>())
internal actual fun fastLog2(value: Int): Int {
// TODO: not so fast, make faster
var v = value
var log = -1
while (v != 0) {
v = v.ushr(1)
log++
}
return log
}
private val INV_2_26: Double = 2.0.pow(-26)
private val INV_2_53: Double = 2.0.pow(-53)
internal actual fun doubleFromParts(hi26: Int, low27: Int): Double =