UNumbersKt.smali

.class public final Lkotlin/UNumbersKt;
.super Ljava/lang/Object;
.source "UNumbers.kt"


# annotations
.annotation runtime Lkotlin/Metadata;
    bv = {
        0x1,
        0x0,
        0x3
    }
    d1 = {
        "\u0000&\n\u0000\n\u0002\u0010\u0008\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008)\u001a\u0017\u0010\u0000\u001a\u00020\u0001*\u00020\u0002H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0003\u0010\u0004\u001a\u0017\u0010\u0000\u001a\u00020\u0001*\u00020\u0005H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0006\u0010\u0007\u001a\u0017\u0010\u0000\u001a\u00020\u0001*\u00020\u0008H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\t\u0010\n\u001a\u0017\u0010\u0000\u001a\u00020\u0001*\u00020\u000bH\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u000c\u0010\r\u001a\u0017\u0010\u000e\u001a\u00020\u0001*\u00020\u0002H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u000f\u0010\u0004\u001a\u0017\u0010\u000e\u001a\u00020\u0001*\u00020\u0005H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0010\u0010\u0007\u001a\u0017\u0010\u000e\u001a\u00020\u0001*\u00020\u0008H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0011\u0010\n\u001a\u0017\u0010\u000e\u001a\u00020\u0001*\u00020\u000bH\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0012\u0010\r\u001a\u0017\u0010\u0013\u001a\u00020\u0001*\u00020\u0002H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0014\u0010\u0004\u001a\u0017\u0010\u0013\u001a\u00020\u0001*\u00020\u0005H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0015\u0010\u0007\u001a\u0017\u0010\u0013\u001a\u00020\u0001*\u00020\u0008H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0016\u0010\n\u001a\u0017\u0010\u0013\u001a\u00020\u0001*\u00020\u000bH\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0017\u0010\r\u001a\u001f\u0010\u0018\u001a\u00020\u0002*\u00020\u00022\u0006\u0010\u0019\u001a\u00020\u0001H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u001a\u0010\u001b\u001a\u001f\u0010\u0018\u001a\u00020\u0005*\u00020\u00052\u0006\u0010\u0019\u001a\u00020\u0001H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u001c\u0010\u001d\u001a\u001f\u0010\u0018\u001a\u00020\u0008*\u00020\u00082\u0006\u0010\u0019\u001a\u00020\u0001H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u001e\u0010\u001f\u001a\u001f\u0010\u0018\u001a\u00020\u000b*\u00020\u000b2\u0006\u0010\u0019\u001a\u00020\u0001H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008 \u0010!\u001a\u001f\u0010\"\u001a\u00020\u0002*\u00020\u00022\u0006\u0010\u0019\u001a\u00020\u0001H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008#\u0010\u001b\u001a\u001f\u0010\"\u001a\u00020\u0005*\u00020\u00052\u0006\u0010\u0019\u001a\u00020\u0001H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008$\u0010\u001d\u001a\u001f\u0010\"\u001a\u00020\u0008*\u00020\u00082\u0006\u0010\u0019\u001a\u00020\u0001H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008%\u0010\u001f\u001a\u001f\u0010\"\u001a\u00020\u000b*\u00020\u000b2\u0006\u0010\u0019\u001a\u00020\u0001H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008&\u0010!\u001a\u0017\u0010\'\u001a\u00020\u0002*\u00020\u0002H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008(\u0010)\u001a\u0017\u0010\'\u001a\u00020\u0005*\u00020\u0005H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008*\u0010\u0007\u001a\u0017\u0010\'\u001a\u00020\u0008*\u00020\u0008H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008+\u0010,\u001a\u0017\u0010\'\u001a\u00020\u000b*\u00020\u000bH\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008-\u0010.\u001a\u0017\u0010/\u001a\u00020\u0002*\u00020\u0002H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u00080\u0010)\u001a\u0017\u0010/\u001a\u00020\u0005*\u00020\u0005H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u00081\u0010\u0007\u001a\u0017\u0010/\u001a\u00020\u0008*\u00020\u0008H\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u00082\u0010,\u001a\u0017\u0010/\u001a\u00020\u000b*\u00020\u000bH\u0087\u0008\u00f8\u0001\u0000\u00a2\u0006\u0004\u00083\u0010.\u0082\u0002\u0004\n\u0002\u0008\u0019\u00a8\u00064"
    }
    d2 = {
        "countLeadingZeroBits",
        "",
        "Lkotlin/UByte;",
        "countLeadingZeroBits-7apg3OU",
        "(B)I",
        "Lkotlin/UInt;",
        "countLeadingZeroBits-WZ4Q5Ns",
        "(I)I",
        "Lkotlin/ULong;",
        "countLeadingZeroBits-VKZWuLQ",
        "(J)I",
        "Lkotlin/UShort;",
        "countLeadingZeroBits-xj2QHRw",
        "(S)I",
        "countOneBits",
        "countOneBits-7apg3OU",
        "countOneBits-WZ4Q5Ns",
        "countOneBits-VKZWuLQ",
        "countOneBits-xj2QHRw",
        "countTrailingZeroBits",
        "countTrailingZeroBits-7apg3OU",
        "countTrailingZeroBits-WZ4Q5Ns",
        "countTrailingZeroBits-VKZWuLQ",
        "countTrailingZeroBits-xj2QHRw",
        "rotateLeft",
        "bitCount",
        "rotateLeft-LxnNnR4",
        "(BI)B",
        "rotateLeft-V7xB4Y4",
        "(II)I",
        "rotateLeft-JSWoG40",
        "(JI)J",
        "rotateLeft-olVBNx4",
        "(SI)S",
        "rotateRight",
        "rotateRight-LxnNnR4",
        "rotateRight-V7xB4Y4",
        "rotateRight-JSWoG40",
        "rotateRight-olVBNx4",
        "takeHighestOneBit",
        "takeHighestOneBit-7apg3OU",
        "(B)B",
        "takeHighestOneBit-WZ4Q5Ns",
        "takeHighestOneBit-VKZWuLQ",
        "(J)J",
        "takeHighestOneBit-xj2QHRw",
        "(S)S",
        "takeLowestOneBit",
        "takeLowestOneBit-7apg3OU",
        "takeLowestOneBit-WZ4Q5Ns",
        "takeLowestOneBit-VKZWuLQ",
        "takeLowestOneBit-xj2QHRw",
        "kotlin-stdlib"
    }
    k = 0x2
    mv = {
        0x1,
        0x4,
        0x0
    }
