Easing$22.smali
.class final Lcom/github/mikephil/charting/animation/Easing$22;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/github/mikephil/charting/animation/Easing$EasingFunction;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/github/mikephil/charting/animation/Easing;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = null
.end annotation
# direct methods
.method constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public getInterpolation(F)F
.registers 11
const/4 v0, 0x0
cmpl-float v1, p1, v0
if-nez v1, :cond_6
return v0
:cond_6
const/high16 v0, 0x40000000 # 2.0f
mul-float p1, p1, v0
const/high16 v1, 0x3f800000 # 1.0f
cmpl-float v0, p1, v0
if-nez v0, :cond_11
return v1
:cond_11
const v0, 0x400e38e4
const v2, 0x3d92ad5c
const-wide/high16 v3, 0x3ff0000000000000L # 1.0
invoke-static {v3, v4}, Ljava/lang/Math;->asin(D)D
move-result-wide v3
double-to-float v3, v3
mul-float v3, v3, v2
const v2, 0x40c90fdb
const-wide/high16 v4, 0x4000000000000000L # 2.0
cmpg-float v6, p1, v1
if-gez v6, :cond_48
const/high16 v6, -0x41000000 # -0.5f
const/high16 v7, 0x41200000 # 10.0f
sub-float/2addr p1, v1
mul-float v7, v7, p1
float-to-double v7, v7
invoke-static {v4, v5, v7, v8}, Ljava/lang/Math;->pow(DD)D
move-result-wide v4
double-to-float v4, v4
mul-float p1, p1, v1
sub-float/2addr p1, v3
mul-float p1, p1, v2
mul-float p1, p1, v0
float-to-double v0, p1
invoke-static {v0, v1}, Ljava/lang/Math;->sin(D)D
move-result-wide v0
double-to-float p1, v0
mul-float v4, v4, p1
mul-float v4, v4, v6
return v4
:cond_48
const/high16 v6, 0x3f000000 # 0.5f
const/high16 v7, -0x3ee00000 # -10.0f
sub-float/2addr p1, v1
mul-float v7, v7, p1
float-to-double v7, v7
invoke-static {v4, v5, v7, v8}, Ljava/lang/Math;->pow(DD)D
move-result-wide v4
double-to-float v4, v4
mul-float v4, v4, v6
mul-float p1, p1, v1
sub-float/2addr p1, v3
mul-float p1, p1, v2
mul-float p1, p1, v0
float-to-double v2, p1
invoke-static {v2, v3}, Ljava/lang/Math;->sin(D)D
move-result-wide v2
double-to-float p1, v2
mul-float v4, v4, p1
add-float/2addr v4, v1
return v4
.end method