2020-03-26 23:31:08 +00:00
|
|
|
.class public Lw/x/c;
|
2020-02-29 06:28:25 +00:00
|
|
|
.super Ljava/lang/Object;
|
|
|
|
.source "Progressions.kt"
|
2019-07-31 00:08:31 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
# interfaces
|
|
|
|
.implements Ljava/lang/Iterable;
|
2020-03-26 23:31:08 +00:00
|
|
|
.implements Lw/u/b/z/a;
|
2019-07-31 00:08:31 +00:00
|
|
|
|
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
# annotations
|
|
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
|
|
value = {
|
|
|
|
"Ljava/lang/Object;",
|
|
|
|
"Ljava/lang/Iterable<",
|
|
|
|
"Ljava/lang/Long;",
|
|
|
|
">;",
|
2020-03-26 23:31:08 +00:00
|
|
|
"Lw/u/b/z/a;"
|
2020-02-29 06:28:25 +00:00
|
|
|
}
|
|
|
|
.end annotation
|
2019-07-31 00:08:31 +00:00
|
|
|
|
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
# instance fields
|
|
|
|
.field public final d:J
|
2019-07-31 00:08:31 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
.field public final e:J
|
2019-07-31 00:08:31 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
.field public final f:J
|
2019-07-31 00:08:31 +00:00
|
|
|
|
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
# direct methods
|
|
|
|
.method public constructor <init>(JJJ)V
|
|
|
|
.locals 7
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
const-wide/16 v0, 0x0
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
cmp-long v2, p5, v0
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
if-eqz v2, :cond_5
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
const-wide/high16 v0, -0x8000000000000000L
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
cmp-long v3, p5, v0
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
if-eqz v3, :cond_4
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-03-26 23:31:08 +00:00
|
|
|
iput-wide p1, p0, Lw/x/c;->d:J
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
if-lez v2, :cond_1
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
cmp-long v0, p1, p3
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
if-ltz v0, :cond_0
|
2019-10-09 23:16:36 +00:00
|
|
|
|
|
|
|
goto :goto_0
|
|
|
|
|
|
|
|
:cond_0
|
2020-02-29 06:28:25 +00:00
|
|
|
move-wide v0, p3
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
move-wide v2, p1
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
move-wide v4, p5
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
invoke-static/range {v0 .. v5}, Le/k/a/c/e/p/g;->a(JJJ)J
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
move-result-wide p1
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
sub-long/2addr p3, p1
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
goto :goto_0
|
2019-10-09 23:16:36 +00:00
|
|
|
|
|
|
|
:cond_1
|
2020-02-29 06:28:25 +00:00
|
|
|
if-gez v2, :cond_3
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
cmp-long v0, p1, p3
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
if-gtz v0, :cond_2
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
goto :goto_0
|
2019-12-06 03:29:40 +00:00
|
|
|
|
|
|
|
:cond_2
|
2020-02-29 06:28:25 +00:00
|
|
|
neg-long v5, p5
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
move-wide v1, p1
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
move-wide v3, p3
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
invoke-static/range {v1 .. v6}, Le/k/a/c/e/p/g;->a(JJJ)J
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
move-result-wide p1
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
add-long/2addr p3, p1
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
:goto_0
|
2020-03-26 23:31:08 +00:00
|
|
|
iput-wide p3, p0, Lw/x/c;->e:J
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-03-26 23:31:08 +00:00
|
|
|
iput-wide p5, p0, Lw/x/c;->f:J
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
return-void
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
:cond_3
|
|
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
const-string p2, "Step is zero."
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
throw p1
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
:cond_4
|
|
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
const-string p2, "Step must be greater than Long.MIN_VALUE to avoid overflow on negation."
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
throw p1
|
2019-12-06 03:29:40 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
:cond_5
|
|
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
const-string p2, "Step must be non-zero."
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
throw p1
|
|
|
|
.end method
|
2019-10-09 23:16:36 +00:00
|
|
|
|
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
# virtual methods
|
|
|
|
.method public iterator()Ljava/util/Iterator;
|
|
|
|
.locals 8
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-03-26 23:31:08 +00:00
|
|
|
new-instance v7, Lw/x/d;
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-03-26 23:31:08 +00:00
|
|
|
iget-wide v1, p0, Lw/x/c;->d:J
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-03-26 23:31:08 +00:00
|
|
|
iget-wide v3, p0, Lw/x/c;->e:J
|
2020-02-29 06:28:25 +00:00
|
|
|
|
2020-03-26 23:31:08 +00:00
|
|
|
iget-wide v5, p0, Lw/x/c;->f:J
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
move-object v0, v7
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-03-26 23:31:08 +00:00
|
|
|
invoke-direct/range {v0 .. v6}, Lw/x/d;-><init>(JJJ)V
|
2019-10-09 23:16:36 +00:00
|
|
|
|
2020-02-29 06:28:25 +00:00
|
|
|
return-object v7
|
2019-10-09 23:16:36 +00:00
|
|
|
.end method
|