class org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction
  super_class: java.lang.Object
{
  private double valueRange;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private final boolean isRepairMode;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.apache.commons.math3.optimization.direct.CMAESOptimizer this$0;
    descriptor: Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.apache.commons.math3.optimization.direct.CMAESOptimizer);
    descriptor: (Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
         0: .line 1016
            aload 0 /* this */
            aload 1
            putfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.this$0:Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1017
            aload 0 /* this */
            dconst_1
            putfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.valueRange:D
         2: .line 1018
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.isRepairMode:Z
         3: .line 1019
            return
        end local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer$FitnessFunction;
    MethodParameters:
        Name  Flags
      this$0  final

  public double value(double[]);
    descriptor: ([D)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
        start local 1 // double[] point
         0: .line 1027
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.isRepairMode:Z
            ifeq 6
         1: .line 1028
            aload 0 /* this */
            aload 1 /* point */
            invokevirtual org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.repair:([D)[D
            astore 4 /* repaired */
        start local 4 // double[] repaired
         2: .line 1029
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.this$0:Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer;
            aload 4 /* repaired */
            invokevirtual org.apache.commons.math3.optimization.direct.CMAESOptimizer.computeObjectiveValue:([D)D
         3: .line 1030
            aload 0 /* this */
            aload 1 /* point */
            aload 4 /* repaired */
            invokevirtual org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.penalty:([D[D)D
         4: .line 1029
            dadd
            dstore 2 /* value */
        end local 4 // double[] repaired
        start local 2 // double value
         5: .line 1031
            goto 7
        end local 2 // double value
         6: .line 1032
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.this$0:Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer;
            aload 1 /* point */
            invokevirtual org.apache.commons.math3.optimization.direct.CMAESOptimizer.computeObjectiveValue:([D)D
            dstore 2 /* value */
        start local 2 // double value
         7: .line 1034
      StackMap locals: double
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.this$0:Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer;
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer.isMinimize:Z
            ifeq 8
            dload 2 /* value */
            goto 9
      StackMap locals:
      StackMap stack:
         8: dload 2 /* value */
            dneg
      StackMap locals:
      StackMap stack: double
         9: dreturn
        end local 2 // double value
        end local 1 // double[] point
        end local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer$FitnessFunction;
            0   10     1     point  [D
            5    6     2     value  D
            7   10     2     value  D
            2    5     4  repaired  [D
    MethodParameters:
       Name  Flags
      point  final

  public boolean isFeasible(double[]);
    descriptor: ([D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
        start local 1 // double[] x
         0: .line 1042
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.this$0:Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer;
            invokevirtual org.apache.commons.math3.optimization.direct.CMAESOptimizer.getLowerBound:()[D
            astore 2 /* lB */
        start local 2 // double[] lB
         1: .line 1043
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.this$0:Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer;
            invokevirtual org.apache.commons.math3.optimization.direct.CMAESOptimizer.getUpperBound:()[D
            astore 3 /* uB */
        start local 3 // double[] uB
         2: .line 1045
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 9
         4: .line 1046
      StackMap locals: double[] double[] int
      StackMap stack:
            aload 1 /* x */
            iload 4 /* i */
            daload
            aload 2 /* lB */
            iload 4 /* i */
            daload
            dcmpg
            ifge 6
         5: .line 1047
            iconst_0
            ireturn
         6: .line 1049
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            iload 4 /* i */
            daload
            aload 3 /* uB */
            iload 4 /* i */
            daload
            dcmpl
            ifle 8
         7: .line 1050
            iconst_0
            ireturn
         8: .line 1045
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 1 /* x */
            arraylength
            if_icmplt 4
        end local 4 // int i
        10: .line 1053
            iconst_1
            ireturn
        end local 3 // double[] uB
        end local 2 // double[] lB
        end local 1 // double[] x
        end local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer$FitnessFunction;
            0   11     1     x  [D
            1   11     2    lB  [D
            2   11     3    uB  [D
            3   10     4     i  I
    MethodParameters:
      Name  Flags
      x     final

  public void setValueRange(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
        start local 1 // double valueRange
         0: .line 1060
            aload 0 /* this */
            dload 1 /* valueRange */
            putfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.valueRange:D
         1: .line 1061
            return
        end local 1 // double valueRange
        end local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer$FitnessFunction;
            0    2     1  valueRange  D
    MethodParameters:
            Name  Flags
      valueRange  

  private double[] repair(double[]);
    descriptor: ([D)[D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
        start local 1 // double[] x
         0: .line 1068
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.this$0:Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer;
            invokevirtual org.apache.commons.math3.optimization.direct.CMAESOptimizer.getLowerBound:()[D
            astore 2 /* lB */
        start local 2 // double[] lB
         1: .line 1069
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.this$0:Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer;
            invokevirtual org.apache.commons.math3.optimization.direct.CMAESOptimizer.getUpperBound:()[D
            astore 3 /* uB */
        start local 3 // double[] uB
         2: .line 1071
            aload 1 /* x */
            arraylength
            newarray 7
            astore 4 /* repaired */
        start local 4 // double[] repaired
         3: .line 1072
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 13
         5: .line 1073
      StackMap locals: org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction double[] double[] double[] double[] int
      StackMap stack:
            aload 1 /* x */
            iload 5 /* i */
            daload
            aload 2 /* lB */
            iload 5 /* i */
            daload
            dcmpg
            ifge 8
         6: .line 1074
            aload 4 /* repaired */
            iload 5 /* i */
            aload 2 /* lB */
            iload 5 /* i */
            daload
            dastore
         7: .line 1075
            goto 12
      StackMap locals:
      StackMap stack:
         8: aload 1 /* x */
            iload 5 /* i */
            daload
            aload 3 /* uB */
            iload 5 /* i */
            daload
            dcmpl
            ifle 11
         9: .line 1076
            aload 4 /* repaired */
            iload 5 /* i */
            aload 3 /* uB */
            iload 5 /* i */
            daload
            dastore
        10: .line 1077
            goto 12
        11: .line 1078
      StackMap locals:
      StackMap stack:
            aload 4 /* repaired */
            iload 5 /* i */
            aload 1 /* x */
            iload 5 /* i */
            daload
            dastore
        12: .line 1072
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            aload 1 /* x */
            arraylength
            if_icmplt 5
        end local 5 // int i
        14: .line 1081
            aload 4 /* repaired */
            areturn
        end local 4 // double[] repaired
        end local 3 // double[] uB
        end local 2 // double[] lB
        end local 1 // double[] x
        end local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer$FitnessFunction;
            0   15     1         x  [D
            1   15     2        lB  [D
            2   15     3        uB  [D
            3   15     4  repaired  [D
            4   14     5         i  I
    MethodParameters:
      Name  Flags
      x     final

  private double penalty(double[], double[]);
    descriptor: ([D[D)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
        start local 1 // double[] x
        start local 2 // double[] repaired
         0: .line 1090
            dconst_0
            dstore 3 /* penalty */
        start local 3 // double penalty
         1: .line 1091
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 6
         3: .line 1092
      StackMap locals: double int
      StackMap stack:
            aload 1 /* x */
            iload 5 /* i */
            daload
            aload 2 /* repaired */
            iload 5 /* i */
            daload
            dsub
            invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
            dstore 6 /* diff */
        start local 6 // double diff
         4: .line 1093
            dload 3 /* penalty */
            dload 6 /* diff */
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.valueRange:D
            dmul
            dadd
            dstore 3 /* penalty */
        end local 6 // double diff
         5: .line 1091
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            aload 1 /* x */
            arraylength
            if_icmplt 3
        end local 5 // int i
         7: .line 1095
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction.this$0:Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer;
            getfield org.apache.commons.math3.optimization.direct.CMAESOptimizer.isMinimize:Z
            ifeq 8
            dload 3 /* penalty */
            goto 9
      StackMap locals:
      StackMap stack:
         8: dload 3 /* penalty */
            dneg
      StackMap locals:
      StackMap stack: double
         9: dreturn
        end local 3 // double penalty
        end local 2 // double[] repaired
        end local 1 // double[] x
        end local 0 // org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/apache/commons/math3/optimization/direct/CMAESOptimizer$FitnessFunction;
            0   10     1         x  [D
            0   10     2  repaired  [D
            1   10     3   penalty  D
            2    7     5         i  I
            4    5     6      diff  D
    MethodParameters:
          Name  Flags
      x         final
      repaired  final
}
SourceFile: "CMAESOptimizer.java"
NestHost: org.apache.commons.math3.optimization.direct.CMAESOptimizer
InnerClasses:
  private FitnessFunction = org.apache.commons.math3.optimization.direct.CMAESOptimizer$FitnessFunction of org.apache.commons.math3.optimization.direct.CMAESOptimizer