Weather/smali/com/badlogic/gdx/math/Interpolation$Elastic.smali
2021-05-10 10:13:34 +02:00

169 lines
3.0 KiB
Smali

.class public Lcom/badlogic/gdx/math/Interpolation$Elastic;
.super Lcom/badlogic/gdx/math/Interpolation;
.source "Interpolation.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/badlogic/gdx/math/Interpolation;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Elastic"
.end annotation
# instance fields
.field final Q:F
.field final R:F
.field final S:F
.field final T:F
# direct methods
.method public constructor <init>(FFIF)V
.locals 0
.line 242
invoke-direct {p0}, Lcom/badlogic/gdx/math/Interpolation;-><init>()V
.line 243
iput p1, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->Q:F
.line 244
iput p2, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->R:F
.line 245
iput p4, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->S:F
int-to-float p1, p3
const p2, 0x40490fdb # (float)Math.PI
mul-float p1, p1, p2
.line 246
rem-int/lit8 p3, p3, 0x2
if-nez p3, :cond_0
const/4 p2, 0x1
goto :goto_0
:cond_0
const/4 p2, -0x1
:goto_0
int-to-float p2, p2
mul-float p1, p1, p2
iput p1, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->T:F
return-void
.end method
# virtual methods
.method public a(F)F
.locals 6
const/high16 v0, 0x3f800000 # 1.0f
const/high16 v1, 0x40000000 # 2.0f
const/high16 v2, 0x3f000000 # 0.5f
cmpg-float v2, p1, v2
if-gtz v2, :cond_0
mul-float p1, p1, v1
.line 252
iget v2, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->Q:F
float-to-double v2, v2
iget v4, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->R:F
sub-float v0, p1, v0
mul-float v4, v4, v0
float-to-double v4, v4
invoke-static {v2, v3, v4, v5}, Ljava/lang/Math;->pow(DD)D
move-result-wide v2
double-to-float v0, v2
iget v2, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->T:F
mul-float p1, p1, v2
invoke-static {p1}, Lcom/badlogic/gdx/math/MathUtils;->a(F)F
move-result p1
mul-float v0, v0, p1
iget p1, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->S:F
mul-float v0, v0, p1
div-float/2addr v0, v1
return v0
:cond_0
sub-float p1, v0, p1
mul-float p1, p1, v1
.line 256
iget v2, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->Q:F
float-to-double v2, v2
iget v4, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->R:F
sub-float v5, p1, v0
mul-float v4, v4, v5
float-to-double v4, v4
invoke-static {v2, v3, v4, v5}, Ljava/lang/Math;->pow(DD)D
move-result-wide v2
double-to-float v2, v2
iget v3, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->T:F
mul-float p1, p1, v3
invoke-static {p1}, Lcom/badlogic/gdx/math/MathUtils;->a(F)F
move-result p1
mul-float v2, v2, p1
iget p1, p0, Lcom/badlogic/gdx/math/Interpolation$Elastic;->S:F
mul-float v2, v2, p1
div-float/2addr v2, v1
sub-float/2addr v0, v2
return v0
.end method