LongKeyAnalyzer.smali
.class public Lorg/ardverk/collection/LongKeyAnalyzer;
.super Ldxoptimizer/csk;
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ldxoptimizer/csk",
"<",
"Ljava/lang/Long;",
">;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field public static final INSTANCE:Lorg/ardverk/collection/LongKeyAnalyzer;
.field private static final MSB:J = -0x80000000L
.field private static final serialVersionUID:J = -0x69a280f5f2c36a9eL
# direct methods
.method static constructor <clinit>()V
.registers 1
new-instance v0, Lorg/ardverk/collection/LongKeyAnalyzer;
invoke-direct {v0}, Lorg/ardverk/collection/LongKeyAnalyzer;-><init>()V
sput-object v0, Lorg/ardverk/collection/LongKeyAnalyzer;->INSTANCE:Lorg/ardverk/collection/LongKeyAnalyzer;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ldxoptimizer/csk;-><init>()V
return-void
.end method
.method private static mask(I)J
.registers 3
const-wide/32 v0, -0x80000000
ushr-long/2addr v0, p0
return-wide v0
.end method
# virtual methods
.method public bitIndex(Ljava/lang/Long;Ljava/lang/Long;)I
.registers 11
const-wide/16 v6, 0x0
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v0
cmp-long v2, v0, v6
if-nez v2, :cond_c
const/4 v0, -0x1
:cond_b
:goto_b
return v0
:cond_c
invoke-virtual {p2}, Ljava/lang/Long;->longValue()J
move-result-wide v2
cmp-long v4, v0, v2
if-eqz v4, :cond_26
xor-long/2addr v2, v0
const/4 v0, 0x0
:goto_16
const/16 v1, 0x40
if-ge v0, v1, :cond_26
invoke-static {v0}, Lorg/ardverk/collection/LongKeyAnalyzer;->mask(I)J
move-result-wide v4
and-long/2addr v4, v2
cmp-long v1, v4, v6
if-nez v1, :cond_b
add-int/lit8 v0, v0, 0x1
goto :goto_16
:cond_26
const/4 v0, -0x2
goto :goto_b
.end method
.method public bridge synthetic bitIndex(Ljava/lang/Object;Ljava/lang/Object;)I
.registers 4
check-cast p1, Ljava/lang/Long;
check-cast p2, Ljava/lang/Long;
invoke-virtual {p0, p1, p2}, Lorg/ardverk/collection/LongKeyAnalyzer;->bitIndex(Ljava/lang/Long;Ljava/lang/Long;)I
move-result v0
return v0
.end method
.method public isBitSet(Ljava/lang/Long;I)Z
.registers 7
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-static {p2}, Lorg/ardverk/collection/LongKeyAnalyzer;->mask(I)J
move-result-wide v2
and-long/2addr v0, v2
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-eqz v0, :cond_11
const/4 v0, 0x1
:goto_10
return v0
:cond_11
const/4 v0, 0x0
goto :goto_10
.end method
.method public bridge synthetic isBitSet(Ljava/lang/Object;I)Z
.registers 4
check-cast p1, Ljava/lang/Long;
invoke-virtual {p0, p1, p2}, Lorg/ardverk/collection/LongKeyAnalyzer;->isBitSet(Ljava/lang/Long;I)Z
move-result v0
return v0
.end method
.method public isPrefix(Ljava/lang/Long;Ljava/lang/Long;)Z
.registers 4
invoke-virtual {p1, p2}, Ljava/lang/Long;->equals(Ljava/lang/Object;)Z
move-result v0
return v0
.end method
.method public bridge synthetic isPrefix(Ljava/lang/Object;Ljava/lang/Object;)Z
.registers 4
check-cast p1, Ljava/lang/Long;
check-cast p2, Ljava/lang/Long;
invoke-virtual {p0, p1, p2}, Lorg/ardverk/collection/LongKeyAnalyzer;->isPrefix(Ljava/lang/Long;Ljava/lang/Long;)Z
move-result v0
return v0
.end method
.method public lengthInBits(Ljava/lang/Long;)I
.registers 3
const/16 v0, 0x40
return v0
.end method
.method public bridge synthetic lengthInBits(Ljava/lang/Object;)I
.registers 3
check-cast p1, Ljava/lang/Long;
invoke-virtual {p0, p1}, Lorg/ardverk/collection/LongKeyAnalyzer;->lengthInBits(Ljava/lang/Long;)I
move-result v0
return v0
.end method