68 lines
1.3 KiB
Smali
68 lines
1.3 KiB
Smali
.class final Lcom/google/common/hash/Hashing$LinearCongruentialGenerator;
|
|
.super Ljava/lang/Object;
|
|
.source "Hashing.java"
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
|
value = Lcom/google/common/hash/Hashing;
|
|
.end annotation
|
|
|
|
.annotation system Ldalvik/annotation/InnerClass;
|
|
accessFlags = 0x19
|
|
name = "LinearCongruentialGenerator"
|
|
.end annotation
|
|
|
|
|
|
# instance fields
|
|
.field private state:J
|
|
|
|
|
|
# direct methods
|
|
.method public constructor <init>(J)V
|
|
.locals 0
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
.line 2
|
|
iput-wide p1, p0, Lcom/google/common/hash/Hashing$LinearCongruentialGenerator;->state:J
|
|
|
|
return-void
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public nextDouble()D
|
|
.locals 4
|
|
|
|
.line 1
|
|
iget-wide v0, p0, Lcom/google/common/hash/Hashing$LinearCongruentialGenerator;->state:J
|
|
|
|
const-wide v2, 0x27bb2ee687b0b0fdL # 2.694898184339827E-117
|
|
|
|
mul-long/2addr v0, v2
|
|
|
|
const-wide/16 v2, 0x1
|
|
|
|
add-long/2addr v0, v2
|
|
|
|
iput-wide v0, p0, Lcom/google/common/hash/Hashing$LinearCongruentialGenerator;->state:J
|
|
|
|
const/16 v2, 0x21
|
|
|
|
ushr-long/2addr v0, v2
|
|
|
|
long-to-int v0, v0
|
|
|
|
add-int/lit8 v0, v0, 0x1
|
|
|
|
int-to-double v0, v0
|
|
|
|
const-wide/high16 v2, 0x41e0000000000000L # 2.147483648E9
|
|
|
|
div-double/2addr v0, v2
|
|
|
|
return-wide v0
|
|
.end method
|