2020-07-25 00:57:58 +00:00
|
|
|
.class public Lj0/q/c;
|
2020-05-17 12:40:10 +00:00
|
|
|
.super Ljava/lang/Object;
|
2020-07-25 00:57:58 +00:00
|
|
|
.source "Progressions.kt"
|
|
|
|
|
|
|
|
# interfaces
|
|
|
|
.implements Ljava/lang/Iterable;
|
|
|
|
.implements Lj0/n/c/v/a;
|
2020-05-17 12:40:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
# annotations
|
2020-07-25 00:57:58 +00:00
|
|
|
.annotation system Ldalvik/annotation/Signature;
|
2020-05-17 12:40:10 +00:00
|
|
|
value = {
|
2020-07-25 00:57:58 +00:00
|
|
|
"Ljava/lang/Object;",
|
|
|
|
"Ljava/lang/Iterable<",
|
|
|
|
"Ljava/lang/Long;",
|
|
|
|
">;",
|
|
|
|
"Lj0/n/c/v/a;"
|
2020-05-17 12:40:10 +00:00
|
|
|
}
|
|
|
|
.end annotation
|
|
|
|
|
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
# instance fields
|
|
|
|
.field public final d:J
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
.field public final e:J
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
.field public final f:J
|
2020-05-17 12:40:10 +00:00
|
|
|
|
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
# direct methods
|
|
|
|
.method public constructor <init>(JJJ)V
|
|
|
|
.locals 4
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-20 19:00:44 +00:00
|
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
const-wide/16 v0, 0x0
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
cmp-long v2, p5, v0
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
if-eqz v2, :cond_5
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
const-wide/high16 v0, -0x8000000000000000L
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
cmp-long v3, p5, v0
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
if-eqz v3, :cond_4
|
2020-07-08 16:44:49 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
iput-wide p1, p0, Lj0/q/c;->d:J
|
2020-07-08 16:44:49 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
if-lez v2, :cond_1
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
cmp-long v0, p1, p3
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
if-ltz v0, :cond_0
|
2020-05-17 12:40:10 +00:00
|
|
|
|
|
|
|
goto :goto_0
|
|
|
|
|
2020-07-20 19:00:44 +00:00
|
|
|
:cond_0
|
2020-08-10 21:02:22 +00:00
|
|
|
invoke-static {p3, p4, p5, p6}, Lf/n/a/k/a;->O(JJ)J
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-wide v0
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-08-10 21:02:22 +00:00
|
|
|
invoke-static {p1, p2, p5, p6}, Lf/n/a/k/a;->O(JJ)J
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-wide p1
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
sub-long/2addr v0, p1
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-08-10 21:02:22 +00:00
|
|
|
invoke-static {v0, v1, p5, p6}, Lf/n/a/k/a;->O(JJ)J
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-wide p1
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
sub-long/2addr p3, p1
|
2020-07-20 19:00:44 +00:00
|
|
|
|
|
|
|
goto :goto_0
|
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
:cond_1
|
|
|
|
if-gez v2, :cond_3
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
cmp-long v0, p1, p3
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
if-gtz v0, :cond_2
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
goto :goto_0
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
:cond_2
|
|
|
|
neg-long v0, p5
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-08-10 21:02:22 +00:00
|
|
|
invoke-static {p1, p2, v0, v1}, Lf/n/a/k/a;->O(JJ)J
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-wide p1
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-08-10 21:02:22 +00:00
|
|
|
invoke-static {p3, p4, v0, v1}, Lf/n/a/k/a;->O(JJ)J
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-wide v2
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
sub-long/2addr p1, v2
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-08-10 21:02:22 +00:00
|
|
|
invoke-static {p1, p2, v0, v1}, Lf/n/a/k/a;->O(JJ)J
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-wide p1
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
add-long/2addr p3, p1
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
:goto_0
|
|
|
|
iput-wide p3, p0, Lj0/q/c;->e:J
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
iput-wide p5, p0, Lj0/q/c;->f:J
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
return-void
|
2020-05-17 12:40:10 +00:00
|
|
|
|
|
|
|
:cond_3
|
2020-07-25 00:57:58 +00:00
|
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
const-string p2, "Step is zero."
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
throw p1
|
2020-05-17 12:40:10 +00:00
|
|
|
|
|
|
|
:cond_4
|
2020-07-25 00:57:58 +00:00
|
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
const-string p2, "Step must be greater than Long.MIN_VALUE to avoid overflow on negation."
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
throw p1
|
2020-05-17 12:40:10 +00:00
|
|
|
|
|
|
|
:cond_5
|
2020-07-25 00:57:58 +00:00
|
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
const-string p2, "Step must be non-zero."
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
throw p1
|
2020-05-17 12:40:10 +00:00
|
|
|
.end method
|
|
|
|
|
2020-07-20 19:00:44 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
# virtual methods
|
|
|
|
.method public iterator()Ljava/util/Iterator;
|
|
|
|
.locals 8
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
new-instance v7, Lj0/q/d;
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
iget-wide v1, p0, Lj0/q/c;->d:J
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
iget-wide v3, p0, Lj0/q/c;->e:J
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
iget-wide v5, p0, Lj0/q/c;->f:J
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-object v0, v7
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-direct/range {v0 .. v6}, Lj0/q/d;-><init>(JJJ)V
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
return-object v7
|
2020-05-17 12:40:10 +00:00
|
|
|
.end method
|