.end annotation


# direct methods
.method private static final countLeadingZeroBits-7apg3OU(B)I
    .registers 1

    and-int/lit16 p0, p0, 0xff

    .line 185
    invoke-static {p0}, Ljava/lang/Integer;->numberOfLeadingZeros(I)I

    move-result p0

    add-int/lit8 p0, p0, -0x18

    return p0
.end method

.method private static final countLeadingZeroBits-VKZWuLQ(J)I
    .registers 2

    .line 106
    invoke-static {p0, p1}, Ljava/lang/Long;->numberOfLeadingZeros(J)I

    move-result p0

    return p0
.end method

.method private static final countLeadingZeroBits-WZ4Q5Ns(I)I
    .registers 1

    .line 25
    invoke-static {p0}, Ljava/lang/Integer;->numberOfLeadingZeros(I)I

    move-result p0

    return p0
.end method

.method private static final countLeadingZeroBits-xj2QHRw(S)I
    .registers 2

    const v0, 0xffff

    and-int/2addr p0, v0

    .line 265
    invoke-static {p0}, Ljava/lang/Integer;->numberOfLeadingZeros(I)I

    move-result p0

    add-int/lit8 p0, p0, -0x10

    return p0
.end method

.method private static final countOneBits-7apg3OU(B)I
    .registers 1

    and-int/lit16 p0, p0, 0xff

    .line 176
    invoke-static {p0}, Lkotlin/UInt;->constructor-impl(I)I

    move-result p0

    invoke-static {p0}, Ljava/lang/Integer;->bitCount(I)I

    move-result p0

    return p0
