public class org.apache.commons.math3.linear.DiagonalMatrix extends org.apache.commons.math3.linear.AbstractRealMatrix implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.math3.linear.DiagonalMatrix
  super_class: org.apache.commons.math3.linear.AbstractRealMatrix
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 20121229

  private final double[] data;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // int dimension
         0: .line 51
            aload 0 /* this */
            iload 1 /* dimension */
            iload 1 /* dimension */
            invokespecial org.apache.commons.math3.linear.AbstractRealMatrix.<init>:(II)V
         1: .line 52
            aload 0 /* this */
            iload 1 /* dimension */
            newarray 7
            putfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
         2: .line 53
            return
        end local 1 // int dimension
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    3     1  dimension  I
    Exceptions:
      throws org.apache.commons.math3.exception.NotStrictlyPositiveException
    MethodParameters:
           Name  Flags
      dimension  final

  public void <init>(double[]);
    descriptor: ([D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // double[] d
         0: .line 63
            aload 0 /* this */
            aload 1 /* d */
            iconst_1
            invokespecial org.apache.commons.math3.linear.DiagonalMatrix.<init>:([DZ)V
         1: .line 64
            return
        end local 1 // double[] d
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    2     1     d  [D
    MethodParameters:
      Name  Flags
      d     final

  public void <init>(double[], boolean);
    descriptor: ([DZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // double[] d
        start local 2 // boolean copyArray
         0: .line 80
            aload 0 /* this */
            invokespecial org.apache.commons.math3.linear.AbstractRealMatrix.<init>:()V
         1: .line 82
            aload 1 /* d */
            invokestatic org.apache.commons.math3.util.MathUtils.checkNotNull:(Ljava/lang/Object;)V
         2: .line 83
            aload 0 /* this */
            iload 2 /* copyArray */
            ifeq 3
            aload 1 /* d */
            invokevirtual double[].clone:()Ljava/lang/Object;
            checkcast double[]
            goto 4
      StackMap locals: org.apache.commons.math3.linear.DiagonalMatrix double[] int
      StackMap stack: org.apache.commons.math3.linear.DiagonalMatrix
         3: aload 1 /* d */
      StackMap locals: org.apache.commons.math3.linear.DiagonalMatrix double[] int
      StackMap stack: org.apache.commons.math3.linear.DiagonalMatrix double[]
         4: putfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
         5: .line 84
            return
        end local 2 // boolean copyArray
        end local 1 // double[] d
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    6     1          d  [D
            0    6     2  copyArray  Z
    Exceptions:
      throws org.apache.commons.math3.exception.NullArgumentException
    MethodParameters:
           Name  Flags
      d          final
      copyArray  final

  public org.apache.commons.math3.linear.RealMatrix createMatrix(int, int);
    descriptor: (II)Lorg/apache/commons/math3/linear/RealMatrix;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // int rowDimension
        start local 2 // int columnDimension
         0: .line 96
            iload 1 /* rowDimension */
            iload 2 /* columnDimension */
            if_icmpeq 2
         1: .line 97
            new org.apache.commons.math3.exception.DimensionMismatchException
            dup
            iload 1 /* rowDimension */
            iload 2 /* columnDimension */
            invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
            athrow
         2: .line 100
      StackMap locals:
      StackMap stack:
            new org.apache.commons.math3.linear.DiagonalMatrix
            dup
            iload 1 /* rowDimension */
            invokespecial org.apache.commons.math3.linear.DiagonalMatrix.<init>:(I)V
            areturn
        end local 2 // int columnDimension
        end local 1 // int rowDimension
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    3     1     rowDimension  I
            0    3     2  columnDimension  I
    Exceptions:
      throws org.apache.commons.math3.exception.NotStrictlyPositiveException, org.apache.commons.math3.exception.DimensionMismatchException
    MethodParameters:
                 Name  Flags
      rowDimension     final
      columnDimension  final

  public org.apache.commons.math3.linear.RealMatrix copy();
    descriptor: ()Lorg/apache/commons/math3/linear/RealMatrix;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
         0: .line 106
            new org.apache.commons.math3.linear.DiagonalMatrix
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            invokespecial org.apache.commons.math3.linear.DiagonalMatrix.<init>:([D)V
            areturn
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/linear/DiagonalMatrix;

  public org.apache.commons.math3.linear.DiagonalMatrix add(org.apache.commons.math3.linear.DiagonalMatrix);
    descriptor: (Lorg/apache/commons/math3/linear/DiagonalMatrix;)Lorg/apache/commons/math3/linear/DiagonalMatrix;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // org.apache.commons.math3.linear.DiagonalMatrix m
         0: .line 120
            aload 0 /* this */
            aload 1 /* m */
            invokestatic org.apache.commons.math3.linear.MatrixUtils.checkAdditionCompatible:(Lorg/apache/commons/math3/linear/AnyMatrix;Lorg/apache/commons/math3/linear/AnyMatrix;)V
         1: .line 122
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.getRowDimension:()I
            istore 2 /* dim */
        start local 2 // int dim
         2: .line 123
            iload 2 /* dim */
            newarray 7
            astore 3 /* outData */
        start local 3 // double[] outData
         3: .line 124
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 125
      StackMap locals: int double[] int
      StackMap stack:
            aload 3 /* outData */
            iload 4 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 4 /* i */
            daload
            aload 1 /* m */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 4 /* i */
            daload
            dadd
            dastore
         6: .line 124
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* dim */
            if_icmplt 5
        end local 4 // int i
         8: .line 128
            new org.apache.commons.math3.linear.DiagonalMatrix
            dup
            aload 3 /* outData */
            iconst_0
            invokespecial org.apache.commons.math3.linear.DiagonalMatrix.<init>:([DZ)V
            areturn
        end local 3 // double[] outData
        end local 2 // int dim
        end local 1 // org.apache.commons.math3.linear.DiagonalMatrix m
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    9     1        m  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            2    9     2      dim  I
            3    9     3  outData  [D
            4    8     4        i  I
    Exceptions:
      throws org.apache.commons.math3.linear.MatrixDimensionMismatchException
    MethodParameters:
      Name  Flags
      m     final

  public org.apache.commons.math3.linear.DiagonalMatrix subtract(org.apache.commons.math3.linear.DiagonalMatrix);
    descriptor: (Lorg/apache/commons/math3/linear/DiagonalMatrix;)Lorg/apache/commons/math3/linear/DiagonalMatrix;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // org.apache.commons.math3.linear.DiagonalMatrix m
         0: .line 141
            aload 0 /* this */
            aload 1 /* m */
            invokestatic org.apache.commons.math3.linear.MatrixUtils.checkSubtractionCompatible:(Lorg/apache/commons/math3/linear/AnyMatrix;Lorg/apache/commons/math3/linear/AnyMatrix;)V
         1: .line 143
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.getRowDimension:()I
            istore 2 /* dim */
        start local 2 // int dim
         2: .line 144
            iload 2 /* dim */
            newarray 7
            astore 3 /* outData */
        start local 3 // double[] outData
         3: .line 145
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 146
      StackMap locals: int double[] int
      StackMap stack:
            aload 3 /* outData */
            iload 4 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 4 /* i */
            daload
            aload 1 /* m */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 4 /* i */
            daload
            dsub
            dastore
         6: .line 145
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* dim */
            if_icmplt 5
        end local 4 // int i
         8: .line 149
            new org.apache.commons.math3.linear.DiagonalMatrix
            dup
            aload 3 /* outData */
            iconst_0
            invokespecial org.apache.commons.math3.linear.DiagonalMatrix.<init>:([DZ)V
            areturn
        end local 3 // double[] outData
        end local 2 // int dim
        end local 1 // org.apache.commons.math3.linear.DiagonalMatrix m
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    9     1        m  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            2    9     2      dim  I
            3    9     3  outData  [D
            4    8     4        i  I
    Exceptions:
      throws org.apache.commons.math3.linear.MatrixDimensionMismatchException
    MethodParameters:
      Name  Flags
      m     final

  public org.apache.commons.math3.linear.DiagonalMatrix multiply(org.apache.commons.math3.linear.DiagonalMatrix);
    descriptor: (Lorg/apache/commons/math3/linear/DiagonalMatrix;)Lorg/apache/commons/math3/linear/DiagonalMatrix;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // org.apache.commons.math3.linear.DiagonalMatrix m
         0: .line 162
            aload 0 /* this */
            aload 1 /* m */
            invokestatic org.apache.commons.math3.linear.MatrixUtils.checkMultiplicationCompatible:(Lorg/apache/commons/math3/linear/AnyMatrix;Lorg/apache/commons/math3/linear/AnyMatrix;)V
         1: .line 164
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.getRowDimension:()I
            istore 2 /* dim */
        start local 2 // int dim
         2: .line 165
            iload 2 /* dim */
            newarray 7
            astore 3 /* outData */
        start local 3 // double[] outData
         3: .line 166
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 167
      StackMap locals: int double[] int
      StackMap stack:
            aload 3 /* outData */
            iload 4 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 4 /* i */
            daload
            aload 1 /* m */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 4 /* i */
            daload
            dmul
            dastore
         6: .line 166
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* dim */
            if_icmplt 5
        end local 4 // int i
         8: .line 170
            new org.apache.commons.math3.linear.DiagonalMatrix
            dup
            aload 3 /* outData */
            iconst_0
            invokespecial org.apache.commons.math3.linear.DiagonalMatrix.<init>:([DZ)V
            areturn
        end local 3 // double[] outData
        end local 2 // int dim
        end local 1 // org.apache.commons.math3.linear.DiagonalMatrix m
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    9     1        m  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            2    9     2      dim  I
            3    9     3  outData  [D
            4    8     4        i  I
    Exceptions:
      throws org.apache.commons.math3.exception.DimensionMismatchException
    MethodParameters:
      Name  Flags
      m     final

  public org.apache.commons.math3.linear.RealMatrix multiply(org.apache.commons.math3.linear.RealMatrix);
    descriptor: (Lorg/apache/commons/math3/linear/RealMatrix;)Lorg/apache/commons/math3/linear/RealMatrix;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // org.apache.commons.math3.linear.RealMatrix m
         0: .line 184
            aload 1 /* m */
            instanceof org.apache.commons.math3.linear.DiagonalMatrix
            ifeq 2
         1: .line 185
            aload 0 /* this */
            aload 1 /* m */
            checkcast org.apache.commons.math3.linear.DiagonalMatrix
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.multiply:(Lorg/apache/commons/math3/linear/DiagonalMatrix;)Lorg/apache/commons/math3/linear/DiagonalMatrix;
            areturn
         2: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* m */
            invokestatic org.apache.commons.math3.linear.MatrixUtils.checkMultiplicationCompatible:(Lorg/apache/commons/math3/linear/AnyMatrix;Lorg/apache/commons/math3/linear/AnyMatrix;)V
         3: .line 188
            aload 1 /* m */
            invokeinterface org.apache.commons.math3.linear.RealMatrix.getRowDimension:()I
            istore 2 /* nRows */
        start local 2 // int nRows
         4: .line 189
            aload 1 /* m */
            invokeinterface org.apache.commons.math3.linear.RealMatrix.getColumnDimension:()I
            istore 3 /* nCols */
        start local 3 // int nCols
         5: .line 190
            iload 2 /* nRows */
            iload 3 /* nCols */
            multianewarray [[D 2
            astore 4 /* product */
        start local 4 // double[][] product
         6: .line 191
            iconst_0
            istore 5 /* r */
        start local 5 // int r
         7: goto 14
         8: .line 192
      StackMap locals: org.apache.commons.math3.linear.DiagonalMatrix org.apache.commons.math3.linear.RealMatrix int int double[][] int
      StackMap stack:
            iconst_0
            istore 6 /* c */
        start local 6 // int c
         9: goto 12
        10: .line 193
      StackMap locals: int
      StackMap stack:
            aload 4 /* product */
            iload 5 /* r */
            aaload
            iload 6 /* c */
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 5 /* r */
            daload
            aload 1 /* m */
            iload 5 /* r */
            iload 6 /* c */
            invokeinterface org.apache.commons.math3.linear.RealMatrix.getEntry:(II)D
            dmul
            dastore
        11: .line 192
            iinc 6 /* c */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* c */
            iload 3 /* nCols */
            if_icmplt 10
        end local 6 // int c
        13: .line 191
            iinc 5 /* r */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* r */
            iload 2 /* nRows */
            if_icmplt 8
        end local 5 // int r
        15: .line 196
            new org.apache.commons.math3.linear.Array2DRowRealMatrix
            dup
            aload 4 /* product */
            iconst_0
            invokespecial org.apache.commons.math3.linear.Array2DRowRealMatrix.<init>:([[DZ)V
            areturn
        end local 4 // double[][] product
        end local 3 // int nCols
        end local 2 // int nRows
        end local 1 // org.apache.commons.math3.linear.RealMatrix m
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0   16     1        m  Lorg/apache/commons/math3/linear/RealMatrix;
            4   16     2    nRows  I
            5   16     3    nCols  I
            6   16     4  product  [[D
            7   15     5        r  I
            9   13     6        c  I
    Exceptions:
      throws org.apache.commons.math3.exception.DimensionMismatchException
    MethodParameters:
      Name  Flags
      m     final

  public double[][] getData();
    descriptor: ()[[D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
         0: .line 203
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.getRowDimension:()I
            istore 1 /* dim */
        start local 1 // int dim
         1: .line 204
            iload 1 /* dim */
            iload 1 /* dim */
            multianewarray [[D 2
            astore 2 /* out */
        start local 2 // double[][] out
         2: .line 206
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 207
      StackMap locals: int double[][] int
      StackMap stack:
            aload 2 /* out */
            iload 3 /* i */
            aaload
            iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 3 /* i */
            daload
            dastore
         5: .line 206
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* dim */
            if_icmplt 4
        end local 3 // int i
         7: .line 210
            aload 2 /* out */
            areturn
        end local 2 // double[][] out
        end local 1 // int dim
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            1    8     1   dim  I
            2    8     2   out  [[D
            3    7     3     i  I

  public double[] getDataRef();
    descriptor: ()[D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
         0: .line 219
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            areturn
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/linear/DiagonalMatrix;

  public double getEntry(int, int);
    descriptor: (II)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // int row
        start local 2 // int column
         0: .line 226
            aload 0 /* this */
            iload 1 /* row */
            iload 2 /* column */
            invokestatic org.apache.commons.math3.linear.MatrixUtils.checkMatrixIndex:(Lorg/apache/commons/math3/linear/AnyMatrix;II)V
         1: .line 227
            iload 1 /* row */
            iload 2 /* column */
            if_icmpne 2
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 1 /* row */
            daload
            goto 3
      StackMap locals:
      StackMap stack:
         2: dconst_0
      StackMap locals:
      StackMap stack: double
         3: dreturn
        end local 2 // int column
        end local 1 // int row
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    4     1     row  I
            0    4     2  column  I
    Exceptions:
      throws org.apache.commons.math3.exception.OutOfRangeException
    MethodParameters:
        Name  Flags
      row     final
      column  final

  public void setEntry(int, int, double);
    descriptor: (IID)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // int row
        start local 2 // int column
        start local 3 // double value
         0: .line 236
            iload 1 /* row */
            iload 2 /* column */
            if_icmpne 4
         1: .line 237
            aload 0 /* this */
            iload 1 /* row */
            invokestatic org.apache.commons.math3.linear.MatrixUtils.checkRowIndex:(Lorg/apache/commons/math3/linear/AnyMatrix;I)V
         2: .line 238
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 1 /* row */
            dload 3 /* value */
            dastore
         3: .line 239
            goto 5
         4: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 3 /* value */
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.ensureZero:(D)V
         5: .line 242
      StackMap locals:
      StackMap stack:
            return
        end local 3 // double value
        end local 2 // int column
        end local 1 // int row
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    6     1     row  I
            0    6     2  column  I
            0    6     3   value  D
    Exceptions:
      throws org.apache.commons.math3.exception.OutOfRangeException, org.apache.commons.math3.exception.NumberIsTooLargeException
    MethodParameters:
        Name  Flags
      row     final
      column  final
      value   final

  public void addToEntry(int, int, double);
    descriptor: (IID)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // int row
        start local 2 // int column
        start local 3 // double increment
         0: .line 252
            iload 1 /* row */
            iload 2 /* column */
            if_icmpne 4
         1: .line 253
            aload 0 /* this */
            iload 1 /* row */
            invokestatic org.apache.commons.math3.linear.MatrixUtils.checkRowIndex:(Lorg/apache/commons/math3/linear/AnyMatrix;I)V
         2: .line 254
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 1 /* row */
            dup2
            daload
            dload 3 /* increment */
            dadd
            dastore
         3: .line 255
            goto 5
         4: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 3 /* increment */
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.ensureZero:(D)V
         5: .line 258
      StackMap locals:
      StackMap stack:
            return
        end local 3 // double increment
        end local 2 // int column
        end local 1 // int row
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    6     1        row  I
            0    6     2     column  I
            0    6     3  increment  D
    Exceptions:
      throws org.apache.commons.math3.exception.OutOfRangeException, org.apache.commons.math3.exception.NumberIsTooLargeException
    MethodParameters:
           Name  Flags
      row        final
      column     final
      increment  final

  public void multiplyEntry(int, int, double);
    descriptor: (IID)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // int row
        start local 2 // int column
        start local 3 // double factor
         0: .line 267
            iload 1 /* row */
            iload 2 /* column */
            if_icmpne 3
         1: .line 268
            aload 0 /* this */
            iload 1 /* row */
            invokestatic org.apache.commons.math3.linear.MatrixUtils.checkRowIndex:(Lorg/apache/commons/math3/linear/AnyMatrix;I)V
         2: .line 269
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 1 /* row */
            dup2
            daload
            dload 3 /* factor */
            dmul
            dastore
         3: .line 271
      StackMap locals:
      StackMap stack:
            return
        end local 3 // double factor
        end local 2 // int column
        end local 1 // int row
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    4     1     row  I
            0    4     2  column  I
            0    4     3  factor  D
    Exceptions:
      throws org.apache.commons.math3.exception.OutOfRangeException
    MethodParameters:
        Name  Flags
      row     final
      column  final
      factor  final

  public int getRowDimension();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
         0: .line 276
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            arraylength
            ireturn
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/linear/DiagonalMatrix;

  public int getColumnDimension();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
         0: .line 282
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            arraylength
            ireturn
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/linear/DiagonalMatrix;

  public double[] operate(double[]);
    descriptor: ([D)[D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // double[] v
         0: .line 289
            aload 0 /* this */
            new org.apache.commons.math3.linear.DiagonalMatrix
            dup
            aload 1 /* v */
            iconst_0
            invokespecial org.apache.commons.math3.linear.DiagonalMatrix.<init>:([DZ)V
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.multiply:(Lorg/apache/commons/math3/linear/DiagonalMatrix;)Lorg/apache/commons/math3/linear/DiagonalMatrix;
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.getDataRef:()[D
            areturn
        end local 1 // double[] v
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    1     1     v  [D
    Exceptions:
      throws org.apache.commons.math3.exception.DimensionMismatchException
    MethodParameters:
      Name  Flags
      v     final

  public double[] preMultiply(double[]);
    descriptor: ([D)[D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // double[] v
         0: .line 296
            aload 0 /* this */
            aload 1 /* v */
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.operate:([D)[D
            areturn
        end local 1 // double[] v
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    1     1     v  [D
    Exceptions:
      throws org.apache.commons.math3.exception.DimensionMismatchException
    MethodParameters:
      Name  Flags
      v     final

  public org.apache.commons.math3.linear.RealVector preMultiply(org.apache.commons.math3.linear.RealVector);
    descriptor: (Lorg/apache/commons/math3/linear/RealVector;)Lorg/apache/commons/math3/linear/RealVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // org.apache.commons.math3.linear.RealVector v
         0: .line 303
            aload 1 /* v */
            instanceof org.apache.commons.math3.linear.ArrayRealVector
            ifeq 3
         1: .line 304
            aload 1 /* v */
            checkcast org.apache.commons.math3.linear.ArrayRealVector
            invokevirtual org.apache.commons.math3.linear.ArrayRealVector.getDataRef:()[D
            astore 2 /* vectorData */
        start local 2 // double[] vectorData
         2: .line 305
            goto 4
        end local 2 // double[] vectorData
         3: .line 306
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            invokevirtual org.apache.commons.math3.linear.RealVector.toArray:()[D
            astore 2 /* vectorData */
        start local 2 // double[] vectorData
         4: .line 308
      StackMap locals: double[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* vectorData */
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.preMultiply:([D)[D
            invokestatic org.apache.commons.math3.linear.MatrixUtils.createRealVector:([D)Lorg/apache/commons/math3/linear/RealVector;
            areturn
        end local 2 // double[] vectorData
        end local 1 // org.apache.commons.math3.linear.RealVector v
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    5     1           v  Lorg/apache/commons/math3/linear/RealVector;
            2    3     2  vectorData  [D
            4    5     2  vectorData  [D
    Exceptions:
      throws org.apache.commons.math3.exception.DimensionMismatchException
    MethodParameters:
      Name  Flags
      v     final

  private void ensureZero(double);
    descriptor: (D)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // double value
         0: .line 316
            dconst_0
            dload 1 /* value */
            iconst_1
            invokestatic org.apache.commons.math3.util.Precision.equals:(DDI)Z
            ifne 2
         1: .line 317
            new org.apache.commons.math3.exception.NumberIsTooLargeException
            dup
            dload 1 /* value */
            invokestatic org.apache.commons.math3.util.FastMath.abs:(D)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            invokespecial org.apache.commons.math3.exception.NumberIsTooLargeException.<init>:(Ljava/lang/Number;Ljava/lang/Number;Z)V
            athrow
         2: .line 319
      StackMap locals:
      StackMap stack:
            return
        end local 1 // double value
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    3     1  value  D
    Exceptions:
      throws org.apache.commons.math3.exception.NumberIsTooLargeException
    MethodParameters:
       Name  Flags
      value  final

  public org.apache.commons.math3.linear.DiagonalMatrix inverse();
    descriptor: ()Lorg/apache/commons/math3/linear/DiagonalMatrix;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
         0: .line 332
            aload 0 /* this */
            dconst_0
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.inverse:(D)Lorg/apache/commons/math3/linear/DiagonalMatrix;
            areturn
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
    Exceptions:
      throws org.apache.commons.math3.linear.SingularMatrixException

  public org.apache.commons.math3.linear.DiagonalMatrix inverse(double);
    descriptor: (D)Lorg/apache/commons/math3/linear/DiagonalMatrix;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // double threshold
         0: .line 344
            aload 0 /* this */
            dload 1 /* threshold */
            invokevirtual org.apache.commons.math3.linear.DiagonalMatrix.isSingular:(D)Z
            ifeq 2
         1: .line 345
            new org.apache.commons.math3.linear.SingularMatrixException
            dup
            invokespecial org.apache.commons.math3.linear.SingularMatrixException.<init>:()V
            athrow
         2: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            arraylength
            newarray 7
            astore 3 /* result */
        start local 3 // double[] result
         3: .line 349
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 350
      StackMap locals: double[] int
      StackMap stack:
            aload 3 /* result */
            iload 4 /* i */
            dconst_1
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 4 /* i */
            daload
            ddiv
            dastore
         6: .line 349
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            arraylength
            if_icmplt 5
        end local 4 // int i
         8: .line 352
            new org.apache.commons.math3.linear.DiagonalMatrix
            dup
            aload 3 /* result */
            iconst_0
            invokespecial org.apache.commons.math3.linear.DiagonalMatrix.<init>:([DZ)V
            areturn
        end local 3 // double[] result
        end local 1 // double threshold
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    9     1  threshold  D
            3    9     3     result  [D
            4    8     4          i  I
    Exceptions:
      throws org.apache.commons.math3.linear.SingularMatrixException
    MethodParameters:
           Name  Flags
      threshold  

  public boolean isSingular(double);
    descriptor: (D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
        start local 1 // double threshold
         0: .line 363
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 5
         2: .line 364
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            iload 3 /* i */
            daload
            dconst_0
            dload 1 /* threshold */
            invokestatic org.apache.commons.math3.util.Precision.equals:(DDD)Z
            ifeq 4
         3: .line 365
            iconst_1
            ireturn
         4: .line 363
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.linear.DiagonalMatrix.data:[D
            arraylength
            if_icmplt 2
        end local 3 // int i
         6: .line 368
            iconst_0
            ireturn
        end local 1 // double threshold
        end local 0 // org.apache.commons.math3.linear.DiagonalMatrix this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/commons/math3/linear/DiagonalMatrix;
            0    7     1  threshold  D
            1    6     3          i  I
    MethodParameters:
           Name  Flags
      threshold  
}
SourceFile: "DiagonalMatrix.java"