UNumbersKt.smali

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


# annotations
.annotation system Ldalvik/annotation/SourceDebugExtension;
    value = "SMAP\nUNumbers.kt\nKotlin\n*S Kotlin\n*F\n+ 1 UNumbers.kt\nkotlin/UNumbersKt\n*L\n1#1,328:1\n*E\n"
.end annotation

.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,
        0x1,
        0xf
    }
.end annotation


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method private static final countLeadingZeroBits-7apg3OU(B)I
    .registers 3
    .param p0, "$this$countLeadingZeroBits"    # B

    const/4 v0, 0x0

    .line 185
    .local v0, "$i$f$countLeadingZeroBits-7apg3OU":I
    and-int/lit16 v1, p0, 0xff

    invoke-static {v1}, Ljava/lang/Integer;->numberOfLeadingZeros(I)I

    move-result v1

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

    return v1
.end method

.method private static final countLeadingZeroBits-VKZWuLQ(J)I
    .registers 4
    .param p0, "$this$countLeadingZeroBits"    # J

    const/4 v0, 0x0

    .line 106
    .local v0, "$i$f$countLeadingZeroBits-VKZWuLQ":I
    invoke-static {p0, p1}, Ljava/lang/Long;->numberOfLeadingZeros(J)I

    move-result v1

    return v1
.end method

.method private static final countLeadingZeroBits-WZ4Q5Ns(I)I
    .registers 3
    .param p0, "$this$countLeadingZeroBits"    # I

    const/4 v0, 0x0

    .line 25
    .local v0, "$i$f$countLeadingZeroBits-WZ4Q5Ns":I
    invoke-static {p0}, Ljava/lang/Integer;->numberOfLeadingZeros(I)I

    move-result v1

    return v1
.end method

.method private static final countLeadingZeroBits-xj2QHRw(S)I
    .registers 3
    .param p0, "$this$countLeadingZeroBits"    # S

    const/4 v0, 0x0

    .line 265
    .local v0, "$i$f$countLeadingZeroBits-xj2QHRw":I
    const v1, 0xffff

    and-int/2addr v1, p0

    invoke-static {v1}, Ljava/lang/Integer;->numberOfLeadingZeros(I)I

    move-result v1

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

    return v1
.end method

.method private static final countOneBits-7apg3OU(B)I
    .registers 3
    .param p0, "$this$countOneBits"    # B

    const/4 v0, 0x0

    .line 176
    .local v0, "$i$f$countOneBits-7apg3OU":I
    and-int/lit16 v1, p0, 0xff

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

    move-result v1

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

    move-result v1

    return v1
.end method

.method private static final countOneBits-VKZWuLQ(J)I
    .registers 4
    .param p0, "$this$countOneBits"    # J

    const/4 v0, 0x0

    .line 97
    .local v0, "$i$f$countOneBits-VKZWuLQ":I
    invoke-static {p0, p1}, Ljava/lang/Long;->bitCount(J)I

    move-result v1

    return v1
.end method

.method private static final countOneBits-WZ4Q5Ns(I)I
    .registers 3
    .param p0, "$this$countOneBits"    # I

    const/4 v0, 0x0

    .line 16
    .local v0, "$i$f$countOneBits-WZ4Q5Ns":I
    invoke-static {p0}, Ljava/lang/Integer;->bitCount(I)I

    move-result v1

    return v1
.end method

.method private static final countOneBits-xj2QHRw(S)I
    .registers 3
    .param p0, "$this$countOneBits"    # S

    const/4 v0, 0x0

    .line 256
    .local v0, "$i$f$countOneBits-xj2QHRw":I
    const v1, 0xffff

    and-int/2addr v1, p0

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

    move-result v1

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

    move-result v1

    return v1
.end method

.method private static final countTrailingZeroBits-7apg3OU(B)I
    .registers 3
    .param p0, "$this$countTrailingZeroBits"    # B

    const/4 v0, 0x0

    .line 194
    .local v0, "$i$f$countTrailingZeroBits-7apg3OU":I
    or-int/lit16 v1, p0, 0x100

    invoke-static {v1}, Ljava/lang/Integer;->numberOfTrailingZeros(I)I

    move-result v1

    return v1
.end method

