31
src/commonMain/kotlin/com/infendro/encoding/util/Math.kt
Normal file
31
src/commonMain/kotlin/com/infendro/encoding/util/Math.kt
Normal file
@@ -0,0 +1,31 @@
|
||||
package com.infendro.encoding.util
|
||||
|
||||
import kotlin.math.log2
|
||||
|
||||
internal fun log2(
|
||||
value: Int,
|
||||
): Double {
|
||||
val x = value.toDouble()
|
||||
return log2(x)
|
||||
}
|
||||
|
||||
internal fun gcd(
|
||||
a: Int,
|
||||
b: Int,
|
||||
): Int {
|
||||
var x = a
|
||||
var y = b
|
||||
while (y != 0) {
|
||||
val temp = y
|
||||
y = x % y
|
||||
x = temp
|
||||
}
|
||||
return x
|
||||
}
|
||||
|
||||
internal fun lcm(
|
||||
a: Int,
|
||||
b: Int,
|
||||
): Int {
|
||||
return (a * b) / gcd(a, b)
|
||||
}
|
||||
Reference in New Issue
Block a user