public class org.apache.commons.math3.ml.neuralnet.MapUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.math3.ml.neuralnet.MapUtils
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.ml.neuralnet.MapUtils this
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.commons.math3.ml.neuralnet.MapUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/ml/neuralnet/MapUtils;

  public static org.apache.commons.math3.ml.neuralnet.Neuron findBest(double[], java.lang.Iterable<org.apache.commons.math3.ml.neuralnet.Neuron>, org.apache.commons.math3.ml.distance.DistanceMeasure);
    descriptor: ([DLjava/lang/Iterable;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)Lorg/apache/commons/math3/ml/neuralnet/Neuron;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // double[] features
        start local 1 // java.lang.Iterable neurons
        start local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
         0: .line 59
            aconst_null
            astore 3 /* best */
        start local 3 // org.apache.commons.math3.ml.neuralnet.Neuron best
         1: .line 60
            ldc Infinity
            dstore 4 /* min */
        start local 4 // double min
         2: .line 61
            aload 1 /* neurons */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 8
      StackMap locals: double[] java.lang.Iterable org.apache.commons.math3.ml.distance.DistanceMeasure org.apache.commons.math3.ml.neuralnet.Neuron double top java.util.Iterator
      StackMap stack:
         3: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.math3.ml.neuralnet.Neuron
            astore 6 /* n */
        start local 6 // org.apache.commons.math3.ml.neuralnet.Neuron n
         4: .line 62
            aload 2 /* distance */
            aload 6 /* n */
            invokevirtual org.apache.commons.math3.ml.neuralnet.Neuron.getFeatures:()[D
            aload 0 /* features */
            invokeinterface org.apache.commons.math3.ml.distance.DistanceMeasure.compute:([D[D)D
            dstore 8 /* d */
        start local 8 // double d
         5: .line 63
            dload 8 /* d */
            dload 4 /* min */
            dcmpg
            ifge 8
         6: .line 64
            dload 8 /* d */
            dstore 4 /* min */
         7: .line 65
            aload 6 /* n */
            astore 3 /* best */
        end local 8 // double d
        end local 6 // org.apache.commons.math3.ml.neuralnet.Neuron n
         8: .line 61
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 69
            aload 3 /* best */
            areturn
        end local 4 // double min
        end local 3 // org.apache.commons.math3.ml.neuralnet.Neuron best
        end local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
        end local 1 // java.lang.Iterable neurons
        end local 0 // double[] features
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0  features  [D
            0   10     1   neurons  Ljava/lang/Iterable<Lorg/apache/commons/math3/ml/neuralnet/Neuron;>;
            0   10     2  distance  Lorg/apache/commons/math3/ml/distance/DistanceMeasure;
            1   10     3      best  Lorg/apache/commons/math3/ml/neuralnet/Neuron;
            2   10     4       min  D
            4    8     6         n  Lorg/apache/commons/math3/ml/neuralnet/Neuron;
            5    8     8         d  D
    Signature: ([DLjava/lang/Iterable<Lorg/apache/commons/math3/ml/neuralnet/Neuron;>;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)Lorg/apache/commons/math3/ml/neuralnet/Neuron;
    MethodParameters:
          Name  Flags
      features  
      neurons   
      distance  

  public static org.apache.commons.math3.util.Pair<org.apache.commons.math3.ml.neuralnet.Neuron, org.apache.commons.math3.ml.neuralnet.Neuron> findBestAndSecondBest(double[], java.lang.Iterable<org.apache.commons.math3.ml.neuralnet.Neuron>, org.apache.commons.math3.ml.distance.DistanceMeasure);
    descriptor: ([DLjava/lang/Iterable;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)Lorg/apache/commons/math3/util/Pair;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // double[] features
        start local 1 // java.lang.Iterable neurons
        start local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
         0: .line 88
            iconst_2
            anewarray org.apache.commons.math3.ml.neuralnet.Neuron
            astore 3 /* best */
        start local 3 // org.apache.commons.math3.ml.neuralnet.Neuron[] best
         1: .line 89
            iconst_2
            newarray 7
            dup
            iconst_0
            ldc Infinity
            dastore
            dup
            iconst_1
         2: .line 90
            ldc Infinity
            dastore
         3: .line 89
            astore 4 /* min */
        start local 4 // double[] min
         4: .line 91
            aload 1 /* neurons */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: double[] java.lang.Iterable org.apache.commons.math3.ml.distance.DistanceMeasure org.apache.commons.math3.ml.neuralnet.Neuron[] double[] top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.math3.ml.neuralnet.Neuron
            astore 5 /* n */
        start local 5 // org.apache.commons.math3.ml.neuralnet.Neuron n
         6: .line 92
            aload 2 /* distance */
            aload 5 /* n */
            invokevirtual org.apache.commons.math3.ml.neuralnet.Neuron.getFeatures:()[D
            aload 0 /* features */
            invokeinterface org.apache.commons.math3.ml.distance.DistanceMeasure.compute:([D[D)D
            dstore 7 /* d */
        start local 7 // double d
         7: .line 93
            dload 7 /* d */
            aload 4 /* min */
            iconst_0
            daload
            dcmpg
            ifge 13
         8: .line 95
            aload 4 /* min */
            iconst_1
            aload 4 /* min */
            iconst_0
            daload
            dastore
         9: .line 96
            aload 3 /* best */
            iconst_1
            aload 3 /* best */
            iconst_0
            aaload
            aastore
        10: .line 99
            aload 4 /* min */
            iconst_0
            dload 7 /* d */
            dastore
        11: .line 100
            aload 3 /* best */
            iconst_0
            aload 5 /* n */
            aastore
        12: .line 101
            goto 16
      StackMap locals: double[] java.lang.Iterable org.apache.commons.math3.ml.distance.DistanceMeasure org.apache.commons.math3.ml.neuralnet.Neuron[] double[] org.apache.commons.math3.ml.neuralnet.Neuron java.util.Iterator double
      StackMap stack:
        13: dload 7 /* d */
            aload 4 /* min */
            iconst_1
            daload
            dcmpg
            ifge 16
        14: .line 103
            aload 4 /* min */
            iconst_1
            dload 7 /* d */
            dastore
        15: .line 104
            aload 3 /* best */
            iconst_1
            aload 5 /* n */
            aastore
        end local 7 // double d
        end local 5 // org.apache.commons.math3.ml.neuralnet.Neuron n
        16: .line 91
      StackMap locals: double[] java.lang.Iterable org.apache.commons.math3.ml.distance.DistanceMeasure org.apache.commons.math3.ml.neuralnet.Neuron[] double[] top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        17: .line 108
            new org.apache.commons.math3.util.Pair
            dup
            aload 3 /* best */
            iconst_0
            aaload
            aload 3 /* best */
            iconst_1
            aaload
            invokespecial org.apache.commons.math3.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            areturn
        end local 4 // double[] min
        end local 3 // org.apache.commons.math3.ml.neuralnet.Neuron[] best
        end local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
        end local 1 // java.lang.Iterable neurons
        end local 0 // double[] features
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0  features  [D
            0   18     1   neurons  Ljava/lang/Iterable<Lorg/apache/commons/math3/ml/neuralnet/Neuron;>;
            0   18     2  distance  Lorg/apache/commons/math3/ml/distance/DistanceMeasure;
            1   18     3      best  [Lorg/apache/commons/math3/ml/neuralnet/Neuron;
            4   18     4       min  [D
            6   16     5         n  Lorg/apache/commons/math3/ml/neuralnet/Neuron;
            7   16     7         d  D
    Signature: ([DLjava/lang/Iterable<Lorg/apache/commons/math3/ml/neuralnet/Neuron;>;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)Lorg/apache/commons/math3/util/Pair<Lorg/apache/commons/math3/ml/neuralnet/Neuron;Lorg/apache/commons/math3/ml/neuralnet/Neuron;>;
    MethodParameters:
          Name  Flags
      features  
      neurons   
      distance  

  public static org.apache.commons.math3.ml.neuralnet.Neuron[] sort(double[], java.lang.Iterable<org.apache.commons.math3.ml.neuralnet.Neuron>, org.apache.commons.math3.ml.distance.DistanceMeasure);
    descriptor: ([DLjava/lang/Iterable;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)[Lorg/apache/commons/math3/ml/neuralnet/Neuron;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // double[] features
        start local 1 // java.lang.Iterable neurons
        start local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
         0: .line 133
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.List list
         1: .line 135
            aload 1 /* neurons */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: double[] java.lang.Iterable org.apache.commons.math3.ml.distance.DistanceMeasure java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.math3.ml.neuralnet.Neuron
            astore 4 /* n */
        start local 4 // org.apache.commons.math3.ml.neuralnet.Neuron n
         3: .line 136
            aload 2 /* distance */
            aload 4 /* n */
            invokevirtual org.apache.commons.math3.ml.neuralnet.Neuron.getFeatures:()[D
            aload 0 /* features */
            invokeinterface org.apache.commons.math3.ml.distance.DistanceMeasure.compute:([D[D)D
            dstore 6 /* d */
        start local 6 // double d
         4: .line 137
            aload 3 /* list */
            new org.apache.commons.math3.ml.neuralnet.MapUtils$PairNeuronDouble
            dup
            aload 4 /* n */
            dload 6 /* d */
            invokespecial org.apache.commons.math3.ml.neuralnet.MapUtils$PairNeuronDouble.<init>:(Lorg/apache/commons/math3/ml/neuralnet/Neuron;D)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // double d
        end local 4 // org.apache.commons.math3.ml.neuralnet.Neuron n
         5: .line 135
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 140
            aload 3 /* list */
            getstatic org.apache.commons.math3.ml.neuralnet.MapUtils$PairNeuronDouble.COMPARATOR:Ljava/util/Comparator;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         7: .line 142
            aload 3 /* list */
            invokeinterface java.util.List.size:()I
            istore 4 /* len */
        start local 4 // int len
         8: .line 143
            iload 4 /* len */
            anewarray org.apache.commons.math3.ml.neuralnet.Neuron
            astore 5 /* sorted */
        start local 5 // org.apache.commons.math3.ml.neuralnet.Neuron[] sorted
         9: .line 145
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        10: goto 13
        11: .line 146
      StackMap locals: double[] java.lang.Iterable org.apache.commons.math3.ml.distance.DistanceMeasure java.util.List int org.apache.commons.math3.ml.neuralnet.Neuron[] int
      StackMap stack:
            aload 5 /* sorted */
            iload 6 /* i */
            aload 3 /* list */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.commons.math3.ml.neuralnet.MapUtils$PairNeuronDouble
            invokevirtual org.apache.commons.math3.ml.neuralnet.MapUtils$PairNeuronDouble.getNeuron:()Lorg/apache/commons/math3/ml/neuralnet/Neuron;
            aastore
        12: .line 145
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            iload 4 /* len */
            if_icmplt 11
        end local 6 // int i
        14: .line 148
            aload 5 /* sorted */
            areturn
        end local 5 // org.apache.commons.math3.ml.neuralnet.Neuron[] sorted
        end local 4 // int len
        end local 3 // java.util.List list
        end local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
        end local 1 // java.lang.Iterable neurons
        end local 0 // double[] features
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0  features  [D
            0   15     1   neurons  Ljava/lang/Iterable<Lorg/apache/commons/math3/ml/neuralnet/Neuron;>;
            0   15     2  distance  Lorg/apache/commons/math3/ml/distance/DistanceMeasure;
            1   15     3      list  Ljava/util/List<Lorg/apache/commons/math3/ml/neuralnet/MapUtils$PairNeuronDouble;>;
            3    5     4         n  Lorg/apache/commons/math3/ml/neuralnet/Neuron;
            4    5     6         d  D
            8   15     4       len  I
            9   15     5    sorted  [Lorg/apache/commons/math3/ml/neuralnet/Neuron;
           10   14     6         i  I
    Signature: ([DLjava/lang/Iterable<Lorg/apache/commons/math3/ml/neuralnet/Neuron;>;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)[Lorg/apache/commons/math3/ml/neuralnet/Neuron;
    MethodParameters:
          Name  Flags
      features  
      neurons   
      distance  

  public static double[][] computeU(org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D, org.apache.commons.math3.ml.distance.DistanceMeasure);
    descriptor: (Lorg/apache/commons/math3/ml/neuralnet/twod/NeuronSquareMesh2D;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)[[D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=16, args_size=2
        start local 0 // org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D map
        start local 1 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
         0: .line 162
            aload 0 /* map */
            invokevirtual org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D.getNumberOfRows:()I
            istore 2 /* numRows */
        start local 2 // int numRows
         1: .line 163
            aload 0 /* map */
            invokevirtual org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D.getNumberOfColumns:()I
            istore 3 /* numCols */
        start local 3 // int numCols
         2: .line 164
            iload 2 /* numRows */
            iload 3 /* numCols */
            multianewarray [[D 2
            astore 4 /* uMatrix */
        start local 4 // double[][] uMatrix
         3: .line 166
            aload 0 /* map */
            invokevirtual org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D.getNetwork:()Lorg/apache/commons/math3/ml/neuralnet/Network;
            astore 5 /* net */
        start local 5 // org.apache.commons.math3.ml.neuralnet.Network net
         4: .line 168
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 22
         6: .line 169
      StackMap locals: org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D org.apache.commons.math3.ml.distance.DistanceMeasure int int double[][] org.apache.commons.math3.ml.neuralnet.Network int
      StackMap stack:
            iconst_0
            istore 7 /* j */
        start local 7 // int j
         7: goto 20
         8: .line 170
      StackMap locals: int
      StackMap stack:
            aload 0 /* map */
            iload 6 /* i */
            iload 7 /* j */
            invokevirtual org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D.getNeuron:(II)Lorg/apache/commons/math3/ml/neuralnet/Neuron;
            astore 8 /* neuron */
        start local 8 // org.apache.commons.math3.ml.neuralnet.Neuron neuron
         9: .line 171
            aload 5 /* net */
            aload 8 /* neuron */
            invokevirtual org.apache.commons.math3.ml.neuralnet.Network.getNeighbours:(Lorg/apache/commons/math3/ml/neuralnet/Neuron;)Ljava/util/Collection;
            astore 9 /* neighbours */
        start local 9 // java.util.Collection neighbours
        10: .line 172
            aload 8 /* neuron */
            invokevirtual org.apache.commons.math3.ml.neuralnet.Neuron.getFeatures:()[D
            astore 10 /* features */
        start local 10 // double[] features
        11: .line 174
            dconst_0
            dstore 11 /* d */
        start local 11 // double d
        12: .line 175
            iconst_0
            istore 13 /* count */
        start local 13 // int count
        13: .line 176
            aload 9 /* neighbours */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 15
            goto 17
      StackMap locals: org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D org.apache.commons.math3.ml.distance.DistanceMeasure int int double[][] org.apache.commons.math3.ml.neuralnet.Network int int org.apache.commons.math3.ml.neuralnet.Neuron java.util.Collection double[] double int top java.util.Iterator
      StackMap stack:
        14: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.math3.ml.neuralnet.Neuron
            astore 14 /* n */
        start local 14 // org.apache.commons.math3.ml.neuralnet.Neuron n
        15: .line 177
            iinc 13 /* count */ 1
        16: .line 178
            dload 11 /* d */
            aload 1 /* distance */
            aload 10 /* features */
            aload 14 /* n */
            invokevirtual org.apache.commons.math3.ml.neuralnet.Neuron.getFeatures:()[D
            invokeinterface org.apache.commons.math3.ml.distance.DistanceMeasure.compute:([D[D)D
            dadd
            dstore 11 /* d */
        end local 14 // org.apache.commons.math3.ml.neuralnet.Neuron n
        17: .line 176
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        18: .line 181
            aload 4 /* uMatrix */
            iload 6 /* i */
            aaload
            iload 7 /* j */
            dload 11 /* d */
            iload 13 /* count */
            i2d
            ddiv
            dastore
        end local 13 // int count
        end local 11 // double d
        end local 10 // double[] features
        end local 9 // java.util.Collection neighbours
        end local 8 // org.apache.commons.math3.ml.neuralnet.Neuron neuron
        19: .line 169
            iinc 7 /* j */ 1
      StackMap locals: org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D org.apache.commons.math3.ml.distance.DistanceMeasure int int double[][] org.apache.commons.math3.ml.neuralnet.Network int int
      StackMap stack:
        20: iload 7 /* j */
            iload 3 /* numCols */
            if_icmplt 8
        end local 7 // int j
        21: .line 168
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            iload 2 /* numRows */
            if_icmplt 6
        end local 6 // int i
        23: .line 185
            aload 4 /* uMatrix */
            areturn
        end local 5 // org.apache.commons.math3.ml.neuralnet.Network net
        end local 4 // double[][] uMatrix
        end local 3 // int numCols
        end local 2 // int numRows
        end local 1 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
        end local 0 // org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D map
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0         map  Lorg/apache/commons/math3/ml/neuralnet/twod/NeuronSquareMesh2D;
            0   24     1    distance  Lorg/apache/commons/math3/ml/distance/DistanceMeasure;
            1   24     2     numRows  I
            2   24     3     numCols  I
            3   24     4     uMatrix  [[D
            4   24     5         net  Lorg/apache/commons/math3/ml/neuralnet/Network;
            5   23     6           i  I
            7   21     7           j  I
            9   19     8      neuron  Lorg/apache/commons/math3/ml/neuralnet/Neuron;
           10   19     9  neighbours  Ljava/util/Collection<Lorg/apache/commons/math3/ml/neuralnet/Neuron;>;
           11   19    10    features  [D
           12   19    11           d  D
           13   19    13       count  I
           15   17    14           n  Lorg/apache/commons/math3/ml/neuralnet/Neuron;
    MethodParameters:
          Name  Flags
      map       
      distance  

  public static int[][] computeHitHistogram(java.lang.Iterable<double[]>, org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D, org.apache.commons.math3.ml.distance.DistanceMeasure);
    descriptor: (Ljava/lang/Iterable;Lorg/apache/commons/math3/ml/neuralnet/twod/NeuronSquareMesh2D;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)[[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // java.lang.Iterable data
        start local 1 // org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D map
        start local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
         0: .line 199
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* hit */
        start local 3 // java.util.HashMap hit
         1: .line 200
            aload 1 /* map */
            invokevirtual org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D.getNetwork:()Lorg/apache/commons/math3/ml/neuralnet/Network;
            astore 4 /* net */
        start local 4 // org.apache.commons.math3.ml.neuralnet.Network net
         2: .line 202
            aload 0 /* data */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 10
      StackMap locals: java.lang.Iterable org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D org.apache.commons.math3.ml.distance.DistanceMeasure java.util.HashMap org.apache.commons.math3.ml.neuralnet.Network top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast double[]
            astore 5 /* f */
        start local 5 // double[] f
         4: .line 203
            aload 5 /* f */
            aload 4 /* net */
            aload 2 /* distance */
            invokestatic org.apache.commons.math3.ml.neuralnet.MapUtils.findBest:([DLjava/lang/Iterable;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)Lorg/apache/commons/math3/ml/neuralnet/Neuron;
            astore 7 /* best */
        start local 7 // org.apache.commons.math3.ml.neuralnet.Neuron best
         5: .line 204
            aload 3 /* hit */
            aload 7 /* best */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 8 /* count */
        start local 8 // java.lang.Integer count
         6: .line 205
            aload 8 /* count */
            ifnonnull 9
         7: .line 206
            aload 3 /* hit */
            aload 7 /* best */
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 207
            goto 10
         9: .line 208
      StackMap locals: java.lang.Iterable org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D org.apache.commons.math3.ml.distance.DistanceMeasure java.util.HashMap org.apache.commons.math3.ml.neuralnet.Network double[] java.util.Iterator org.apache.commons.math3.ml.neuralnet.Neuron java.lang.Integer
      StackMap stack:
            aload 3 /* hit */
            aload 7 /* best */
            aload 8 /* count */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.Integer count
        end local 7 // org.apache.commons.math3.ml.neuralnet.Neuron best
        end local 5 // double[] f
        10: .line 202
      StackMap locals: java.lang.Iterable org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D org.apache.commons.math3.ml.distance.DistanceMeasure java.util.HashMap org.apache.commons.math3.ml.neuralnet.Network top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 213
            aload 1 /* map */
            invokevirtual org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D.getNumberOfRows:()I
            istore 5 /* numRows */
        start local 5 // int numRows
        12: .line 214
            aload 1 /* map */
            invokevirtual org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D.getNumberOfColumns:()I
            istore 6 /* numCols */
        start local 6 // int numCols
        13: .line 215
            iload 5 /* numRows */
            iload 6 /* numCols */
            multianewarray [[I 2
            astore 7 /* histo */
        start local 7 // int[][] histo
        14: .line 217
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        15: goto 27
        16: .line 218
      StackMap locals: java.lang.Iterable org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D org.apache.commons.math3.ml.distance.DistanceMeasure java.util.HashMap org.apache.commons.math3.ml.neuralnet.Network int int int[][] int
      StackMap stack:
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        17: goto 25
        18: .line 219
      StackMap locals: int
      StackMap stack:
            aload 1 /* map */
            iload 8 /* i */
            iload 9 /* j */
            invokevirtual org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D.getNeuron:(II)Lorg/apache/commons/math3/ml/neuralnet/Neuron;
            astore 10 /* neuron */
        start local 10 // org.apache.commons.math3.ml.neuralnet.Neuron neuron
        19: .line 220
            aload 3 /* hit */
            aload 10 /* neuron */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 11 /* count */
        start local 11 // java.lang.Integer count
        20: .line 221
            aload 11 /* count */
            ifnonnull 23
        21: .line 222
            aload 7 /* histo */
            iload 8 /* i */
            aaload
            iload 9 /* j */
            iconst_0
            iastore
        22: .line 223
            goto 24
        23: .line 224
      StackMap locals: org.apache.commons.math3.ml.neuralnet.Neuron java.lang.Integer
      StackMap stack:
            aload 7 /* histo */
            iload 8 /* i */
            aaload
            iload 9 /* j */
            aload 11 /* count */
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        end local 11 // java.lang.Integer count
        end local 10 // org.apache.commons.math3.ml.neuralnet.Neuron neuron
        24: .line 218
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        25: iload 9 /* j */
            iload 6 /* numCols */
            if_icmplt 18
        end local 9 // int j
        26: .line 217
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 8 /* i */
            iload 5 /* numRows */
            if_icmplt 16
        end local 8 // int i
        28: .line 229
            aload 7 /* histo */
            areturn
        end local 7 // int[][] histo
        end local 6 // int numCols
        end local 5 // int numRows
        end local 4 // org.apache.commons.math3.ml.neuralnet.Network net
        end local 3 // java.util.HashMap hit
        end local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
        end local 1 // org.apache.commons.math3.ml.neuralnet.twod.NeuronSquareMesh2D map
        end local 0 // java.lang.Iterable data
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   29     0      data  Ljava/lang/Iterable<[D>;
            0   29     1       map  Lorg/apache/commons/math3/ml/neuralnet/twod/NeuronSquareMesh2D;
            0   29     2  distance  Lorg/apache/commons/math3/ml/distance/DistanceMeasure;
            1   29     3       hit  Ljava/util/HashMap<Lorg/apache/commons/math3/ml/neuralnet/Neuron;Ljava/lang/Integer;>;
            2   29     4       net  Lorg/apache/commons/math3/ml/neuralnet/Network;
            4   10     5         f  [D
            5   10     7      best  Lorg/apache/commons/math3/ml/neuralnet/Neuron;
            6   10     8     count  Ljava/lang/Integer;
           12   29     5   numRows  I
           13   29     6   numCols  I
           14   29     7     histo  [[I
           15   28     8         i  I
           17   26     9         j  I
           19   24    10    neuron  Lorg/apache/commons/math3/ml/neuralnet/Neuron;
           20   24    11     count  Ljava/lang/Integer;
    Signature: (Ljava/lang/Iterable<[D>;Lorg/apache/commons/math3/ml/neuralnet/twod/NeuronSquareMesh2D;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)[[I
    MethodParameters:
          Name  Flags
      data      
      map       
      distance  

  public static double computeQuantizationError(java.lang.Iterable<double[]>, java.lang.Iterable<org.apache.commons.math3.ml.neuralnet.Neuron>, org.apache.commons.math3.ml.distance.DistanceMeasure);
    descriptor: (Ljava/lang/Iterable;Ljava/lang/Iterable;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // java.lang.Iterable data
        start local 1 // java.lang.Iterable neurons
        start local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
         0: .line 246
            dconst_0
            dstore 3 /* d */
        start local 3 // double d
         1: .line 247
            iconst_0
            istore 5 /* count */
        start local 5 // int count
         2: .line 248
            aload 0 /* data */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 6
      StackMap locals: java.lang.Iterable java.lang.Iterable org.apache.commons.math3.ml.distance.DistanceMeasure double int top java.util.Iterator
      StackMap stack:
         3: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast double[]
            astore 6 /* f */
        start local 6 // double[] f
         4: .line 249
            iinc 5 /* count */ 1
         5: .line 250
            dload 3 /* d */
            aload 2 /* distance */
            aload 6 /* f */
            aload 6 /* f */
            aload 1 /* neurons */
            aload 2 /* distance */
            invokestatic org.apache.commons.math3.ml.neuralnet.MapUtils.findBest:([DLjava/lang/Iterable;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)Lorg/apache/commons/math3/ml/neuralnet/Neuron;
            invokevirtual org.apache.commons.math3.ml.neuralnet.Neuron.getFeatures:()[D
            invokeinterface org.apache.commons.math3.ml.distance.DistanceMeasure.compute:([D[D)D
            dadd
            dstore 3 /* d */
        end local 6 // double[] f
         6: .line 248
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 253
            iload 5 /* count */
            ifne 9
         8: .line 254
            new org.apache.commons.math3.exception.NoDataException
            dup
            invokespecial org.apache.commons.math3.exception.NoDataException.<init>:()V
            athrow
         9: .line 257
      StackMap locals: java.lang.Iterable java.lang.Iterable org.apache.commons.math3.ml.distance.DistanceMeasure double int
      StackMap stack:
            dload 3 /* d */
            iload 5 /* count */
            i2d
            ddiv
            dreturn
        end local 5 // int count
        end local 3 // double d
        end local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
        end local 1 // java.lang.Iterable neurons
        end local 0 // java.lang.Iterable data
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      data  Ljava/lang/Iterable<[D>;
            0   10     1   neurons  Ljava/lang/Iterable<Lorg/apache/commons/math3/ml/neuralnet/Neuron;>;
            0   10     2  distance  Lorg/apache/commons/math3/ml/distance/DistanceMeasure;
            1   10     3         d  D
            2   10     5     count  I
            4    6     6         f  [D
    Signature: (Ljava/lang/Iterable<[D>;Ljava/lang/Iterable<Lorg/apache/commons/math3/ml/neuralnet/Neuron;>;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)D
    MethodParameters:
          Name  Flags
      data      
      neurons   
      distance  

  public static double computeTopographicError(java.lang.Iterable<double[]>, org.apache.commons.math3.ml.neuralnet.Network, org.apache.commons.math3.ml.distance.DistanceMeasure);
    descriptor: (Ljava/lang/Iterable;Lorg/apache/commons/math3/ml/neuralnet/Network;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // java.lang.Iterable data
        start local 1 // org.apache.commons.math3.ml.neuralnet.Network net
        start local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
         0: .line 274
            iconst_0
            istore 3 /* notAdjacentCount */
        start local 3 // int notAdjacentCount
         1: .line 275
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         2: .line 276
            aload 0 /* data */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: java.lang.Iterable org.apache.commons.math3.ml.neuralnet.Network org.apache.commons.math3.ml.distance.DistanceMeasure int int top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast double[]
            astore 5 /* f */
        start local 5 // double[] f
         4: .line 277
            iinc 4 /* count */ 1
         5: .line 278
            aload 5 /* f */
            aload 1 /* net */
            aload 2 /* distance */
            invokestatic org.apache.commons.math3.ml.neuralnet.MapUtils.findBestAndSecondBest:([DLjava/lang/Iterable;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)Lorg/apache/commons/math3/util/Pair;
            astore 7 /* p */
        start local 7 // org.apache.commons.math3.util.Pair p
         6: .line 279
            aload 1 /* net */
            aload 7 /* p */
            invokevirtual org.apache.commons.math3.util.Pair.getFirst:()Ljava/lang/Object;
            checkcast org.apache.commons.math3.ml.neuralnet.Neuron
            invokevirtual org.apache.commons.math3.ml.neuralnet.Network.getNeighbours:(Lorg/apache/commons/math3/ml/neuralnet/Neuron;)Ljava/util/Collection;
            aload 7 /* p */
            invokevirtual org.apache.commons.math3.util.Pair.getSecond:()Ljava/lang/Object;
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 282
            iinc 3 /* notAdjacentCount */ 1
        end local 7 // org.apache.commons.math3.util.Pair p
        end local 5 // double[] f
         8: .line 276
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 286
            iload 4 /* count */
            ifne 11
        10: .line 287
            new org.apache.commons.math3.exception.NoDataException
            dup
            invokespecial org.apache.commons.math3.exception.NoDataException.<init>:()V
            athrow
        11: .line 290
      StackMap locals: java.lang.Iterable org.apache.commons.math3.ml.neuralnet.Network org.apache.commons.math3.ml.distance.DistanceMeasure int int
      StackMap stack:
            iload 3 /* notAdjacentCount */
            i2d
            iload 4 /* count */
            i2d
            ddiv
            dreturn
        end local 4 // int count
        end local 3 // int notAdjacentCount
        end local 2 // org.apache.commons.math3.ml.distance.DistanceMeasure distance
        end local 1 // org.apache.commons.math3.ml.neuralnet.Network net
        end local 0 // java.lang.Iterable data
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              data  Ljava/lang/Iterable<[D>;
            0   12     1               net  Lorg/apache/commons/math3/ml/neuralnet/Network;
            0   12     2          distance  Lorg/apache/commons/math3/ml/distance/DistanceMeasure;
            1   12     3  notAdjacentCount  I
            2   12     4             count  I
            4    8     5                 f  [D
            6    8     7                 p  Lorg/apache/commons/math3/util/Pair<Lorg/apache/commons/math3/ml/neuralnet/Neuron;Lorg/apache/commons/math3/ml/neuralnet/Neuron;>;
    Signature: (Ljava/lang/Iterable<[D>;Lorg/apache/commons/math3/ml/neuralnet/Network;Lorg/apache/commons/math3/ml/distance/DistanceMeasure;)D
    MethodParameters:
          Name  Flags
      data      
      net       
      distance  
}
SourceFile: "MapUtils.java"
NestMembers:
  org.apache.commons.math3.ml.neuralnet.MapUtils$PairNeuronDouble  org.apache.commons.math3.ml.neuralnet.MapUtils$PairNeuronDouble$1
InnerClasses:
  private PairNeuronDouble = org.apache.commons.math3.ml.neuralnet.MapUtils$PairNeuronDouble of org.apache.commons.math3.ml.neuralnet.MapUtils