.end method

.method private static final countOneBits-VKZWuLQ(J)I
    .registers 2

    .line 97
    invoke-static {p0, p1}, Ljava/lang/Long;->bitCount(J)I

    move-result p0

    return p0
.end method

.method private static final countOneBits-WZ4Q5Ns(I)I
    .registers 1

    .line 16
    invoke-static {p0}, Ljava/lang/Integer;->bitCount(I)I

    move-result p0

    return p0
.end method

.method private static final countOneBits-xj2QHRw(S)I
    .registers 2

    const v0, 0xffff

    and-int/2addr p0, v0

    .line 256
    invoke-static {p0}, Lkotlin/UInt;->constructor-impl(I)I

    move-result p0

    invoke-static {p0}, Ljava/lang/Integer;->bitCount(I)I

    move-result p0

    return p0
.end method

.method private static final countTrailingZeroBits-7apg3OU(B)I
    .registers 1

    or-int/lit16 p0, p0, 0x100

    .line 194
    invoke-static {p0}, Ljava/lang/Integer;->numberOfTrailingZeros(I)I

    move-result p0

    return p0
.end method

.method private static final countTrailingZeroBits-VKZWuLQ(J)I
    .registers 2

    .line 115
    invoke-static {p0, p1}, Ljava/lang/Long;->numberOfTrailingZeros(J)I

    move-result p0

    return p0
.end method

.method private static final countTrailingZeroBits-WZ4Q5Ns(I)I
    .registers 1

    .line 34
    invoke-static {p0}, Ljava/lang/Integer;->numberOfTrailingZeros(I)I

    move-result p0

    return p0
.end method

.method private static final countTrailingZeroBits-xj2QHRw(S)I
    .registers 2

    const/high16 v0, 0x10000

    or-int/2addr p0, v0

    .line 274
    invoke-static {p0}, Ljava/lang/Integer;->numberOfTrailingZeros(I)I

    move-result p0

    return p0
.end method

.method private static final rotateLeft-JSWoG40(JI)J
    .registers 3

    .line 151
    invoke-static {p0, p1, p2}, Ljava/lang/Long;->rotateLeft(JI)J

    move-result-wide p0

    invoke-static {p0, p1}, Lkotlin/ULong;->constructor-impl(J)J

    move-result-wide p0

    return-wide p0
.end method

.method private static final rotateLeft-LxnNnR4(BI)B
    .registers 2

    .line 231
    invoke-static {p0, p1}, Lkotlin/NumbersKt;->rotateLeft(BI)B

    move-result p0

    invoke-static {p0}, Lkotlin/UByte;->constructor-impl(B)B

    move-result p0

    return p0
.end method

.method private static final rotateLeft-V7xB4Y4(II)I
    .registers 2

    .line 70
    invoke-static {p0, p1}, Ljava/lang/Integer;->rotateLeft(II)I

    move-result p0

    invoke-static {p0}, Lkotlin/UInt;->constructor-impl(I)I

    move-result p0

    return p0
.end method

.method private static final rotateLeft-olVBNx4(SI)S
    .registers 2

    .line 311
    invoke-static {p0, p1}, Lkotlin/NumbersKt;->rotateLeft(SI)S

    move-result p0

    invoke-static {p0}, Lkotlin/UShort;->constructor-impl(S)S

    move-result p0

    return p0
.end method

.method private static final rotateRight-JSWoG40(JI)J
    .registers 3

    .line 167
    invoke-static {p0, p1, p2}, Ljava/lang/Long;->rotateRight(JI)J

    move-result-wide p0

    invoke-static {p0, p1}, Lkotlin/ULong;->constructor-impl(J)J

    move-result-wide p0

    return-wide p0
.end method

