Changes of com.discord v1323
This commit is contained in:
parent
1234c09f33
commit
d9d9f382c9
28241 changed files with 0 additions and 4903974 deletions
|
@ -1,791 +0,0 @@
|
|||
.class public Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
.super Ljava/lang/Object;
|
||||
.source "ArcCurveFit.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Landroidx/constraintlayout/motion/utils/ArcCurveFit;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x9
|
||||
name = "Arc"
|
||||
.end annotation
|
||||
|
||||
|
||||
# static fields
|
||||
.field public static final EPSILON:D = 0.001
|
||||
|
||||
.field public static final TAG:Ljava/lang/String; = "Arc"
|
||||
|
||||
.field public static ourPercent:[D
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public linear:Z
|
||||
|
||||
.field public mArcDistance:D
|
||||
|
||||
.field public mArcVelocity:D
|
||||
|
||||
.field public mEllipseA:D
|
||||
|
||||
.field public mEllipseB:D
|
||||
|
||||
.field public mEllipseCenterX:D
|
||||
|
||||
.field public mEllipseCenterY:D
|
||||
|
||||
.field public mLut:[D
|
||||
|
||||
.field public mOneOverDeltaTime:D
|
||||
|
||||
.field public mTime1:D
|
||||
|
||||
.field public mTime2:D
|
||||
|
||||
.field public mTmpCosAngle:D
|
||||
|
||||
.field public mTmpSinAngle:D
|
||||
|
||||
.field public mVertical:Z
|
||||
|
||||
.field public mX1:D
|
||||
|
||||
.field public mX2:D
|
||||
|
||||
.field public mY1:D
|
||||
|
||||
.field public mY2:D
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public static constructor <clinit>()V
|
||||
.locals 1
|
||||
|
||||
const/16 v0, 0x5b
|
||||
|
||||
new-array v0, v0, [D
|
||||
|
||||
sput-object v0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->ourPercent:[D
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(IDDDDDD)V
|
||||
.locals 20
|
||||
|
||||
move-object/from16 v9, p0
|
||||
|
||||
move/from16 v0, p1
|
||||
|
||||
move-wide/from16 v1, p2
|
||||
|
||||
move-wide/from16 v3, p4
|
||||
|
||||
move-wide/from16 v5, p6
|
||||
|
||||
move-wide/from16 v7, p8
|
||||
|
||||
move-wide/from16 v10, p10
|
||||
|
||||
move-wide/from16 v12, p12
|
||||
|
||||
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
const/4 v14, 0x0
|
||||
|
||||
iput-boolean v14, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->linear:Z
|
||||
|
||||
const/4 v15, 0x1
|
||||
|
||||
if-ne v0, v15, :cond_0
|
||||
|
||||
const/4 v14, 0x1
|
||||
|
||||
:cond_0
|
||||
iput-boolean v14, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mVertical:Z
|
||||
|
||||
iput-wide v1, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
iput-wide v3, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
const-wide/high16 v16, 0x3ff0000000000000L # 1.0
|
||||
|
||||
sub-double v1, v3, v1
|
||||
|
||||
div-double v1, v16, v1
|
||||
|
||||
iput-wide v1, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mOneOverDeltaTime:D
|
||||
|
||||
const/4 v1, 0x3
|
||||
|
||||
if-ne v1, v0, :cond_1
|
||||
|
||||
iput-boolean v15, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->linear:Z
|
||||
|
||||
:cond_1
|
||||
sub-double v0, v10, v5
|
||||
|
||||
sub-double v2, v12, v7
|
||||
|
||||
iget-boolean v4, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->linear:Z
|
||||
|
||||
if-nez v4, :cond_7
|
||||
|
||||
invoke-static {v0, v1}, Ljava/lang/Math;->abs(D)D
|
||||
|
||||
move-result-wide v16
|
||||
|
||||
const-wide v18, 0x3f50624dd2f1a9fcL # 0.001
|
||||
|
||||
cmpg-double v4, v16, v18
|
||||
|
||||
if-ltz v4, :cond_7
|
||||
|
||||
invoke-static {v2, v3}, Ljava/lang/Math;->abs(D)D
|
||||
|
||||
move-result-wide v16
|
||||
|
||||
cmpg-double v4, v16, v18
|
||||
|
||||
if-gez v4, :cond_2
|
||||
|
||||
goto :goto_4
|
||||
|
||||
:cond_2
|
||||
const/16 v4, 0x65
|
||||
|
||||
new-array v4, v4, [D
|
||||
|
||||
iput-object v4, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mLut:[D
|
||||
|
||||
iget-boolean v4, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mVertical:Z
|
||||
|
||||
if-eqz v4, :cond_3
|
||||
|
||||
const/4 v4, -0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_3
|
||||
const/4 v4, 0x1
|
||||
|
||||
:goto_0
|
||||
int-to-double v14, v4
|
||||
|
||||
mul-double v0, v0, v14
|
||||
|
||||
iput-wide v0, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseA:D
|
||||
|
||||
iget-boolean v0, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mVertical:Z
|
||||
|
||||
if-eqz v0, :cond_4
|
||||
|
||||
const/4 v15, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_4
|
||||
const/4 v15, -0x1
|
||||
|
||||
:goto_1
|
||||
int-to-double v0, v15
|
||||
|
||||
mul-double v2, v2, v0
|
||||
|
||||
iput-wide v2, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseB:D
|
||||
|
||||
iget-boolean v0, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mVertical:Z
|
||||
|
||||
if-eqz v0, :cond_5
|
||||
|
||||
move-wide v0, v10
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_5
|
||||
move-wide v0, v5
|
||||
|
||||
:goto_2
|
||||
iput-wide v0, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseCenterX:D
|
||||
|
||||
iget-boolean v0, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mVertical:Z
|
||||
|
||||
if-eqz v0, :cond_6
|
||||
|
||||
move-wide v0, v7
|
||||
|
||||
goto :goto_3
|
||||
|
||||
:cond_6
|
||||
move-wide v0, v12
|
||||
|
||||
:goto_3
|
||||
iput-wide v0, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseCenterY:D
|
||||
|
||||
move-object/from16 v0, p0
|
||||
|
||||
move-wide/from16 v1, p6
|
||||
|
||||
move-wide/from16 v3, p8
|
||||
|
||||
move-wide/from16 v5, p10
|
||||
|
||||
move-wide/from16 v7, p12
|
||||
|
||||
invoke-direct/range {v0 .. v8}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->buildTable(DDDD)V
|
||||
|
||||
iget-wide v0, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mArcDistance:D
|
||||
|
||||
iget-wide v2, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mOneOverDeltaTime:D
|
||||
|
||||
mul-double v0, v0, v2
|
||||
|
||||
iput-wide v0, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mArcVelocity:D
|
||||
|
||||
return-void
|
||||
|
||||
:cond_7
|
||||
:goto_4
|
||||
const/4 v4, 0x1
|
||||
|
||||
iput-boolean v4, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->linear:Z
|
||||
|
||||
iput-wide v5, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mX1:D
|
||||
|
||||
iput-wide v10, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mX2:D
|
||||
|
||||
iput-wide v7, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mY1:D
|
||||
|
||||
iput-wide v12, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mY2:D
|
||||
|
||||
invoke-static {v2, v3, v0, v1}, Ljava/lang/Math;->hypot(DD)D
|
||||
|
||||
move-result-wide v4
|
||||
|
||||
iput-wide v4, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mArcDistance:D
|
||||
|
||||
iget-wide v6, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mOneOverDeltaTime:D
|
||||
|
||||
mul-double v4, v4, v6
|
||||
|
||||
iput-wide v4, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mArcVelocity:D
|
||||
|
||||
iget-wide v4, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
iget-wide v6, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
sub-double v10, v4, v6
|
||||
|
||||
div-double/2addr v0, v10
|
||||
|
||||
iput-wide v0, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseCenterX:D
|
||||
|
||||
sub-double/2addr v4, v6
|
||||
|
||||
div-double/2addr v2, v4
|
||||
|
||||
iput-wide v2, v9, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseCenterY:D
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private buildTable(DDDD)V
|
||||
.locals 20
|
||||
|
||||
move-object/from16 v0, p0
|
||||
|
||||
sub-double v1, p5, p1
|
||||
|
||||
sub-double v3, p3, p7
|
||||
|
||||
const/4 v8, 0x0
|
||||
|
||||
const-wide/16 v9, 0x0
|
||||
|
||||
const-wide/16 v11, 0x0
|
||||
|
||||
const-wide/16 v13, 0x0
|
||||
|
||||
:goto_0
|
||||
sget-object v15, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->ourPercent:[D
|
||||
|
||||
array-length v5, v15
|
||||
|
||||
if-ge v8, v5, :cond_1
|
||||
|
||||
const-wide v16, 0x4056800000000000L # 90.0
|
||||
|
||||
int-to-double v6, v8
|
||||
|
||||
mul-double v6, v6, v16
|
||||
|
||||
array-length v5, v15
|
||||
|
||||
add-int/lit8 v5, v5, -0x1
|
||||
|
||||
move-wide/from16 p4, v9
|
||||
|
||||
int-to-double v9, v5
|
||||
|
||||
div-double/2addr v6, v9
|
||||
|
||||
invoke-static {v6, v7}, Ljava/lang/Math;->toRadians(D)D
|
||||
|
||||
move-result-wide v5
|
||||
|
||||
invoke-static {v5, v6}, Ljava/lang/Math;->sin(D)D
|
||||
|
||||
move-result-wide v9
|
||||
|
||||
invoke-static {v5, v6}, Ljava/lang/Math;->cos(D)D
|
||||
|
||||
move-result-wide v5
|
||||
|
||||
mul-double v9, v9, v1
|
||||
|
||||
mul-double v5, v5, v3
|
||||
|
||||
if-lez v8, :cond_0
|
||||
|
||||
sub-double v11, v9, v11
|
||||
|
||||
sub-double v13, v5, v13
|
||||
|
||||
invoke-static {v11, v12, v13, v14}, Ljava/lang/Math;->hypot(DD)D
|
||||
|
||||
move-result-wide v11
|
||||
|
||||
add-double v11, v11, p4
|
||||
|
||||
sget-object v7, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->ourPercent:[D
|
||||
|
||||
aput-wide v11, v7, v8
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_0
|
||||
move-wide/from16 v11, p4
|
||||
|
||||
:goto_1
|
||||
add-int/lit8 v8, v8, 0x1
|
||||
|
||||
move-wide v13, v5
|
||||
|
||||
move-wide/from16 v18, v9
|
||||
|
||||
move-wide v9, v11
|
||||
|
||||
move-wide/from16 v11, v18
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
move-wide v11, v9
|
||||
|
||||
iput-wide v11, v0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mArcDistance:D
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
:goto_2
|
||||
sget-object v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->ourPercent:[D
|
||||
|
||||
array-length v3, v2
|
||||
|
||||
if-ge v1, v3, :cond_2
|
||||
|
||||
aget-wide v3, v2, v1
|
||||
|
||||
div-double/2addr v3, v11
|
||||
|
||||
aput-wide v3, v2, v1
|
||||
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_2
|
||||
const/4 v5, 0x0
|
||||
|
||||
:goto_3
|
||||
iget-object v1, v0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mLut:[D
|
||||
|
||||
array-length v2, v1
|
||||
|
||||
if-ge v5, v2, :cond_5
|
||||
|
||||
int-to-double v2, v5
|
||||
|
||||
array-length v1, v1
|
||||
|
||||
add-int/lit8 v1, v1, -0x1
|
||||
|
||||
int-to-double v6, v1
|
||||
|
||||
div-double/2addr v2, v6
|
||||
|
||||
sget-object v1, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->ourPercent:[D
|
||||
|
||||
invoke-static {v1, v2, v3}, Ljava/util/Arrays;->binarySearch([DD)I
|
||||
|
||||
move-result v1
|
||||
|
||||
if-ltz v1, :cond_3
|
||||
|
||||
iget-object v2, v0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mLut:[D
|
||||
|
||||
sget-object v3, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->ourPercent:[D
|
||||
|
||||
array-length v3, v3
|
||||
|
||||
add-int/lit8 v3, v3, -0x1
|
||||
|
||||
div-int/2addr v1, v3
|
||||
|
||||
int-to-double v3, v1
|
||||
|
||||
aput-wide v3, v2, v5
|
||||
|
||||
const-wide/16 v6, 0x0
|
||||
|
||||
goto :goto_4
|
||||
|
||||
:cond_3
|
||||
const/4 v4, -0x1
|
||||
|
||||
if-ne v1, v4, :cond_4
|
||||
|
||||
iget-object v1, v0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mLut:[D
|
||||
|
||||
const-wide/16 v6, 0x0
|
||||
|
||||
aput-wide v6, v1, v5
|
||||
|
||||
goto :goto_4
|
||||
|
||||
:cond_4
|
||||
const-wide/16 v6, 0x0
|
||||
|
||||
neg-int v1, v1
|
||||
|
||||
add-int/lit8 v4, v1, -0x2
|
||||
|
||||
add-int/lit8 v1, v1, -0x1
|
||||
|
||||
int-to-double v8, v4
|
||||
|
||||
sget-object v10, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->ourPercent:[D
|
||||
|
||||
aget-wide v11, v10, v4
|
||||
|
||||
sub-double/2addr v2, v11
|
||||
|
||||
aget-wide v11, v10, v1
|
||||
|
||||
aget-wide v13, v10, v4
|
||||
|
||||
sub-double/2addr v11, v13
|
||||
|
||||
div-double/2addr v2, v11
|
||||
|
||||
add-double/2addr v2, v8
|
||||
|
||||
array-length v1, v10
|
||||
|
||||
add-int/lit8 v1, v1, -0x1
|
||||
|
||||
int-to-double v8, v1
|
||||
|
||||
div-double/2addr v2, v8
|
||||
|
||||
iget-object v1, v0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mLut:[D
|
||||
|
||||
aput-wide v2, v1, v5
|
||||
|
||||
:goto_4
|
||||
add-int/lit8 v5, v5, 0x1
|
||||
|
||||
goto :goto_3
|
||||
|
||||
:cond_5
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public getDX()D
|
||||
.locals 6
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseA:D
|
||||
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTmpCosAngle:D
|
||||
|
||||
mul-double v0, v0, v2
|
||||
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseB:D
|
||||
|
||||
neg-double v2, v2
|
||||
|
||||
iget-wide v4, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTmpSinAngle:D
|
||||
|
||||
mul-double v2, v2, v4
|
||||
|
||||
iget-wide v4, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mArcVelocity:D
|
||||
|
||||
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->hypot(DD)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
div-double/2addr v4, v2
|
||||
|
||||
iget-boolean v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mVertical:Z
|
||||
|
||||
if-eqz v2, :cond_0
|
||||
|
||||
neg-double v0, v0
|
||||
|
||||
:cond_0
|
||||
mul-double v0, v0, v4
|
||||
|
||||
return-wide v0
|
||||
.end method
|
||||
|
||||
.method public getDY()D
|
||||
.locals 6
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseA:D
|
||||
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTmpCosAngle:D
|
||||
|
||||
mul-double v0, v0, v2
|
||||
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseB:D
|
||||
|
||||
neg-double v2, v2
|
||||
|
||||
iget-wide v4, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTmpSinAngle:D
|
||||
|
||||
mul-double v2, v2, v4
|
||||
|
||||
iget-wide v4, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mArcVelocity:D
|
||||
|
||||
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->hypot(DD)D
|
||||
|
||||
move-result-wide v0
|
||||
|
||||
div-double/2addr v4, v0
|
||||
|
||||
iget-boolean v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mVertical:Z
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
neg-double v0, v2
|
||||
|
||||
mul-double v0, v0, v4
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
mul-double v0, v2, v4
|
||||
|
||||
:goto_0
|
||||
return-wide v0
|
||||
.end method
|
||||
|
||||
.method public getLinearDX(D)D
|
||||
.locals 0
|
||||
|
||||
iget-wide p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseCenterX:D
|
||||
|
||||
return-wide p1
|
||||
.end method
|
||||
|
||||
.method public getLinearDY(D)D
|
||||
.locals 0
|
||||
|
||||
iget-wide p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseCenterY:D
|
||||
|
||||
return-wide p1
|
||||
.end method
|
||||
|
||||
.method public getLinearX(D)D
|
||||
.locals 4
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
sub-double/2addr p1, v0
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mOneOverDeltaTime:D
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mX1:D
|
||||
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mX2:D
|
||||
|
||||
sub-double/2addr v2, v0
|
||||
|
||||
mul-double v2, v2, p1
|
||||
|
||||
add-double/2addr v2, v0
|
||||
|
||||
return-wide v2
|
||||
.end method
|
||||
|
||||
.method public getLinearY(D)D
|
||||
.locals 4
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
sub-double/2addr p1, v0
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mOneOverDeltaTime:D
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mY1:D
|
||||
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mY2:D
|
||||
|
||||
sub-double/2addr v2, v0
|
||||
|
||||
mul-double v2, v2, p1
|
||||
|
||||
add-double/2addr v2, v0
|
||||
|
||||
return-wide v2
|
||||
.end method
|
||||
|
||||
.method public getX()D
|
||||
.locals 6
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseCenterX:D
|
||||
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseA:D
|
||||
|
||||
iget-wide v4, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTmpSinAngle:D
|
||||
|
||||
mul-double v2, v2, v4
|
||||
|
||||
add-double/2addr v2, v0
|
||||
|
||||
return-wide v2
|
||||
.end method
|
||||
|
||||
.method public getY()D
|
||||
.locals 6
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseCenterY:D
|
||||
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mEllipseB:D
|
||||
|
||||
iget-wide v4, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTmpCosAngle:D
|
||||
|
||||
mul-double v2, v2, v4
|
||||
|
||||
add-double/2addr v2, v0
|
||||
|
||||
return-wide v2
|
||||
.end method
|
||||
|
||||
.method public lookup(D)D
|
||||
.locals 8
|
||||
|
||||
const-wide/16 v0, 0x0
|
||||
|
||||
cmpg-double v2, p1, v0
|
||||
|
||||
if-gtz v2, :cond_0
|
||||
|
||||
return-wide v0
|
||||
|
||||
:cond_0
|
||||
const-wide/high16 v0, 0x3ff0000000000000L # 1.0
|
||||
|
||||
cmpl-double v2, p1, v0
|
||||
|
||||
if-ltz v2, :cond_1
|
||||
|
||||
return-wide v0
|
||||
|
||||
:cond_1
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mLut:[D
|
||||
|
||||
array-length v1, v0
|
||||
|
||||
add-int/lit8 v1, v1, -0x1
|
||||
|
||||
int-to-double v1, v1
|
||||
|
||||
mul-double p1, p1, v1
|
||||
|
||||
double-to-int v1, p1
|
||||
|
||||
int-to-double v2, v1
|
||||
|
||||
sub-double/2addr p1, v2
|
||||
|
||||
aget-wide v2, v0, v1
|
||||
|
||||
add-int/lit8 v4, v1, 0x1
|
||||
|
||||
aget-wide v4, v0, v4
|
||||
|
||||
aget-wide v6, v0, v1
|
||||
|
||||
sub-double/2addr v4, v6
|
||||
|
||||
mul-double v4, v4, p1
|
||||
|
||||
add-double/2addr v4, v2
|
||||
|
||||
return-wide v4
|
||||
.end method
|
||||
|
||||
.method public setPoint(D)V
|
||||
.locals 2
|
||||
|
||||
iget-boolean v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mVertical:Z
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
sub-double/2addr v0, p1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
sub-double v0, p1, v0
|
||||
|
||||
:goto_0
|
||||
iget-wide p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mOneOverDeltaTime:D
|
||||
|
||||
mul-double v0, v0, p1
|
||||
|
||||
const-wide p1, 0x3ff921fb54442d18L # 1.5707963267948966
|
||||
|
||||
invoke-virtual {p0, v0, v1}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->lookup(D)D
|
||||
|
||||
move-result-wide v0
|
||||
|
||||
mul-double v0, v0, p1
|
||||
|
||||
invoke-static {v0, v1}, Ljava/lang/Math;->sin(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
iput-wide p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTmpSinAngle:D
|
||||
|
||||
invoke-static {v0, v1}, Ljava/lang/Math;->cos(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
iput-wide p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTmpCosAngle:D
|
||||
|
||||
return-void
|
||||
.end method
|
|
@ -1,810 +0,0 @@
|
|||
.class public Landroidx/constraintlayout/motion/utils/ArcCurveFit;
|
||||
.super Landroidx/constraintlayout/motion/utils/CurveFit;
|
||||
.source "ArcCurveFit.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/MemberClasses;
|
||||
value = {
|
||||
Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# static fields
|
||||
.field public static final ARC_START_FLIP:I = 0x3
|
||||
|
||||
.field public static final ARC_START_HORIZONTAL:I = 0x2
|
||||
|
||||
.field public static final ARC_START_LINEAR:I = 0x0
|
||||
|
||||
.field public static final ARC_START_VERTICAL:I = 0x1
|
||||
|
||||
.field public static final START_HORIZONTAL:I = 0x2
|
||||
|
||||
.field public static final START_LINEAR:I = 0x3
|
||||
|
||||
.field public static final START_VERTICAL:I = 0x1
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
.field public final mTime:[D
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>([I[D[[D)V
|
||||
.locals 26
|
||||
|
||||
move-object/from16 v0, p0
|
||||
|
||||
move-object/from16 v1, p2
|
||||
|
||||
invoke-direct/range {p0 .. p0}, Landroidx/constraintlayout/motion/utils/CurveFit;-><init>()V
|
||||
|
||||
iput-object v1, v0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mTime:[D
|
||||
|
||||
array-length v2, v1
|
||||
|
||||
const/4 v3, 0x1
|
||||
|
||||
sub-int/2addr v2, v3
|
||||
|
||||
new-array v2, v2, [Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
iput-object v2, v0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
const/4 v4, 0x0
|
||||
|
||||
const/4 v5, 0x1
|
||||
|
||||
const/4 v6, 0x1
|
||||
|
||||
:goto_0
|
||||
iget-object v7, v0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
array-length v7, v7
|
||||
|
||||
if-ge v4, v7, :cond_5
|
||||
|
||||
aget v7, p1, v4
|
||||
|
||||
const/4 v8, 0x3
|
||||
|
||||
const/4 v9, 0x2
|
||||
|
||||
if-eqz v7, :cond_4
|
||||
|
||||
if-eq v7, v3, :cond_3
|
||||
|
||||
if-eq v7, v9, :cond_2
|
||||
|
||||
if-eq v7, v8, :cond_0
|
||||
|
||||
move/from16 v20, v6
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_0
|
||||
if-ne v5, v3, :cond_1
|
||||
|
||||
const/4 v5, 0x2
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
const/4 v5, 0x1
|
||||
|
||||
:goto_1
|
||||
move/from16 v20, v5
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_2
|
||||
const/4 v5, 0x2
|
||||
|
||||
const/16 v20, 0x2
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_3
|
||||
const/4 v5, 0x1
|
||||
|
||||
const/16 v20, 0x1
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_4
|
||||
const/16 v20, 0x3
|
||||
|
||||
:goto_2
|
||||
iget-object v14, v0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
new-instance v21, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-wide v8, v1, v4
|
||||
|
||||
add-int/lit8 v22, v4, 0x1
|
||||
|
||||
aget-wide v10, v1, v22
|
||||
|
||||
aget-object v6, p3, v4
|
||||
|
||||
aget-wide v12, v6, v2
|
||||
|
||||
aget-object v6, p3, v4
|
||||
|
||||
aget-wide v15, v6, v3
|
||||
|
||||
aget-object v6, p3, v22
|
||||
|
||||
aget-wide v17, v6, v2
|
||||
|
||||
aget-object v6, p3, v22
|
||||
|
||||
aget-wide v23, v6, v3
|
||||
|
||||
move-object/from16 v6, v21
|
||||
|
||||
move/from16 v7, v20
|
||||
|
||||
move-object/from16 v25, v14
|
||||
|
||||
move-wide v14, v15
|
||||
|
||||
move-wide/from16 v16, v17
|
||||
|
||||
move-wide/from16 v18, v23
|
||||
|
||||
invoke-direct/range {v6 .. v19}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;-><init>(IDDDDDD)V
|
||||
|
||||
aput-object v21, v25, v4
|
||||
|
||||
move/from16 v6, v20
|
||||
|
||||
move/from16 v4, v22
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_5
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public getPos(DI)D
|
||||
.locals 5
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
aget-object v2, v0, v1
|
||||
|
||||
iget-wide v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
cmpg-double v4, p1, v2
|
||||
|
||||
if-gez v4, :cond_0
|
||||
|
||||
aget-object p1, v0, v1
|
||||
|
||||
iget-wide p1, p1, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
array-length v2, v0
|
||||
|
||||
add-int/lit8 v2, v2, -0x1
|
||||
|
||||
aget-object v2, v0, v2
|
||||
|
||||
iget-wide v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
cmpl-double v4, p1, v2
|
||||
|
||||
if-lez v4, :cond_1
|
||||
|
||||
array-length p1, v0
|
||||
|
||||
add-int/lit8 p1, p1, -0x1
|
||||
|
||||
aget-object p1, v0, p1
|
||||
|
||||
iget-wide p1, p1, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
:cond_1
|
||||
:goto_0
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
array-length v2, v0
|
||||
|
||||
if-ge v1, v2, :cond_6
|
||||
|
||||
aget-object v2, v0, v1
|
||||
|
||||
iget-wide v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
cmpg-double v4, p1, v2
|
||||
|
||||
if-gtz v4, :cond_5
|
||||
|
||||
aget-object v2, v0, v1
|
||||
|
||||
iget-boolean v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->linear:Z
|
||||
|
||||
if-eqz v2, :cond_3
|
||||
|
||||
if-nez p3, :cond_2
|
||||
|
||||
aget-object p3, v0, v1
|
||||
|
||||
invoke-virtual {p3, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getLinearX(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:cond_2
|
||||
aget-object p3, v0, v1
|
||||
|
||||
invoke-virtual {p3, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getLinearY(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:cond_3
|
||||
aget-object v0, v0, v1
|
||||
|
||||
invoke-virtual {v0, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->setPoint(D)V
|
||||
|
||||
if-nez p3, :cond_4
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object p1, p1, v1
|
||||
|
||||
invoke-virtual {p1}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getX()D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:cond_4
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object p1, p1, v1
|
||||
|
||||
invoke-virtual {p1}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getY()D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:cond_5
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_6
|
||||
const-wide/high16 p1, 0x7ff8000000000000L # Double.NaN
|
||||
|
||||
return-wide p1
|
||||
.end method
|
||||
|
||||
.method public getPos(D[D)V
|
||||
.locals 7
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
aget-object v2, v0, v1
|
||||
|
||||
iget-wide v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
cmpg-double v4, p1, v2
|
||||
|
||||
if-gez v4, :cond_0
|
||||
|
||||
aget-object p1, v0, v1
|
||||
|
||||
iget-wide p1, p1, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
:cond_0
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
array-length v2, v0
|
||||
|
||||
const/4 v3, 0x1
|
||||
|
||||
sub-int/2addr v2, v3
|
||||
|
||||
aget-object v2, v0, v2
|
||||
|
||||
iget-wide v4, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
cmpl-double v2, p1, v4
|
||||
|
||||
if-lez v2, :cond_1
|
||||
|
||||
array-length p1, v0
|
||||
|
||||
sub-int/2addr p1, v3
|
||||
|
||||
aget-object p1, v0, p1
|
||||
|
||||
iget-wide p1, p1, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
:cond_1
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_0
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
array-length v4, v2
|
||||
|
||||
if-ge v0, v4, :cond_4
|
||||
|
||||
aget-object v4, v2, v0
|
||||
|
||||
iget-wide v4, v4, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
cmpg-double v6, p1, v4
|
||||
|
||||
if-gtz v6, :cond_3
|
||||
|
||||
aget-object v4, v2, v0
|
||||
|
||||
iget-boolean v4, v4, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->linear:Z
|
||||
|
||||
if-eqz v4, :cond_2
|
||||
|
||||
aget-object v2, v2, v0
|
||||
|
||||
invoke-virtual {v2, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getLinearX(D)D
|
||||
|
||||
move-result-wide v4
|
||||
|
||||
aput-wide v4, p3, v1
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object v0, v1, v0
|
||||
|
||||
invoke-virtual {v0, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getLinearY(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
aput-wide p1, p3, v3
|
||||
|
||||
return-void
|
||||
|
||||
:cond_2
|
||||
aget-object v2, v2, v0
|
||||
|
||||
invoke-virtual {v2, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->setPoint(D)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object p1, p1, v0
|
||||
|
||||
invoke-virtual {p1}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getX()D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
aput-wide p1, p3, v1
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object p1, p1, v0
|
||||
|
||||
invoke-virtual {p1}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getY()D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
aput-wide p1, p3, v3
|
||||
|
||||
return-void
|
||||
|
||||
:cond_3
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_4
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getPos(D[F)V
|
||||
.locals 7
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
aget-object v2, v0, v1
|
||||
|
||||
iget-wide v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
const/4 v4, 0x1
|
||||
|
||||
cmpg-double v5, p1, v2
|
||||
|
||||
if-gez v5, :cond_0
|
||||
|
||||
aget-object p1, v0, v1
|
||||
|
||||
iget-wide p1, p1, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
array-length v2, v0
|
||||
|
||||
sub-int/2addr v2, v4
|
||||
|
||||
aget-object v2, v0, v2
|
||||
|
||||
iget-wide v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
cmpl-double v5, p1, v2
|
||||
|
||||
if-lez v5, :cond_1
|
||||
|
||||
array-length p1, v0
|
||||
|
||||
sub-int/2addr p1, v4
|
||||
|
||||
aget-object p1, v0, p1
|
||||
|
||||
iget-wide p1, p1, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
:cond_1
|
||||
:goto_0
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_1
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
array-length v3, v2
|
||||
|
||||
if-ge v0, v3, :cond_4
|
||||
|
||||
aget-object v3, v2, v0
|
||||
|
||||
iget-wide v5, v3, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
cmpg-double v3, p1, v5
|
||||
|
||||
if-gtz v3, :cond_3
|
||||
|
||||
aget-object v3, v2, v0
|
||||
|
||||
iget-boolean v3, v3, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->linear:Z
|
||||
|
||||
if-eqz v3, :cond_2
|
||||
|
||||
aget-object v2, v2, v0
|
||||
|
||||
invoke-virtual {v2, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getLinearX(D)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
double-to-float v2, v2
|
||||
|
||||
aput v2, p3, v1
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object v0, v1, v0
|
||||
|
||||
invoke-virtual {v0, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getLinearY(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
double-to-float p1, p1
|
||||
|
||||
aput p1, p3, v4
|
||||
|
||||
return-void
|
||||
|
||||
:cond_2
|
||||
aget-object v2, v2, v0
|
||||
|
||||
invoke-virtual {v2, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->setPoint(D)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object p1, p1, v0
|
||||
|
||||
invoke-virtual {p1}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getX()D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
double-to-float p1, p1
|
||||
|
||||
aput p1, p3, v1
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object p1, p1, v0
|
||||
|
||||
invoke-virtual {p1}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getY()D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
double-to-float p1, p1
|
||||
|
||||
aput p1, p3, v4
|
||||
|
||||
return-void
|
||||
|
||||
:cond_3
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_4
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getSlope(DI)D
|
||||
.locals 5
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
aget-object v2, v0, v1
|
||||
|
||||
iget-wide v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
cmpg-double v4, p1, v2
|
||||
|
||||
if-gez v4, :cond_0
|
||||
|
||||
aget-object p1, v0, v1
|
||||
|
||||
iget-wide p1, p1, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
:cond_0
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
array-length v2, v0
|
||||
|
||||
add-int/lit8 v2, v2, -0x1
|
||||
|
||||
aget-object v2, v0, v2
|
||||
|
||||
iget-wide v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
cmpl-double v4, p1, v2
|
||||
|
||||
if-lez v4, :cond_1
|
||||
|
||||
array-length p1, v0
|
||||
|
||||
add-int/lit8 p1, p1, -0x1
|
||||
|
||||
aget-object p1, v0, p1
|
||||
|
||||
iget-wide p1, p1, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
:cond_1
|
||||
:goto_0
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
array-length v2, v0
|
||||
|
||||
if-ge v1, v2, :cond_6
|
||||
|
||||
aget-object v2, v0, v1
|
||||
|
||||
iget-wide v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
cmpg-double v4, p1, v2
|
||||
|
||||
if-gtz v4, :cond_5
|
||||
|
||||
aget-object v2, v0, v1
|
||||
|
||||
iget-boolean v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->linear:Z
|
||||
|
||||
if-eqz v2, :cond_3
|
||||
|
||||
if-nez p3, :cond_2
|
||||
|
||||
aget-object p3, v0, v1
|
||||
|
||||
invoke-virtual {p3, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getLinearDX(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:cond_2
|
||||
aget-object p3, v0, v1
|
||||
|
||||
invoke-virtual {p3, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getLinearDY(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:cond_3
|
||||
aget-object v0, v0, v1
|
||||
|
||||
invoke-virtual {v0, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->setPoint(D)V
|
||||
|
||||
if-nez p3, :cond_4
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object p1, p1, v1
|
||||
|
||||
invoke-virtual {p1}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getDX()D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:cond_4
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object p1, p1, v1
|
||||
|
||||
invoke-virtual {p1}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getDY()D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:cond_5
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_6
|
||||
const-wide/high16 p1, 0x7ff8000000000000L # Double.NaN
|
||||
|
||||
return-wide p1
|
||||
.end method
|
||||
|
||||
.method public getSlope(D[D)V
|
||||
.locals 7
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
aget-object v2, v0, v1
|
||||
|
||||
iget-wide v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
const/4 v4, 0x1
|
||||
|
||||
cmpg-double v5, p1, v2
|
||||
|
||||
if-gez v5, :cond_0
|
||||
|
||||
aget-object p1, v0, v1
|
||||
|
||||
iget-wide p1, p1, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime1:D
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
array-length v2, v0
|
||||
|
||||
sub-int/2addr v2, v4
|
||||
|
||||
aget-object v2, v0, v2
|
||||
|
||||
iget-wide v2, v2, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
cmpl-double v5, p1, v2
|
||||
|
||||
if-lez v5, :cond_1
|
||||
|
||||
array-length p1, v0
|
||||
|
||||
sub-int/2addr p1, v4
|
||||
|
||||
aget-object p1, v0, p1
|
||||
|
||||
iget-wide p1, p1, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
:cond_1
|
||||
:goto_0
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_1
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
array-length v3, v2
|
||||
|
||||
if-ge v0, v3, :cond_4
|
||||
|
||||
aget-object v3, v2, v0
|
||||
|
||||
iget-wide v5, v3, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->mTime2:D
|
||||
|
||||
cmpg-double v3, p1, v5
|
||||
|
||||
if-gtz v3, :cond_3
|
||||
|
||||
aget-object v3, v2, v0
|
||||
|
||||
iget-boolean v3, v3, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->linear:Z
|
||||
|
||||
if-eqz v3, :cond_2
|
||||
|
||||
aget-object v2, v2, v0
|
||||
|
||||
invoke-virtual {v2, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getLinearDX(D)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
aput-wide v2, p3, v1
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object v0, v1, v0
|
||||
|
||||
invoke-virtual {v0, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getLinearDY(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
aput-wide p1, p3, v4
|
||||
|
||||
return-void
|
||||
|
||||
:cond_2
|
||||
aget-object v2, v2, v0
|
||||
|
||||
invoke-virtual {v2, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->setPoint(D)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object p1, p1, v0
|
||||
|
||||
invoke-virtual {p1}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getDX()D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
aput-wide p1, p3, v1
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mArcs:[Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;
|
||||
|
||||
aget-object p1, p1, v0
|
||||
|
||||
invoke-virtual {p1}, Landroidx/constraintlayout/motion/utils/ArcCurveFit$Arc;->getDY()D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
aput-wide p1, p3, v4
|
||||
|
||||
return-void
|
||||
|
||||
:cond_3
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_4
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getTimePoints()[D
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;->mTime:[D
|
||||
|
||||
return-object v0
|
||||
.end method
|
|
@ -1,134 +0,0 @@
|
|||
.class public Landroidx/constraintlayout/motion/utils/CurveFit$Constant;
|
||||
.super Landroidx/constraintlayout/motion/utils/CurveFit;
|
||||
.source "CurveFit.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Landroidx/constraintlayout/motion/utils/CurveFit;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x9
|
||||
name = "Constant"
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public mTime:D
|
||||
|
||||
.field public mValue:[D
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(D[D)V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0}, Landroidx/constraintlayout/motion/utils/CurveFit;-><init>()V
|
||||
|
||||
iput-wide p1, p0, Landroidx/constraintlayout/motion/utils/CurveFit$Constant;->mTime:D
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/motion/utils/CurveFit$Constant;->mValue:[D
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public getPos(DI)D
|
||||
.locals 0
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/CurveFit$Constant;->mValue:[D
|
||||
|
||||
aget-wide p2, p1, p3
|
||||
|
||||
return-wide p2
|
||||
.end method
|
||||
|
||||
.method public getPos(D[D)V
|
||||
.locals 1
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/CurveFit$Constant;->mValue:[D
|
||||
|
||||
array-length p2, p1
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
invoke-static {p1, v0, p3, v0, p2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getPos(D[F)V
|
||||
.locals 2
|
||||
|
||||
const/4 p1, 0x0
|
||||
|
||||
:goto_0
|
||||
iget-object p2, p0, Landroidx/constraintlayout/motion/utils/CurveFit$Constant;->mValue:[D
|
||||
|
||||
array-length v0, p2
|
||||
|
||||
if-ge p1, v0, :cond_0
|
||||
|
||||
aget-wide v0, p2, p1
|
||||
|
||||
double-to-float p2, v0
|
||||
|
||||
aput p2, p3, p1
|
||||
|
||||
add-int/lit8 p1, p1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getSlope(DI)D
|
||||
.locals 0
|
||||
|
||||
const-wide/16 p1, 0x0
|
||||
|
||||
return-wide p1
|
||||
.end method
|
||||
|
||||
.method public getSlope(D[D)V
|
||||
.locals 2
|
||||
|
||||
const/4 p1, 0x0
|
||||
|
||||
:goto_0
|
||||
iget-object p2, p0, Landroidx/constraintlayout/motion/utils/CurveFit$Constant;->mValue:[D
|
||||
|
||||
array-length p2, p2
|
||||
|
||||
if-ge p1, p2, :cond_0
|
||||
|
||||
const-wide/16 v0, 0x0
|
||||
|
||||
aput-wide v0, p3, p1
|
||||
|
||||
add-int/lit8 p1, p1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getTimePoints()[D
|
||||
.locals 4
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
new-array v0, v0, [D
|
||||
|
||||
iget-wide v1, p0, Landroidx/constraintlayout/motion/utils/CurveFit$Constant;->mTime:D
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
aput-wide v1, v0, v3
|
||||
|
||||
return-object v0
|
||||
.end method
|
|
@ -1,104 +0,0 @@
|
|||
.class public abstract Landroidx/constraintlayout/motion/utils/CurveFit;
|
||||
.super Ljava/lang/Object;
|
||||
.source "CurveFit.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/MemberClasses;
|
||||
value = {
|
||||
Landroidx/constraintlayout/motion/utils/CurveFit$Constant;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# static fields
|
||||
.field public static final CONSTANT:I = 0x2
|
||||
|
||||
.field public static final LINEAR:I = 0x1
|
||||
|
||||
.field public static final SPLINE:I
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public static get(I[D[[D)Landroidx/constraintlayout/motion/utils/CurveFit;
|
||||
.locals 3
|
||||
|
||||
array-length v0, p1
|
||||
|
||||
const/4 v1, 0x2
|
||||
|
||||
const/4 v2, 0x1
|
||||
|
||||
if-ne v0, v2, :cond_0
|
||||
|
||||
const/4 p0, 0x2
|
||||
|
||||
:cond_0
|
||||
if-eqz p0, :cond_2
|
||||
|
||||
if-eq p0, v1, :cond_1
|
||||
|
||||
new-instance p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/LinearCurveFit;-><init>([D[[D)V
|
||||
|
||||
return-object p0
|
||||
|
||||
:cond_1
|
||||
new-instance p0, Landroidx/constraintlayout/motion/utils/CurveFit$Constant;
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
aget-wide v1, p1, v0
|
||||
|
||||
aget-object p1, p2, v0
|
||||
|
||||
invoke-direct {p0, v1, v2, p1}, Landroidx/constraintlayout/motion/utils/CurveFit$Constant;-><init>(D[D)V
|
||||
|
||||
return-object p0
|
||||
|
||||
:cond_2
|
||||
new-instance p0, Landroidx/constraintlayout/motion/utils/MonotonicCurveFit;
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/MonotonicCurveFit;-><init>([D[[D)V
|
||||
|
||||
return-object p0
|
||||
.end method
|
||||
|
||||
.method public static getArc([I[D[[D)Landroidx/constraintlayout/motion/utils/CurveFit;
|
||||
.locals 1
|
||||
|
||||
new-instance v0, Landroidx/constraintlayout/motion/utils/ArcCurveFit;
|
||||
|
||||
invoke-direct {v0, p0, p1, p2}, Landroidx/constraintlayout/motion/utils/ArcCurveFit;-><init>([I[D[[D)V
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public abstract getPos(DI)D
|
||||
.end method
|
||||
|
||||
.method public abstract getPos(D[D)V
|
||||
.end method
|
||||
|
||||
.method public abstract getPos(D[F)V
|
||||
.end method
|
||||
|
||||
.method public abstract getSlope(DI)D
|
||||
.end method
|
||||
|
||||
.method public abstract getSlope(D[D)V
|
||||
.end method
|
||||
|
||||
.method public abstract getTimePoints()[D
|
||||
.end method
|
|
@ -1,476 +0,0 @@
|
|||
.class public Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;
|
||||
.super Landroidx/constraintlayout/motion/utils/Easing;
|
||||
.source "Easing.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Landroidx/constraintlayout/motion/utils/Easing;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x9
|
||||
name = "CubicEasing"
|
||||
.end annotation
|
||||
|
||||
|
||||
# static fields
|
||||
.field public static d_error:D = 1.0E-4
|
||||
|
||||
.field public static error:D = 0.01
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public x1:D
|
||||
|
||||
.field public x2:D
|
||||
|
||||
.field public y1:D
|
||||
|
||||
.field public y2:D
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(DDDD)V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0}, Landroidx/constraintlayout/motion/utils/Easing;-><init>()V
|
||||
|
||||
invoke-virtual/range {p0 .. p8}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->setup(DDDD)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Ljava/lang/String;)V
|
||||
.locals 5
|
||||
|
||||
invoke-direct {p0}, Landroidx/constraintlayout/motion/utils/Easing;-><init>()V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/motion/utils/Easing;->str:Ljava/lang/String;
|
||||
|
||||
const/16 v0, 0x28
|
||||
|
||||
invoke-virtual {p1, v0}, Ljava/lang/String;->indexOf(I)I
|
||||
|
||||
move-result v0
|
||||
|
||||
const/16 v1, 0x2c
|
||||
|
||||
invoke-virtual {p1, v1, v0}, Ljava/lang/String;->indexOf(II)I
|
||||
|
||||
move-result v2
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
invoke-virtual {p1, v0, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
|
||||
|
||||
move-result-wide v3
|
||||
|
||||
iput-wide v3, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->x1:D
|
||||
|
||||
add-int/lit8 v2, v2, 0x1
|
||||
|
||||
invoke-virtual {p1, v1, v2}, Ljava/lang/String;->indexOf(II)I
|
||||
|
||||
move-result v0
|
||||
|
||||
invoke-virtual {p1, v2, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
|
||||
|
||||
move-result-object v2
|
||||
|
||||
invoke-virtual {v2}, Ljava/lang/String;->trim()Ljava/lang/String;
|
||||
|
||||
move-result-object v2
|
||||
|
||||
invoke-static {v2}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
iput-wide v2, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->y1:D
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
invoke-virtual {p1, v1, v0}, Ljava/lang/String;->indexOf(II)I
|
||||
|
||||
move-result v1
|
||||
|
||||
invoke-virtual {p1, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
iput-wide v2, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->x2:D
|
||||
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
const/16 v0, 0x29
|
||||
|
||||
invoke-virtual {p1, v0, v1}, Ljava/lang/String;->indexOf(II)I
|
||||
|
||||
move-result v0
|
||||
|
||||
invoke-virtual {p1, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
invoke-virtual {p1}, Ljava/lang/String;->trim()Ljava/lang/String;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
invoke-static {p1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
|
||||
|
||||
move-result-wide v0
|
||||
|
||||
iput-wide v0, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->y2:D
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private getDiffX(D)D
|
||||
.locals 12
|
||||
|
||||
const-wide/high16 v0, 0x3ff0000000000000L # 1.0
|
||||
|
||||
sub-double v2, v0, p1
|
||||
|
||||
const-wide/high16 v4, 0x4008000000000000L # 3.0
|
||||
|
||||
mul-double v6, v2, v4
|
||||
|
||||
mul-double v6, v6, v2
|
||||
|
||||
iget-wide v8, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->x1:D
|
||||
|
||||
mul-double v6, v6, v8
|
||||
|
||||
const-wide/high16 v10, 0x4018000000000000L # 6.0
|
||||
|
||||
mul-double v2, v2, v10
|
||||
|
||||
mul-double v2, v2, p1
|
||||
|
||||
iget-wide v10, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->x2:D
|
||||
|
||||
sub-double v8, v10, v8
|
||||
|
||||
mul-double v8, v8, v2
|
||||
|
||||
add-double/2addr v8, v6
|
||||
|
||||
mul-double v4, v4, p1
|
||||
|
||||
mul-double v4, v4, p1
|
||||
|
||||
sub-double/2addr v0, v10
|
||||
|
||||
mul-double v0, v0, v4
|
||||
|
||||
add-double/2addr v0, v8
|
||||
|
||||
return-wide v0
|
||||
.end method
|
||||
|
||||
.method private getDiffY(D)D
|
||||
.locals 12
|
||||
|
||||
const-wide/high16 v0, 0x3ff0000000000000L # 1.0
|
||||
|
||||
sub-double v2, v0, p1
|
||||
|
||||
const-wide/high16 v4, 0x4008000000000000L # 3.0
|
||||
|
||||
mul-double v6, v2, v4
|
||||
|
||||
mul-double v6, v6, v2
|
||||
|
||||
iget-wide v8, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->y1:D
|
||||
|
||||
mul-double v6, v6, v8
|
||||
|
||||
const-wide/high16 v10, 0x4018000000000000L # 6.0
|
||||
|
||||
mul-double v2, v2, v10
|
||||
|
||||
mul-double v2, v2, p1
|
||||
|
||||
iget-wide v10, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->y2:D
|
||||
|
||||
sub-double v8, v10, v8
|
||||
|
||||
mul-double v8, v8, v2
|
||||
|
||||
add-double/2addr v8, v6
|
||||
|
||||
mul-double v4, v4, p1
|
||||
|
||||
mul-double v4, v4, p1
|
||||
|
||||
sub-double/2addr v0, v10
|
||||
|
||||
mul-double v0, v0, v4
|
||||
|
||||
add-double/2addr v0, v8
|
||||
|
||||
return-wide v0
|
||||
.end method
|
||||
|
||||
.method private getX(D)D
|
||||
.locals 6
|
||||
|
||||
const-wide/high16 v0, 0x3ff0000000000000L # 1.0
|
||||
|
||||
sub-double/2addr v0, p1
|
||||
|
||||
const-wide/high16 v2, 0x4008000000000000L # 3.0
|
||||
|
||||
mul-double v2, v2, v0
|
||||
|
||||
mul-double v0, v0, v2
|
||||
|
||||
mul-double v0, v0, p1
|
||||
|
||||
mul-double v2, v2, p1
|
||||
|
||||
mul-double v2, v2, p1
|
||||
|
||||
mul-double v4, p1, p1
|
||||
|
||||
mul-double v4, v4, p1
|
||||
|
||||
iget-wide p1, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->x1:D
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->x2:D
|
||||
|
||||
mul-double v0, v0, v2
|
||||
|
||||
add-double/2addr v0, p1
|
||||
|
||||
add-double/2addr v0, v4
|
||||
|
||||
return-wide v0
|
||||
.end method
|
||||
|
||||
.method private getY(D)D
|
||||
.locals 6
|
||||
|
||||
const-wide/high16 v0, 0x3ff0000000000000L # 1.0
|
||||
|
||||
sub-double/2addr v0, p1
|
||||
|
||||
const-wide/high16 v2, 0x4008000000000000L # 3.0
|
||||
|
||||
mul-double v2, v2, v0
|
||||
|
||||
mul-double v0, v0, v2
|
||||
|
||||
mul-double v0, v0, p1
|
||||
|
||||
mul-double v2, v2, p1
|
||||
|
||||
mul-double v2, v2, p1
|
||||
|
||||
mul-double v4, p1, p1
|
||||
|
||||
mul-double v4, v4, p1
|
||||
|
||||
iget-wide p1, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->y1:D
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->y2:D
|
||||
|
||||
mul-double v0, v0, v2
|
||||
|
||||
add-double/2addr v0, p1
|
||||
|
||||
add-double/2addr v0, v4
|
||||
|
||||
return-wide v0
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public get(D)D
|
||||
.locals 9
|
||||
|
||||
const-wide/16 v0, 0x0
|
||||
|
||||
cmpg-double v2, p1, v0
|
||||
|
||||
if-gtz v2, :cond_0
|
||||
|
||||
return-wide v0
|
||||
|
||||
:cond_0
|
||||
const-wide/high16 v0, 0x3ff0000000000000L # 1.0
|
||||
|
||||
cmpl-double v2, p1, v0
|
||||
|
||||
if-ltz v2, :cond_1
|
||||
|
||||
return-wide v0
|
||||
|
||||
:cond_1
|
||||
const-wide/high16 v0, 0x3fe0000000000000L # 0.5
|
||||
|
||||
move-wide v2, v0
|
||||
|
||||
move-wide v4, v2
|
||||
|
||||
:goto_0
|
||||
sget-wide v6, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->error:D
|
||||
|
||||
cmpl-double v8, v2, v6
|
||||
|
||||
if-lez v8, :cond_3
|
||||
|
||||
invoke-direct {p0, v4, v5}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->getX(D)D
|
||||
|
||||
move-result-wide v6
|
||||
|
||||
mul-double v2, v2, v0
|
||||
|
||||
cmpg-double v8, v6, p1
|
||||
|
||||
if-gez v8, :cond_2
|
||||
|
||||
add-double/2addr v4, v2
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_2
|
||||
sub-double/2addr v4, v2
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_3
|
||||
sub-double v0, v4, v2
|
||||
|
||||
invoke-direct {p0, v0, v1}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->getX(D)D
|
||||
|
||||
move-result-wide v6
|
||||
|
||||
add-double/2addr v4, v2
|
||||
|
||||
invoke-direct {p0, v4, v5}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->getX(D)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
invoke-direct {p0, v0, v1}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->getY(D)D
|
||||
|
||||
move-result-wide v0
|
||||
|
||||
invoke-direct {p0, v4, v5}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->getY(D)D
|
||||
|
||||
move-result-wide v4
|
||||
|
||||
sub-double/2addr v4, v0
|
||||
|
||||
sub-double/2addr p1, v6
|
||||
|
||||
mul-double p1, p1, v4
|
||||
|
||||
sub-double/2addr v2, v6
|
||||
|
||||
div-double/2addr p1, v2
|
||||
|
||||
add-double/2addr p1, v0
|
||||
|
||||
return-wide p1
|
||||
.end method
|
||||
|
||||
.method public getDiff(D)D
|
||||
.locals 9
|
||||
|
||||
const-wide/high16 v0, 0x3fe0000000000000L # 0.5
|
||||
|
||||
move-wide v2, v0
|
||||
|
||||
move-wide v4, v2
|
||||
|
||||
:goto_0
|
||||
sget-wide v6, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->d_error:D
|
||||
|
||||
cmpl-double v8, v2, v6
|
||||
|
||||
if-lez v8, :cond_1
|
||||
|
||||
invoke-direct {p0, v4, v5}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->getX(D)D
|
||||
|
||||
move-result-wide v6
|
||||
|
||||
mul-double v2, v2, v0
|
||||
|
||||
cmpg-double v8, v6, p1
|
||||
|
||||
if-gez v8, :cond_0
|
||||
|
||||
add-double/2addr v4, v2
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
sub-double/2addr v4, v2
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
sub-double p1, v4, v2
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->getX(D)D
|
||||
|
||||
move-result-wide v0
|
||||
|
||||
add-double/2addr v4, v2
|
||||
|
||||
invoke-direct {p0, v4, v5}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->getX(D)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->getY(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
invoke-direct {p0, v4, v5}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->getY(D)D
|
||||
|
||||
move-result-wide v4
|
||||
|
||||
sub-double/2addr v4, p1
|
||||
|
||||
sub-double/2addr v2, v0
|
||||
|
||||
div-double/2addr v4, v2
|
||||
|
||||
return-wide v4
|
||||
.end method
|
||||
|
||||
.method public setup(DDDD)V
|
||||
.locals 0
|
||||
|
||||
iput-wide p1, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->x1:D
|
||||
|
||||
iput-wide p3, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->y1:D
|
||||
|
||||
iput-wide p5, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->x2:D
|
||||
|
||||
iput-wide p7, p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;->y2:D
|
||||
|
||||
return-void
|
||||
.end method
|
|
@ -1,275 +0,0 @@
|
|||
.class public Landroidx/constraintlayout/motion/utils/Easing;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Easing.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/MemberClasses;
|
||||
value = {
|
||||
Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# static fields
|
||||
.field public static final ACCELERATE:Ljava/lang/String; = "cubic(0.4, 0.05, 0.8, 0.7)"
|
||||
|
||||
.field public static final ACCELERATE_NAME:Ljava/lang/String; = "accelerate"
|
||||
|
||||
.field public static final DECELERATE:Ljava/lang/String; = "cubic(0.0, 0.0, 0.2, 0.95)"
|
||||
|
||||
.field public static final DECELERATE_NAME:Ljava/lang/String; = "decelerate"
|
||||
|
||||
.field public static final LINEAR:Ljava/lang/String; = "cubic(1, 1, 0, 0)"
|
||||
|
||||
.field public static final LINEAR_NAME:Ljava/lang/String; = "linear"
|
||||
|
||||
.field public static NAMED_EASING:[Ljava/lang/String; = null
|
||||
|
||||
.field public static final STANDARD:Ljava/lang/String; = "cubic(0.4, 0.0, 0.2, 1)"
|
||||
|
||||
.field public static final STANDARD_NAME:Ljava/lang/String; = "standard"
|
||||
|
||||
.field public static sDefault:Landroidx/constraintlayout/motion/utils/Easing;
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public str:Ljava/lang/String;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public static constructor <clinit>()V
|
||||
.locals 4
|
||||
|
||||
new-instance v0, Landroidx/constraintlayout/motion/utils/Easing;
|
||||
|
||||
invoke-direct {v0}, Landroidx/constraintlayout/motion/utils/Easing;-><init>()V
|
||||
|
||||
sput-object v0, Landroidx/constraintlayout/motion/utils/Easing;->sDefault:Landroidx/constraintlayout/motion/utils/Easing;
|
||||
|
||||
const-string v0, "standard"
|
||||
|
||||
const-string v1, "accelerate"
|
||||
|
||||
const-string v2, "decelerate"
|
||||
|
||||
const-string v3, "linear"
|
||||
|
||||
filled-new-array {v0, v1, v2, v3}, [Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
sput-object v0, Landroidx/constraintlayout/motion/utils/Easing;->NAMED_EASING:[Ljava/lang/String;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>()V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
const-string v0, "identity"
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/motion/utils/Easing;->str:Ljava/lang/String;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public static getInterpolator(Ljava/lang/String;)Landroidx/constraintlayout/motion/utils/Easing;
|
||||
.locals 5
|
||||
|
||||
if-nez p0, :cond_0
|
||||
|
||||
const/4 p0, 0x0
|
||||
|
||||
return-object p0
|
||||
|
||||
:cond_0
|
||||
const-string v0, "cubic"
|
||||
|
||||
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_1
|
||||
|
||||
new-instance v0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;
|
||||
|
||||
invoke-direct {v0, p0}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;-><init>(Ljava/lang/String;)V
|
||||
|
||||
return-object v0
|
||||
|
||||
:cond_1
|
||||
const/4 v0, -0x1
|
||||
|
||||
invoke-virtual {p0}, Ljava/lang/String;->hashCode()I
|
||||
|
||||
move-result v1
|
||||
|
||||
const/4 v2, 0x3
|
||||
|
||||
const/4 v3, 0x2
|
||||
|
||||
const/4 v4, 0x1
|
||||
|
||||
sparse-switch v1, :sswitch_data_0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:sswitch_0
|
||||
const-string v1, "standard"
|
||||
|
||||
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||
|
||||
move-result p0
|
||||
|
||||
if-eqz p0, :cond_2
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:sswitch_1
|
||||
const-string v1, "linear"
|
||||
|
||||
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||
|
||||
move-result p0
|
||||
|
||||
if-eqz p0, :cond_2
|
||||
|
||||
const/4 v0, 0x3
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:sswitch_2
|
||||
const-string v1, "decelerate"
|
||||
|
||||
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||
|
||||
move-result p0
|
||||
|
||||
if-eqz p0, :cond_2
|
||||
|
||||
const/4 v0, 0x2
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:sswitch_3
|
||||
const-string v1, "accelerate"
|
||||
|
||||
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
||||
|
||||
move-result p0
|
||||
|
||||
if-eqz p0, :cond_2
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
:cond_2
|
||||
:goto_0
|
||||
if-eqz v0, :cond_6
|
||||
|
||||
if-eq v0, v4, :cond_5
|
||||
|
||||
if-eq v0, v3, :cond_4
|
||||
|
||||
if-eq v0, v2, :cond_3
|
||||
|
||||
const-string/jumbo p0, "transitionEasing syntax error syntax:transitionEasing=\"cubic(1.0,0.5,0.0,0.6)\" or "
|
||||
|
||||
invoke-static {p0}, Lf/e/c/a/a;->E(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object p0
|
||||
|
||||
sget-object v0, Landroidx/constraintlayout/motion/utils/Easing;->NAMED_EASING:[Ljava/lang/String;
|
||||
|
||||
invoke-static {v0}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p0
|
||||
|
||||
const-string v0, "ConstraintSet"
|
||||
|
||||
invoke-static {v0, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
sget-object p0, Landroidx/constraintlayout/motion/utils/Easing;->sDefault:Landroidx/constraintlayout/motion/utils/Easing;
|
||||
|
||||
return-object p0
|
||||
|
||||
:cond_3
|
||||
new-instance p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;
|
||||
|
||||
const-string v0, "cubic(1, 1, 0, 0)"
|
||||
|
||||
invoke-direct {p0, v0}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;-><init>(Ljava/lang/String;)V
|
||||
|
||||
return-object p0
|
||||
|
||||
:cond_4
|
||||
new-instance p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;
|
||||
|
||||
const-string v0, "cubic(0.0, 0.0, 0.2, 0.95)"
|
||||
|
||||
invoke-direct {p0, v0}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;-><init>(Ljava/lang/String;)V
|
||||
|
||||
return-object p0
|
||||
|
||||
:cond_5
|
||||
new-instance p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;
|
||||
|
||||
const-string v0, "cubic(0.4, 0.05, 0.8, 0.7)"
|
||||
|
||||
invoke-direct {p0, v0}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;-><init>(Ljava/lang/String;)V
|
||||
|
||||
return-object p0
|
||||
|
||||
:cond_6
|
||||
new-instance p0, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;
|
||||
|
||||
const-string v0, "cubic(0.4, 0.0, 0.2, 1)"
|
||||
|
||||
invoke-direct {p0, v0}, Landroidx/constraintlayout/motion/utils/Easing$CubicEasing;-><init>(Ljava/lang/String;)V
|
||||
|
||||
return-object p0
|
||||
|
||||
nop
|
||||
|
||||
:sswitch_data_0
|
||||
.sparse-switch
|
||||
-0x50bb8523 -> :sswitch_3
|
||||
-0x4b5653c4 -> :sswitch_2
|
||||
-0x41b970db -> :sswitch_1
|
||||
0x4e3d1ebd -> :sswitch_0
|
||||
.end sparse-switch
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public get(D)D
|
||||
.locals 0
|
||||
|
||||
return-wide p1
|
||||
.end method
|
||||
|
||||
.method public getDiff(D)D
|
||||
.locals 0
|
||||
|
||||
const-wide/high16 p1, 0x3ff0000000000000L # 1.0
|
||||
|
||||
return-wide p1
|
||||
.end method
|
||||
|
||||
.method public toString()Ljava/lang/String;
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/Easing;->str:Ljava/lang/String;
|
||||
|
||||
return-object v0
|
||||
.end method
|
|
@ -1,104 +0,0 @@
|
|||
.class public Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
.super Ljava/lang/Object;
|
||||
.source "HyperSpline.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Landroidx/constraintlayout/motion/utils/HyperSpline;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x9
|
||||
name = "Cubic"
|
||||
.end annotation
|
||||
|
||||
|
||||
# static fields
|
||||
.field public static final HALF:D = 0.5
|
||||
|
||||
.field public static final THIRD:D = 0.3333333333333333
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public mA:D
|
||||
|
||||
.field public mB:D
|
||||
|
||||
.field public mC:D
|
||||
|
||||
.field public mD:D
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(DDDD)V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
iput-wide p1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->mA:D
|
||||
|
||||
iput-wide p3, p0, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->mB:D
|
||||
|
||||
iput-wide p5, p0, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->mC:D
|
||||
|
||||
iput-wide p7, p0, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->mD:D
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public eval(D)D
|
||||
.locals 4
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->mD:D
|
||||
|
||||
mul-double v0, v0, p1
|
||||
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->mC:D
|
||||
|
||||
add-double/2addr v0, v2
|
||||
|
||||
mul-double v0, v0, p1
|
||||
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->mB:D
|
||||
|
||||
add-double/2addr v0, v2
|
||||
|
||||
mul-double v0, v0, p1
|
||||
|
||||
iget-wide p1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->mA:D
|
||||
|
||||
add-double/2addr v0, p1
|
||||
|
||||
return-wide v0
|
||||
.end method
|
||||
|
||||
.method public vel(D)D
|
||||
.locals 6
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->mD:D
|
||||
|
||||
const-wide v2, 0x3fd5555555555555L # 0.3333333333333333
|
||||
|
||||
mul-double v0, v0, v2
|
||||
|
||||
mul-double v0, v0, p1
|
||||
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->mC:D
|
||||
|
||||
const-wide/high16 v4, 0x3fe0000000000000L # 0.5
|
||||
|
||||
mul-double v2, v2, v4
|
||||
|
||||
add-double/2addr v2, v0
|
||||
|
||||
mul-double v2, v2, p1
|
||||
|
||||
iget-wide p1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->mB:D
|
||||
|
||||
add-double/2addr v2, p1
|
||||
|
||||
return-wide v2
|
||||
.end method
|
|
@ -1,784 +0,0 @@
|
|||
.class public Landroidx/constraintlayout/motion/utils/HyperSpline;
|
||||
.super Ljava/lang/Object;
|
||||
.source "HyperSpline.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/MemberClasses;
|
||||
value = {
|
||||
Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public mCtl:[[D
|
||||
|
||||
.field public mCurve:[[Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
.field public mCurveLength:[D
|
||||
|
||||
.field public mDimensionality:I
|
||||
|
||||
.field public mPoints:I
|
||||
|
||||
.field public mTotalLength:D
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>([[D)V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/utils/HyperSpline;->setup([[D)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public static calcNaturalCubic(I[D)[Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
.locals 22
|
||||
|
||||
move/from16 v0, p0
|
||||
|
||||
new-array v1, v0, [D
|
||||
|
||||
new-array v2, v0, [D
|
||||
|
||||
new-array v3, v0, [D
|
||||
|
||||
add-int/lit8 v0, v0, -0x1
|
||||
|
||||
const-wide/high16 v4, 0x3fe0000000000000L # 0.5
|
||||
|
||||
const/4 v6, 0x0
|
||||
|
||||
aput-wide v4, v1, v6
|
||||
|
||||
const/4 v4, 0x1
|
||||
|
||||
const/4 v5, 0x1
|
||||
|
||||
:goto_0
|
||||
const-wide/high16 v7, 0x3ff0000000000000L # 1.0
|
||||
|
||||
if-ge v5, v0, :cond_0
|
||||
|
||||
const-wide/high16 v9, 0x4010000000000000L # 4.0
|
||||
|
||||
add-int/lit8 v11, v5, -0x1
|
||||
|
||||
aget-wide v11, v1, v11
|
||||
|
||||
sub-double/2addr v9, v11
|
||||
|
||||
div-double/2addr v7, v9
|
||||
|
||||
aput-wide v7, v1, v5
|
||||
|
||||
add-int/lit8 v5, v5, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
add-int/lit8 v5, v0, -0x1
|
||||
|
||||
aget-wide v9, v1, v5
|
||||
|
||||
const-wide/high16 v11, 0x4000000000000000L # 2.0
|
||||
|
||||
sub-double v9, v11, v9
|
||||
|
||||
div-double/2addr v7, v9
|
||||
|
||||
aput-wide v7, v1, v0
|
||||
|
||||
aget-wide v7, p1, v4
|
||||
|
||||
aget-wide v9, p1, v6
|
||||
|
||||
sub-double/2addr v7, v9
|
||||
|
||||
const-wide/high16 v9, 0x4008000000000000L # 3.0
|
||||
|
||||
mul-double v7, v7, v9
|
||||
|
||||
aget-wide v13, v1, v6
|
||||
|
||||
mul-double v7, v7, v13
|
||||
|
||||
aput-wide v7, v2, v6
|
||||
|
||||
:goto_1
|
||||
if-ge v4, v0, :cond_1
|
||||
|
||||
add-int/lit8 v7, v4, 0x1
|
||||
|
||||
aget-wide v13, p1, v7
|
||||
|
||||
add-int/lit8 v8, v4, -0x1
|
||||
|
||||
aget-wide v15, p1, v8
|
||||
|
||||
sub-double/2addr v13, v15
|
||||
|
||||
mul-double v13, v13, v9
|
||||
|
||||
aget-wide v15, v2, v8
|
||||
|
||||
sub-double/2addr v13, v15
|
||||
|
||||
aget-wide v15, v1, v4
|
||||
|
||||
mul-double v13, v13, v15
|
||||
|
||||
aput-wide v13, v2, v4
|
||||
|
||||
move v4, v7
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
aget-wide v7, p1, v0
|
||||
|
||||
aget-wide v13, p1, v5
|
||||
|
||||
sub-double/2addr v7, v13
|
||||
|
||||
mul-double v7, v7, v9
|
||||
|
||||
aget-wide v13, v2, v5
|
||||
|
||||
sub-double/2addr v7, v13
|
||||
|
||||
aget-wide v13, v1, v0
|
||||
|
||||
mul-double v7, v7, v13
|
||||
|
||||
aput-wide v7, v2, v0
|
||||
|
||||
aget-wide v7, v2, v0
|
||||
|
||||
aput-wide v7, v3, v0
|
||||
|
||||
:goto_2
|
||||
if-ltz v5, :cond_2
|
||||
|
||||
aget-wide v7, v2, v5
|
||||
|
||||
aget-wide v13, v1, v5
|
||||
|
||||
add-int/lit8 v4, v5, 0x1
|
||||
|
||||
aget-wide v15, v3, v4
|
||||
|
||||
mul-double v13, v13, v15
|
||||
|
||||
sub-double/2addr v7, v13
|
||||
|
||||
aput-wide v7, v3, v5
|
||||
|
||||
add-int/lit8 v5, v5, -0x1
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_2
|
||||
new-array v1, v0, [Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
:goto_3
|
||||
if-ge v6, v0, :cond_3
|
||||
|
||||
new-instance v2, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
aget-wide v4, p1, v6
|
||||
|
||||
double-to-float v4, v4
|
||||
|
||||
float-to-double v14, v4
|
||||
|
||||
aget-wide v16, v3, v6
|
||||
|
||||
add-int/lit8 v4, v6, 0x1
|
||||
|
||||
aget-wide v7, p1, v4
|
||||
|
||||
aget-wide v18, p1, v6
|
||||
|
||||
sub-double v7, v7, v18
|
||||
|
||||
mul-double v7, v7, v9
|
||||
|
||||
aget-wide v18, v3, v6
|
||||
|
||||
mul-double v18, v18, v11
|
||||
|
||||
sub-double v7, v7, v18
|
||||
|
||||
aget-wide v18, v3, v4
|
||||
|
||||
sub-double v18, v7, v18
|
||||
|
||||
aget-wide v7, p1, v6
|
||||
|
||||
aget-wide v20, p1, v4
|
||||
|
||||
sub-double v7, v7, v20
|
||||
|
||||
mul-double v7, v7, v11
|
||||
|
||||
aget-wide v20, v3, v6
|
||||
|
||||
add-double v7, v7, v20
|
||||
|
||||
aget-wide v20, v3, v4
|
||||
|
||||
add-double v20, v7, v20
|
||||
|
||||
move-object v13, v2
|
||||
|
||||
invoke-direct/range {v13 .. v21}, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;-><init>(DDDD)V
|
||||
|
||||
aput-object v2, v1, v6
|
||||
|
||||
move v6, v4
|
||||
|
||||
goto :goto_3
|
||||
|
||||
:cond_3
|
||||
return-object v1
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public approxLength([Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;)D
|
||||
.locals 14
|
||||
|
||||
array-length v0, p1
|
||||
|
||||
array-length v0, p1
|
||||
|
||||
new-array v0, v0, [D
|
||||
|
||||
const-wide/16 v1, 0x0
|
||||
|
||||
move-wide v3, v1
|
||||
|
||||
move-wide v5, v3
|
||||
|
||||
:goto_0
|
||||
const/4 v7, 0x0
|
||||
|
||||
const-wide/high16 v8, 0x3ff0000000000000L # 1.0
|
||||
|
||||
cmpg-double v10, v3, v8
|
||||
|
||||
if-gez v10, :cond_2
|
||||
|
||||
move-wide v8, v1
|
||||
|
||||
:goto_1
|
||||
array-length v10, p1
|
||||
|
||||
if-ge v7, v10, :cond_0
|
||||
|
||||
aget-wide v10, v0, v7
|
||||
|
||||
aget-object v12, p1, v7
|
||||
|
||||
invoke-virtual {v12, v3, v4}, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->eval(D)D
|
||||
|
||||
move-result-wide v12
|
||||
|
||||
aput-wide v12, v0, v7
|
||||
|
||||
sub-double/2addr v10, v12
|
||||
|
||||
mul-double v10, v10, v10
|
||||
|
||||
add-double/2addr v8, v10
|
||||
|
||||
add-int/lit8 v7, v7, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_0
|
||||
cmpl-double v7, v3, v1
|
||||
|
||||
if-lez v7, :cond_1
|
||||
|
||||
invoke-static {v8, v9}, Ljava/lang/Math;->sqrt(D)D
|
||||
|
||||
move-result-wide v7
|
||||
|
||||
add-double/2addr v5, v7
|
||||
|
||||
:cond_1
|
||||
const-wide v7, 0x3fb999999999999aL # 0.1
|
||||
|
||||
add-double/2addr v3, v7
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_2
|
||||
:goto_2
|
||||
array-length v3, p1
|
||||
|
||||
if-ge v7, v3, :cond_3
|
||||
|
||||
aget-wide v3, v0, v7
|
||||
|
||||
aget-object v10, p1, v7
|
||||
|
||||
invoke-virtual {v10, v8, v9}, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->eval(D)D
|
||||
|
||||
move-result-wide v10
|
||||
|
||||
aput-wide v10, v0, v7
|
||||
|
||||
sub-double/2addr v3, v10
|
||||
|
||||
mul-double v3, v3, v3
|
||||
|
||||
add-double/2addr v1, v3
|
||||
|
||||
add-int/lit8 v7, v7, 0x1
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_3
|
||||
invoke-static {v1, v2}, Ljava/lang/Math;->sqrt(D)D
|
||||
|
||||
move-result-wide v0
|
||||
|
||||
add-double/2addr v0, v5
|
||||
|
||||
return-wide v0
|
||||
.end method
|
||||
|
||||
.method public getPos(DI)D
|
||||
.locals 5
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mTotalLength:D
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_0
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurveLength:[D
|
||||
|
||||
array-length v2, v1
|
||||
|
||||
add-int/lit8 v2, v2, -0x1
|
||||
|
||||
if-ge v0, v2, :cond_0
|
||||
|
||||
aget-wide v2, v1, v0
|
||||
|
||||
cmpg-double v4, v2, p1
|
||||
|
||||
if-gez v4, :cond_0
|
||||
|
||||
aget-wide v2, v1, v0
|
||||
|
||||
sub-double/2addr p1, v2
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurve:[[Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
aget-object p3, v1, p3
|
||||
|
||||
aget-object p3, p3, v0
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurveLength:[D
|
||||
|
||||
aget-wide v0, v1, v0
|
||||
|
||||
div-double/2addr p1, v0
|
||||
|
||||
invoke-virtual {p3, p1, p2}, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->eval(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
.end method
|
||||
|
||||
.method public getPos(D[D)V
|
||||
.locals 6
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mTotalLength:D
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
:goto_0
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurveLength:[D
|
||||
|
||||
array-length v3, v2
|
||||
|
||||
add-int/lit8 v3, v3, -0x1
|
||||
|
||||
if-ge v1, v3, :cond_0
|
||||
|
||||
aget-wide v3, v2, v1
|
||||
|
||||
cmpg-double v5, v3, p1
|
||||
|
||||
if-gez v5, :cond_0
|
||||
|
||||
aget-wide v3, v2, v1
|
||||
|
||||
sub-double/2addr p1, v3
|
||||
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
:goto_1
|
||||
array-length v2, p3
|
||||
|
||||
if-ge v0, v2, :cond_1
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurve:[[Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
aget-object v2, v2, v0
|
||||
|
||||
aget-object v2, v2, v1
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurveLength:[D
|
||||
|
||||
aget-wide v4, v3, v1
|
||||
|
||||
div-double v3, p1, v4
|
||||
|
||||
invoke-virtual {v2, v3, v4}, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->eval(D)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
aput-wide v2, p3, v0
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getPos(D[F)V
|
||||
.locals 6
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mTotalLength:D
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
:goto_0
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurveLength:[D
|
||||
|
||||
array-length v3, v2
|
||||
|
||||
add-int/lit8 v3, v3, -0x1
|
||||
|
||||
if-ge v1, v3, :cond_0
|
||||
|
||||
aget-wide v3, v2, v1
|
||||
|
||||
cmpg-double v5, v3, p1
|
||||
|
||||
if-gez v5, :cond_0
|
||||
|
||||
aget-wide v3, v2, v1
|
||||
|
||||
sub-double/2addr p1, v3
|
||||
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
:goto_1
|
||||
array-length v2, p3
|
||||
|
||||
if-ge v0, v2, :cond_1
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurve:[[Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
aget-object v2, v2, v0
|
||||
|
||||
aget-object v2, v2, v1
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurveLength:[D
|
||||
|
||||
aget-wide v4, v3, v1
|
||||
|
||||
div-double v3, p1, v4
|
||||
|
||||
invoke-virtual {v2, v3, v4}, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->eval(D)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
double-to-float v2, v2
|
||||
|
||||
aput v2, p3, v0
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getVelocity(D[D)V
|
||||
.locals 6
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mTotalLength:D
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
:goto_0
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurveLength:[D
|
||||
|
||||
array-length v3, v2
|
||||
|
||||
add-int/lit8 v3, v3, -0x1
|
||||
|
||||
if-ge v1, v3, :cond_0
|
||||
|
||||
aget-wide v3, v2, v1
|
||||
|
||||
cmpg-double v5, v3, p1
|
||||
|
||||
if-gez v5, :cond_0
|
||||
|
||||
aget-wide v3, v2, v1
|
||||
|
||||
sub-double/2addr p1, v3
|
||||
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
:goto_1
|
||||
array-length v2, p3
|
||||
|
||||
if-ge v0, v2, :cond_1
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurve:[[Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
aget-object v2, v2, v0
|
||||
|
||||
aget-object v2, v2, v1
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurveLength:[D
|
||||
|
||||
aget-wide v4, v3, v1
|
||||
|
||||
div-double v3, p1, v4
|
||||
|
||||
invoke-virtual {v2, v3, v4}, Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;->vel(D)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
aput-wide v2, p3, v0
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setup([[D)V
|
||||
.locals 8
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
aget-object v1, p1, v0
|
||||
|
||||
array-length v1, v1
|
||||
|
||||
iput v1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mDimensionality:I
|
||||
|
||||
array-length v2, p1
|
||||
|
||||
iput v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mPoints:I
|
||||
|
||||
const/4 v3, 0x2
|
||||
|
||||
new-array v3, v3, [I
|
||||
|
||||
const/4 v4, 0x1
|
||||
|
||||
aput v2, v3, v4
|
||||
|
||||
aput v1, v3, v0
|
||||
|
||||
const-class v1, D
|
||||
|
||||
invoke-static {v1, v3}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
check-cast v1, [[D
|
||||
|
||||
iput-object v1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCtl:[[D
|
||||
|
||||
iget v1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mDimensionality:I
|
||||
|
||||
new-array v1, v1, [[Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
iput-object v1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurve:[[Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
:goto_0
|
||||
iget v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mDimensionality:I
|
||||
|
||||
if-ge v1, v2, :cond_1
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
:goto_1
|
||||
iget v3, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mPoints:I
|
||||
|
||||
if-ge v2, v3, :cond_0
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCtl:[[D
|
||||
|
||||
aget-object v3, v3, v1
|
||||
|
||||
aget-object v5, p1, v2
|
||||
|
||||
aget-wide v6, v5, v1
|
||||
|
||||
aput-wide v6, v3, v2
|
||||
|
||||
add-int/lit8 v2, v2, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_0
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
const/4 p1, 0x0
|
||||
|
||||
:goto_2
|
||||
iget v1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mDimensionality:I
|
||||
|
||||
if-ge p1, v1, :cond_2
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurve:[[Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCtl:[[D
|
||||
|
||||
aget-object v3, v2, p1
|
||||
|
||||
array-length v3, v3
|
||||
|
||||
aget-object v2, v2, p1
|
||||
|
||||
invoke-static {v3, v2}, Landroidx/constraintlayout/motion/utils/HyperSpline;->calcNaturalCubic(I[D)[Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
move-result-object v2
|
||||
|
||||
aput-object v2, v1, p1
|
||||
|
||||
add-int/lit8 p1, p1, 0x1
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_2
|
||||
iget p1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mPoints:I
|
||||
|
||||
sub-int/2addr p1, v4
|
||||
|
||||
new-array p1, p1, [D
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurveLength:[D
|
||||
|
||||
const-wide/16 v2, 0x0
|
||||
|
||||
iput-wide v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mTotalLength:D
|
||||
|
||||
new-array p1, v1, [Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
:goto_3
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurveLength:[D
|
||||
|
||||
array-length v2, v2
|
||||
|
||||
if-ge v1, v2, :cond_4
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
:goto_4
|
||||
iget v3, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mDimensionality:I
|
||||
|
||||
if-ge v2, v3, :cond_3
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurve:[[Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;
|
||||
|
||||
aget-object v3, v3, v2
|
||||
|
||||
aget-object v3, v3, v1
|
||||
|
||||
aput-object v3, p1, v2
|
||||
|
||||
add-int/lit8 v2, v2, 0x1
|
||||
|
||||
goto :goto_4
|
||||
|
||||
:cond_3
|
||||
iget-wide v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mTotalLength:D
|
||||
|
||||
iget-object v4, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mCurveLength:[D
|
||||
|
||||
invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/utils/HyperSpline;->approxLength([Landroidx/constraintlayout/motion/utils/HyperSpline$Cubic;)D
|
||||
|
||||
move-result-wide v5
|
||||
|
||||
aput-wide v5, v4, v1
|
||||
|
||||
add-double/2addr v2, v5
|
||||
|
||||
iput-wide v2, p0, Landroidx/constraintlayout/motion/utils/HyperSpline;->mTotalLength:D
|
||||
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_3
|
||||
|
||||
:cond_4
|
||||
return-void
|
||||
.end method
|
|
@ -1,893 +0,0 @@
|
|||
.class public Landroidx/constraintlayout/motion/utils/LinearCurveFit;
|
||||
.super Landroidx/constraintlayout/motion/utils/CurveFit;
|
||||
.source "LinearCurveFit.java"
|
||||
|
||||
|
||||
# static fields
|
||||
.field public static final TAG:Ljava/lang/String; = "LinearCurveFit"
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public mT:[D
|
||||
|
||||
.field public mTotalLength:D
|
||||
|
||||
.field public mY:[[D
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>([D[[D)V
|
||||
.locals 13
|
||||
|
||||
invoke-direct {p0}, Landroidx/constraintlayout/motion/utils/CurveFit;-><init>()V
|
||||
|
||||
const-wide/high16 v0, 0x7ff8000000000000L # Double.NaN
|
||||
|
||||
iput-wide v0, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mTotalLength:D
|
||||
|
||||
array-length v0, p1
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
aget-object v1, p2, v0
|
||||
|
||||
array-length v1, v1
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
iput-object p2, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
const/4 v2, 0x2
|
||||
|
||||
if-le v1, v2, :cond_2
|
||||
|
||||
const-wide/16 v1, 0x0
|
||||
|
||||
move-wide v4, v1
|
||||
|
||||
move-wide v6, v4
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
:goto_0
|
||||
array-length v8, p1
|
||||
|
||||
if-ge v3, v8, :cond_1
|
||||
|
||||
aget-object v8, p2, v3
|
||||
|
||||
aget-wide v9, v8, v0
|
||||
|
||||
aget-object v8, p2, v3
|
||||
|
||||
aget-wide v11, v8, v0
|
||||
|
||||
if-lez v3, :cond_0
|
||||
|
||||
sub-double v4, v9, v4
|
||||
|
||||
sub-double v6, v11, v6
|
||||
|
||||
invoke-static {v4, v5, v6, v7}, Ljava/lang/Math;->hypot(DD)D
|
||||
|
||||
:cond_0
|
||||
add-int/lit8 v3, v3, 0x1
|
||||
|
||||
move-wide v4, v9
|
||||
|
||||
move-wide v6, v11
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
iput-wide v1, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mTotalLength:D
|
||||
|
||||
:cond_2
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private getLength2D(D)D
|
||||
.locals 21
|
||||
|
||||
move-object/from16 v0, p0
|
||||
|
||||
iget-wide v1, v0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mTotalLength:D
|
||||
|
||||
invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z
|
||||
|
||||
move-result v1
|
||||
|
||||
const-wide/16 v2, 0x0
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
return-wide v2
|
||||
|
||||
:cond_0
|
||||
iget-object v1, v0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
array-length v4, v1
|
||||
|
||||
const/4 v5, 0x0
|
||||
|
||||
aget-wide v6, v1, v5
|
||||
|
||||
cmpg-double v8, p1, v6
|
||||
|
||||
if-gtz v8, :cond_1
|
||||
|
||||
return-wide v2
|
||||
|
||||
:cond_1
|
||||
const/4 v6, 0x1
|
||||
|
||||
sub-int/2addr v4, v6
|
||||
|
||||
aget-wide v7, v1, v4
|
||||
|
||||
cmpl-double v1, p1, v7
|
||||
|
||||
if-ltz v1, :cond_2
|
||||
|
||||
iget-wide v1, v0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mTotalLength:D
|
||||
|
||||
return-wide v1
|
||||
|
||||
:cond_2
|
||||
move-wide v7, v2
|
||||
|
||||
move-wide v9, v7
|
||||
|
||||
move-wide v11, v9
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
:goto_0
|
||||
if-ge v1, v4, :cond_6
|
||||
|
||||
iget-object v13, v0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object v14, v13, v1
|
||||
|
||||
aget-wide v15, v14, v5
|
||||
|
||||
aget-object v13, v13, v1
|
||||
|
||||
aget-wide v17, v13, v6
|
||||
|
||||
if-lez v1, :cond_3
|
||||
|
||||
sub-double v9, v15, v9
|
||||
|
||||
sub-double v11, v17, v11
|
||||
|
||||
invoke-static {v9, v10, v11, v12}, Ljava/lang/Math;->hypot(DD)D
|
||||
|
||||
move-result-wide v9
|
||||
|
||||
add-double/2addr v7, v9
|
||||
|
||||
:cond_3
|
||||
iget-object v9, v0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
aget-wide v10, v9, v1
|
||||
|
||||
cmpl-double v12, p1, v10
|
||||
|
||||
if-nez v12, :cond_4
|
||||
|
||||
return-wide v7
|
||||
|
||||
:cond_4
|
||||
add-int/lit8 v10, v1, 0x1
|
||||
|
||||
aget-wide v11, v9, v10
|
||||
|
||||
cmpg-double v13, p1, v11
|
||||
|
||||
if-gez v13, :cond_5
|
||||
|
||||
aget-wide v2, v9, v10
|
||||
|
||||
aget-wide v11, v9, v1
|
||||
|
||||
sub-double/2addr v2, v11
|
||||
|
||||
aget-wide v11, v9, v1
|
||||
|
||||
sub-double v11, p1, v11
|
||||
|
||||
div-double/2addr v11, v2
|
||||
|
||||
iget-object v2, v0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object v3, v2, v1
|
||||
|
||||
aget-wide v13, v3, v5
|
||||
|
||||
aget-object v3, v2, v10
|
||||
|
||||
aget-wide v4, v3, v5
|
||||
|
||||
aget-object v1, v2, v1
|
||||
|
||||
aget-wide v19, v1, v6
|
||||
|
||||
aget-object v1, v2, v10
|
||||
|
||||
aget-wide v2, v1, v6
|
||||
|
||||
const-wide/high16 v9, 0x3ff0000000000000L # 1.0
|
||||
|
||||
sub-double/2addr v9, v11
|
||||
|
||||
mul-double v19, v19, v9
|
||||
|
||||
mul-double v2, v2, v11
|
||||
|
||||
add-double v2, v2, v19
|
||||
|
||||
sub-double v1, v17, v2
|
||||
|
||||
mul-double v13, v13, v9
|
||||
|
||||
mul-double v4, v4, v11
|
||||
|
||||
add-double/2addr v4, v13
|
||||
|
||||
sub-double v3, v15, v4
|
||||
|
||||
invoke-static {v1, v2, v3, v4}, Ljava/lang/Math;->hypot(DD)D
|
||||
|
||||
move-result-wide v1
|
||||
|
||||
add-double/2addr v1, v7
|
||||
|
||||
return-wide v1
|
||||
|
||||
:cond_5
|
||||
move v1, v10
|
||||
|
||||
move-wide v9, v15
|
||||
|
||||
move-wide/from16 v11, v17
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_6
|
||||
return-wide v2
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public getPos(DI)D
|
||||
.locals 8
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
array-length v1, v0
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
aget-wide v3, v0, v2
|
||||
|
||||
cmpg-double v5, p1, v3
|
||||
|
||||
if-gtz v5, :cond_0
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object p1, p1, v2
|
||||
|
||||
aget-wide p2, p1, p3
|
||||
|
||||
return-wide p2
|
||||
|
||||
:cond_0
|
||||
add-int/lit8 v1, v1, -0x1
|
||||
|
||||
aget-wide v3, v0, v1
|
||||
|
||||
cmpl-double v0, p1, v3
|
||||
|
||||
if-ltz v0, :cond_1
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object p1, p1, v1
|
||||
|
||||
aget-wide p2, p1, p3
|
||||
|
||||
return-wide p2
|
||||
|
||||
:cond_1
|
||||
:goto_0
|
||||
if-ge v2, v1, :cond_4
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
aget-wide v3, v0, v2
|
||||
|
||||
cmpl-double v5, p1, v3
|
||||
|
||||
if-nez v5, :cond_2
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object p1, p1, v2
|
||||
|
||||
aget-wide p2, p1, p3
|
||||
|
||||
return-wide p2
|
||||
|
||||
:cond_2
|
||||
add-int/lit8 v3, v2, 0x1
|
||||
|
||||
aget-wide v4, v0, v3
|
||||
|
||||
cmpg-double v6, p1, v4
|
||||
|
||||
if-gez v6, :cond_3
|
||||
|
||||
aget-wide v4, v0, v3
|
||||
|
||||
aget-wide v6, v0, v2
|
||||
|
||||
sub-double/2addr v4, v6
|
||||
|
||||
aget-wide v6, v0, v2
|
||||
|
||||
sub-double/2addr p1, v6
|
||||
|
||||
div-double/2addr p1, v4
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object v1, v0, v2
|
||||
|
||||
aget-wide v4, v1, p3
|
||||
|
||||
aget-object v0, v0, v3
|
||||
|
||||
aget-wide v1, v0, p3
|
||||
|
||||
const-wide/high16 v6, 0x3ff0000000000000L # 1.0
|
||||
|
||||
sub-double/2addr v6, p1
|
||||
|
||||
mul-double v6, v6, v4
|
||||
|
||||
mul-double v1, v1, p1
|
||||
|
||||
add-double/2addr v1, v6
|
||||
|
||||
return-wide v1
|
||||
|
||||
:cond_3
|
||||
move v2, v3
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_4
|
||||
const-wide/16 p1, 0x0
|
||||
|
||||
return-wide p1
|
||||
.end method
|
||||
|
||||
.method public getPos(D[D)V
|
||||
.locals 12
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
array-length v1, v0
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
aget-object v2, v2, v3
|
||||
|
||||
array-length v2, v2
|
||||
|
||||
aget-wide v4, v0, v3
|
||||
|
||||
cmpg-double v6, p1, v4
|
||||
|
||||
if-gtz v6, :cond_1
|
||||
|
||||
const/4 p1, 0x0
|
||||
|
||||
:goto_0
|
||||
if-ge p1, v2, :cond_0
|
||||
|
||||
iget-object p2, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object p2, p2, v3
|
||||
|
||||
aget-wide v0, p2, p1
|
||||
|
||||
aput-wide v0, p3, p1
|
||||
|
||||
add-int/lit8 p1, p1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
|
||||
:cond_1
|
||||
add-int/lit8 v1, v1, -0x1
|
||||
|
||||
aget-wide v4, v0, v1
|
||||
|
||||
cmpl-double v0, p1, v4
|
||||
|
||||
if-ltz v0, :cond_3
|
||||
|
||||
:goto_1
|
||||
if-ge v3, v2, :cond_2
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object p1, p1, v1
|
||||
|
||||
aget-wide v4, p1, v3
|
||||
|
||||
aput-wide v4, p3, v3
|
||||
|
||||
add-int/lit8 v3, v3, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_2
|
||||
return-void
|
||||
|
||||
:cond_3
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_2
|
||||
if-ge v0, v1, :cond_7
|
||||
|
||||
iget-object v4, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
aget-wide v5, v4, v0
|
||||
|
||||
cmpl-double v4, p1, v5
|
||||
|
||||
if-nez v4, :cond_4
|
||||
|
||||
const/4 v4, 0x0
|
||||
|
||||
:goto_3
|
||||
if-ge v4, v2, :cond_4
|
||||
|
||||
iget-object v5, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object v5, v5, v0
|
||||
|
||||
aget-wide v6, v5, v4
|
||||
|
||||
aput-wide v6, p3, v4
|
||||
|
||||
add-int/lit8 v4, v4, 0x1
|
||||
|
||||
goto :goto_3
|
||||
|
||||
:cond_4
|
||||
iget-object v4, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
add-int/lit8 v5, v0, 0x1
|
||||
|
||||
aget-wide v6, v4, v5
|
||||
|
||||
cmpg-double v8, p1, v6
|
||||
|
||||
if-gez v8, :cond_6
|
||||
|
||||
aget-wide v6, v4, v5
|
||||
|
||||
aget-wide v8, v4, v0
|
||||
|
||||
sub-double/2addr v6, v8
|
||||
|
||||
aget-wide v8, v4, v0
|
||||
|
||||
sub-double/2addr p1, v8
|
||||
|
||||
div-double/2addr p1, v6
|
||||
|
||||
:goto_4
|
||||
if-ge v3, v2, :cond_5
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object v4, v1, v0
|
||||
|
||||
aget-wide v6, v4, v3
|
||||
|
||||
aget-object v1, v1, v5
|
||||
|
||||
aget-wide v8, v1, v3
|
||||
|
||||
const-wide/high16 v10, 0x3ff0000000000000L # 1.0
|
||||
|
||||
sub-double/2addr v10, p1
|
||||
|
||||
mul-double v10, v10, v6
|
||||
|
||||
mul-double v8, v8, p1
|
||||
|
||||
add-double/2addr v8, v10
|
||||
|
||||
aput-wide v8, p3, v3
|
||||
|
||||
add-int/lit8 v3, v3, 0x1
|
||||
|
||||
goto :goto_4
|
||||
|
||||
:cond_5
|
||||
return-void
|
||||
|
||||
:cond_6
|
||||
move v0, v5
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_7
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getPos(D[F)V
|
||||
.locals 12
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
array-length v1, v0
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
aget-object v2, v2, v3
|
||||
|
||||
array-length v2, v2
|
||||
|
||||
aget-wide v4, v0, v3
|
||||
|
||||
cmpg-double v6, p1, v4
|
||||
|
||||
if-gtz v6, :cond_1
|
||||
|
||||
const/4 p1, 0x0
|
||||
|
||||
:goto_0
|
||||
if-ge p1, v2, :cond_0
|
||||
|
||||
iget-object p2, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object p2, p2, v3
|
||||
|
||||
aget-wide v0, p2, p1
|
||||
|
||||
double-to-float p2, v0
|
||||
|
||||
aput p2, p3, p1
|
||||
|
||||
add-int/lit8 p1, p1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
|
||||
:cond_1
|
||||
add-int/lit8 v1, v1, -0x1
|
||||
|
||||
aget-wide v4, v0, v1
|
||||
|
||||
cmpl-double v0, p1, v4
|
||||
|
||||
if-ltz v0, :cond_3
|
||||
|
||||
:goto_1
|
||||
if-ge v3, v2, :cond_2
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object p1, p1, v1
|
||||
|
||||
aget-wide v4, p1, v3
|
||||
|
||||
double-to-float p1, v4
|
||||
|
||||
aput p1, p3, v3
|
||||
|
||||
add-int/lit8 v3, v3, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_2
|
||||
return-void
|
||||
|
||||
:cond_3
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_2
|
||||
if-ge v0, v1, :cond_7
|
||||
|
||||
iget-object v4, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
aget-wide v5, v4, v0
|
||||
|
||||
cmpl-double v4, p1, v5
|
||||
|
||||
if-nez v4, :cond_4
|
||||
|
||||
const/4 v4, 0x0
|
||||
|
||||
:goto_3
|
||||
if-ge v4, v2, :cond_4
|
||||
|
||||
iget-object v5, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object v5, v5, v0
|
||||
|
||||
aget-wide v6, v5, v4
|
||||
|
||||
double-to-float v5, v6
|
||||
|
||||
aput v5, p3, v4
|
||||
|
||||
add-int/lit8 v4, v4, 0x1
|
||||
|
||||
goto :goto_3
|
||||
|
||||
:cond_4
|
||||
iget-object v4, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
add-int/lit8 v5, v0, 0x1
|
||||
|
||||
aget-wide v6, v4, v5
|
||||
|
||||
cmpg-double v8, p1, v6
|
||||
|
||||
if-gez v8, :cond_6
|
||||
|
||||
aget-wide v6, v4, v5
|
||||
|
||||
aget-wide v8, v4, v0
|
||||
|
||||
sub-double/2addr v6, v8
|
||||
|
||||
aget-wide v8, v4, v0
|
||||
|
||||
sub-double/2addr p1, v8
|
||||
|
||||
div-double/2addr p1, v6
|
||||
|
||||
:goto_4
|
||||
if-ge v3, v2, :cond_5
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object v4, v1, v0
|
||||
|
||||
aget-wide v6, v4, v3
|
||||
|
||||
aget-object v1, v1, v5
|
||||
|
||||
aget-wide v8, v1, v3
|
||||
|
||||
const-wide/high16 v10, 0x3ff0000000000000L # 1.0
|
||||
|
||||
sub-double/2addr v10, p1
|
||||
|
||||
mul-double v10, v10, v6
|
||||
|
||||
mul-double v8, v8, p1
|
||||
|
||||
add-double/2addr v8, v10
|
||||
|
||||
double-to-float v1, v8
|
||||
|
||||
aput v1, p3, v3
|
||||
|
||||
add-int/lit8 v3, v3, 0x1
|
||||
|
||||
goto :goto_4
|
||||
|
||||
:cond_5
|
||||
return-void
|
||||
|
||||
:cond_6
|
||||
move v0, v5
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_7
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getSlope(DI)D
|
||||
.locals 7
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
array-length v1, v0
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
aget-wide v3, v0, v2
|
||||
|
||||
cmpg-double v5, p1, v3
|
||||
|
||||
if-gez v5, :cond_0
|
||||
|
||||
aget-wide p1, v0, v2
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
add-int/lit8 v3, v1, -0x1
|
||||
|
||||
aget-wide v4, v0, v3
|
||||
|
||||
cmpl-double v6, p1, v4
|
||||
|
||||
if-ltz v6, :cond_1
|
||||
|
||||
aget-wide p1, v0, v3
|
||||
|
||||
:cond_1
|
||||
:goto_0
|
||||
add-int/lit8 v0, v1, -0x1
|
||||
|
||||
if-ge v2, v0, :cond_3
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
add-int/lit8 v3, v2, 0x1
|
||||
|
||||
aget-wide v4, v0, v3
|
||||
|
||||
cmpg-double v6, p1, v4
|
||||
|
||||
if-gtz v6, :cond_2
|
||||
|
||||
aget-wide p1, v0, v3
|
||||
|
||||
aget-wide v4, v0, v2
|
||||
|
||||
sub-double/2addr p1, v4
|
||||
|
||||
aget-wide v4, v0, v2
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object v1, v0, v2
|
||||
|
||||
aget-wide v4, v1, p3
|
||||
|
||||
aget-object v0, v0, v3
|
||||
|
||||
aget-wide v1, v0, p3
|
||||
|
||||
sub-double/2addr v1, v4
|
||||
|
||||
div-double/2addr v1, p1
|
||||
|
||||
return-wide v1
|
||||
|
||||
:cond_2
|
||||
move v2, v3
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_3
|
||||
const-wide/16 p1, 0x0
|
||||
|
||||
return-wide p1
|
||||
.end method
|
||||
|
||||
.method public getSlope(D[D)V
|
||||
.locals 10
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
array-length v1, v0
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
aget-object v2, v2, v3
|
||||
|
||||
array-length v2, v2
|
||||
|
||||
aget-wide v4, v0, v3
|
||||
|
||||
cmpg-double v6, p1, v4
|
||||
|
||||
if-gtz v6, :cond_0
|
||||
|
||||
aget-wide p1, v0, v3
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
add-int/lit8 v4, v1, -0x1
|
||||
|
||||
aget-wide v5, v0, v4
|
||||
|
||||
cmpl-double v7, p1, v5
|
||||
|
||||
if-ltz v7, :cond_1
|
||||
|
||||
aget-wide p1, v0, v4
|
||||
|
||||
:cond_1
|
||||
:goto_0
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_1
|
||||
add-int/lit8 v4, v1, -0x1
|
||||
|
||||
if-ge v0, v4, :cond_3
|
||||
|
||||
iget-object v4, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
add-int/lit8 v5, v0, 0x1
|
||||
|
||||
aget-wide v6, v4, v5
|
||||
|
||||
cmpg-double v8, p1, v6
|
||||
|
||||
if-gtz v8, :cond_2
|
||||
|
||||
aget-wide p1, v4, v5
|
||||
|
||||
aget-wide v6, v4, v0
|
||||
|
||||
sub-double/2addr p1, v6
|
||||
|
||||
aget-wide v6, v4, v0
|
||||
|
||||
:goto_2
|
||||
if-ge v3, v2, :cond_3
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mY:[[D
|
||||
|
||||
aget-object v4, v1, v0
|
||||
|
||||
aget-wide v6, v4, v3
|
||||
|
||||
aget-object v1, v1, v5
|
||||
|
||||
aget-wide v8, v1, v3
|
||||
|
||||
sub-double/2addr v8, v6
|
||||
|
||||
div-double/2addr v8, p1
|
||||
|
||||
aput-wide v8, p3, v3
|
||||
|
||||
add-int/lit8 v3, v3, 0x1
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_2
|
||||
move v0, v5
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_3
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getTimePoints()[D
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/LinearCurveFit;->mT:[D
|
||||
|
||||
return-object v0
|
||||
.end method
|
File diff suppressed because it is too large
Load diff
|
@ -1,814 +0,0 @@
|
|||
.class public Landroidx/constraintlayout/motion/utils/Oscillator;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Oscillator.java"
|
||||
|
||||
|
||||
# static fields
|
||||
.field public static final BOUNCE:I = 0x6
|
||||
|
||||
.field public static final COS_WAVE:I = 0x5
|
||||
|
||||
.field public static final REVERSE_SAW_WAVE:I = 0x4
|
||||
|
||||
.field public static final SAW_WAVE:I = 0x3
|
||||
|
||||
.field public static final SIN_WAVE:I = 0x0
|
||||
|
||||
.field public static final SQUARE_WAVE:I = 0x1
|
||||
|
||||
.field public static TAG:Ljava/lang/String; = "Oscillator"
|
||||
|
||||
.field public static final TRIANGLE_WAVE:I = 0x2
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public PI2:D
|
||||
|
||||
.field public mArea:[D
|
||||
|
||||
.field public mNormalized:Z
|
||||
|
||||
.field public mPeriod:[F
|
||||
|
||||
.field public mPosition:[D
|
||||
|
||||
.field public mType:I
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 3
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
new-array v1, v0, [F
|
||||
|
||||
iput-object v1, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
new-array v1, v0, [D
|
||||
|
||||
iput-object v1, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
const-wide v1, 0x401921fb54442d18L # 6.283185307179586
|
||||
|
||||
iput-wide v1, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->PI2:D
|
||||
|
||||
iput-boolean v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mNormalized:Z
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public addPoint(DF)V
|
||||
.locals 4
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
array-length v0, v0
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
invoke-static {v1, p1, p2}, Ljava/util/Arrays;->binarySearch([DD)I
|
||||
|
||||
move-result v1
|
||||
|
||||
if-gez v1, :cond_0
|
||||
|
||||
neg-int v1, v1
|
||||
|
||||
add-int/lit8 v1, v1, -0x1
|
||||
|
||||
:cond_0
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
invoke-static {v2, v0}, Ljava/util/Arrays;->copyOf([DI)[D
|
||||
|
||||
move-result-object v2
|
||||
|
||||
iput-object v2, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
invoke-static {v2, v0}, Ljava/util/Arrays;->copyOf([FI)[F
|
||||
|
||||
move-result-object v2
|
||||
|
||||
iput-object v2, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
new-array v2, v0, [D
|
||||
|
||||
iput-object v2, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mArea:[D
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
add-int/lit8 v3, v1, 0x1
|
||||
|
||||
sub-int/2addr v0, v1
|
||||
|
||||
add-int/lit8 v0, v0, -0x1
|
||||
|
||||
invoke-static {v2, v1, v2, v3, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
aput-wide p1, v0, v1
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
aput p3, p1, v1
|
||||
|
||||
const/4 p1, 0x0
|
||||
|
||||
iput-boolean p1, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mNormalized:Z
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getDP(D)D
|
||||
.locals 10
|
||||
|
||||
const-wide/16 v0, 0x0
|
||||
|
||||
cmpg-double v2, p1, v0
|
||||
|
||||
if-gtz v2, :cond_0
|
||||
|
||||
const-wide p1, 0x3ee4f8b588e368f1L # 1.0E-5
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
const-wide/high16 v2, 0x3ff0000000000000L # 1.0
|
||||
|
||||
cmpl-double v4, p1, v2
|
||||
|
||||
if-ltz v4, :cond_1
|
||||
|
||||
const-wide p1, 0x3feffffde7210be9L # 0.999999
|
||||
|
||||
:cond_1
|
||||
:goto_0
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
invoke-static {v2, p1, p2}, Ljava/util/Arrays;->binarySearch([DD)I
|
||||
|
||||
move-result v2
|
||||
|
||||
if-lez v2, :cond_2
|
||||
|
||||
return-wide v0
|
||||
|
||||
:cond_2
|
||||
if-eqz v2, :cond_3
|
||||
|
||||
neg-int v0, v2
|
||||
|
||||
add-int/lit8 v0, v0, -0x1
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
aget v2, v1, v0
|
||||
|
||||
add-int/lit8 v3, v0, -0x1
|
||||
|
||||
aget v4, v1, v3
|
||||
|
||||
sub-float/2addr v2, v4
|
||||
|
||||
float-to-double v4, v2
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
aget-wide v6, v2, v0
|
||||
|
||||
aget-wide v8, v2, v3
|
||||
|
||||
sub-double/2addr v6, v8
|
||||
|
||||
div-double/2addr v4, v6
|
||||
|
||||
mul-double p1, p1, v4
|
||||
|
||||
aget v0, v1, v3
|
||||
|
||||
float-to-double v0, v0
|
||||
|
||||
aget-wide v6, v2, v3
|
||||
|
||||
mul-double v4, v4, v6
|
||||
|
||||
sub-double/2addr v0, v4
|
||||
|
||||
add-double/2addr v0, p1
|
||||
|
||||
:cond_3
|
||||
return-wide v0
|
||||
.end method
|
||||
|
||||
.method public getP(D)D
|
||||
.locals 10
|
||||
|
||||
const-wide/high16 v0, 0x3ff0000000000000L # 1.0
|
||||
|
||||
const-wide/16 v2, 0x0
|
||||
|
||||
cmpg-double v4, p1, v2
|
||||
|
||||
if-gez v4, :cond_0
|
||||
|
||||
move-wide p1, v2
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
cmpl-double v4, p1, v0
|
||||
|
||||
if-lez v4, :cond_1
|
||||
|
||||
move-wide p1, v0
|
||||
|
||||
:cond_1
|
||||
:goto_0
|
||||
iget-object v4, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
invoke-static {v4, p1, p2}, Ljava/util/Arrays;->binarySearch([DD)I
|
||||
|
||||
move-result v4
|
||||
|
||||
if-lez v4, :cond_2
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_2
|
||||
if-eqz v4, :cond_3
|
||||
|
||||
neg-int v0, v4
|
||||
|
||||
add-int/lit8 v0, v0, -0x1
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
aget v2, v1, v0
|
||||
|
||||
add-int/lit8 v3, v0, -0x1
|
||||
|
||||
aget v4, v1, v3
|
||||
|
||||
sub-float/2addr v2, v4
|
||||
|
||||
float-to-double v4, v2
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
aget-wide v6, v2, v0
|
||||
|
||||
aget-wide v8, v2, v3
|
||||
|
||||
sub-double/2addr v6, v8
|
||||
|
||||
div-double/2addr v4, v6
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mArea:[D
|
||||
|
||||
aget-wide v6, v0, v3
|
||||
|
||||
aget v0, v1, v3
|
||||
|
||||
float-to-double v0, v0
|
||||
|
||||
aget-wide v8, v2, v3
|
||||
|
||||
mul-double v8, v8, v4
|
||||
|
||||
sub-double/2addr v0, v8
|
||||
|
||||
aget-wide v8, v2, v3
|
||||
|
||||
sub-double v8, p1, v8
|
||||
|
||||
mul-double v8, v8, v0
|
||||
|
||||
add-double/2addr v8, v6
|
||||
|
||||
mul-double p1, p1, p1
|
||||
|
||||
aget-wide v0, v2, v3
|
||||
|
||||
aget-wide v6, v2, v3
|
||||
|
||||
mul-double v0, v0, v6
|
||||
|
||||
sub-double/2addr p1, v0
|
||||
|
||||
mul-double p1, p1, v4
|
||||
|
||||
const-wide/high16 v0, 0x4000000000000000L # 2.0
|
||||
|
||||
div-double/2addr p1, v0
|
||||
|
||||
add-double v0, p1, v8
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_3
|
||||
move-wide v0, v2
|
||||
|
||||
:goto_1
|
||||
return-wide v0
|
||||
.end method
|
||||
|
||||
.method public getSlope(D)D
|
||||
.locals 9
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mType:I
|
||||
|
||||
const-wide/high16 v1, 0x4000000000000000L # 2.0
|
||||
|
||||
const-wide/high16 v3, 0x4010000000000000L # 4.0
|
||||
|
||||
packed-switch v0, :pswitch_data_0
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->PI2:D
|
||||
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getDP(D)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
mul-double v2, v2, v0
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->PI2:D
|
||||
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
invoke-static {p1, p2}, Ljava/lang/Math;->cos(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v2
|
||||
|
||||
return-wide p1
|
||||
|
||||
:pswitch_0
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getDP(D)D
|
||||
|
||||
move-result-wide v5
|
||||
|
||||
mul-double v5, v5, v3
|
||||
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v3
|
||||
|
||||
add-double/2addr p1, v1
|
||||
|
||||
rem-double/2addr p1, v3
|
||||
|
||||
sub-double/2addr p1, v1
|
||||
|
||||
mul-double p1, p1, v5
|
||||
|
||||
return-wide p1
|
||||
|
||||
:pswitch_1
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->PI2:D
|
||||
|
||||
neg-double v0, v0
|
||||
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getDP(D)D
|
||||
|
||||
move-result-wide v2
|
||||
|
||||
mul-double v2, v2, v0
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->PI2:D
|
||||
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
invoke-static {p1, p2}, Ljava/lang/Math;->sin(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v2
|
||||
|
||||
return-wide p1
|
||||
|
||||
:pswitch_2
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getDP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
neg-double p1, p1
|
||||
|
||||
mul-double p1, p1, v1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:pswitch_3
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getDP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:pswitch_4
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getDP(D)D
|
||||
|
||||
move-result-wide v5
|
||||
|
||||
mul-double v5, v5, v3
|
||||
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v3
|
||||
|
||||
const-wide/high16 v7, 0x4008000000000000L # 3.0
|
||||
|
||||
add-double/2addr p1, v7
|
||||
|
||||
rem-double/2addr p1, v3
|
||||
|
||||
sub-double/2addr p1, v1
|
||||
|
||||
invoke-static {p1, p2}, Ljava/lang/Math;->signum(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v5
|
||||
|
||||
return-wide p1
|
||||
|
||||
:pswitch_5
|
||||
const-wide/16 p1, 0x0
|
||||
|
||||
return-wide p1
|
||||
|
||||
:pswitch_data_0
|
||||
.packed-switch 0x1
|
||||
:pswitch_5
|
||||
:pswitch_4
|
||||
:pswitch_3
|
||||
:pswitch_2
|
||||
:pswitch_1
|
||||
:pswitch_0
|
||||
.end packed-switch
|
||||
.end method
|
||||
|
||||
.method public getValue(D)D
|
||||
.locals 7
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mType:I
|
||||
|
||||
const-wide/high16 v1, 0x4010000000000000L # 4.0
|
||||
|
||||
const-wide/high16 v3, 0x4000000000000000L # 2.0
|
||||
|
||||
const-wide/high16 v5, 0x3ff0000000000000L # 1.0
|
||||
|
||||
packed-switch v0, :pswitch_data_0
|
||||
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->PI2:D
|
||||
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
invoke-static {p1, p2}, Ljava/lang/Math;->sin(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:pswitch_0
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v1
|
||||
|
||||
rem-double/2addr p1, v1
|
||||
|
||||
sub-double/2addr p1, v3
|
||||
|
||||
invoke-static {p1, p2}, Ljava/lang/Math;->abs(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
sub-double p1, v5, p1
|
||||
|
||||
mul-double p1, p1, p1
|
||||
|
||||
:goto_0
|
||||
sub-double/2addr v5, p1
|
||||
|
||||
return-wide v5
|
||||
|
||||
:pswitch_1
|
||||
iget-wide v0, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->PI2:D
|
||||
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v0
|
||||
|
||||
invoke-static {p1, p2}, Ljava/lang/Math;->cos(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
|
||||
:pswitch_2
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v3
|
||||
|
||||
add-double/2addr p1, v5
|
||||
|
||||
rem-double/2addr p1, v3
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:pswitch_3
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v3
|
||||
|
||||
add-double/2addr p1, v5
|
||||
|
||||
rem-double/2addr p1, v3
|
||||
|
||||
sub-double/2addr p1, v5
|
||||
|
||||
return-wide p1
|
||||
|
||||
:pswitch_4
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
mul-double p1, p1, v1
|
||||
|
||||
add-double/2addr p1, v5
|
||||
|
||||
rem-double/2addr p1, v1
|
||||
|
||||
sub-double/2addr p1, v3
|
||||
|
||||
invoke-static {p1, p2}, Ljava/lang/Math;->abs(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:pswitch_5
|
||||
const-wide/high16 v0, 0x3fe0000000000000L # 0.5
|
||||
|
||||
invoke-virtual {p0, p1, p2}, Landroidx/constraintlayout/motion/utils/Oscillator;->getP(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
rem-double/2addr p1, v5
|
||||
|
||||
sub-double/2addr v0, p1
|
||||
|
||||
invoke-static {v0, v1}, Ljava/lang/Math;->signum(D)D
|
||||
|
||||
move-result-wide p1
|
||||
|
||||
return-wide p1
|
||||
|
||||
nop
|
||||
|
||||
:pswitch_data_0
|
||||
.packed-switch 0x1
|
||||
:pswitch_5
|
||||
:pswitch_4
|
||||
:pswitch_3
|
||||
:pswitch_2
|
||||
:pswitch_1
|
||||
:pswitch_0
|
||||
.end packed-switch
|
||||
.end method
|
||||
|
||||
.method public normalize()V
|
||||
.locals 17
|
||||
|
||||
move-object/from16 v0, p0
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
const-wide/16 v2, 0x0
|
||||
|
||||
move-wide v5, v2
|
||||
|
||||
const/4 v4, 0x0
|
||||
|
||||
:goto_0
|
||||
iget-object v7, v0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
array-length v8, v7
|
||||
|
||||
if-ge v4, v8, :cond_0
|
||||
|
||||
aget v7, v7, v4
|
||||
|
||||
float-to-double v7, v7
|
||||
|
||||
add-double/2addr v5, v7
|
||||
|
||||
add-int/lit8 v4, v4, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
const/4 v4, 0x1
|
||||
|
||||
move-wide v8, v2
|
||||
|
||||
const/4 v7, 0x1
|
||||
|
||||
:goto_1
|
||||
iget-object v10, v0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
array-length v11, v10
|
||||
|
||||
const/high16 v12, 0x40000000 # 2.0f
|
||||
|
||||
if-ge v7, v11, :cond_1
|
||||
|
||||
add-int/lit8 v11, v7, -0x1
|
||||
|
||||
aget v13, v10, v11
|
||||
|
||||
aget v10, v10, v7
|
||||
|
||||
add-float/2addr v13, v10
|
||||
|
||||
div-float/2addr v13, v12
|
||||
|
||||
iget-object v10, v0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
aget-wide v14, v10, v7
|
||||
|
||||
aget-wide v11, v10, v11
|
||||
|
||||
sub-double/2addr v14, v11
|
||||
|
||||
float-to-double v10, v13
|
||||
|
||||
mul-double v14, v14, v10
|
||||
|
||||
add-double/2addr v8, v14
|
||||
|
||||
add-int/lit8 v7, v7, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
const/4 v7, 0x0
|
||||
|
||||
:goto_2
|
||||
iget-object v10, v0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
array-length v11, v10
|
||||
|
||||
if-ge v7, v11, :cond_2
|
||||
|
||||
aget v11, v10, v7
|
||||
|
||||
float-to-double v13, v11
|
||||
|
||||
div-double v15, v5, v8
|
||||
|
||||
mul-double v13, v13, v15
|
||||
|
||||
double-to-float v11, v13
|
||||
|
||||
aput v11, v10, v7
|
||||
|
||||
add-int/lit8 v7, v7, 0x1
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_2
|
||||
iget-object v5, v0, Landroidx/constraintlayout/motion/utils/Oscillator;->mArea:[D
|
||||
|
||||
aput-wide v2, v5, v1
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
:goto_3
|
||||
iget-object v2, v0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
array-length v3, v2
|
||||
|
||||
if-ge v1, v3, :cond_3
|
||||
|
||||
add-int/lit8 v3, v1, -0x1
|
||||
|
||||
aget v5, v2, v3
|
||||
|
||||
aget v2, v2, v1
|
||||
|
||||
add-float/2addr v5, v2
|
||||
|
||||
div-float/2addr v5, v12
|
||||
|
||||
iget-object v2, v0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
aget-wide v6, v2, v1
|
||||
|
||||
aget-wide v8, v2, v3
|
||||
|
||||
sub-double/2addr v6, v8
|
||||
|
||||
iget-object v2, v0, Landroidx/constraintlayout/motion/utils/Oscillator;->mArea:[D
|
||||
|
||||
aget-wide v8, v2, v3
|
||||
|
||||
float-to-double v10, v5
|
||||
|
||||
mul-double v6, v6, v10
|
||||
|
||||
add-double/2addr v6, v8
|
||||
|
||||
aput-wide v6, v2, v1
|
||||
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_3
|
||||
|
||||
:cond_3
|
||||
iput-boolean v4, v0, Landroidx/constraintlayout/motion/utils/Oscillator;->mNormalized:Z
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setType(I)V
|
||||
.locals 0
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mType:I
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public toString()Ljava/lang/String;
|
||||
.locals 2
|
||||
|
||||
const-string v0, "pos ="
|
||||
|
||||
invoke-static {v0}, Lf/e/c/a/a;->E(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPosition:[D
|
||||
|
||||
invoke-static {v1}, Ljava/util/Arrays;->toString([D)Ljava/lang/String;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string v1, " period="
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/Oscillator;->mPeriod:[F
|
||||
|
||||
invoke-static {v1}, Ljava/util/Arrays;->toString([F)Ljava/lang/String;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
|
@ -1,979 +0,0 @@
|
|||
.class public Landroidx/constraintlayout/motion/utils/StopLogic;
|
||||
.super Landroidx/constraintlayout/motion/widget/MotionInterpolator;
|
||||
.source "StopLogic.java"
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public mBackwards:Z
|
||||
|
||||
.field public mLastPosition:F
|
||||
|
||||
.field public mNumberOfStages:I
|
||||
|
||||
.field public mStage1Duration:F
|
||||
|
||||
.field public mStage1EndPosition:F
|
||||
|
||||
.field public mStage1Velocity:F
|
||||
|
||||
.field public mStage2Duration:F
|
||||
|
||||
.field public mStage2EndPosition:F
|
||||
|
||||
.field public mStage2Velocity:F
|
||||
|
||||
.field public mStage3Duration:F
|
||||
|
||||
.field public mStage3EndPosition:F
|
||||
|
||||
.field public mStage3Velocity:F
|
||||
|
||||
.field public mStartPosition:F
|
||||
|
||||
.field public mType:Ljava/lang/String;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/MotionInterpolator;-><init>()V
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-boolean v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mBackwards:Z
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private calcY(F)F
|
||||
.locals 5
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Duration:F
|
||||
|
||||
const/high16 v1, 0x40000000 # 2.0f
|
||||
|
||||
cmpg-float v2, p1, v0
|
||||
|
||||
if-gtz v2, :cond_0
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Velocity:F
|
||||
|
||||
mul-float v3, v2, p1
|
||||
|
||||
iget v4, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Velocity:F
|
||||
|
||||
sub-float/2addr v4, v2
|
||||
|
||||
mul-float v4, v4, p1
|
||||
|
||||
mul-float v4, v4, p1
|
||||
|
||||
mul-float v0, v0, v1
|
||||
|
||||
div-float/2addr v4, v0
|
||||
|
||||
add-float/2addr v4, v3
|
||||
|
||||
return v4
|
||||
|
||||
:cond_0
|
||||
iget v2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
const/4 v3, 0x1
|
||||
|
||||
if-ne v2, v3, :cond_1
|
||||
|
||||
iget p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1EndPosition:F
|
||||
|
||||
return p1
|
||||
|
||||
:cond_1
|
||||
sub-float/2addr p1, v0
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Duration:F
|
||||
|
||||
cmpg-float v3, p1, v0
|
||||
|
||||
if-gez v3, :cond_2
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1EndPosition:F
|
||||
|
||||
iget v3, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Velocity:F
|
||||
|
||||
mul-float v4, v3, p1
|
||||
|
||||
add-float/2addr v4, v2
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Velocity:F
|
||||
|
||||
sub-float/2addr v2, v3
|
||||
|
||||
mul-float v2, v2, p1
|
||||
|
||||
mul-float v2, v2, p1
|
||||
|
||||
mul-float v0, v0, v1
|
||||
|
||||
div-float/2addr v2, v0
|
||||
|
||||
add-float/2addr v2, v4
|
||||
|
||||
return v2
|
||||
|
||||
:cond_2
|
||||
const/4 v3, 0x2
|
||||
|
||||
if-ne v2, v3, :cond_3
|
||||
|
||||
iget p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2EndPosition:F
|
||||
|
||||
return p1
|
||||
|
||||
:cond_3
|
||||
sub-float/2addr p1, v0
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Duration:F
|
||||
|
||||
cmpg-float v2, p1, v0
|
||||
|
||||
if-gez v2, :cond_4
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2EndPosition:F
|
||||
|
||||
iget v3, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Velocity:F
|
||||
|
||||
mul-float v4, v3, p1
|
||||
|
||||
add-float/2addr v4, v2
|
||||
|
||||
mul-float v3, v3, p1
|
||||
|
||||
mul-float v3, v3, p1
|
||||
|
||||
mul-float v0, v0, v1
|
||||
|
||||
div-float/2addr v3, v0
|
||||
|
||||
sub-float/2addr v4, v3
|
||||
|
||||
return v4
|
||||
|
||||
:cond_4
|
||||
iget p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3EndPosition:F
|
||||
|
||||
return p1
|
||||
.end method
|
||||
|
||||
.method private setup(FFFFF)V
|
||||
.locals 8
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
cmpl-float v1, p1, v0
|
||||
|
||||
if-nez v1, :cond_0
|
||||
|
||||
const p1, 0x38d1b717 # 1.0E-4f
|
||||
|
||||
:cond_0
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Velocity:F
|
||||
|
||||
div-float v1, p1, p3
|
||||
|
||||
mul-float v2, v1, p1
|
||||
|
||||
const/high16 v3, 0x40000000 # 2.0f
|
||||
|
||||
div-float/2addr v2, v3
|
||||
|
||||
const/4 v4, 0x3
|
||||
|
||||
const/4 v5, 0x2
|
||||
|
||||
cmpg-float v6, p1, v0
|
||||
|
||||
if-gez v6, :cond_2
|
||||
|
||||
neg-float p5, p1
|
||||
|
||||
div-float/2addr p5, p3
|
||||
|
||||
mul-float p5, p5, p1
|
||||
|
||||
div-float/2addr p5, v3
|
||||
|
||||
sub-float p5, p2, p5
|
||||
|
||||
mul-float p5, p5, p3
|
||||
|
||||
float-to-double v1, p5
|
||||
|
||||
invoke-static {v1, v2}, Ljava/lang/Math;->sqrt(D)D
|
||||
|
||||
move-result-wide v1
|
||||
|
||||
double-to-float p5, v1
|
||||
|
||||
cmpg-float v1, p5, p4
|
||||
|
||||
if-gez v1, :cond_1
|
||||
|
||||
const-string p4, "backward accelerate, decelerate"
|
||||
|
||||
iput-object p4, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mType:Ljava/lang/String;
|
||||
|
||||
iput v5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Velocity:F
|
||||
|
||||
iput p5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Velocity:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Velocity:F
|
||||
|
||||
sub-float p4, p5, p1
|
||||
|
||||
div-float/2addr p4, p3
|
||||
|
||||
iput p4, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Duration:F
|
||||
|
||||
div-float p3, p5, p3
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Duration:F
|
||||
|
||||
add-float/2addr p1, p5
|
||||
|
||||
mul-float p1, p1, p4
|
||||
|
||||
div-float/2addr p1, v3
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1EndPosition:F
|
||||
|
||||
iput p2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2EndPosition:F
|
||||
|
||||
iput p2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3EndPosition:F
|
||||
|
||||
return-void
|
||||
|
||||
:cond_1
|
||||
const-string p5, "backward accelerate cruse decelerate"
|
||||
|
||||
iput-object p5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mType:Ljava/lang/String;
|
||||
|
||||
iput v4, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Velocity:F
|
||||
|
||||
iput p4, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Velocity:F
|
||||
|
||||
iput p4, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Velocity:F
|
||||
|
||||
sub-float p5, p4, p1
|
||||
|
||||
div-float/2addr p5, p3
|
||||
|
||||
iput p5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Duration:F
|
||||
|
||||
div-float p3, p4, p3
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Duration:F
|
||||
|
||||
add-float/2addr p1, p4
|
||||
|
||||
mul-float p1, p1, p5
|
||||
|
||||
div-float/2addr p1, v3
|
||||
|
||||
mul-float p3, p3, p4
|
||||
|
||||
div-float/2addr p3, v3
|
||||
|
||||
sub-float p5, p2, p1
|
||||
|
||||
sub-float/2addr p5, p3
|
||||
|
||||
div-float/2addr p5, p4
|
||||
|
||||
iput p5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Duration:F
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1EndPosition:F
|
||||
|
||||
sub-float p1, p2, p3
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2EndPosition:F
|
||||
|
||||
iput p2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3EndPosition:F
|
||||
|
||||
return-void
|
||||
|
||||
:cond_2
|
||||
cmpl-float v6, v2, p2
|
||||
|
||||
if-ltz v6, :cond_3
|
||||
|
||||
const-string p3, "hard stop"
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mType:Ljava/lang/String;
|
||||
|
||||
mul-float v3, v3, p2
|
||||
|
||||
div-float/2addr v3, p1
|
||||
|
||||
const/4 p3, 0x1
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Velocity:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Velocity:F
|
||||
|
||||
iput p2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1EndPosition:F
|
||||
|
||||
iput v3, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Duration:F
|
||||
|
||||
return-void
|
||||
|
||||
:cond_3
|
||||
sub-float v2, p2, v2
|
||||
|
||||
div-float v6, v2, p1
|
||||
|
||||
add-float v7, v6, v1
|
||||
|
||||
cmpg-float p5, v7, p5
|
||||
|
||||
if-gez p5, :cond_4
|
||||
|
||||
const-string p3, "cruse decelerate"
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mType:Ljava/lang/String;
|
||||
|
||||
iput v5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Velocity:F
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Velocity:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Velocity:F
|
||||
|
||||
iput v2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1EndPosition:F
|
||||
|
||||
iput p2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2EndPosition:F
|
||||
|
||||
iput v6, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Duration:F
|
||||
|
||||
iput v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Duration:F
|
||||
|
||||
return-void
|
||||
|
||||
:cond_4
|
||||
mul-float p5, p3, p2
|
||||
|
||||
mul-float v1, p1, p1
|
||||
|
||||
div-float/2addr v1, v3
|
||||
|
||||
add-float/2addr v1, p5
|
||||
|
||||
float-to-double v1, v1
|
||||
|
||||
invoke-static {v1, v2}, Ljava/lang/Math;->sqrt(D)D
|
||||
|
||||
move-result-wide v1
|
||||
|
||||
double-to-float p5, v1
|
||||
|
||||
sub-float v1, p5, p1
|
||||
|
||||
div-float/2addr v1, p3
|
||||
|
||||
iput v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Duration:F
|
||||
|
||||
div-float v2, p5, p3
|
||||
|
||||
iput v2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Duration:F
|
||||
|
||||
cmpg-float v6, p5, p4
|
||||
|
||||
if-gez v6, :cond_5
|
||||
|
||||
const-string p3, "accelerate decelerate"
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mType:Ljava/lang/String;
|
||||
|
||||
iput v5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Velocity:F
|
||||
|
||||
iput p5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Velocity:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Velocity:F
|
||||
|
||||
iput v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Duration:F
|
||||
|
||||
iput v2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Duration:F
|
||||
|
||||
add-float/2addr p1, p5
|
||||
|
||||
mul-float p1, p1, v1
|
||||
|
||||
div-float/2addr p1, v3
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1EndPosition:F
|
||||
|
||||
iput p2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2EndPosition:F
|
||||
|
||||
return-void
|
||||
|
||||
:cond_5
|
||||
const-string p5, "accelerate cruse decelerate"
|
||||
|
||||
iput-object p5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mType:Ljava/lang/String;
|
||||
|
||||
iput v4, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Velocity:F
|
||||
|
||||
iput p4, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Velocity:F
|
||||
|
||||
iput p4, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Velocity:F
|
||||
|
||||
sub-float p5, p4, p1
|
||||
|
||||
div-float/2addr p5, p3
|
||||
|
||||
iput p5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Duration:F
|
||||
|
||||
div-float p3, p4, p3
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Duration:F
|
||||
|
||||
add-float/2addr p1, p4
|
||||
|
||||
mul-float p1, p1, p5
|
||||
|
||||
div-float/2addr p1, v3
|
||||
|
||||
mul-float p3, p3, p4
|
||||
|
||||
div-float/2addr p3, v3
|
||||
|
||||
sub-float p5, p2, p1
|
||||
|
||||
sub-float/2addr p5, p3
|
||||
|
||||
div-float/2addr p5, p4
|
||||
|
||||
iput p5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Duration:F
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1EndPosition:F
|
||||
|
||||
sub-float p1, p2, p3
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2EndPosition:F
|
||||
|
||||
iput p2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3EndPosition:F
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public config(FFFFFF)V
|
||||
.locals 6
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStartPosition:F
|
||||
|
||||
cmpl-float v1, p1, p2
|
||||
|
||||
if-lez v1, :cond_0
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
const/4 v1, 0x0
|
||||
|
||||
:goto_0
|
||||
iput-boolean v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mBackwards:Z
|
||||
|
||||
if-eqz v1, :cond_1
|
||||
|
||||
neg-float v1, p3
|
||||
|
||||
sub-float v2, p1, p2
|
||||
|
||||
move-object v0, p0
|
||||
|
||||
move v3, p5
|
||||
|
||||
move v4, p6
|
||||
|
||||
move v5, p4
|
||||
|
||||
invoke-direct/range {v0 .. v5}, Landroidx/constraintlayout/motion/utils/StopLogic;->setup(FFFFF)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
sub-float v2, p2, p1
|
||||
|
||||
move-object v0, p0
|
||||
|
||||
move v1, p3
|
||||
|
||||
move v3, p5
|
||||
|
||||
move v4, p6
|
||||
|
||||
move v5, p4
|
||||
|
||||
invoke-direct/range {v0 .. v5}, Landroidx/constraintlayout/motion/utils/StopLogic;->setup(FFFFF)V
|
||||
|
||||
:goto_1
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public debug(Ljava/lang/String;Ljava/lang/String;F)V
|
||||
.locals 6
|
||||
|
||||
const-string v0, " ===== "
|
||||
|
||||
invoke-static {p2, v0}, Lf/e/c/a/a;->J(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mType:Ljava/lang/String;
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-static {p1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
new-instance v0, Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
||||
|
||||
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
iget-boolean v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mBackwards:Z
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
const-string v1, "backwards"
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
const-string v1, "forward "
|
||||
|
||||
:goto_0
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string v1, " time = "
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string v1, " stages "
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
iget v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-static {p1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
new-instance v0, Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
||||
|
||||
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string v1, " dur "
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Duration:F
|
||||
|
||||
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string v2, " vel "
|
||||
|
||||
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
iget v3, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Velocity:F
|
||||
|
||||
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string v3, " pos "
|
||||
|
||||
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
iget v4, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1EndPosition:F
|
||||
|
||||
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-static {p1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
const/4 v4, 0x1
|
||||
|
||||
if-le v0, v4, :cond_1
|
||||
|
||||
invoke-static {p2, v1}, Lf/e/c/a/a;->J(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
iget v5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Duration:F
|
||||
|
||||
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
iget v5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Velocity:F
|
||||
|
||||
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
iget v5, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2EndPosition:F
|
||||
|
||||
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-static {p1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
:cond_1
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
const/4 v5, 0x2
|
||||
|
||||
if-le v0, v5, :cond_2
|
||||
|
||||
invoke-static {p2, v1}, Lf/e/c/a/a;->J(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
iget v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Duration:F
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
iget v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Velocity:F
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
iget v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3EndPosition:F
|
||||
|
||||
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
invoke-static {p1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
:cond_2
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Duration:F
|
||||
|
||||
cmpg-float v1, p3, v0
|
||||
|
||||
if-gtz v1, :cond_3
|
||||
|
||||
new-instance p3, Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string p2, "stage 0"
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-static {p1, p2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
return-void
|
||||
|
||||
:cond_3
|
||||
iget v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
if-ne v1, v4, :cond_4
|
||||
|
||||
new-instance p3, Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string p2, "end stage 0"
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-static {p1, p2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
return-void
|
||||
|
||||
:cond_4
|
||||
sub-float/2addr p3, v0
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Duration:F
|
||||
|
||||
cmpg-float v2, p3, v0
|
||||
|
||||
if-gez v2, :cond_5
|
||||
|
||||
new-instance p3, Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string p2, " stage 1"
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-static {p1, p2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
return-void
|
||||
|
||||
:cond_5
|
||||
if-ne v1, v5, :cond_6
|
||||
|
||||
new-instance p3, Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string p2, "end stage 1"
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-static {p1, p2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
return-void
|
||||
|
||||
:cond_6
|
||||
sub-float/2addr p3, v0
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Duration:F
|
||||
|
||||
cmpg-float p3, p3, v0
|
||||
|
||||
if-gez p3, :cond_7
|
||||
|
||||
new-instance p3, Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string p2, " stage 2"
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-static {p1, p2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
return-void
|
||||
|
||||
:cond_7
|
||||
new-instance p3, Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
const-string p2, " end stage 2"
|
||||
|
||||
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-static {p1, p2}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getInterpolation(F)F
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0, p1}, Landroidx/constraintlayout/motion/utils/StopLogic;->calcY(F)F
|
||||
|
||||
move-result v0
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mLastPosition:F
|
||||
|
||||
iget-boolean p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mBackwards:Z
|
||||
|
||||
if-eqz p1, :cond_0
|
||||
|
||||
iget p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStartPosition:F
|
||||
|
||||
sub-float/2addr p1, v0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
iget p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStartPosition:F
|
||||
|
||||
add-float/2addr p1, v0
|
||||
|
||||
:goto_0
|
||||
return p1
|
||||
.end method
|
||||
|
||||
.method public getVelocity()F
|
||||
.locals 1
|
||||
|
||||
iget-boolean v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mBackwards:Z
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mLastPosition:F
|
||||
|
||||
invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/utils/StopLogic;->getVelocity(F)F
|
||||
|
||||
move-result v0
|
||||
|
||||
neg-float v0, v0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mLastPosition:F
|
||||
|
||||
invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/utils/StopLogic;->getVelocity(F)F
|
||||
|
||||
move-result v0
|
||||
|
||||
:goto_0
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getVelocity(F)F
|
||||
.locals 3
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Duration:F
|
||||
|
||||
cmpg-float v1, p1, v0
|
||||
|
||||
if-gtz v1, :cond_0
|
||||
|
||||
iget v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage1Velocity:F
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Velocity:F
|
||||
|
||||
:goto_0
|
||||
sub-float/2addr v2, v1
|
||||
|
||||
mul-float v2, v2, p1
|
||||
|
||||
div-float/2addr v2, v0
|
||||
|
||||
add-float/2addr v2, v1
|
||||
|
||||
return v2
|
||||
|
||||
:cond_0
|
||||
iget v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mNumberOfStages:I
|
||||
|
||||
const/4 v2, 0x1
|
||||
|
||||
if-ne v1, v2, :cond_1
|
||||
|
||||
const/4 p1, 0x0
|
||||
|
||||
return p1
|
||||
|
||||
:cond_1
|
||||
sub-float/2addr p1, v0
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Duration:F
|
||||
|
||||
cmpg-float v2, p1, v0
|
||||
|
||||
if-gez v2, :cond_2
|
||||
|
||||
iget v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2Velocity:F
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Velocity:F
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_2
|
||||
const/4 v2, 0x2
|
||||
|
||||
if-ne v1, v2, :cond_3
|
||||
|
||||
iget p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage2EndPosition:F
|
||||
|
||||
return p1
|
||||
|
||||
:cond_3
|
||||
sub-float/2addr p1, v0
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Duration:F
|
||||
|
||||
cmpg-float v1, p1, v0
|
||||
|
||||
if-gez v1, :cond_4
|
||||
|
||||
iget v1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3Velocity:F
|
||||
|
||||
mul-float p1, p1, v1
|
||||
|
||||
div-float/2addr p1, v0
|
||||
|
||||
sub-float/2addr v1, p1
|
||||
|
||||
return v1
|
||||
|
||||
:cond_4
|
||||
iget p1, p0, Landroidx/constraintlayout/motion/utils/StopLogic;->mStage3EndPosition:F
|
||||
|
||||
return p1
|
||||
.end method
|
|
@ -1,328 +0,0 @@
|
|||
.class public Landroidx/constraintlayout/motion/utils/VelocityMatrix;
|
||||
.super Ljava/lang/Object;
|
||||
.source "VelocityMatrix.java"
|
||||
|
||||
|
||||
# static fields
|
||||
.field public static TAG:Ljava/lang/String; = "VelocityMatrix"
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public mDRotate:F
|
||||
|
||||
.field public mDScaleX:F
|
||||
|
||||
.field public mDScaleY:F
|
||||
|
||||
.field public mDTranslateX:F
|
||||
|
||||
.field public mDTranslateY:F
|
||||
|
||||
.field public mRotate:F
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public applyTransform(FFII[F)V
|
||||
.locals 16
|
||||
|
||||
move-object/from16 v0, p0
|
||||
|
||||
move/from16 v1, p3
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
aget v3, p5, v2
|
||||
|
||||
const/4 v4, 0x1
|
||||
|
||||
aget v5, p5, v4
|
||||
|
||||
const/high16 v6, 0x3f000000 # 0.5f
|
||||
|
||||
sub-float v7, p1, v6
|
||||
|
||||
const/high16 v8, 0x40000000 # 2.0f
|
||||
|
||||
mul-float v7, v7, v8
|
||||
|
||||
sub-float v6, p2, v6
|
||||
|
||||
mul-float v6, v6, v8
|
||||
|
||||
iget v8, v0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDTranslateX:F
|
||||
|
||||
add-float/2addr v3, v8
|
||||
|
||||
iget v8, v0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDTranslateY:F
|
||||
|
||||
add-float/2addr v5, v8
|
||||
|
||||
iget v8, v0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDScaleX:F
|
||||
|
||||
mul-float v8, v8, v7
|
||||
|
||||
add-float/2addr v8, v3
|
||||
|
||||
iget v3, v0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDScaleY:F
|
||||
|
||||
mul-float v3, v3, v6
|
||||
|
||||
add-float/2addr v3, v5
|
||||
|
||||
iget v5, v0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mRotate:F
|
||||
|
||||
float-to-double v9, v5
|
||||
|
||||
invoke-static {v9, v10}, Ljava/lang/Math;->toRadians(D)D
|
||||
|
||||
move-result-wide v9
|
||||
|
||||
double-to-float v5, v9
|
||||
|
||||
iget v9, v0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDRotate:F
|
||||
|
||||
float-to-double v9, v9
|
||||
|
||||
invoke-static {v9, v10}, Ljava/lang/Math;->toRadians(D)D
|
||||
|
||||
move-result-wide v9
|
||||
|
||||
double-to-float v9, v9
|
||||
|
||||
neg-int v10, v1
|
||||
|
||||
int-to-float v10, v10
|
||||
|
||||
mul-float v10, v10, v7
|
||||
|
||||
float-to-double v10, v10
|
||||
|
||||
float-to-double v12, v5
|
||||
|
||||
invoke-static {v12, v13}, Ljava/lang/Math;->sin(D)D
|
||||
|
||||
move-result-wide v14
|
||||
|
||||
mul-double v14, v14, v10
|
||||
|
||||
move/from16 v5, p4
|
||||
|
||||
int-to-float v5, v5
|
||||
|
||||
mul-float v5, v5, v6
|
||||
|
||||
float-to-double v5, v5
|
||||
|
||||
invoke-static {v12, v13}, Ljava/lang/Math;->cos(D)D
|
||||
|
||||
move-result-wide v10
|
||||
|
||||
mul-double v10, v10, v5
|
||||
|
||||
sub-double/2addr v14, v10
|
||||
|
||||
double-to-float v10, v14
|
||||
|
||||
mul-float v10, v10, v9
|
||||
|
||||
add-float/2addr v10, v8
|
||||
|
||||
int-to-float v1, v1
|
||||
|
||||
mul-float v1, v1, v7
|
||||
|
||||
float-to-double v7, v1
|
||||
|
||||
invoke-static {v12, v13}, Ljava/lang/Math;->cos(D)D
|
||||
|
||||
move-result-wide v14
|
||||
|
||||
mul-double v14, v14, v7
|
||||
|
||||
invoke-static {v12, v13}, Ljava/lang/Math;->sin(D)D
|
||||
|
||||
move-result-wide v7
|
||||
|
||||
mul-double v7, v7, v5
|
||||
|
||||
sub-double/2addr v14, v7
|
||||
|
||||
double-to-float v1, v14
|
||||
|
||||
mul-float v9, v9, v1
|
||||
|
||||
add-float/2addr v9, v3
|
||||
|
||||
aput v10, p5, v2
|
||||
|
||||
aput v9, p5, v4
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public clear()V
|
||||
.locals 1
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDRotate:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDTranslateY:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDTranslateX:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDScaleY:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDScaleX:F
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setRotationVelocity(Landroidx/constraintlayout/motion/widget/KeyCycleOscillator;F)V
|
||||
.locals 0
|
||||
|
||||
if-eqz p1, :cond_0
|
||||
|
||||
invoke-virtual {p1, p2}, Landroidx/constraintlayout/motion/widget/KeyCycleOscillator;->getSlope(F)F
|
||||
|
||||
move-result p1
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDRotate:F
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setRotationVelocity(Landroidx/constraintlayout/motion/widget/SplineSet;F)V
|
||||
.locals 1
|
||||
|
||||
if-eqz p1, :cond_0
|
||||
|
||||
invoke-virtual {p1, p2}, Landroidx/constraintlayout/motion/widget/SplineSet;->getSlope(F)F
|
||||
|
||||
move-result v0
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDRotate:F
|
||||
|
||||
invoke-virtual {p1, p2}, Landroidx/constraintlayout/motion/widget/SplineSet;->get(F)F
|
||||
|
||||
move-result p1
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mRotate:F
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setScaleVelocity(Landroidx/constraintlayout/motion/widget/KeyCycleOscillator;Landroidx/constraintlayout/motion/widget/KeyCycleOscillator;F)V
|
||||
.locals 0
|
||||
|
||||
if-nez p1, :cond_0
|
||||
|
||||
if-nez p2, :cond_0
|
||||
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
if-nez p1, :cond_1
|
||||
|
||||
invoke-virtual {p1, p3}, Landroidx/constraintlayout/motion/widget/KeyCycleOscillator;->getSlope(F)F
|
||||
|
||||
move-result p1
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDScaleX:F
|
||||
|
||||
:cond_1
|
||||
if-nez p2, :cond_2
|
||||
|
||||
invoke-virtual {p2, p3}, Landroidx/constraintlayout/motion/widget/KeyCycleOscillator;->getSlope(F)F
|
||||
|
||||
move-result p1
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDScaleY:F
|
||||
|
||||
:cond_2
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setScaleVelocity(Landroidx/constraintlayout/motion/widget/SplineSet;Landroidx/constraintlayout/motion/widget/SplineSet;F)V
|
||||
.locals 0
|
||||
|
||||
if-eqz p1, :cond_0
|
||||
|
||||
invoke-virtual {p1, p3}, Landroidx/constraintlayout/motion/widget/SplineSet;->getSlope(F)F
|
||||
|
||||
move-result p1
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDScaleX:F
|
||||
|
||||
:cond_0
|
||||
if-eqz p2, :cond_1
|
||||
|
||||
invoke-virtual {p2, p3}, Landroidx/constraintlayout/motion/widget/SplineSet;->getSlope(F)F
|
||||
|
||||
move-result p1
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDScaleY:F
|
||||
|
||||
:cond_1
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setTranslationVelocity(Landroidx/constraintlayout/motion/widget/KeyCycleOscillator;Landroidx/constraintlayout/motion/widget/KeyCycleOscillator;F)V
|
||||
.locals 0
|
||||
|
||||
if-eqz p1, :cond_0
|
||||
|
||||
invoke-virtual {p1, p3}, Landroidx/constraintlayout/motion/widget/KeyCycleOscillator;->getSlope(F)F
|
||||
|
||||
move-result p1
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDTranslateX:F
|
||||
|
||||
:cond_0
|
||||
if-eqz p2, :cond_1
|
||||
|
||||
invoke-virtual {p2, p3}, Landroidx/constraintlayout/motion/widget/KeyCycleOscillator;->getSlope(F)F
|
||||
|
||||
move-result p1
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDTranslateY:F
|
||||
|
||||
:cond_1
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setTranslationVelocity(Landroidx/constraintlayout/motion/widget/SplineSet;Landroidx/constraintlayout/motion/widget/SplineSet;F)V
|
||||
.locals 0
|
||||
|
||||
if-eqz p1, :cond_0
|
||||
|
||||
invoke-virtual {p1, p3}, Landroidx/constraintlayout/motion/widget/SplineSet;->getSlope(F)F
|
||||
|
||||
move-result p1
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDTranslateX:F
|
||||
|
||||
:cond_0
|
||||
if-eqz p2, :cond_1
|
||||
|
||||
invoke-virtual {p2, p3}, Landroidx/constraintlayout/motion/widget/SplineSet;->getSlope(F)F
|
||||
|
||||
move-result p1
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/motion/utils/VelocityMatrix;->mDTranslateY:F
|
||||
|
||||
:cond_1
|
||||
return-void
|
||||
.end method
|
Loading…
Add table
Add a link
Reference in a new issue