HistogramDataNode.smali
.class public Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;
.super Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramNode;
# instance fields
.field private f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
# direct methods
.method public constructor <init>()V
.registers 2
invoke-direct {p0}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramNode;-><init>()V
new-instance v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
invoke-direct {v0}, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;-><init>()V
iput-object v0, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
invoke-virtual {p0}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->c()V
return-void
.end method
.method public constructor <init>(JFF)V
.registers 6
invoke-direct {p0}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramNode;-><init>()V
new-instance v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
invoke-direct {v0}, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;-><init>()V
iput-object v0, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
invoke-virtual {p0}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->c()V
iget-object v0, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
iput-wide p1, v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->f:J
iput p3, v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->g:F
iput p4, v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
return-void
.end method
.method private d(FFFFF)F
.registers 7
const/4 v0, 0x3
sub-float/2addr p5, p1
sub-float/2addr p4, p2
mul-float p5, p5, p4
const/4 v0, 0x7
sub-float/2addr p3, p1
div-float/2addr p5, p3
add-float/2addr p2, p5
return p2
.end method
# virtual methods
.method public a(Lcom/avast/android/cleaner/photoCleanup/hist4j/AdaptiveHistogram;F)Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramNode;
.registers 13
iget-object v0, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
const/4 v9, 0x4
iget v1, v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->g:F
const/4 v9, 0x6
const/high16 v2, 0x40000000 # 2.0f
const/4 v9, 0x7
const-wide/16 v3, 0x1
const-wide/16 v3, 0x1
cmpl-float v1, p2, v1
if-ltz v1, :cond_8b
const/4 v9, 0x4
iget v1, v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
cmpg-float v1, p2, v1
if-gtz v1, :cond_8b
const/4 v9, 0x2
iget-wide v0, v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->f:J
const/4 v9, 0x3
invoke-virtual {p1}, Lcom/avast/android/cleaner/photoCleanup/hist4j/AdaptiveHistogram;->b()I
move-result p1
const/4 v9, 0x2
int-to-long v5, p1
const/4 v9, 0x4
cmp-long p1, v0, v5
const/4 v9, 0x0
if-ltz p1, :cond_82
iget-object p1, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
const/4 v9, 0x6
iget v0, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->g:F
const/4 v9, 0x7
iget v1, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
cmpl-float v5, v0, v1
const/4 v9, 0x1
if-nez v5, :cond_37
const/4 v9, 0x3
goto :goto_82
:cond_37
add-float/2addr v0, v1
const/4 v9, 0x3
div-float/2addr v0, v2
const/4 v9, 0x3
iget-wide v1, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->f:J
const-wide/16 v5, 0x2
const-wide/16 v5, 0x2
const/4 v9, 0x1
div-long v5, v1, v5
const/4 v9, 0x1
add-long v7, v5, v5
cmp-long p1, v7, v1
const/4 v9, 0x0
if-gez p1, :cond_4e
const/4 p1, 0x1
goto :goto_50
:cond_4e
const/4 v9, 0x5
const/4 p1, 0x0
:goto_50
const/4 v9, 0x5
cmpl-float p2, p2, v0
if-lez p2, :cond_5d
const/4 v9, 0x6
add-long/2addr v3, v5
const/4 v9, 0x3
int-to-long p1, p1
const/4 v9, 0x4
add-long/2addr v5, p1
const/4 v9, 0x5
goto :goto_64
:cond_5d
add-long v1, v5, v3
int-to-long p1, p1
const/4 v9, 0x2
add-long v3, v5, p1
move-wide v5, v1
:goto_64
const/4 v9, 0x4
new-instance p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;
iget-object p2, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
iget p2, p2, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->g:F
invoke-direct {p1, v5, v6, p2, v0}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;-><init>(JFF)V
new-instance p2, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;
const/4 v9, 0x2
iget-object v1, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
iget v1, v1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
const/4 v9, 0x2
invoke-direct {p2, v3, v4, v0, v1}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;-><init>(JFF)V
const/4 v9, 0x0
new-instance v1, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramForkNode;
const/4 v9, 0x5
invoke-direct {v1, v0, p1, p2}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramForkNode;-><init>(FLcom/avast/android/cleaner/photoCleanup/hist4j/HistogramNode;Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramNode;)V
goto/16 :goto_108
:cond_82
:goto_82
iget-object p1, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
iget-wide v0, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->f:J
add-long/2addr v0, v3
const/4 v9, 0x6
iput-wide v0, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->f:J
goto :goto_be
:cond_8b
const/4 v9, 0x4
iget-object v0, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
iget-wide v0, v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->f:J
const/4 v9, 0x3
invoke-virtual {p1}, Lcom/avast/android/cleaner/photoCleanup/hist4j/AdaptiveHistogram;->b()I
move-result p1
const/4 v9, 0x1
int-to-long v5, p1
const/4 v9, 0x2
cmp-long p1, v0, v5
if-gez p1, :cond_c1
const/4 v9, 0x7
iget-object p1, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
const/4 v9, 0x1
iget-wide v0, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->f:J
const/4 v9, 0x3
add-long/2addr v0, v3
const/4 v9, 0x5
iput-wide v0, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->f:J
const/4 v9, 0x7
iget v0, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->g:F
cmpg-float v0, p2, v0
const/4 v9, 0x6
if-gez v0, :cond_b1
iput p2, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->g:F
:cond_b1
const/4 v9, 0x2
iget-object p1, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
const/4 v9, 0x0
iget v0, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
cmpl-float v0, p2, v0
if-lez v0, :cond_be
const/4 v9, 0x2
iput p2, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
:cond_be
:goto_be
move-object v1, p0
move-object v1, p0
goto :goto_108
:cond_c1
const/4 v9, 0x2
iget-object p1, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
iget v0, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->g:F
const/4 v9, 0x0
cmpg-float v1, p2, v0
if-gez v1, :cond_e9
const/4 v9, 0x6
iget v1, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
add-float/2addr v1, p2
div-float/2addr v1, v2
const/4 v9, 0x5
invoke-static {v0, v1}, Ljava/lang/Math;->min(FF)F
move-result v0
iput v0, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->g:F
const/4 v9, 0x6
new-instance v1, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramForkNode;
const/4 v9, 0x0
iget-object p1, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
iget p1, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->g:F
new-instance v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;
const/4 v9, 0x2
invoke-direct {v0, v3, v4, p2, p1}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;-><init>(JFF)V
invoke-direct {v1, p1, v0, p0}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramForkNode;-><init>(FLcom/avast/android/cleaner/photoCleanup/hist4j/HistogramNode;Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramNode;)V
goto :goto_108
:cond_e9
const/4 v9, 0x5
iget v1, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
const/4 v9, 0x3
add-float/2addr v0, p2
div-float/2addr v0, v2
const/4 v9, 0x6
invoke-static {v1, v0}, Ljava/lang/Math;->max(FF)F
move-result v0
const/4 v9, 0x4
iput v0, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
new-instance v1, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramForkNode;
const/4 v9, 0x1
iget-object p1, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
iget p1, p1, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
new-instance v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;
const/4 v9, 0x3
invoke-direct {v0, v3, v4, p1, p2}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;-><init>(JFF)V
const/4 v9, 0x7
invoke-direct {v1, p1, p0, v0}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramForkNode;-><init>(FLcom/avast/android/cleaner/photoCleanup/hist4j/HistogramNode;Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramNode;)V
:goto_108
return-object v1
.end method
.method public b([J)Ljava/lang/Float;
.registers 14
const/4 v6, 0x0
aget-wide v0, p1, v6
const/4 v11, 0x7
const/4 v2, 0x1
const/4 v11, 0x1
aget-wide v2, p1, v2
const/4 v11, 0x1
cmp-long v4, v0, v2
const/4 v11, 0x7
if-gtz v4, :cond_3f
const/4 v11, 0x2
iget-object v4, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
const/4 v11, 0x4
iget-wide v7, v4, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->f:J
const/4 v11, 0x1
add-long v9, v0, v7
cmp-long v5, v9, v2
if-ltz v5, :cond_3f
const/4 v11, 0x0
long-to-float v5, v0
iget v9, v4, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->g:F
const/4 v11, 0x4
add-long/2addr v0, v7
long-to-float v7, v0
const/4 v11, 0x5
iget v4, v4, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
long-to-float v8, v2
move-object v0, p0
const/4 v11, 0x7
move v1, v5
move v1, v5
move v2, v9
move v2, v9
const/4 v11, 0x7
move v3, v7
move v3, v7
const/4 v11, 0x2
move v5, v8
move v5, v8
const/4 v11, 0x3
invoke-direct/range {v0 .. v5}, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->d(FFFFF)F
move-result v0
const/4 v11, 0x0
new-instance v1, Ljava/lang/Float;
const/4 v11, 0x3
invoke-direct {v1, v0}, Ljava/lang/Float;-><init>(F)V
goto :goto_41
:cond_3f
const/4 v11, 0x4
const/4 v1, 0x0
:goto_41
aget-wide v2, p1, v6
iget-object v0, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
iget-wide v4, v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->f:J
add-long/2addr v2, v4
aput-wide v2, p1, v6
const/4 v11, 0x4
return-object v1
.end method
.method public c()V
.registers 5
iget-object v0, p0, Lcom/avast/android/cleaner/photoCleanup/hist4j/HistogramDataNode;->f:Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;
const/4 v3, 0x7
const-wide/16 v1, 0x0
const/4 v3, 0x1
iput-wide v1, v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->f:J
const/4 v3, 0x6
const v1, 0x7f7fffff # Float.MAX_VALUE
const/4 v3, 0x5
iput v1, v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->g:F
const v1, -0x800001
const/4 v3, 0x4
iput v1, v0, Lcom/avast/android/cleaner/photoCleanup/hist4j/Cell;->h:F
const/4 v3, 0x2
return-void
.end method