public abstract class javafx.animation.Interpolator
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javafx.animation.Interpolator
  super_class: java.lang.Object
{
  private static final double EPSILON;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0E-12

  public static final javafx.animation.Interpolator DISCRETE;
    descriptor: Ljavafx/animation/Interpolator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final javafx.animation.Interpolator LINEAR;
    descriptor: Ljavafx/animation/Interpolator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final javafx.animation.Interpolator EASE_BOTH;
    descriptor: Ljavafx/animation/Interpolator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final javafx.animation.Interpolator EASE_IN;
    descriptor: Ljavafx/animation/Interpolator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final javafx.animation.Interpolator EASE_OUT;
    descriptor: Ljavafx/animation/Interpolator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 58
            new javafx.animation.Interpolator$1
            dup
            invokespecial javafx.animation.Interpolator$1.<init>:()V
            putstatic javafx.animation.Interpolator.DISCRETE:Ljavafx/animation/Interpolator;
         1: .line 75
            new javafx.animation.Interpolator$2
            dup
            invokespecial javafx.animation.Interpolator$2.<init>:()V
            putstatic javafx.animation.Interpolator.LINEAR:Ljavafx/animation/Interpolator;
         2: .line 110
            new javafx.animation.Interpolator$3
            dup
            invokespecial javafx.animation.Interpolator$3.<init>:()V
            putstatic javafx.animation.Interpolator.EASE_BOTH:Ljavafx/animation/Interpolator;
         3: .line 134
            new javafx.animation.Interpolator$4
            dup
            invokespecial javafx.animation.Interpolator$4.<init>:()V
            putstatic javafx.animation.Interpolator.EASE_IN:Ljavafx/animation/Interpolator;
         4: .line 161
            new javafx.animation.Interpolator$5
            dup
            invokespecial javafx.animation.Interpolator$5.<init>:()V
            putstatic javafx.animation.Interpolator.EASE_OUT:Ljavafx/animation/Interpolator;
         5: .line 179
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.animation.Interpolator this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            return
        end local 0 // javafx.animation.Interpolator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavafx/animation/Interpolator;

  public static javafx.animation.Interpolator SPLINE(double, double, double, double);
    descriptor: (DDDD)Ljavafx/animation/Interpolator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=8, args_size=4
        start local 0 // double x1
        start local 2 // double y1
        start local 4 // double x2
        start local 6 // double y2
         0: .line 199
            new com.sun.scenario.animation.SplineInterpolator
            dup
            dload 0 /* x1 */
            dload 2 /* y1 */
            dload 4 /* x2 */
            dload 6 /* y2 */
            invokespecial com.sun.scenario.animation.SplineInterpolator.<init>:(DDDD)V
            areturn
        end local 6 // double y2
        end local 4 // double x2
        end local 2 // double y1
        end local 0 // double x1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    x1  D
            0    1     2    y1  D
            0    1     4    x2  D
            0    1     6    y2  D
    MethodParameters:
      Name  Flags
      x1    
      y1    
      x2    
      y2    

  public static javafx.animation.Interpolator TANGENT(javafx.util.Duration, double, javafx.util.Duration, double);
    descriptor: (Ljavafx/util/Duration;DLjavafx/util/Duration;D)Ljavafx/animation/Interpolator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // javafx.util.Duration t1
        start local 1 // double v1
        start local 3 // javafx.util.Duration t2
        start local 4 // double v2
         0: .line 238
            new com.sun.scenario.animation.NumberTangentInterpolator
            dup
            aload 0 /* t1 */
            dload 1 /* v1 */
            aload 3 /* t2 */
            dload 4 /* v2 */
            invokespecial com.sun.scenario.animation.NumberTangentInterpolator.<init>:(Ljavafx/util/Duration;DLjavafx/util/Duration;D)V
            areturn
        end local 4 // double v2
        end local 3 // javafx.util.Duration t2
        end local 1 // double v1
        end local 0 // javafx.util.Duration t1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    t1  Ljavafx/util/Duration;
            0    1     1    v1  D
            0    1     3    t2  Ljavafx/util/Duration;
            0    1     4    v2  D
    MethodParameters:
      Name  Flags
      t1    
      v1    
      t2    
      v2    

  public static javafx.animation.Interpolator TANGENT(javafx.util.Duration, double);
    descriptor: (Ljavafx/util/Duration;D)Ljavafx/animation/Interpolator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javafx.util.Duration t
        start local 1 // double v
         0: .line 256
            new com.sun.scenario.animation.NumberTangentInterpolator
            dup
            aload 0 /* t */
            dload 1 /* v */
            invokespecial com.sun.scenario.animation.NumberTangentInterpolator.<init>:(Ljavafx/util/Duration;D)V
            areturn
        end local 1 // double v
        end local 0 // javafx.util.Duration t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljavafx/util/Duration;
            0    1     1     v  D
    MethodParameters:
      Name  Flags
      t     
      v     

  public java.lang.Object interpolate(java.lang.Object, java.lang.Object, double);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;D)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=4
        start local 0 // javafx.animation.Interpolator this
        start local 1 // java.lang.Object startValue
        start local 2 // java.lang.Object endValue
        start local 3 // double fraction
         0: .line 285
            aload 1 /* startValue */
            instanceof java.lang.Number
            ifeq 11
            aload 2 /* endValue */
            instanceof java.lang.Number
            ifeq 11
         1: .line 286
            aload 1 /* startValue */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.doubleValue:()D
            dstore 5 /* start */
        start local 5 // double start
         2: .line 287
            aload 2 /* endValue */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.doubleValue:()D
            dstore 7 /* end */
        start local 7 // double end
         3: .line 288
            dload 5 /* start */
            dload 7 /* end */
            dload 5 /* start */
            dsub
            aload 0 /* this */
            dload 3 /* fraction */
            invokevirtual javafx.animation.Interpolator.curve:(D)D
            dmul
            dadd
            dstore 9 /* val */
        start local 9 // double val
         4: .line 289
            aload 1 /* startValue */
            instanceof java.lang.Double
            ifne 5
            aload 2 /* endValue */
            instanceof java.lang.Double
            ifeq 6
         5: .line 290
      StackMap locals: double double double
      StackMap stack:
            dload 9 /* val */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
         6: .line 292
      StackMap locals:
      StackMap stack:
            aload 1 /* startValue */
            instanceof java.lang.Float
            ifne 7
            aload 2 /* endValue */
            instanceof java.lang.Float
            ifeq 8
         7: .line 293
      StackMap locals:
      StackMap stack:
            dload 9 /* val */
            d2f
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
         8: .line 295
      StackMap locals:
      StackMap stack:
            aload 1 /* startValue */
            instanceof java.lang.Long
            ifne 9
            aload 2 /* endValue */
            instanceof java.lang.Long
            ifeq 10
         9: .line 296
      StackMap locals:
      StackMap stack:
            dload 9 /* val */
            invokestatic java.lang.Math.round:(D)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        10: .line 298
      StackMap locals:
      StackMap stack:
            dload 9 /* val */
            invokestatic java.lang.Math.round:(D)J
            l2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 9 // double val
        end local 7 // double end
        end local 5 // double start
        11: .line 299
      StackMap locals:
      StackMap stack:
            aload 1 /* startValue */
            instanceof javafx.animation.Interpolatable
            ifeq 15
            aload 2 /* endValue */
            instanceof javafx.animation.Interpolatable
            ifeq 15
        12: .line 300
            aload 1 /* startValue */
            checkcast javafx.animation.Interpolatable
            aload 2 /* endValue */
        13: .line 301
            aload 0 /* this */
            dload 3 /* fraction */
            invokevirtual javafx.animation.Interpolator.curve:(D)D
        14: .line 300
            invokeinterface javafx.animation.Interpolatable.interpolate:(Ljava/lang/Object;D)Ljava/lang/Object;
            areturn
        15: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 3 /* fraction */
            invokevirtual javafx.animation.Interpolator.curve:(D)D
            dconst_1
            dcmpl
            ifne 16
            aload 2 /* endValue */
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 1 /* startValue */
      StackMap locals:
      StackMap stack: java.lang.Object
        17: areturn
        end local 3 // double fraction
        end local 2 // java.lang.Object endValue
        end local 1 // java.lang.Object startValue
        end local 0 // javafx.animation.Interpolator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Ljavafx/animation/Interpolator;
            0   18     1  startValue  Ljava/lang/Object;
            0   18     2    endValue  Ljava/lang/Object;
            0   18     3    fraction  D
            2   11     5       start  D
            3   11     7         end  D
            4   11     9         val  D
    MethodParameters:
            Name  Flags
      startValue  
      endValue    
      fraction    

  public boolean interpolate(boolean, boolean, double);
    descriptor: (ZZD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // javafx.animation.Interpolator this
        start local 1 // boolean startValue
        start local 2 // boolean endValue
        start local 3 // double fraction
         0: .line 326
            aload 0 /* this */
            dload 3 /* fraction */
            invokevirtual javafx.animation.Interpolator.curve:(D)D
            dconst_1
            dsub
            invokestatic java.lang.Math.abs:(D)D
            ldc 1.0E-12
            dcmpg
            ifge 1
            iload 2 /* endValue */
            goto 2
         1: .line 327
      StackMap locals:
      StackMap stack:
            iload 1 /* startValue */
         2: .line 326
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 3 // double fraction
        end local 2 // boolean endValue
        end local 1 // boolean startValue
        end local 0 // javafx.animation.Interpolator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljavafx/animation/Interpolator;
            0    3     1  startValue  Z
            0    3     2    endValue  Z
            0    3     3    fraction  D
    MethodParameters:
            Name  Flags
      startValue  
      endValue    
      fraction    

  public double interpolate(double, double, double);
    descriptor: (DDD)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // javafx.animation.Interpolator this
        start local 1 // double startValue
        start local 3 // double endValue
        start local 5 // double fraction
         0: .line 347
            dload 1 /* startValue */
            dload 3 /* endValue */
            dload 1 /* startValue */
            dsub
            aload 0 /* this */
            dload 5 /* fraction */
            invokevirtual javafx.animation.Interpolator.curve:(D)D
            dmul
            dadd
            dreturn
        end local 5 // double fraction
        end local 3 // double endValue
        end local 1 // double startValue
        end local 0 // javafx.animation.Interpolator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljavafx/animation/Interpolator;
            0    1     1  startValue  D
            0    1     3    endValue  D
            0    1     5    fraction  D
    MethodParameters:
            Name  Flags
      startValue  
      endValue    
      fraction    

  public int interpolate(int, int, double);
    descriptor: (IID)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // javafx.animation.Interpolator this
        start local 1 // int startValue
        start local 2 // int endValue
        start local 3 // double fraction
         0: .line 366
            iload 1 /* startValue */
         1: .line 367
            iload 2 /* endValue */
            iload 1 /* startValue */
            isub
            i2d
            aload 0 /* this */
            dload 3 /* fraction */
            invokevirtual javafx.animation.Interpolator.curve:(D)D
            dmul
            invokestatic java.lang.Math.round:(D)J
            l2i
         2: .line 366
            iadd
            ireturn
        end local 3 // double fraction
        end local 2 // int endValue
        end local 1 // int startValue
        end local 0 // javafx.animation.Interpolator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljavafx/animation/Interpolator;
            0    3     1  startValue  I
            0    3     2    endValue  I
            0    3     3    fraction  D
    MethodParameters:
            Name  Flags
      startValue  
      endValue    
      fraction    

  public long interpolate(long, long, double);
    descriptor: (JJD)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // javafx.animation.Interpolator this
        start local 1 // long startValue
        start local 3 // long endValue
        start local 5 // double fraction
         0: .line 387
            lload 1 /* startValue */
         1: .line 388
            lload 3 /* endValue */
            lload 1 /* startValue */
            lsub
            l2d
            aload 0 /* this */
            dload 5 /* fraction */
            invokevirtual javafx.animation.Interpolator.curve:(D)D
            dmul
            invokestatic java.lang.Math.round:(D)J
         2: .line 387
            ladd
            lreturn
        end local 5 // double fraction
        end local 3 // long endValue
        end local 1 // long startValue
        end local 0 // javafx.animation.Interpolator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljavafx/animation/Interpolator;
            0    3     1  startValue  J
            0    3     3    endValue  J
            0    3     5    fraction  D
    MethodParameters:
            Name  Flags
      startValue  
      endValue    
      fraction    

  private static double clamp(double);
    descriptor: (D)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double t
         0: .line 392
            dload 0 /* t */
            dconst_0
            dcmpg
            ifge 1
            dconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         1: dload 0 /* t */
            dconst_1
            dcmpl
            ifle 2
            dconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: dload 0 /* t */
      StackMap locals:
      StackMap stack: double
         3: dreturn
        end local 0 // double t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     t  D
    MethodParameters:
      Name  Flags
      t     

  protected abstract double curve(double);
    descriptor: (D)D
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      t     
}
SourceFile: "Interpolator.java"
NestMembers:
  javafx.animation.Interpolator$1  javafx.animation.Interpolator$2  javafx.animation.Interpolator$3  javafx.animation.Interpolator$4  javafx.animation.Interpolator$5
InnerClasses:
  javafx.animation.Interpolator$1
  javafx.animation.Interpolator$2
  javafx.animation.Interpolator$3
  javafx.animation.Interpolator$4
  javafx.animation.Interpolator$5