public class org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere
  super_class: java.lang.Object
{
  private final java.util.List<org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$Facet> microsphere;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere$Facet;>;

  private final java.util.List<org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData> microsphereData;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere$FacetData;>;

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

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

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

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

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

  protected void <init>(int, int, double, double, double);
    descriptor: (IIDDD)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
        start local 1 // int dimension
        start local 2 // int size
        start local 3 // double maxDarkFraction
        start local 5 // double darkThreshold
        start local 7 // double background
         0: .line 72
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 77
            iload 1 /* dimension */
            ifgt 3
         2: .line 78
            new org.apache.commons.math3.exception.NotStrictlyPositiveException
            dup
            iload 1 /* dimension */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial org.apache.commons.math3.exception.NotStrictlyPositiveException.<init>:(Ljava/lang/Number;)V
            athrow
         3: .line 80
      StackMap locals: org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere int int double double double
      StackMap stack:
            iload 2 /* size */
            ifgt 5
         4: .line 81
            new org.apache.commons.math3.exception.NotStrictlyPositiveException
            dup
            iload 2 /* size */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial org.apache.commons.math3.exception.NotStrictlyPositiveException.<init>:(Ljava/lang/Number;)V
            athrow
         5: .line 83
      StackMap locals:
      StackMap stack:
            dload 3 /* maxDarkFraction */
            dconst_0
            dcmpg
            iflt 7
         6: .line 84
            dload 3 /* maxDarkFraction */
            dconst_1
            dcmpl
            ifle 8
         7: .line 85
      StackMap locals:
      StackMap stack:
            new org.apache.commons.math3.exception.OutOfRangeException
            dup
            dload 3 /* maxDarkFraction */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial org.apache.commons.math3.exception.OutOfRangeException.<init>:(Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
            athrow
         8: .line 87
      StackMap locals:
      StackMap stack:
            dload 5 /* darkThreshold */
            dconst_0
            dcmpg
            ifge 10
         9: .line 88
            new org.apache.commons.math3.exception.NotPositiveException
            dup
            dload 5 /* darkThreshold */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokespecial org.apache.commons.math3.exception.NotPositiveException.<init>:(Ljava/lang/Number;)V
            athrow
        10: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* dimension */
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.dimension:I
        11: .line 92
            aload 0 /* this */
            iload 2 /* size */
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.size:I
        12: .line 93
            aload 0 /* this */
            dload 3 /* maxDarkFraction */
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.maxDarkFraction:D
        13: .line 94
            aload 0 /* this */
            dload 5 /* darkThreshold */
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.darkThreshold:D
        14: .line 95
            aload 0 /* this */
            dload 7 /* background */
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.background:D
        15: .line 96
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iload 2 /* size */
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphere:Ljava/util/List;
        16: .line 97
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iload 2 /* size */
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphereData:Ljava/util/List;
        17: .line 98
            return
        end local 7 // double background
        end local 5 // double darkThreshold
        end local 3 // double maxDarkFraction
        end local 2 // int size
        end local 1 // int dimension
        end local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;
            0   18     1        dimension  I
            0   18     2             size  I
            0   18     3  maxDarkFraction  D
            0   18     5    darkThreshold  D
            0   18     7       background  D
    MethodParameters:
                 Name  Flags
      dimension        
      size             
      maxDarkFraction  
      darkThreshold    
      background       

  public void <init>(int, int, double, double, double, org.apache.commons.math3.random.UnitSphereRandomVectorGenerator);
    descriptor: (IIDDDLorg/apache/commons/math3/random/UnitSphereRandomVectorGenerator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=11, args_size=7
        start local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
        start local 1 // int dimension
        start local 2 // int size
        start local 3 // double maxDarkFraction
        start local 5 // double darkThreshold
        start local 7 // double background
        start local 9 // org.apache.commons.math3.random.UnitSphereRandomVectorGenerator rand
         0: .line 128
            aload 0 /* this */
            iload 1 /* dimension */
            iload 2 /* size */
            dload 3 /* maxDarkFraction */
            dload 5 /* darkThreshold */
            dload 7 /* background */
            invokespecial org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.<init>:(IIDDD)V
         1: .line 132
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         2: goto 5
         3: .line 133
      StackMap locals: org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere int int double double double org.apache.commons.math3.random.UnitSphereRandomVectorGenerator int
      StackMap stack:
            aload 0 /* this */
            aload 9 /* rand */
            invokevirtual org.apache.commons.math3.random.UnitSphereRandomVectorGenerator.nextVector:()[D
            iconst_0
            invokevirtual org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.add:([DZ)V
         4: .line 132
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 10 /* i */
            iload 2 /* size */
            if_icmplt 3
        end local 10 // int i
         6: .line 135
            return
        end local 9 // org.apache.commons.math3.random.UnitSphereRandomVectorGenerator rand
        end local 7 // double background
        end local 5 // double darkThreshold
        end local 3 // double maxDarkFraction
        end local 2 // int size
        end local 1 // int dimension
        end local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;
            0    7     1        dimension  I
            0    7     2             size  I
            0    7     3  maxDarkFraction  D
            0    7     5    darkThreshold  D
            0    7     7       background  D
            0    7     9             rand  Lorg/apache/commons/math3/random/UnitSphereRandomVectorGenerator;
            2    6    10                i  I
    MethodParameters:
                 Name  Flags
      dimension        
      size             
      maxDarkFraction  
      darkThreshold    
      background       
      rand             

  protected void <init>(org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere);
    descriptor: (Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
        start local 1 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere other
         0: .line 142
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 143
            aload 0 /* this */
            aload 1 /* other */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.dimension:I
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.dimension:I
         2: .line 144
            aload 0 /* this */
            aload 1 /* other */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.size:I
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.size:I
         3: .line 145
            aload 0 /* this */
            aload 1 /* other */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.maxDarkFraction:D
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.maxDarkFraction:D
         4: .line 146
            aload 0 /* this */
            aload 1 /* other */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.darkThreshold:D
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.darkThreshold:D
         5: .line 147
            aload 0 /* this */
            aload 1 /* other */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.background:D
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.background:D
         6: .line 150
            aload 0 /* this */
            aload 1 /* other */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphere:Ljava/util/List;
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphere:Ljava/util/List;
         7: .line 153
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.size:I
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphereData:Ljava/util/List;
         8: .line 154
            aload 1 /* other */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphereData:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals: org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere top java.util.Iterator
      StackMap stack:
         9: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData
            astore 2 /* fd */
        start local 2 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData fd
        10: .line 155
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphereData:Ljava/util/List;
            new org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData
            dup
            aload 2 /* fd */
            invokevirtual org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData.illumination:()D
            aload 2 /* fd */
            invokevirtual org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData.sample:()D
            invokespecial org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData.<init>:(DD)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData fd
        11: .line 154
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 157
            return
        end local 1 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere other
        end local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;
            0   13     1  other  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;
           10   11     2     fd  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere$FacetData;
    MethodParameters:
       Name  Flags
      other  

  public org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere copy();
    descriptor: ()Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
         0: .line 165
            new org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.<init>:(Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;)V
            areturn
        end local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;

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

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

  public double value(double[], double[][], double[], double, double);
    descriptor: ([D[[D[DDD)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=15, args_size=6
        start local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
        start local 1 // double[] point
        start local 2 // double[][] samplePoints
        start local 3 // double[] sampleValues
        start local 4 // double exponent
        start local 6 // double noInterpolationTolerance
         0: .line 211
            dload 4 /* exponent */
            dconst_0
            dcmpg
            ifge 2
         1: .line 212
            new org.apache.commons.math3.exception.NotPositiveException
            dup
            dload 4 /* exponent */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokespecial org.apache.commons.math3.exception.NotPositiveException.<init>:(Ljava/lang/Number;)V
            athrow
         2: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.clear:()V
         3: .line 219
            aload 2 /* samplePoints */
            arraylength
            istore 8 /* numSamples */
        start local 8 // int numSamples
         4: .line 220
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         5: goto 13
         6: .line 222
      StackMap locals: int int
      StackMap stack:
            aload 2 /* samplePoints */
            iload 9 /* i */
            aaload
            aload 1 /* point */
            invokestatic org.apache.commons.math3.util.MathArrays.ebeSubtract:([D[D)[D
            astore 10 /* diff */
        start local 10 // double[] diff
         7: .line 223
            aload 10 /* diff */
            invokestatic org.apache.commons.math3.util.MathArrays.safeNorm:([D)D
            dstore 11 /* diffNorm */
        start local 11 // double diffNorm
         8: .line 225
            dload 11 /* diffNorm */
            invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
            dload 6 /* noInterpolationTolerance */
            dcmpg
            ifge 10
         9: .line 228
            aload 3 /* sampleValues */
            iload 9 /* i */
            daload
            dreturn
        10: .line 231
      StackMap locals: double[] double
      StackMap stack:
            dload 11 /* diffNorm */
            dload 4 /* exponent */
            dneg
            invokestatic org.apache.commons.math3.util.FastMath.pow:(DD)D
            dstore 13 /* weight */
        start local 13 // double weight
        11: .line 232
            aload 0 /* this */
            aload 10 /* diff */
            aload 3 /* sampleValues */
            iload 9 /* i */
            daload
            dload 13 /* weight */
            invokevirtual org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.illuminate:([DDD)V
        end local 13 // double weight
        end local 11 // double diffNorm
        end local 10 // double[] diff
        12: .line 220
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 9 /* i */
            iload 8 /* numSamples */
            if_icmplt 6
        end local 9 // int i
        14: .line 235
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.interpolate:()D
            dreturn
        end local 8 // int numSamples
        end local 6 // double noInterpolationTolerance
        end local 4 // double exponent
        end local 3 // double[] sampleValues
        end local 2 // double[][] samplePoints
        end local 1 // double[] point
        end local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   15     0                      this  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;
            0   15     1                     point  [D
            0   15     2              samplePoints  [[D
            0   15     3              sampleValues  [D
            0   15     4                  exponent  D
            0   15     6  noInterpolationTolerance  D
            4   15     8                numSamples  I
            5   14     9                         i  I
            7   12    10                      diff  [D
            8   12    11                  diffNorm  D
           11   12    13                    weight  D
    MethodParameters:
                          Name  Flags
      point                     
      samplePoints              
      sampleValues              
      exponent                  
      noInterpolationTolerance  

  protected void add(double[], boolean);
    descriptor: ([DZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
        start local 1 // double[] normal
        start local 2 // boolean copy
         0: .line 251
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphere:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.size:I
            if_icmplt 2
         1: .line 252
            new org.apache.commons.math3.exception.MaxCountExceededException
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.size:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial org.apache.commons.math3.exception.MaxCountExceededException.<init>:(Ljava/lang/Number;)V
            athrow
         2: .line 254
      StackMap locals:
      StackMap stack:
            aload 1 /* normal */
            arraylength
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.dimension:I
            if_icmple 4
         3: .line 255
            new org.apache.commons.math3.exception.DimensionMismatchException
            dup
            aload 1 /* normal */
            arraylength
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.dimension:I
            invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
            athrow
         4: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphere:Ljava/util/List;
         5: new org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$Facet
            dup
            iload 2 /* copy */
            ifeq 6
            aload 1 /* normal */
            invokevirtual double[].clone:()Ljava/lang/Object;
            checkcast double[]
            goto 7
      StackMap locals: org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere double[] int
      StackMap stack: java.util.List new 5 new 5
         6: aload 1 /* normal */
      StackMap locals: org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere double[] int
      StackMap stack: java.util.List new 5 new 5 double[]
         7: invokespecial org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$Facet.<init>:([D)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 259
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphereData:Ljava/util/List;
            new org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData
            dup
            dconst_0
            dconst_0
            invokespecial org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData.<init>:(DD)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 260
            return
        end local 2 // boolean copy
        end local 1 // double[] normal
        end local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;
            0   10     1  normal  [D
            0   10     2    copy  Z
    MethodParameters:
        Name  Flags
      normal  
      copy    

  private double interpolate();
    descriptor: ()D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=1
        start local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
         0: .line 270
            iconst_0
            istore 1 /* darkCount */
        start local 1 // int darkCount
         1: .line 272
            dconst_0
            dstore 2 /* value */
        start local 2 // double value
         2: .line 273
            dconst_0
            dstore 4 /* totalWeight */
        start local 4 // double totalWeight
         3: .line 274
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphereData:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere int double double top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData
            astore 6 /* fd */
        start local 6 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData fd
         5: .line 275
            aload 6 /* fd */
            invokevirtual org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData.illumination:()D
            dstore 8 /* iV */
        start local 8 // double iV
         6: .line 276
            dload 8 /* iV */
            dconst_0
            dcmpl
            ifeq 10
         7: .line 277
            dload 2 /* value */
            dload 8 /* iV */
            aload 6 /* fd */
            invokevirtual org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData.sample:()D
            dmul
            dadd
            dstore 2 /* value */
         8: .line 278
            dload 4 /* totalWeight */
            dload 8 /* iV */
            dadd
            dstore 4 /* totalWeight */
         9: .line 279
            goto 11
        10: .line 280
      StackMap locals: org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere int double double org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData java.util.Iterator double
      StackMap stack:
            iinc 1 /* darkCount */ 1
        end local 8 // double iV
        end local 6 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData fd
        11: .line 274
      StackMap locals: org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere int double double top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        12: .line 284
            iload 1 /* darkCount */
            i2d
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.size:I
            i2d
            ddiv
            dstore 6 /* darkFraction */
        start local 6 // double darkFraction
        13: .line 286
            dload 6 /* darkFraction */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.maxDarkFraction:D
            dcmpg
            ifgt 15
        14: .line 287
            dload 2 /* value */
            dload 4 /* totalWeight */
            ddiv
            goto 16
        15: .line 288
      StackMap locals: org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere int double double double
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.background:D
        16: .line 286
      StackMap locals:
      StackMap stack: double
            dreturn
        end local 6 // double darkFraction
        end local 4 // double totalWeight
        end local 2 // double value
        end local 1 // int darkCount
        end local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;
            1   17     1     darkCount  I
            2   17     2         value  D
            3   17     4   totalWeight  D
            5   11     6            fd  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere$FacetData;
            6   11     8            iV  D
           13   17     6  darkFraction  D

  private void illuminate(double[], double, double);
    descriptor: ([DDD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=12, args_size=4
        start local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
        start local 1 // double[] sampleDirection
        start local 2 // double sampleValue
        start local 4 // double weight
         0: .line 302
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         1: goto 10
         2: .line 303
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphere:Ljava/util/List;
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$Facet
            invokevirtual org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$Facet.getNormal:()[D
            astore 7 /* n */
        start local 7 // double[] n
         3: .line 304
            aload 7 /* n */
            aload 1 /* sampleDirection */
            invokestatic org.apache.commons.math3.util.MathArrays.cosAngle:([D[D)D
            dstore 8 /* cos */
        start local 8 // double cos
         4: .line 306
            dload 8 /* cos */
            dconst_0
            dcmpl
            ifle 9
         5: .line 307
            dload 8 /* cos */
            dload 4 /* weight */
            dmul
            dstore 10 /* illumination */
        start local 10 // double illumination
         6: .line 309
            dload 10 /* illumination */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.darkThreshold:D
            dcmpl
            ifle 9
         7: .line 310
            dload 10 /* illumination */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphereData:Ljava/util/List;
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData
            invokevirtual org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData.illumination:()D
            dcmpl
            ifle 9
         8: .line 311
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphereData:Ljava/util/List;
            iload 6 /* i */
            new org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData
            dup
            dload 10 /* illumination */
            dload 2 /* sampleValue */
            invokespecial org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData.<init>:(DD)V
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // double illumination
        end local 8 // double cos
        end local 7 // double[] n
         9: .line 302
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.size:I
            if_icmplt 2
        end local 6 // int i
        11: .line 315
            return
        end local 4 // double weight
        end local 2 // double sampleValue
        end local 1 // double[] sampleDirection
        end local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;
            0   12     1  sampleDirection  [D
            0   12     2      sampleValue  D
            0   12     4           weight  D
            1   11     6                i  I
            3    9     7                n  [D
            4    9     8              cos  D
            6    9    10     illumination  D
    MethodParameters:
                 Name  Flags
      sampleDirection  
      sampleValue      
      weight           

  private void clear();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=2, args_size=1
        start local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
         0: .line 321
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 4
         2: .line 322
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.microsphereData:Ljava/util/List;
            iload 1 /* i */
            new org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData
            dup
            dconst_0
            dconst_0
            invokespecial org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData.<init>:(DD)V
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 321
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 1 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere.size:I
            if_icmplt 2
        end local 1 // int i
         5: .line 324
            return
        end local 0 // org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/commons/math3/analysis/interpolation/InterpolatingMicrosphere;
            1    5     1     i  I
}
SourceFile: "InterpolatingMicrosphere.java"
NestMembers:
  org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$Facet  org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData
InnerClasses:
  private Facet = org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$Facet of org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere
  private FacetData = org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere$FacetData of org.apache.commons.math3.analysis.interpolation.InterpolatingMicrosphere