Promote rotateLeft and rotateRight to stable

This commit is contained in:
Abduqodiri Qurbonzoda
2021-09-13 16:07:55 +03:00
parent 34a50e4e34
commit d9f8ce899a
8 changed files with 128 additions and 152 deletions
@@ -171,8 +171,8 @@ public actual fun Int.takeLowestOneBit(): Int =
* Rotating by a multiple of [Int.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public actual fun Int.rotateLeft(bitCount: Int): Int =
shl(bitCount) or ushr(32 - bitCount)
@@ -187,8 +187,8 @@ public actual fun Int.rotateLeft(bitCount: Int): Int =
* Rotating by a multiple of [Int.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public actual fun Int.rotateRight(bitCount: Int): Int =
shl(32 - bitCount) or ushr(bitCount)
@@ -259,8 +259,8 @@ public actual fun Long.takeLowestOneBit(): Long =
* Rotating by a multiple of [Long.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public actual fun Long.rotateLeft(bitCount: Int): Long =
shl(bitCount) or ushr(64 - bitCount)
@@ -274,8 +274,8 @@ public actual fun Long.rotateLeft(bitCount: Int): Long =
* Rotating by a multiple of [Long.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
@kotlin.internal.InlineOnly
public actual inline fun Long.rotateRight(bitCount: Int): Long =
shl(64 - bitCount) or ushr(bitCount)
+32 -40
View File
@@ -537,84 +537,76 @@ public inline fun <R, T : R> kotlin.Result<T>.recover(transform: (exception: kot
@kotlin.SinceKotlin(version = "1.3")
public inline fun <R, T : R> kotlin.Result<T>.recoverCatching(transform: (exception: kotlin.Throwable) -> R): kotlin.Result<R>
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Byte.rotateLeft(bitCount: kotlin.Int): kotlin.Byte
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Int.rotateLeft(bitCount: kotlin.Int): kotlin.Int
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Long.rotateLeft(bitCount: kotlin.Int): kotlin.Long
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Short.rotateLeft(bitCount: kotlin.Int): kotlin.Short
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UByte.rotateLeft(bitCount: kotlin.Int): kotlin.UByte
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UInt.rotateLeft(bitCount: kotlin.Int): kotlin.UInt
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.ULong.rotateLeft(bitCount: kotlin.Int): kotlin.ULong
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UShort.rotateLeft(bitCount: kotlin.Int): kotlin.UShort
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Byte.rotateRight(bitCount: kotlin.Int): kotlin.Byte
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Int.rotateRight(bitCount: kotlin.Int): kotlin.Int
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.Long.rotateRight(bitCount: kotlin.Int): kotlin.Long
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Short.rotateRight(bitCount: kotlin.Int): kotlin.Short
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UByte.rotateRight(bitCount: kotlin.Int): kotlin.UByte
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UInt.rotateRight(bitCount: kotlin.Int): kotlin.UInt
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.ULong.rotateRight(bitCount: kotlin.Int): kotlin.ULong
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UShort.rotateRight(bitCount: kotlin.Int): kotlin.UShort
+32 -40
View File
@@ -500,84 +500,76 @@ public inline fun <R, T : R> kotlin.Result<T>.recover(transform: (exception: kot
@kotlin.SinceKotlin(version = "1.3")
public inline fun <R, T : R> kotlin.Result<T>.recoverCatching(transform: (exception: kotlin.Throwable) -> R): kotlin.Result<R>
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Byte.rotateLeft(bitCount: kotlin.Int): kotlin.Byte
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Int.rotateLeft(bitCount: kotlin.Int): kotlin.Int
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Long.rotateLeft(bitCount: kotlin.Int): kotlin.Long
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Short.rotateLeft(bitCount: kotlin.Int): kotlin.Short
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UByte.rotateLeft(bitCount: kotlin.Int): kotlin.UByte
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UInt.rotateLeft(bitCount: kotlin.Int): kotlin.UInt
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.ULong.rotateLeft(bitCount: kotlin.Int): kotlin.ULong
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UShort.rotateLeft(bitCount: kotlin.Int): kotlin.UShort
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Byte.rotateRight(bitCount: kotlin.Int): kotlin.Byte
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Int.rotateRight(bitCount: kotlin.Int): kotlin.Int
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.Long.rotateRight(bitCount: kotlin.Int): kotlin.Long
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class})
public fun kotlin.Short.rotateRight(bitCount: kotlin.Int): kotlin.Short
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UByte.rotateRight(bitCount: kotlin.Int): kotlin.UByte
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UInt.rotateRight(bitCount: kotlin.Int): kotlin.UInt
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.ULong.rotateRight(bitCount: kotlin.Int): kotlin.ULong
@kotlin.SinceKotlin(version = "1.3")
@kotlin.ExperimentalStdlibApi
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalUnsignedTypes::class})
@kotlin.SinceKotlin(version = "1.6")
@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class, kotlin.ExperimentalUnsignedTypes::class})
@kotlin.internal.InlineOnly
public inline fun kotlin.UShort.rotateRight(bitCount: kotlin.Int): kotlin.UShort
+8 -8
View File
@@ -100,8 +100,8 @@ public actual fun Int.takeLowestOneBit(): Int =
* Rotating by a multiple of [Int.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public actual fun Int.rotateLeft(bitCount: Int): Int =
shl(bitCount) or ushr(Int.SIZE_BITS - bitCount)
@@ -116,8 +116,8 @@ public actual fun Int.rotateLeft(bitCount: Int): Int =
* Rotating by a multiple of [Int.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public actual fun Int.rotateRight(bitCount: Int): Int =
shl(Int.SIZE_BITS - bitCount) or ushr(bitCount)
@@ -186,8 +186,8 @@ public actual fun Long.takeLowestOneBit(): Long =
* Rotating by a multiple of [Long.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public actual fun Long.rotateLeft(bitCount: Int): Long {
if ((bitCount and 31) != 0) {
val low = this.low
@@ -211,7 +211,7 @@ public actual fun Long.rotateLeft(bitCount: Int): Long {
* Rotating by a multiple of [Long.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
@kotlin.internal.InlineOnly
public actual inline fun Long.rotateRight(bitCount: Int): Long = rotateLeft(-bitCount)
@@ -146,8 +146,8 @@ public actual inline fun Int.takeLowestOneBit(): Int = Integer.lowestOneBit(this
* Rotating by a multiple of [Int.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
@kotlin.internal.InlineOnly
public actual inline fun Int.rotateLeft(bitCount: Int): Int = Integer.rotateLeft(this, bitCount)
@@ -162,8 +162,8 @@ public actual inline fun Int.rotateLeft(bitCount: Int): Int = Integer.rotateLeft
* Rotating by a multiple of [Int.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
@kotlin.internal.InlineOnly
public actual inline fun Int.rotateRight(bitCount: Int): Int = Integer.rotateRight(this, bitCount)
@@ -220,8 +220,8 @@ public actual inline fun Long.takeLowestOneBit(): Long = java.lang.Long.lowestOn
* Rotating by a multiple of [Long.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
@kotlin.internal.InlineOnly
public actual inline fun Long.rotateLeft(bitCount: Int): Long = java.lang.Long.rotateLeft(this, bitCount)
@@ -235,8 +235,8 @@ public actual inline fun Long.rotateLeft(bitCount: Int): Long = java.lang.Long.r
* Rotating by a multiple of [Long.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
@kotlin.internal.InlineOnly
public actual inline fun Long.rotateRight(bitCount: Int): Long = java.lang.Long.rotateRight(this, bitCount)
+16 -16
View File
@@ -54,8 +54,8 @@ public expect fun Int.takeLowestOneBit(): Int
* Rotating by a multiple of [Int.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public expect fun Int.rotateLeft(bitCount: Int): Int
@@ -69,8 +69,8 @@ public expect fun Int.rotateLeft(bitCount: Int): Int
* Rotating by a multiple of [Int.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public expect fun Int.rotateRight(bitCount: Int): Int
@@ -121,8 +121,8 @@ public expect fun Long.takeLowestOneBit(): Long
* Rotating by a multiple of [Long.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public expect fun Long.rotateLeft(bitCount: Int): Long
/**
@@ -135,8 +135,8 @@ public expect fun Long.rotateLeft(bitCount: Int): Long
* Rotating by a multiple of [Long.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public expect fun Long.rotateRight(bitCount: Int): Long
/**
@@ -192,8 +192,8 @@ public inline fun Byte.takeLowestOneBit(): Byte = toInt().takeLowestOneBit().toB
* Rotating by a multiple of [Byte.SIZE_BITS] (8) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 8)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public fun Byte.rotateLeft(bitCount: Int): Byte =
(toInt().shl(bitCount and 7) or (toInt() and 0xFF).ushr(8 - (bitCount and 7))).toByte()
@@ -207,8 +207,8 @@ public fun Byte.rotateLeft(bitCount: Int): Byte =
* Rotating by a multiple of [Byte.SIZE_BITS] (8) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 8)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public fun Byte.rotateRight(bitCount: Int): Byte =
(toInt().shl(8 - (bitCount and 7)) or (toInt() and 0xFF).ushr(bitCount and 7)).toByte()
@@ -266,8 +266,8 @@ public inline fun Short.takeLowestOneBit(): Short = toInt().takeLowestOneBit().t
* Rotating by a multiple of [Short.SIZE_BITS] (16) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 16)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public fun Short.rotateLeft(bitCount: Int): Short =
(toInt().shl(bitCount and 15) or (toInt() and 0xFFFF).ushr(16 - (bitCount and 15))).toShort()
@@ -281,7 +281,7 @@ public fun Short.rotateLeft(bitCount: Int): Short =
* Rotating by a multiple of [Short.SIZE_BITS] (16) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 16)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public fun Short.rotateRight(bitCount: Int): Short =
(toInt().shl(16 - (bitCount and 15)) or (toInt() and 0xFFFF).ushr(bitCount and 15)).toShort()
@@ -58,9 +58,8 @@ public inline fun UInt.takeLowestOneBit(): UInt = toInt().takeLowestOneBit().toU
* Rotating by a multiple of [UInt.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@WasExperimental(ExperimentalUnsignedTypes::class)
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class, ExperimentalUnsignedTypes::class)
@kotlin.internal.InlineOnly
public inline fun UInt.rotateLeft(bitCount: Int): UInt = toInt().rotateLeft(bitCount).toUInt()
@@ -75,9 +74,8 @@ public inline fun UInt.rotateLeft(bitCount: Int): UInt = toInt().rotateLeft(bitC
* Rotating by a multiple of [UInt.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@WasExperimental(ExperimentalUnsignedTypes::class)
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class, ExperimentalUnsignedTypes::class)
@kotlin.internal.InlineOnly
public inline fun UInt.rotateRight(bitCount: Int): UInt = toInt().rotateRight(bitCount).toUInt()
@@ -134,9 +132,8 @@ public inline fun ULong.takeLowestOneBit(): ULong = toLong().takeLowestOneBit().
* Rotating by a multiple of [ULong.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@WasExperimental(ExperimentalUnsignedTypes::class)
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class, ExperimentalUnsignedTypes::class)
@kotlin.internal.InlineOnly
public inline fun ULong.rotateLeft(bitCount: Int): ULong = toLong().rotateLeft(bitCount).toULong()
@@ -150,9 +147,8 @@ public inline fun ULong.rotateLeft(bitCount: Int): ULong = toLong().rotateLeft(b
* Rotating by a multiple of [ULong.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@WasExperimental(ExperimentalUnsignedTypes::class)
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class, ExperimentalUnsignedTypes::class)
@kotlin.internal.InlineOnly
public inline fun ULong.rotateRight(bitCount: Int): ULong = toLong().rotateRight(bitCount).toULong()
@@ -209,9 +205,8 @@ public inline fun UByte.takeLowestOneBit(): UByte = toInt().takeLowestOneBit().t
* Rotating by a multiple of [UByte.SIZE_BITS] (8) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 8)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@WasExperimental(ExperimentalUnsignedTypes::class)
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class, ExperimentalUnsignedTypes::class)
@kotlin.internal.InlineOnly
public inline fun UByte.rotateLeft(bitCount: Int): UByte = toByte().rotateLeft(bitCount).toUByte()
@@ -225,9 +220,8 @@ public inline fun UByte.rotateLeft(bitCount: Int): UByte = toByte().rotateLeft(b
* Rotating by a multiple of [UByte.SIZE_BITS] (8) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 8)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@WasExperimental(ExperimentalUnsignedTypes::class)
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class, ExperimentalUnsignedTypes::class)
@kotlin.internal.InlineOnly
public inline fun UByte.rotateRight(bitCount: Int): UByte = toByte().rotateRight(bitCount).toUByte()
@@ -284,9 +278,8 @@ public inline fun UShort.takeLowestOneBit(): UShort = toInt().takeLowestOneBit()
* Rotating by a multiple of [UShort.SIZE_BITS] (16) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 16)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@WasExperimental(ExperimentalUnsignedTypes::class)
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class, ExperimentalUnsignedTypes::class)
@kotlin.internal.InlineOnly
public inline fun UShort.rotateLeft(bitCount: Int): UShort = toShort().rotateLeft(bitCount).toUShort()
@@ -300,8 +293,7 @@ public inline fun UShort.rotateLeft(bitCount: Int): UShort = toShort().rotateLef
* Rotating by a multiple of [UShort.SIZE_BITS] (16) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 16)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@WasExperimental(ExperimentalUnsignedTypes::class)
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class, ExperimentalUnsignedTypes::class)
@kotlin.internal.InlineOnly
public inline fun UShort.rotateRight(bitCount: Int): UShort = toShort().rotateRight(bitCount).toUShort()
@@ -54,8 +54,8 @@ public actual fun Int.takeLowestOneBit(): Int = TODO("Wasm stdlib: Numbers")
* Rotating by a multiple of [Int.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public actual fun Int.rotateLeft(bitCount: Int): Int = TODO("Wasm stdlib: Numbers")
@@ -69,8 +69,8 @@ public actual fun Int.rotateLeft(bitCount: Int): Int = TODO("Wasm stdlib: Number
* Rotating by a multiple of [Int.SIZE_BITS] (32) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 32)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public actual fun Int.rotateRight(bitCount: Int): Int = TODO("Wasm stdlib: Numbers")
@@ -121,8 +121,8 @@ public actual fun Long.takeLowestOneBit(): Long = TODO("Wasm stdlib: Numbers")
* Rotating by a multiple of [Long.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateLeft(n) == number.rotateLeft(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public actual fun Long.rotateLeft(bitCount: Int): Long = TODO("Wasm stdlib: Numbers")
/**
@@ -135,6 +135,6 @@ public actual fun Long.rotateLeft(bitCount: Int): Long = TODO("Wasm stdlib: Numb
* Rotating by a multiple of [Long.SIZE_BITS] (64) returns the same number, or more generally
* `number.rotateRight(n) == number.rotateRight(n % 64)`
*/
@SinceKotlin("1.3")
@ExperimentalStdlibApi
@SinceKotlin("1.6")
@WasExperimental(ExperimentalStdlibApi::class)
public actual fun Long.rotateRight(bitCount: Int): Long = TODO("Wasm stdlib: Numbers")