public class org.apache.commons.math3.optim.nonlinear.scalar.LineSearch
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.math3.optim.nonlinear.scalar.LineSearch
  super_class: java.lang.Object
{
  private static final double REL_TOL_UNUSED;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0E-15

  private static final double ABS_TOL_UNUSED;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4.9E-324

  private final org.apache.commons.math3.optim.univariate.UnivariateOptimizer lineOptimizer;
    descriptor: Lorg/apache/commons/math3/optim/univariate/UnivariateOptimizer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.commons.math3.optim.univariate.BracketFinder bracket;
    descriptor: Lorg/apache/commons/math3/optim/univariate/BracketFinder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer mainOptimizer;
    descriptor: Lorg/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer, double, double, double);
    descriptor: (Lorg/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer;DDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=8, args_size=5
        start local 0 // org.apache.commons.math3.optim.nonlinear.scalar.LineSearch this
        start local 1 // org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer optimizer
        start local 2 // double relativeTolerance
        start local 4 // double absoluteTolerance
        start local 6 // double initialBracketingRange
         0: .line 89
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            new org.apache.commons.math3.optim.univariate.BracketFinder
            dup
            invokespecial org.apache.commons.math3.optim.univariate.BracketFinder.<init>:()V
            putfield org.apache.commons.math3.optim.nonlinear.scalar.LineSearch.bracket:Lorg/apache/commons/math3/optim/univariate/BracketFinder;
         2: .line 93
            aload 0 /* this */
            aload 1 /* optimizer */
            putfield org.apache.commons.math3.optim.nonlinear.scalar.LineSearch.mainOptimizer:Lorg/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer;
         3: .line 94
            aload 0 /* this */
            new org.apache.commons.math3.optim.univariate.BrentOptimizer
            dup
            ldc 1.0E-15
         4: .line 95
            ldc 4.9E-324
         5: .line 96
            new org.apache.commons.math3.optim.univariate.SimpleUnivariateValueChecker
            dup
            dload 2 /* relativeTolerance */
         6: .line 97
            dload 4 /* absoluteTolerance */
         7: .line 96
            invokespecial org.apache.commons.math3.optim.univariate.SimpleUnivariateValueChecker.<init>:(DD)V
            invokespecial org.apache.commons.math3.optim.univariate.BrentOptimizer.<init>:(DDLorg/apache/commons/math3/optim/ConvergenceChecker;)V
         8: .line 94
            putfield org.apache.commons.math3.optim.nonlinear.scalar.LineSearch.lineOptimizer:Lorg/apache/commons/math3/optim/univariate/UnivariateOptimizer;
         9: .line 98
            aload 0 /* this */
            dload 6 /* initialBracketingRange */
            putfield org.apache.commons.math3.optim.nonlinear.scalar.LineSearch.initialBracketingRange:D
        10: .line 99
            return
        end local 6 // double initialBracketingRange
        end local 4 // double absoluteTolerance
        end local 2 // double relativeTolerance
        end local 1 // org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer optimizer
        end local 0 // org.apache.commons.math3.optim.nonlinear.scalar.LineSearch this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   11     0                    this  Lorg/apache/commons/math3/optim/nonlinear/scalar/LineSearch;
            0   11     1               optimizer  Lorg/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer;
            0   11     2       relativeTolerance  D
            0   11     4       absoluteTolerance  D
            0   11     6  initialBracketingRange  D
    MethodParameters:
                        Name  Flags
      optimizer               
      relativeTolerance       
      absoluteTolerance       
      initialBracketingRange  

  public org.apache.commons.math3.optim.univariate.UnivariatePointValuePair search(double[], double[]);
    descriptor: ([D[D)Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=6, args_size=3
        start local 0 // org.apache.commons.math3.optim.nonlinear.scalar.LineSearch this
        start local 1 // double[] startPoint
        start local 2 // double[] direction
         0: .line 113
            aload 1 /* startPoint */
            arraylength
            istore 3 /* n */
        start local 3 // int n
         1: .line 114
            new org.apache.commons.math3.optim.nonlinear.scalar.LineSearch$1
            dup
            aload 0 /* this */
            iload 3 /* n */
            aload 1 /* startPoint */
            aload 2 /* direction */
            invokespecial org.apache.commons.math3.optim.nonlinear.scalar.LineSearch$1.<init>:(Lorg/apache/commons/math3/optim/nonlinear/scalar/LineSearch;I[D[D)V
            astore 4 /* f */
        start local 4 // org.apache.commons.math3.analysis.UnivariateFunction f
         2: .line 126
            aload 0 /* this */
            getfield org.apache.commons.math3.optim.nonlinear.scalar.LineSearch.mainOptimizer:Lorg/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer;
            invokevirtual org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer.getGoalType:()Lorg/apache/commons/math3/optim/nonlinear/scalar/GoalType;
            astore 5 /* goal */
        start local 5 // org.apache.commons.math3.optim.nonlinear.scalar.GoalType goal
         3: .line 127
            aload 0 /* this */
            getfield org.apache.commons.math3.optim.nonlinear.scalar.LineSearch.bracket:Lorg/apache/commons/math3/optim/univariate/BracketFinder;
            aload 4 /* f */
            aload 5 /* goal */
            dconst_0
            aload 0 /* this */
            getfield org.apache.commons.math3.optim.nonlinear.scalar.LineSearch.initialBracketingRange:D
            invokevirtual org.apache.commons.math3.optim.univariate.BracketFinder.search:(Lorg/apache/commons/math3/analysis/UnivariateFunction;Lorg/apache/commons/math3/optim/nonlinear/scalar/GoalType;DD)V
         4: .line 131
            aload 0 /* this */
            getfield org.apache.commons.math3.optim.nonlinear.scalar.LineSearch.lineOptimizer:Lorg/apache/commons/math3/optim/univariate/UnivariateOptimizer;
            iconst_4
            anewarray org.apache.commons.math3.optim.OptimizationData
            dup
            iconst_0
            new org.apache.commons.math3.optim.MaxEval
            dup
            ldc 2147483647
            invokespecial org.apache.commons.math3.optim.MaxEval.<init>:(I)V
            aastore
            dup
            iconst_1
         5: .line 132
            new org.apache.commons.math3.optim.univariate.UnivariateObjectiveFunction
            dup
            aload 4 /* f */
            invokespecial org.apache.commons.math3.optim.univariate.UnivariateObjectiveFunction.<init>:(Lorg/apache/commons/math3/analysis/UnivariateFunction;)V
            aastore
            dup
            iconst_2
         6: .line 133
            aload 5 /* goal */
            aastore
            dup
            iconst_3
         7: .line 134
            new org.apache.commons.math3.optim.univariate.SearchInterval
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.optim.nonlinear.scalar.LineSearch.bracket:Lorg/apache/commons/math3/optim/univariate/BracketFinder;
            invokevirtual org.apache.commons.math3.optim.univariate.BracketFinder.getLo:()D
         8: .line 135
            aload 0 /* this */
            getfield org.apache.commons.math3.optim.nonlinear.scalar.LineSearch.bracket:Lorg/apache/commons/math3/optim/univariate/BracketFinder;
            invokevirtual org.apache.commons.math3.optim.univariate.BracketFinder.getHi:()D
         9: .line 136
            aload 0 /* this */
            getfield org.apache.commons.math3.optim.nonlinear.scalar.LineSearch.bracket:Lorg/apache/commons/math3/optim/univariate/BracketFinder;
            invokevirtual org.apache.commons.math3.optim.univariate.BracketFinder.getMid:()D
        10: .line 134
            invokespecial org.apache.commons.math3.optim.univariate.SearchInterval.<init>:(DDD)V
            aastore
        11: .line 131
            invokevirtual org.apache.commons.math3.optim.univariate.UnivariateOptimizer.optimize:([Lorg/apache/commons/math3/optim/OptimizationData;)Lorg/apache/commons/math3/optim/univariate/UnivariatePointValuePair;
            areturn
        end local 5 // org.apache.commons.math3.optim.nonlinear.scalar.GoalType goal
        end local 4 // org.apache.commons.math3.analysis.UnivariateFunction f
        end local 3 // int n
        end local 2 // double[] direction
        end local 1 // double[] startPoint
        end local 0 // org.apache.commons.math3.optim.nonlinear.scalar.LineSearch this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/apache/commons/math3/optim/nonlinear/scalar/LineSearch;
            0   12     1  startPoint  [D
            0   12     2   direction  [D
            1   12     3           n  I
            2   12     4           f  Lorg/apache/commons/math3/analysis/UnivariateFunction;
            3   12     5        goal  Lorg/apache/commons/math3/optim/nonlinear/scalar/GoalType;
    MethodParameters:
            Name  Flags
      startPoint  final
      direction   final
}
SourceFile: "LineSearch.java"
NestMembers:
  org.apache.commons.math3.optim.nonlinear.scalar.LineSearch$1
InnerClasses:
  org.apache.commons.math3.optim.nonlinear.scalar.LineSearch$1