.method private static final countTrailingZeroBits-VKZWuLQ(J)I
    .registers 4
    .param p0, "$this$countTrailingZeroBits"    # J

    const/4 v0, 0x0

    .line 115
    .local v0, "$i$f$countTrailingZeroBits-VKZWuLQ":I
    invoke-static {p0, p1}, Ljava/lang/Long;->numberOfTrailingZeros(J)I

    move-result v1

    return v1
.end method

.method private static final countTrailingZeroBits-WZ4Q5Ns(I)I
    .registers 3
    .param p0, "$this$countTrailingZeroBits"    # I

    const/4 v0, 0x0

    .line 34
    .local v0, "$i$f$countTrailingZeroBits-WZ4Q5Ns":I
    invoke-static {p0}, Ljava/lang/Integer;->numberOfTrailingZeros(I)I

    move-result v1

    return v1
.end method

.method private static final countTrailingZeroBits-xj2QHRw(S)I
    .registers 3
    .param p0, "$this$countTrailingZeroBits"    # S

    const/4 v0, 0x0

    .line 274
    .local v0, "$i$f$countTrailingZeroBits-xj2QHRw":I
    const/high16 v1, 0x10000

    or-int/2addr v1, p0

    invoke-static {v1}, Ljava/lang/Integer;->numberOfTrailingZeros(I)I

    move-result v1

    return v1
.end method

.method private static final rotateLeft-JSWoG40(JI)J
    .registers 6
    .param p0, "$this$rotateLeft"    # J
    .param p2, "bitCount"    # I

    const/4 v0, 0x0

    .line 151
    .local v0, "$i$f$rotateLeft-JSWoG40":I
    invoke-static {p0, p1, p2}, Ljava/lang/Long;->rotateLeft(JI)J

    move-result-wide v1

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

    move-result-wide v1

    return-wide v1
.end method

.method private static final rotateLeft-LxnNnR4(BI)B
    .registers 4
    .param p0, "$this$rotateLeft"    # B
    .param p1, "bitCount"    # I

    const/4 v0, 0x0

    .line 231
    .local v0, "$i$f$rotateLeft-LxnNnR4":I
    invoke-static {p0, p1}, Lkotlin/NumbersKt;->rotateLeft(BI)B

    move-result v1

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

    move-result v1

    return v1
.end method

.method private static final rotateLeft-V7xB4Y4(II)I
    .registers 4
    .param p0, "$this$rotateLeft"    # I
    .param p1, "bitCount"    # I

    const/4 v0, 0x0

    .line 70
    .local v0, "$i$f$rotateLeft-V7xB4Y4":I
    invoke-static {p0, p1}, Ljava/lang/Integer;->rotateLeft(II)I

    move-result v1

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

    move-result v1

    return v1
.end method

.method private static final rotateLeft-olVBNx4(SI)S
    .registers 4
    .param p0, "$this$rotateLeft"    # S
    .param p1, "bitCount"    # I

    const/4 v0, 0x0

    .line 311
    .local v0, "$i$f$rotateLeft-olVBNx4":I
    invoke-static {p0, p1}, Lkotlin/NumbersKt;->rotateLeft(SI)S

    move-result v1

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

    move-result v1

    return v1
.end method

.method private static final rotateRight-JSWoG40(JI)J
    .registers 6
    .param p0, "$this$rotateRight"    # J
    .param p2, "bitCount"    # I

    const/4 v0, 0x0

    .line 167
    .local v0, "$i$f$rotateRight-JSWoG40":I
    invoke-static {p0, p1, p2}, Ljava/lang/Long;->rotateRight(JI)J

    move-result-wide v1

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

    move-result-wide v1

    return-wide v1
.end method

.method private static final rotateRight-LxnNnR4(BI)B
    .registers 4
    .param p0, "$this$rotateRight"    # B
    .param p1, "bitCount"    # I

    const/4 v0, 0x0

    .line 247
    .local v0, "$i$f$rotateRight-LxnNnR4":I
    invoke-static {p0, p1}, Lkotlin/NumbersKt;->rotateRight(BI)B

    move-result v1

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

    move-result v1

    return v1
.end method

.method private static final rotateRight-V7xB4Y4(II)I
    .registers 4
    .param p0, "$this$rotateRight"    # I
    .param p1, "bitCount"    # I

    const/4 v0, 0x0

    .line 87
    .local v0, "$i$f$rotateRight-V7xB4Y4":I
    invoke-static {p0, p1}, Ljava/lang/Integer;->rotateRight(II)I

    move-result v1

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

    move-result v1

    return v1