.method private static final rotateRight-LxnNnR4(BI)B
    .registers 2

    .line 247
    invoke-static {p0, p1}, Lkotlin/NumbersKt;->rotateRight(BI)B

    move-result p0

    invoke-static {p0}, Lkotlin/UByte;->constructor-impl(B)B

    move-result p0

    return p0
.end method

.method private static final rotateRight-V7xB4Y4(II)I
    .registers 2

    .line 87
    invoke-static {p0, p1}, Ljava/lang/Integer;->rotateRight(II)I

    move-result p0

    invoke-static {p0}, Lkotlin/UInt;->constructor-impl(I)I

    move-result p0

    return p0
.end method

.method private static final rotateRight-olVBNx4(SI)S
    .registers 2

    .line 327
    invoke-static {p0, p1}, Lkotlin/NumbersKt;->rotateRight(SI)S

    move-result p0

    invoke-static {p0}, Lkotlin/UShort;->constructor-impl(S)S

    move-result p0

    return p0
.end method

.method private static final takeHighestOneBit-7apg3OU(B)B
    .registers 1

    and-int/lit16 p0, p0, 0xff

    .line 204
    invoke-static {p0}, Ljava/lang/Integer;->highestOneBit(I)I

    move-result p0

    int-to-byte p0, p0

    invoke-static {p0}, Lkotlin/UByte;->constructor-impl(B)B

    move-result p0

    return p0
.end method

.method private static final takeHighestOneBit-VKZWuLQ(J)J
    .registers 2

    .line 125
    invoke-static {p0, p1}, Ljava/lang/Long;->highestOneBit(J)J

    move-result-wide p0

    invoke-static {p0, p1}, Lkotlin/ULong;->constructor-impl(J)J

    move-result-wide p0

    return-wide p0
.end method

.method private static final takeHighestOneBit-WZ4Q5Ns(I)I
    .registers 1

    .line 44
    invoke-static {p0}, Ljava/lang/Integer;->highestOneBit(I)I

    move-result p0

    invoke-static {p0}, Lkotlin/UInt;->constructor-impl(I)I

    move-result p0

    return p0
.end method

.method private static final takeHighestOneBit-xj2QHRw(S)S
    .registers 2

    const v0, 0xffff

    and-int/2addr p0, v0

    .line 284
    invoke-static {p0}, Ljava/lang/Integer;->highestOneBit(I)I

    move-result p0

    int-to-short p0, p0

    invoke-static {p0}, Lkotlin/UShort;->constructor-impl(S)S

    move-result p0

    return p0
.end method

.method private static final takeLowestOneBit-7apg3OU(B)B
    .registers 1

    and-int/lit16 p0, p0, 0xff

    .line 214
    invoke-static {p0}, Ljava/lang/Integer;->lowestOneBit(I)I

    move-result p0

    int-to-byte p0, p0

    invoke-static {p0}, Lkotlin/UByte;->constructor-impl(B)B

    move-result p0

    return p0
.end method

.method private static final takeLowestOneBit-VKZWuLQ(J)J
    .registers 2

    .line 135
    invoke-static {p0, p1}, Ljava/lang/Long;->lowestOneBit(J)J

    move-result-wide p0

    invoke-static {p0, p1}, Lkotlin/ULong;->constructor-impl(J)J

    move-result-wide p0

    return-wide p0
.end method

.method private static final takeLowestOneBit-WZ4Q5Ns(I)I
    .registers 1

    .line 54
    invoke-static {p0}, Ljava/lang/Integer;->lowestOneBit(I)I

    move-result p0

    invoke-static {p0}, Lkotlin/UInt;->constructor-impl(I)I

    move-result p0

    return p0
.end method

.method private static final takeLowestOneBit-xj2QHRw(S)S
    .registers 2

    const v0, 0xffff

    and-int/2addr p0, v0

    .line 294
    invoke-static {p0}, Ljava/lang/Integer;->lowestOneBit(I)I

    move-result p0

    int-to-short p0, p0

    invoke-static {p0}, Lkotlin/UShort;->constructor-impl(S)S

    move-result p0

    return p0
.end method