29 lines
937 B
Java
29 lines
937 B
Java
package androidx.interpolator.view.animation;
|
|
|
|
import android.view.animation.Interpolator;
|
|
import c.d.b.a.a;
|
|
public abstract class LookupTableInterpolator implements Interpolator {
|
|
private final float mStepSize;
|
|
private final float[] mValues;
|
|
|
|
public LookupTableInterpolator(float[] fArr) {
|
|
this.mValues = fArr;
|
|
this.mStepSize = 1.0f / ((float) (fArr.length - 1));
|
|
}
|
|
|
|
@Override // android.animation.TimeInterpolator
|
|
public float getInterpolation(float f) {
|
|
if (f >= 1.0f) {
|
|
return 1.0f;
|
|
}
|
|
if (f <= 0.0f) {
|
|
return 0.0f;
|
|
}
|
|
float[] fArr = this.mValues;
|
|
int min = Math.min((int) (((float) (fArr.length - 1)) * f), fArr.length - 2);
|
|
float f2 = this.mStepSize;
|
|
float f3 = (f - (((float) min) * f2)) / f2;
|
|
float[] fArr2 = this.mValues;
|
|
return a.a(fArr2[min + 1], fArr2[min], f3, fArr2[min]);
|
|
}
|
|
}
|