public class org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction implements org.apache.commons.math3.analysis.differentiation.UnivariateDifferentiableFunction, org.apache.commons.math3.analysis.DifferentiableUnivariateFunction
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction
  super_class: java.lang.Object
{
  private final double[] knots;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] polynomials;
    descriptor: [Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int n;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(double[], org.apache.commons.math3.analysis.polynomials.PolynomialFunction[]);
    descriptor: ([D[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
        start local 1 // double[] knots
        start local 2 // org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] polynomials
         0: .line 101
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 104
            aload 1 /* knots */
            ifnull 3
         2: .line 105
            aload 2 /* polynomials */
            ifnonnull 4
         3: .line 106
      StackMap locals: org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction double[] org.apache.commons.math3.analysis.polynomials.PolynomialFunction[]
      StackMap stack:
            new org.apache.commons.math3.exception.NullArgumentException
            dup
            invokespecial org.apache.commons.math3.exception.NullArgumentException.<init>:()V
            athrow
         4: .line 108
      StackMap locals:
      StackMap stack:
            aload 1 /* knots */
            arraylength
            iconst_2
            if_icmpge 8
         5: .line 109
            new org.apache.commons.math3.exception.NumberIsTooSmallException
            dup
            getstatic org.apache.commons.math3.exception.util.LocalizedFormats.NOT_ENOUGH_POINTS_IN_SPLINE_PARTITION:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
         6: .line 110
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* knots */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
         7: .line 109
            invokespecial org.apache.commons.math3.exception.NumberIsTooSmallException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;Ljava/lang/Number;Ljava/lang/Number;Z)V
            athrow
         8: .line 112
      StackMap locals:
      StackMap stack:
            aload 1 /* knots */
            arraylength
            iconst_1
            isub
            aload 2 /* polynomials */
            arraylength
            if_icmpeq 10
         9: .line 113
            new org.apache.commons.math3.exception.DimensionMismatchException
            dup
            aload 2 /* polynomials */
            arraylength
            aload 1 /* knots */
            arraylength
            invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
            athrow
        10: .line 115
      StackMap locals:
      StackMap stack:
            aload 1 /* knots */
            invokestatic org.apache.commons.math3.util.MathArrays.checkOrder:([D)V
        11: .line 117
            aload 0 /* this */
            aload 1 /* knots */
            arraylength
            iconst_1
            isub
            putfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
        12: .line 118
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            iconst_1
            iadd
            newarray 7
            putfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
        13: .line 119
            aload 1 /* knots */
            iconst_0
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            iconst_0
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            iconst_1
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 120
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            anewarray org.apache.commons.math3.analysis.polynomials.PolynomialFunction
            putfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.polynomials:[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
        15: .line 121
            aload 2 /* polynomials */
            iconst_0
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.polynomials:[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
            iconst_0
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 122
            return
        end local 2 // org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] polynomials
        end local 1 // double[] knots
        end local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
            0   17     1        knots  [D
            0   17     2  polynomials  [Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
    Exceptions:
      throws org.apache.commons.math3.exception.NullArgumentException, org.apache.commons.math3.exception.NumberIsTooSmallException, org.apache.commons.math3.exception.DimensionMismatchException, org.apache.commons.math3.exception.NonMonotonicSequenceException
    MethodParameters:
             Name  Flags
      knots        
      polynomials  

  public double value(double);
    descriptor: (D)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
        start local 1 // double v
         0: .line 136
            dload 1 /* v */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            iconst_0
            daload
            dcmpg
            iflt 1
            dload 1 /* v */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            daload
            dcmpl
            ifle 2
         1: .line 137
      StackMap locals:
      StackMap stack:
            new org.apache.commons.math3.exception.OutOfRangeException
            dup
            dload 1 /* v */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            iconst_0
            daload
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            daload
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokespecial org.apache.commons.math3.exception.OutOfRangeException.<init>:(Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
            athrow
         2: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            dload 1 /* v */
            invokestatic java.util.Arrays.binarySearch:([DD)I
            istore 3 /* i */
        start local 3 // int i
         3: .line 140
            iload 3 /* i */
            ifge 5
         4: .line 141
            iload 3 /* i */
            ineg
            iconst_2
            isub
            istore 3 /* i */
         5: .line 146
      StackMap locals: int
      StackMap stack:
            iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.polynomials:[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
            arraylength
            if_icmplt 7
         6: .line 147
            iinc 3 /* i */ -1
         7: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.polynomials:[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
            iload 3 /* i */
            aaload
            dload 1 /* v */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            iload 3 /* i */
            daload
            dsub
            invokevirtual org.apache.commons.math3.analysis.polynomials.PolynomialFunction.value:(D)D
            dreturn
        end local 3 // int i
        end local 1 // double v
        end local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
            0    8     1     v  D
            3    8     3     i  I
    MethodParameters:
      Name  Flags
      v     

  public org.apache.commons.math3.analysis.UnivariateFunction derivative();
    descriptor: ()Lorg/apache/commons/math3/analysis/UnivariateFunction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
         0: .line 158
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.polynomialSplineDerivative:()Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
            areturn
        end local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;

  public org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction polynomialSplineDerivative();
    descriptor: ()Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
         0: .line 167
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            anewarray org.apache.commons.math3.analysis.polynomials.PolynomialFunction
            astore 1 /* derivativePolynomials */
        start local 1 // org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] derivativePolynomials
         1: .line 168
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 169
      StackMap locals: org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] int
      StackMap stack:
            aload 1 /* derivativePolynomials */
            iload 2 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.polynomials:[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
            iload 2 /* i */
            aaload
            invokevirtual org.apache.commons.math3.analysis.polynomials.PolynomialFunction.polynomialDerivative:()Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
            aastore
         4: .line 168
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            if_icmplt 3
        end local 2 // int i
         6: .line 171
            new org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            aload 1 /* derivativePolynomials */
            invokespecial org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.<init>:([D[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;)V
            areturn
        end local 1 // org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] derivativePolynomials
        end local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    7     0                   this  Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
            1    7     1  derivativePolynomials  [Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
            2    6     2                      i  I

  public org.apache.commons.math3.analysis.differentiation.DerivativeStructure value(org.apache.commons.math3.analysis.differentiation.DerivativeStructure);
    descriptor: (Lorg/apache/commons/math3/analysis/differentiation/DerivativeStructure;)Lorg/apache/commons/math3/analysis/differentiation/DerivativeStructure;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
        start local 1 // org.apache.commons.math3.analysis.differentiation.DerivativeStructure t
         0: .line 179
            aload 1 /* t */
            invokevirtual org.apache.commons.math3.analysis.differentiation.DerivativeStructure.getValue:()D
            dstore 2 /* t0 */
        start local 2 // double t0
         1: .line 180
            dload 2 /* t0 */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            iconst_0
            daload
            dcmpg
            iflt 2
            dload 2 /* t0 */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            daload
            dcmpl
            ifle 3
         2: .line 181
      StackMap locals: double
      StackMap stack:
            new org.apache.commons.math3.exception.OutOfRangeException
            dup
            dload 2 /* t0 */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            iconst_0
            daload
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            daload
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokespecial org.apache.commons.math3.exception.OutOfRangeException.<init>:(Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
            athrow
         3: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            dload 2 /* t0 */
            invokestatic java.util.Arrays.binarySearch:([DD)I
            istore 4 /* i */
        start local 4 // int i
         4: .line 184
            iload 4 /* i */
            ifge 6
         5: .line 185
            iload 4 /* i */
            ineg
            iconst_2
            isub
            istore 4 /* i */
         6: .line 190
      StackMap locals: int
      StackMap stack:
            iload 4 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.polynomials:[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
            arraylength
            if_icmplt 8
         7: .line 191
            iinc 4 /* i */ -1
         8: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.polynomials:[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
            iload 4 /* i */
            aaload
            aload 1 /* t */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            iload 4 /* i */
            daload
            invokevirtual org.apache.commons.math3.analysis.differentiation.DerivativeStructure.subtract:(D)Lorg/apache/commons/math3/analysis/differentiation/DerivativeStructure;
            invokevirtual org.apache.commons.math3.analysis.polynomials.PolynomialFunction.value:(Lorg/apache/commons/math3/analysis/differentiation/DerivativeStructure;)Lorg/apache/commons/math3/analysis/differentiation/DerivativeStructure;
            areturn
        end local 4 // int i
        end local 2 // double t0
        end local 1 // org.apache.commons.math3.analysis.differentiation.DerivativeStructure t
        end local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
            0    9     1     t  Lorg/apache/commons/math3/analysis/differentiation/DerivativeStructure;
            1    9     2    t0  D
            4    9     4     i  I
    MethodParameters:
      Name  Flags
      t     final

  public int getN();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
         0: .line 203
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            ireturn
        end local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;

  public org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] getPolynomials();
    descriptor: ()[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
         0: .line 214
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            anewarray org.apache.commons.math3.analysis.polynomials.PolynomialFunction
            astore 1 /* p */
        start local 1 // org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] p
         1: .line 215
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.polynomials:[Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;
            iconst_0
            aload 1 /* p */
            iconst_0
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 216
            aload 1 /* p */
            areturn
        end local 1 // org.apache.commons.math3.analysis.polynomials.PolynomialFunction[] p
        end local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
            1    3     1     p  [Lorg/apache/commons/math3/analysis/polynomials/PolynomialFunction;

  public double[] getKnots();
    descriptor: ()[D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
         0: .line 227
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            iconst_1
            iadd
            newarray 7
            astore 1 /* out */
        start local 1 // double[] out
         1: .line 228
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            iconst_0
            aload 1 /* out */
            iconst_0
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            iconst_1
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 229
            aload 1 /* out */
            areturn
        end local 1 // double[] out
        end local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
            1    3     1   out  [D

  public boolean isValidPoint(double);
    descriptor: (D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
        start local 1 // double x
         0: .line 239
            dload 1 /* x */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            iconst_0
            daload
            dcmpg
            iflt 2
         1: .line 240
            dload 1 /* x */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.knots:[D
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction.n:I
            daload
            dcmpl
            ifle 3
         2: .line 241
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 243
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // double x
        end local 0 // org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/math3/analysis/polynomials/PolynomialSplineFunction;
            0    4     1     x  D
    MethodParameters:
      Name  Flags
      x     
}
SourceFile: "PolynomialSplineFunction.java"