public class org.apache.commons.math3.analysis.function.HarmonicOscillator 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.function.HarmonicOscillator
  super_class: java.lang.Object
{
  private final double amplitude;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double omega;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double phase;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(double, double, double);
    descriptor: (DDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.apache.commons.math3.analysis.function.HarmonicOscillator this
        start local 1 // double amplitude
        start local 3 // double omega
        start local 5 // double phase
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 54
            aload 0 /* this */
            dload 1 /* amplitude */
            putfield org.apache.commons.math3.analysis.function.HarmonicOscillator.amplitude:D
         2: .line 55
            aload 0 /* this */
            dload 3 /* omega */
            putfield org.apache.commons.math3.analysis.function.HarmonicOscillator.omega:D
         3: .line 56
            aload 0 /* this */
            dload 5 /* phase */
            putfield org.apache.commons.math3.analysis.function.HarmonicOscillator.phase:D
         4: .line 57
            return
        end local 5 // double phase
        end local 3 // double omega
        end local 1 // double amplitude
        end local 0 // org.apache.commons.math3.analysis.function.HarmonicOscillator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/apache/commons/math3/analysis/function/HarmonicOscillator;
            0    5     1  amplitude  D
            0    5     3      omega  D
            0    5     5      phase  D
    MethodParameters:
           Name  Flags
      amplitude  
      omega      
      phase      

  public double value(double);
    descriptor: (D)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.commons.math3.analysis.function.HarmonicOscillator this
        start local 1 // double x
         0: .line 61
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.function.HarmonicOscillator.omega:D
            dload 1 /* x */
            dmul
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.function.HarmonicOscillator.phase:D
            dadd
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.function.HarmonicOscillator.amplitude:D
            invokestatic org.apache.commons.math3.analysis.function.HarmonicOscillator.value:(DD)D
            dreturn
        end local 1 // double x
        end local 0 // org.apache.commons.math3.analysis.function.HarmonicOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/analysis/function/HarmonicOscillator;
            0    1     1     x  D
    MethodParameters:
      Name  Flags
      x     

  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.function.HarmonicOscillator this
         0: .line 69
            aload 0 /* this */
            invokestatic org.apache.commons.math3.analysis.FunctionUtils.toDifferentiableUnivariateFunction:(Lorg/apache/commons/math3/analysis/differentiation/UnivariateDifferentiableFunction;)Lorg/apache/commons/math3/analysis/DifferentiableUnivariateFunction;
            invokeinterface org.apache.commons.math3.analysis.DifferentiableUnivariateFunction.derivative:()Lorg/apache/commons/math3/analysis/UnivariateFunction;
            areturn
        end local 0 // org.apache.commons.math3.analysis.function.HarmonicOscillator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/analysis/function/HarmonicOscillator;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private static double value(double, double);
    descriptor: (DD)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double xTimesOmegaPlusPhase
        start local 2 // double amplitude
         0: .line 158
            dload 2 /* amplitude */
            dload 0 /* xTimesOmegaPlusPhase */
            invokestatic org.apache.commons.math3.util.FastMath.cos:(D)D
            dmul
            dreturn
        end local 2 // double amplitude
        end local 0 // double xTimesOmegaPlusPhase
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0  xTimesOmegaPlusPhase  D
            0    1     2             amplitude  D
    MethodParameters:
                      Name  Flags
      xTimesOmegaPlusPhase  
      amplitude             

  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=7, locals=10, args_size=2
        start local 0 // org.apache.commons.math3.analysis.function.HarmonicOscillator this
        start local 1 // org.apache.commons.math3.analysis.differentiation.DerivativeStructure t
         0: .line 166
            aload 1 /* t */
            invokevirtual org.apache.commons.math3.analysis.differentiation.DerivativeStructure.getValue:()D
            dstore 2 /* x */
        start local 2 // double x
         1: .line 167
            aload 1 /* t */
            invokevirtual org.apache.commons.math3.analysis.differentiation.DerivativeStructure.getOrder:()I
            iconst_1
            iadd
            newarray 7
            astore 4 /* f */
        start local 4 // double[] f
         2: .line 169
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.function.HarmonicOscillator.omega:D
            dload 2 /* x */
            dmul
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.function.HarmonicOscillator.phase:D
            dadd
            dstore 5 /* alpha */
        start local 5 // double alpha
         3: .line 170
            aload 4 /* f */
            iconst_0
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.function.HarmonicOscillator.amplitude:D
            dload 5 /* alpha */
            invokestatic org.apache.commons.math3.util.FastMath.cos:(D)D
            dmul
            dastore
         4: .line 171
            aload 4 /* f */
            arraylength
            iconst_1
            if_icmple 12
         5: .line 172
            aload 4 /* f */
            iconst_1
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.function.HarmonicOscillator.amplitude:D
            dneg
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.function.HarmonicOscillator.omega:D
            dmul
            dload 5 /* alpha */
            invokestatic org.apache.commons.math3.util.FastMath.sin:(D)D
            dmul
            dastore
         6: .line 173
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.function.HarmonicOscillator.omega:D
            dneg
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.function.HarmonicOscillator.omega:D
            dmul
            dstore 7 /* mo2 */
        start local 7 // double mo2
         7: .line 174
            iconst_2
            istore 9 /* i */
        start local 9 // int i
         8: goto 11
         9: .line 175
      StackMap locals: org.apache.commons.math3.analysis.function.HarmonicOscillator org.apache.commons.math3.analysis.differentiation.DerivativeStructure double double[] double double int
      StackMap stack:
            aload 4 /* f */
            iload 9 /* i */
            dload 7 /* mo2 */
            aload 4 /* f */
            iload 9 /* i */
            iconst_2
            isub
            daload
            dmul
            dastore
        10: .line 174
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 9 /* i */
            aload 4 /* f */
            arraylength
            if_icmplt 9
        end local 9 // int i
        end local 7 // double mo2
        12: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            aload 4 /* f */
            invokevirtual org.apache.commons.math3.analysis.differentiation.DerivativeStructure.compose:([D)Lorg/apache/commons/math3/analysis/differentiation/DerivativeStructure;
            areturn
        end local 5 // double alpha
        end local 4 // double[] f
        end local 2 // double x
        end local 1 // org.apache.commons.math3.analysis.differentiation.DerivativeStructure t
        end local 0 // org.apache.commons.math3.analysis.function.HarmonicOscillator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/apache/commons/math3/analysis/function/HarmonicOscillator;
            0   13     1      t  Lorg/apache/commons/math3/analysis/differentiation/DerivativeStructure;
            1   13     2      x  D
            2   13     4      f  [D
            3   13     5  alpha  D
            7   12     7    mo2  D
            8   12     9      i  I
    Exceptions:
      throws org.apache.commons.math3.exception.DimensionMismatchException
    MethodParameters:
      Name  Flags
      t     final
}
SourceFile: "HarmonicOscillator.java"
NestMembers:
  org.apache.commons.math3.analysis.function.HarmonicOscillator$Parametric
InnerClasses:
  public Parametric = org.apache.commons.math3.analysis.function.HarmonicOscillator$Parametric of org.apache.commons.math3.analysis.function.HarmonicOscillator