a.smali

.class public final Lcom/imo/android/imoim/taskcentre/c/a;
.super Ljava/lang/Object;
.source "SourceFile"

# interfaces
.implements Landroid/view/animation/Interpolator;


# instance fields
.field private final a:I

.field private b:I

.field private final c:D

.field private final d:D

.field private final e:D

.field private final f:D


# direct methods
.method public constructor <init>(DDDD)V
    .registers 9

    .line 10
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    iput-wide p1, p0, Lcom/imo/android/imoim/taskcentre/c/a;->c:D

    iput-wide p3, p0, Lcom/imo/android/imoim/taskcentre/c/a;->d:D

    iput-wide p5, p0, Lcom/imo/android/imoim/taskcentre/c/a;->e:D

    iput-wide p7, p0, Lcom/imo/android/imoim/taskcentre/c/a;->f:D

    const/16 p1, 0x1000

    .line 12
    iput p1, p0, Lcom/imo/android/imoim/taskcentre/c/a;->a:I

    return-void
.end method

.method private static a(DDD)D
    .registers 20

    const-wide/high16 v0, 0x3ff0000000000000L    # 1.0

    sub-double v2, v0, p0

    mul-double v4, p0, p0

    mul-double v6, v2, v2

    mul-double v8, v6, v2

    mul-double v10, v4, p0

    const-wide/16 v12, 0x0

    mul-double v8, v8, v12

    const-wide/high16 v12, 0x4008000000000000L    # 3.0

    mul-double v6, v6, v12

    mul-double v6, v6, p0

    mul-double v6, v6, p2

    add-double/2addr v8, v6

    mul-double v2, v2, v12

    mul-double v2, v2, v4

    mul-double v2, v2, p4

    add-double/2addr v8, v2

    mul-double v10, v10, v0

    add-double/2addr v8, v10

    return-wide v8
.end method


# virtual methods
.method public final getInterpolation(F)F
    .registers 11

    .line 20
    iget v0, p0, Lcom/imo/android/imoim/taskcentre/c/a;->b:I

    iget v1, p0, Lcom/imo/android/imoim/taskcentre/c/a;->a:I

    move v2, p1

    :goto_5
    if-ge v0, v1, :cond_25

    const/high16 v2, 0x3f800000    # 1.0f

    int-to-float v3, v0

    mul-float v3, v3, v2

    .line 21
    iget v2, p0, Lcom/imo/android/imoim/taskcentre/c/a;->a:I

    int-to-float v2, v2

    div-float v2, v3, v2

    float-to-double v3, v2

    .line 22
    iget-wide v5, p0, Lcom/imo/android/imoim/taskcentre/c/a;->c:D

    iget-wide v7, p0, Lcom/imo/android/imoim/taskcentre/c/a;->e:D

    invoke-static/range {v3 .. v8}, Lcom/imo/android/imoim/taskcentre/c/a;->a(DDD)D

    move-result-wide v3

    float-to-double v5, p1

    cmpl-double v7, v3, v5

    if-ltz v7, :cond_22

    .line 24
    iput v0, p0, Lcom/imo/android/imoim/taskcentre/c/a;->b:I

    goto :goto_25

    :cond_22
    add-int/lit8 v0, v0, 0x1

    goto :goto_5

    :cond_25
    :goto_25
    float-to-double v3, v2

    .line 28
    iget-wide v5, p0, Lcom/imo/android/imoim/taskcentre/c/a;->d:D

    iget-wide v7, p0, Lcom/imo/android/imoim/taskcentre/c/a;->f:D

    invoke-static/range {v3 .. v8}, Lcom/imo/android/imoim/taskcentre/c/a;->a(DDD)D

    move-result-wide v0

    const-wide v2, 0x3feff7ced916872bL    # 0.999

    cmpl-double p1, v0, v2

    if-lez p1, :cond_3c

    const-wide/high16 v0, 0x3ff0000000000000L    # 1.0

    const/4 p1, 0x0

    .line 31
    iput p1, p0, Lcom/imo/android/imoim/taskcentre/c/a;->b:I

    :cond_3c
    double-to-float p1, v0

    return p1
.end method