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

  private int omegaCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private double[] omegaReal;
    descriptor: [D
    flags: (0x0002) ACC_PRIVATE

  private double[] omegaImaginaryCounterClockwise;
    descriptor: [D
    flags: (0x0002) ACC_PRIVATE

  private double[] omegaImaginaryClockwise;
    descriptor: [D
    flags: (0x0002) ACC_PRIVATE

  private boolean isCounterClockWise;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.complex.RootsOfUnity this
         0: .line 68
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.math3.complex.RootsOfUnity.omegaCount:I
         2: .line 71
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.math3.complex.RootsOfUnity.omegaReal:[D
         3: .line 72
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryCounterClockwise:[D
         4: .line 73
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryClockwise:[D
         5: .line 74
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.math3.complex.RootsOfUnity.isCounterClockWise:Z
         6: .line 75
            return
        end local 0 // org.apache.commons.math3.complex.RootsOfUnity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/commons/math3/complex/RootsOfUnity;

  public synchronized boolean isCounterClockWise();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.complex.RootsOfUnity this
         0: .line 90
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaCount:I
            ifne 4
         1: .line 91
            new org.apache.commons.math3.exception.MathIllegalStateException
            dup
         2: .line 92
            getstatic org.apache.commons.math3.exception.util.LocalizedFormats.ROOTS_OF_UNITY_NOT_COMPUTED_YET:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
         3: .line 91
            iconst_0
            anewarray java.lang.Object
            invokespecial org.apache.commons.math3.exception.MathIllegalStateException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;[Ljava/lang/Object;)V
            athrow
         4: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.isCounterClockWise:Z
            ireturn
        end local 0 // org.apache.commons.math3.complex.RootsOfUnity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/math3/complex/RootsOfUnity;
    Exceptions:
      throws org.apache.commons.math3.exception.MathIllegalStateException

  public synchronized void computeRoots(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=10, args_size=2
        start local 0 // org.apache.commons.math3.complex.RootsOfUnity this
        start local 1 // int n
         0: .line 118
            iload 1 /* n */
            ifne 4
         1: .line 119
            new org.apache.commons.math3.exception.ZeroException
            dup
         2: .line 120
            getstatic org.apache.commons.math3.exception.util.LocalizedFormats.CANNOT_COMPUTE_0TH_ROOT_OF_UNITY:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
         3: .line 119
            iconst_0
            anewarray java.lang.Object
            invokespecial org.apache.commons.math3.exception.ZeroException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;[Ljava/lang/Object;)V
            athrow
         4: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* n */
            ifle 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack: org.apache.commons.math3.complex.RootsOfUnity
         5: iconst_0
      StackMap locals: org.apache.commons.math3.complex.RootsOfUnity int
      StackMap stack: org.apache.commons.math3.complex.RootsOfUnity int
         6: putfield org.apache.commons.math3.complex.RootsOfUnity.isCounterClockWise:Z
         7: .line 126
            iload 1 /* n */
            invokestatic org.apache.commons.math3.util.FastMath.abs:(I)I
            istore 2 /* absN */
        start local 2 // int absN
         8: .line 128
            iload 2 /* absN */
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaCount:I
            if_icmpne 10
         9: .line 129
            return
        10: .line 133
      StackMap locals: int
      StackMap stack:
            ldc 6.283185307179586
            iload 2 /* absN */
            i2d
            ddiv
            dstore 3 /* t */
        start local 3 // double t
        11: .line 134
            dload 3 /* t */
            invokestatic org.apache.commons.math3.util.FastMath.cos:(D)D
            dstore 5 /* cosT */
        start local 5 // double cosT
        12: .line 135
            dload 3 /* t */
            invokestatic org.apache.commons.math3.util.FastMath.sin:(D)D
            dstore 7 /* sinT */
        start local 7 // double sinT
        13: .line 136
            aload 0 /* this */
            iload 2 /* absN */
            newarray 7
            putfield org.apache.commons.math3.complex.RootsOfUnity.omegaReal:[D
        14: .line 137
            aload 0 /* this */
            iload 2 /* absN */
            newarray 7
            putfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryCounterClockwise:[D
        15: .line 138
            aload 0 /* this */
            iload 2 /* absN */
            newarray 7
            putfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryClockwise:[D
        16: .line 139
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaReal:[D
            iconst_0
            dconst_1
            dastore
        17: .line 140
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryCounterClockwise:[D
            iconst_0
            dconst_0
            dastore
        18: .line 141
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryClockwise:[D
            iconst_0
            dconst_0
            dastore
        19: .line 142
            iconst_1
            istore 9 /* i */
        start local 9 // int i
        20: goto 29
        21: .line 143
      StackMap locals: org.apache.commons.math3.complex.RootsOfUnity int int double double double int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaReal:[D
            iload 9 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaReal:[D
            iload 9 /* i */
            iconst_1
            isub
            daload
            dload 5 /* cosT */
            dmul
        22: .line 144
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryCounterClockwise:[D
            iload 9 /* i */
            iconst_1
            isub
            daload
            dload 7 /* sinT */
            dmul
            dsub
        23: .line 143
            dastore
        24: .line 145
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryCounterClockwise:[D
            iload 9 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaReal:[D
            iload 9 /* i */
            iconst_1
            isub
            daload
            dload 7 /* sinT */
            dmul
        25: .line 146
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryCounterClockwise:[D
            iload 9 /* i */
            iconst_1
            isub
            daload
            dload 5 /* cosT */
            dmul
            dadd
        26: .line 145
            dastore
        27: .line 147
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryClockwise:[D
            iload 9 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryCounterClockwise:[D
            iload 9 /* i */
            daload
            dneg
            dastore
        28: .line 142
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 9 /* i */
            iload 2 /* absN */
            if_icmplt 21
        end local 9 // int i
        30: .line 149
            aload 0 /* this */
            iload 2 /* absN */
            putfield org.apache.commons.math3.complex.RootsOfUnity.omegaCount:I
        31: .line 150
            return
        end local 7 // double sinT
        end local 5 // double cosT
        end local 3 // double t
        end local 2 // int absN
        end local 1 // int n
        end local 0 // org.apache.commons.math3.complex.RootsOfUnity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   32     0  this  Lorg/apache/commons/math3/complex/RootsOfUnity;
            0   32     1     n  I
            8   32     2  absN  I
           11   32     3     t  D
           12   32     5  cosT  D
           13   32     7  sinT  D
           20   30     9     i  I
    Exceptions:
      throws org.apache.commons.math3.exception.ZeroException
    MethodParameters:
      Name  Flags
      n     

  public synchronized double getReal(int);
    descriptor: (I)D
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.complex.RootsOfUnity this
        start local 1 // int k
         0: .line 164
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaCount:I
            ifne 4
         1: .line 165
            new org.apache.commons.math3.exception.MathIllegalStateException
            dup
         2: .line 166
            getstatic org.apache.commons.math3.exception.util.LocalizedFormats.ROOTS_OF_UNITY_NOT_COMPUTED_YET:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
         3: .line 165
            iconst_0
            anewarray java.lang.Object
            invokespecial org.apache.commons.math3.exception.MathIllegalStateException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;[Ljava/lang/Object;)V
            athrow
         4: .line 168
      StackMap locals:
      StackMap stack:
            iload 1 /* k */
            iflt 5
            iload 1 /* k */
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaCount:I
            if_icmplt 11
         5: .line 169
      StackMap locals:
      StackMap stack:
            new org.apache.commons.math3.exception.OutOfRangeException
            dup
         6: .line 170
            getstatic org.apache.commons.math3.exception.util.LocalizedFormats.OUT_OF_RANGE_ROOT_OF_UNITY_INDEX:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
         7: .line 171
            iload 1 /* k */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         8: .line 172
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         9: .line 173
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaCount:I
            iconst_1
            isub
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        10: .line 169
            invokespecial org.apache.commons.math3.exception.OutOfRangeException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
            athrow
        11: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaReal:[D
            iload 1 /* k */
            daload
            dreturn
        end local 1 // int k
        end local 0 // org.apache.commons.math3.complex.RootsOfUnity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/apache/commons/math3/complex/RootsOfUnity;
            0   12     1     k  I
    Exceptions:
      throws org.apache.commons.math3.exception.MathIllegalStateException, org.apache.commons.math3.exception.MathIllegalArgumentException
    MethodParameters:
      Name  Flags
      k     

  public synchronized double getImaginary(int);
    descriptor: (I)D
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.complex.RootsOfUnity this
        start local 1 // int k
         0: .line 191
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaCount:I
            ifne 4
         1: .line 192
            new org.apache.commons.math3.exception.MathIllegalStateException
            dup
         2: .line 193
            getstatic org.apache.commons.math3.exception.util.LocalizedFormats.ROOTS_OF_UNITY_NOT_COMPUTED_YET:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
         3: .line 192
            iconst_0
            anewarray java.lang.Object
            invokespecial org.apache.commons.math3.exception.MathIllegalStateException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;[Ljava/lang/Object;)V
            athrow
         4: .line 195
      StackMap locals:
      StackMap stack:
            iload 1 /* k */
            iflt 5
            iload 1 /* k */
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaCount:I
            if_icmplt 11
         5: .line 196
      StackMap locals:
      StackMap stack:
            new org.apache.commons.math3.exception.OutOfRangeException
            dup
         6: .line 197
            getstatic org.apache.commons.math3.exception.util.LocalizedFormats.OUT_OF_RANGE_ROOT_OF_UNITY_INDEX:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
         7: .line 198
            iload 1 /* k */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         8: .line 199
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         9: .line 200
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaCount:I
            iconst_1
            isub
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        10: .line 196
            invokespecial org.apache.commons.math3.exception.OutOfRangeException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
            athrow
        11: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.isCounterClockWise:Z
            ifeq 12
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryCounterClockwise:[D
            iload 1 /* k */
            daload
            goto 13
        12: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaImaginaryClockwise:[D
            iload 1 /* k */
            daload
        13: .line 203
      StackMap locals:
      StackMap stack: double
            dreturn
        end local 1 // int k
        end local 0 // org.apache.commons.math3.complex.RootsOfUnity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/apache/commons/math3/complex/RootsOfUnity;
            0   14     1     k  I
    Exceptions:
      throws org.apache.commons.math3.exception.MathIllegalStateException, org.apache.commons.math3.exception.OutOfRangeException
    MethodParameters:
      Name  Flags
      k     

  public synchronized int getNumberOfRoots();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.complex.RootsOfUnity this
         0: .line 216
            aload 0 /* this */
            getfield org.apache.commons.math3.complex.RootsOfUnity.omegaCount:I
            ireturn
        end local 0 // org.apache.commons.math3.complex.RootsOfUnity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/complex/RootsOfUnity;
}
SourceFile: "RootsOfUnity.java"