.class Lkotlin/NumbersKt__FloorDivModKt; .super Lkotlin/NumbersKt__BigIntegersKt; .source "FloorDivMod.kt" # annotations .annotation runtime Lkotlin/Metadata; d1 = { "\u0000 \n\u0000\n\u0002\u0010\u0008\n\u0002\u0010\u0005\n\u0000\n\u0002\u0010\t\n\u0002\u0010\n\n\u0000\n\u0002\u0010\u0006\n\u0002\u0010\u0007\n\u0000\u001a\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u0002H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u0001H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0004*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u0004H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u0005H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0002H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0001H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0004*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0004H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0005H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0004*\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0002H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0004*\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0001H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0004*\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0004H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0004*\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0005H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00052\u0006\u0010\u0003\u001a\u00020\u0002H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00052\u0006\u0010\u0003\u001a\u00020\u0001H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0004*\u00020\u00052\u0006\u0010\u0003\u001a\u00020\u0004H\u0087\u0008\u001a\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00052\u0006\u0010\u0003\u001a\u00020\u0005H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0002*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u0002H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u0001H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0004*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u0004H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0005*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u0005H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0007*\u00020\u00072\u0006\u0010\u0003\u001a\u00020\u0007H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0007*\u00020\u00072\u0006\u0010\u0003\u001a\u00020\u0008H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0007*\u00020\u00082\u0006\u0010\u0003\u001a\u00020\u0007H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0008*\u00020\u00082\u0006\u0010\u0003\u001a\u00020\u0008H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0002*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0002H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0001*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0001H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0004*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0004H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0005*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0005H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0002*\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0002H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0001*\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0001H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0004*\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0004H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0005*\u00020\u00042\u0006\u0010\u0003\u001a\u00020\u0005H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0002*\u00020\u00052\u0006\u0010\u0003\u001a\u00020\u0002H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0001*\u00020\u00052\u0006\u0010\u0003\u001a\u00020\u0001H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0004*\u00020\u00052\u0006\u0010\u0003\u001a\u00020\u0004H\u0087\u0008\u001a\u0015\u0010\u0006\u001a\u00020\u0005*\u00020\u00052\u0006\u0010\u0003\u001a\u00020\u0005H\u0087\u0008\u00a8\u0006\t" } d2 = { "floorDiv", "", "", "other", "", "", "mod", "", "", "kotlin-stdlib" } k = 0x5 mv = { 0x1, 0x9, 0x0 } xi = 0x31 xs = "kotlin/NumbersKt" .end annotation # direct methods .method public constructor ()V .locals 0 invoke-direct {p0}, Lkotlin/NumbersKt__BigIntegersKt;->()V return-void .end method .method private static final floorDiv(BB)I .locals 2 .line 19 div-int v0, p0, p1 xor-int v1, p0, p1 if-gez v1, :cond_0 mul-int/2addr p1, v0 if-eq p1, p0, :cond_0 add-int/lit8 v0, v0, -0x1 :cond_0 return v0 .end method .method private static final floorDiv(BI)I .locals 2 .line 55 div-int v0, p0, p1 xor-int v1, p0, p1 if-gez v1, :cond_0 mul-int/2addr p1, v0 if-eq p1, p0, :cond_0 add-int/lit8 v0, v0, -0x1 :cond_0 return v0 .end method .method private static final floorDiv(BS)I .locals 2 .line 37 div-int v0, p0, p1 xor-int v1, p0, p1 if-gez v1, :cond_0 mul-int/2addr p1, v0 if-eq p1, p0, :cond_0 add-int/lit8 v0, v0, -0x1 :cond_0 return v0 .end method .method private static final floorDiv(IB)I .locals 2 .line 163 div-int v0, p0, p1 xor-int v1, p0, p1 if-gez v1, :cond_0 mul-int/2addr p1, v0 if-eq p1, p0, :cond_0 add-int/lit8 v0, v0, -0x1 :cond_0 return v0 .end method .method private static final floorDiv(II)I .locals 2 .line 199 div-int v0, p0, p1 xor-int v1, p0, p1 if-gez v1, :cond_0 mul-int/2addr p1, v0 if-eq p1, p0, :cond_0 add-int/lit8 v0, v0, -0x1 :cond_0 return v0 .end method .method private static final floorDiv(IS)I .locals 2 .line 181 div-int v0, p0, p1 xor-int v1, p0, p1 if-gez v1, :cond_0 mul-int/2addr p1, v0 if-eq p1, p0, :cond_0 add-int/lit8 v0, v0, -0x1 :cond_0 return v0 .end method .method private static final floorDiv(SB)I .locals 2 .line 91 div-int v0, p0, p1 xor-int v1, p0, p1 if-gez v1, :cond_0 mul-int/2addr p1, v0 if-eq p1, p0, :cond_0 add-int/lit8 v0, v0, -0x1 :cond_0 return v0 .end method .method private static final floorDiv(SI)I .locals 2 .line 127 div-int v0, p0, p1 xor-int v1, p0, p1 if-gez v1, :cond_0 mul-int/2addr p1, v0 if-eq p1, p0, :cond_0 add-int/lit8 v0, v0, -0x1 :cond_0 return v0 .end method .method private static final floorDiv(SS)I .locals 2 .line 109 div-int v0, p0, p1 xor-int v1, p0, p1 if-gez v1, :cond_0 mul-int/2addr p1, v0 if-eq p1, p0, :cond_0 add-int/lit8 v0, v0, -0x1 :cond_0 return v0 .end method .method private static final floorDiv(BJ)J .locals 8 int-to-long v0, p0 .line 73 div-long v2, v0, p1 xor-long v4, v0, p1 const-wide/16 v6, 0x0 cmp-long p0, v4, v6 if-gez p0, :cond_0 mul-long/2addr p1, v2 cmp-long p0, p1, v0 if-eqz p0, :cond_0 const-wide/16 p0, -0x1 add-long/2addr v2, p0 :cond_0 return-wide v2 .end method .method private static final floorDiv(IJ)J .locals 8 int-to-long v0, p0 .line 222 div-long v2, v0, p1 xor-long v4, v0, p1 const-wide/16 v6, 0x0 cmp-long p0, v4, v6 if-gez p0, :cond_0 mul-long/2addr p1, v2 cmp-long p0, p1, v0 if-eqz p0, :cond_0 const-wide/16 p0, -0x1 add-long/2addr v2, p0 :cond_0 return-wide v2 .end method .method private static final floorDiv(JB)J .locals 8 int-to-long v0, p2 .line 240 div-long v2, p0, v0 xor-long v4, p0, v0 const-wide/16 v6, 0x0 cmp-long p2, v4, v6 if-gez p2, :cond_0 mul-long/2addr v0, v2 cmp-long p0, v0, p0 if-eqz p0, :cond_0 const-wide/16 p0, -0x1 add-long/2addr v2, p0 :cond_0 return-wide v2 .end method .method private static final floorDiv(JI)J .locals 8 int-to-long v0, p2 .line 276 div-long v2, p0, v0 xor-long v4, p0, v0 const-wide/16 v6, 0x0 cmp-long p2, v4, v6 if-gez p2, :cond_0 mul-long/2addr v0, v2 cmp-long p0, v0, p0 if-eqz p0, :cond_0 const-wide/16 p0, -0x1 add-long/2addr v2, p0 :cond_0 return-wide v2 .end method .method private static final floorDiv(JJ)J .locals 6 .line 294 div-long v0, p0, p2 xor-long v2, p0, p2 const-wide/16 v4, 0x0 cmp-long v2, v2, v4 if-gez v2, :cond_0 mul-long/2addr p2, v0 cmp-long p0, p2, p0 if-eqz p0, :cond_0 const-wide/16 p0, -0x1 add-long/2addr v0, p0 :cond_0 return-wide v0 .end method .method private static final floorDiv(JS)J .locals 8 int-to-long v0, p2 .line 258 div-long v2, p0, v0 xor-long v4, p0, v0 const-wide/16 v6, 0x0 cmp-long p2, v4, v6 if-gez p2, :cond_0 mul-long/2addr v0, v2 cmp-long p0, v0, p0 if-eqz p0, :cond_0 const-wide/16 p0, -0x1 add-long/2addr v2, p0 :cond_0 return-wide v2 .end method .method private static final floorDiv(SJ)J .locals 8 int-to-long v0, p0 .line 145 div-long v2, v0, p1 xor-long v4, v0, p1 const-wide/16 v6, 0x0 cmp-long p0, v4, v6 if-gez p0, :cond_0 mul-long/2addr p1, v2 cmp-long p0, p1, v0 if-eqz p0, :cond_0 const-wide/16 p0, -0x1 add-long/2addr v2, p0 :cond_0 return-wide v2 .end method .method private static final mod(BB)B .locals 2 .line 30 rem-int/2addr p0, p1 xor-int v0, p0, p1 neg-int v1, p0 or-int/2addr v1, p0 and-int/2addr v0, v1 shr-int/lit8 v0, v0, 0x1f and-int/2addr p1, v0 add-int/2addr p0, p1 int-to-byte p0, p0 return p0 .end method .method private static final mod(IB)B .locals 2 .line 174 rem-int/2addr p0, p1 xor-int v0, p0, p1 neg-int v1, p0 or-int/2addr v1, p0 and-int/2addr v0, v1 shr-int/lit8 v0, v0, 0x1f and-int/2addr p1, v0 add-int/2addr p0, p1 int-to-byte p0, p0 return p0 .end method .method private static final mod(JB)B .locals 6 int-to-long v0, p2 .line 251 rem-long/2addr p0, v0 xor-long v2, p0, v0 neg-long v4, p0 or-long/2addr v4, p0 and-long/2addr v2, v4 const/16 p2, 0x3f shr-long/2addr v2, p2 and-long/2addr v0, v2 add-long/2addr p0, v0 long-to-int p0, p0 int-to-byte p0, p0 return p0 .end method .method private static final mod(SB)B .locals 2 .line 102 rem-int/2addr p0, p1 xor-int v0, p0, p1 neg-int v1, p0 or-int/2addr v1, p0 and-int/2addr v0, v1 shr-int/lit8 v0, v0, 0x1f and-int/2addr p1, v0 add-int/2addr p0, p1 int-to-byte p0, p0 return p0 .end method .method private static final mod(DD)D .locals 4 rem-double/2addr p0, p2 const-wide/16 v0, 0x0 cmpg-double v0, p0, v0 if-nez v0, :cond_0 goto :goto_0 .line 365 :cond_0 invoke-static {p0, p1}, Ljava/lang/Math;->signum(D)D move-result-wide v0 invoke-static {p2, p3}, Ljava/lang/Math;->signum(D)D move-result-wide v2 cmpg-double v0, v0, v2 if-nez v0, :cond_1 goto :goto_0 :cond_1 add-double/2addr p0, p2 :goto_0 return-wide p0 .end method .method private static final mod(DF)D .locals 6 float-to-double v0, p2 rem-double/2addr p0, v0 const-wide/16 v2, 0x0 cmpg-double p2, p0, v2 if-nez p2, :cond_0 goto :goto_0 .line 351 :cond_0 invoke-static {p0, p1}, Ljava/lang/Math;->signum(D)D move-result-wide v2 invoke-static {v0, v1}, Ljava/lang/Math;->signum(D)D move-result-wide v4 cmpg-double p2, v2, v4 if-nez p2, :cond_1 goto :goto_0 :cond_1 add-double/2addr p0, v0 :goto_0 return-wide p0 .end method .method private static final mod(FD)D .locals 6 float-to-double v0, p0 rem-double/2addr v0, p1 const-wide/16 v2, 0x0 cmpg-double p0, v0, v2 if-nez p0, :cond_0 goto :goto_0 .line 338 :cond_0 invoke-static {v0, v1}, Ljava/lang/Math;->signum(D)D move-result-wide v2 invoke-static {p1, p2}, Ljava/lang/Math;->signum(D)D move-result-wide v4 cmpg-double p0, v2, v4 if-nez p0, :cond_1 goto :goto_0 :cond_1 add-double/2addr v0, p1 :goto_0 return-wide v0 .end method .method private static final mod(FF)F .locals 2 rem-float/2addr p0, p1 const/4 v0, 0x0 cmpg-float v0, p0, v0 if-nez v0, :cond_0 goto :goto_0 .line 324 :cond_0 invoke-static {p0}, Ljava/lang/Math;->signum(F)F move-result v0 invoke-static {p1}, Ljava/lang/Math;->signum(F)F move-result v1 cmpg-float v0, v0, v1 if-nez v0, :cond_1 goto :goto_0 :cond_1 add-float/2addr p0, p1 :goto_0 return p0 .end method .method private static final mod(BI)I .locals 2 .line 66 rem-int/2addr p0, p1 xor-int v0, p0, p1 neg-int v1, p0 or-int/2addr v1, p0 and-int/2addr v0, v1 shr-int/lit8 v0, v0, 0x1f and-int/2addr p1, v0 add-int/2addr p0, p1 return p0 .end method .method private static final mod(II)I .locals 2 .line 213 rem-int/2addr p0, p1 xor-int v0, p0, p1 neg-int v1, p0 or-int/2addr v1, p0 and-int/2addr v0, v1 shr-int/lit8 v0, v0, 0x1f and-int/2addr p1, v0 add-int/2addr p0, p1 return p0 .end method .method private static final mod(JI)I .locals 6 int-to-long v0, p2 .line 287 rem-long/2addr p0, v0 xor-long v2, p0, v0 neg-long v4, p0 or-long/2addr v4, p0 and-long/2addr v2, v4 const/16 p2, 0x3f shr-long/2addr v2, p2 and-long/2addr v0, v2 add-long/2addr p0, v0 long-to-int p0, p0 return p0 .end method .method private static final mod(SI)I .locals 2 .line 138 rem-int/2addr p0, p1 xor-int v0, p0, p1 neg-int v1, p0 or-int/2addr v1, p0 and-int/2addr v0, v1 shr-int/lit8 v0, v0, 0x1f and-int/2addr p1, v0 add-int/2addr p0, p1 return p0 .end method .method private static final mod(BJ)J .locals 6 int-to-long v0, p0 .line 84 rem-long/2addr v0, p1 xor-long v2, v0, p1 neg-long v4, v0 or-long/2addr v4, v0 and-long/2addr v2, v4 const/16 p0, 0x3f shr-long/2addr v2, p0 and-long p0, p1, v2 add-long/2addr v0, p0 return-wide v0 .end method .method private static final mod(IJ)J .locals 6 int-to-long v0, p0 .line 233 rem-long/2addr v0, p1 xor-long v2, v0, p1 neg-long v4, v0 or-long/2addr v4, v0 and-long/2addr v2, v4 const/16 p0, 0x3f shr-long/2addr v2, p0 and-long p0, p1, v2 add-long/2addr v0, p0 return-wide v0 .end method .method private static final mod(JJ)J .locals 4 .line 308 rem-long/2addr p0, p2 xor-long v0, p0, p2 neg-long v2, p0 or-long/2addr v2, p0 and-long/2addr v0, v2 const/16 v2, 0x3f shr-long/2addr v0, v2 and-long/2addr p2, v0 add-long/2addr p0, p2 return-wide p0 .end method .method private static final mod(SJ)J .locals 6 int-to-long v0, p0 .line 156 rem-long/2addr v0, p1 xor-long v2, v0, p1 neg-long v4, v0 or-long/2addr v4, v0 and-long/2addr v2, v4 const/16 p0, 0x3f shr-long/2addr v2, p0 and-long p0, p1, v2 add-long/2addr v0, p0 return-wide v0 .end method .method private static final mod(BS)S .locals 2 .line 48 rem-int/2addr p0, p1 xor-int v0, p0, p1 neg-int v1, p0 or-int/2addr v1, p0 and-int/2addr v0, v1 shr-int/lit8 v0, v0, 0x1f and-int/2addr p1, v0 add-int/2addr p0, p1 int-to-short p0, p0 return p0 .end method .method private static final mod(IS)S .locals 2 .line 192 rem-int/2addr p0, p1 xor-int v0, p0, p1 neg-int v1, p0 or-int/2addr v1, p0 and-int/2addr v0, v1 shr-int/lit8 v0, v0, 0x1f and-int/2addr p1, v0 add-int/2addr p0, p1 int-to-short p0, p0 return p0 .end method .method private static final mod(JS)S .locals 6 int-to-long v0, p2 .line 269 rem-long/2addr p0, v0 xor-long v2, p0, v0 neg-long v4, p0 or-long/2addr v4, p0 and-long/2addr v2, v4 const/16 p2, 0x3f shr-long/2addr v2, p2 and-long/2addr v0, v2 add-long/2addr p0, v0 long-to-int p0, p0 int-to-short p0, p0 return p0 .end method .method private static final mod(SS)S .locals 2 .line 120 rem-int/2addr p0, p1 xor-int v0, p0, p1 neg-int v1, p0 or-int/2addr v1, p0 and-int/2addr v0, v1 shr-int/lit8 v0, v0, 0x1f and-int/2addr p1, v0 add-int/2addr p0, p1 int-to-short p0, p0 return p0 .end method