.end method

.method private static final rotateRight-olVBNx4(SI)S
    .registers 4
    .param p0, "$this$rotateRight"    # S
    .param p1, "bitCount"    # I

    const/4 v0, 0x0

    .line 327
    .local v0, "$i$f$rotateRight-olVBNx4":I
    invoke-static {p0, p1}, Lkotlin/NumbersKt;->rotateRight(SI)S

    move-result v1

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

    move-result v1

    return v1
.end method

.method private static final takeHighestOneBit-7apg3OU(B)B
    .registers 3
    .param p0, "$this$takeHighestOneBit"    # B

    const/4 v0, 0x0

    .line 204
    .local v0, "$i$f$takeHighestOneBit-7apg3OU":I
    and-int/lit16 v1, p0, 0xff

    invoke-static {v1}, Ljava/lang/Integer;->highestOneBit(I)I

    move-result v1

    int-to-byte v1, v1

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

    move-result v1

    return v1
.end method

.method private static final takeHighestOneBit-VKZWuLQ(J)J
    .registers 5
    .param p0, "$this$takeHighestOneBit"    # J

    const/4 v0, 0x0

    .line 125
    .local v0, "$i$f$takeHighestOneBit-VKZWuLQ":I
    invoke-static {p0, p1}, Ljava/lang/Long;->highestOneBit(J)J

    move-result-wide v1

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

    move-result-wide v1

    return-wide v1
.end method

.method private static final takeHighestOneBit-WZ4Q5Ns(I)I
    .registers 3
    .param p0, "$this$takeHighestOneBit"    # I

    const/4 v0, 0x0

    .line 44
    .local v0, "$i$f$takeHighestOneBit-WZ4Q5Ns":I
    invoke-static {p0}, Ljava/lang/Integer;->highestOneBit(I)I

    move-result v1

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

    move-result v1

    return v1
.end method

.method private static final takeHighestOneBit-xj2QHRw(S)S
    .registers 3
    .param p0, "$this$takeHighestOneBit"    # S

    const/4 v0, 0x0

    .line 284
    .local v0, "$i$f$takeHighestOneBit-xj2QHRw":I
    const v1, 0xffff

    and-int/2addr v1, p0

    invoke-static {v1}, Ljava/lang/Integer;->highestOneBit(I)I

    move-result v1

    int-to-short v1, v1

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

    move-result v1

    return v1
.end method

.method private static final takeLowestOneBit-7apg3OU(B)B
    .registers 3
    .param p0, "$this$takeLowestOneBit"    # B

    const/4 v0, 0x0

    .line 214
    .local v0, "$i$f$takeLowestOneBit-7apg3OU":I
    and-int/lit16 v1, p0, 0xff

    invoke-static {v1}, Ljava/lang/Integer;->lowestOneBit(I)I

    move-result v1

    int-to-byte v1, v1

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

    move-result v1

    return v1
.end method

.method private static final takeLowestOneBit-VKZWuLQ(J)J
    .registers 5
    .param p0, "$this$takeLowestOneBit"    # J

    const/4 v0, 0x0

    .line 135
    .local v0, "$i$f$takeLowestOneBit-VKZWuLQ":I
    invoke-static {p0, p1}, Ljava/lang/Long;->lowestOneBit(J)J

    move-result-wide v1

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

    move-result-wide v1

    return-wide v1
.end method

.method private static final takeLowestOneBit-WZ4Q5Ns(I)I
    .registers 3
    .param p0, "$this$takeLowestOneBit"    # I

    const/4 v0, 0x0

    .line 54
    .local v0, "$i$f$takeLowestOneBit-WZ4Q5Ns":I
    invoke-static {p0}, Ljava/lang/Integer;->lowestOneBit(I)I

    move-result v1

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

    move-result v1

    return v1
.end method

.method private static final takeLowestOneBit-xj2QHRw(S)S
    .registers 3
    .param p0, "$this$takeLowestOneBit"    # S

    const/4 v0, 0x0

    .line 294
    .local v0, "$i$f$takeLowestOneBit-xj2QHRw":I
    const v1, 0xffff

    and-int/2addr v1, p0

    invoke-static {v1}, Ljava/lang/Integer;->lowestOneBit(I)I

    move-result v1

    int-to-short v1, v1

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

    move-result v1

    return v1
.end method