public class org.bouncycastle.math.ec.ECFieldElement$F2m extends org.bouncycastle.math.ec.ECFieldElement
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.ECFieldElement$F2m
super_class: org.bouncycastle.math.ec.ECFieldElement
{
public static final int GNB;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int TPB;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int PPB;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private int representation;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int m;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int k1;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int k2;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int k3;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.bouncycastle.math.ec.IntArray x;
descriptor: Lorg/bouncycastle/math/ec/IntArray;
flags: (0x0002) ACC_PRIVATE
private int t;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(int, int, int, int, java.math.BigInteger);
descriptor: (IIIILjava/math/BigInteger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement.<init>:()V
1: aload 0
iload 1
bipush 31
iadd
iconst_5
ishr
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.t:I
2: aload 0
new org.bouncycastle.math.ec.IntArray
dup
aload 5
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.t:I
invokespecial org.bouncycastle.math.ec.IntArray.<init>:(Ljava/math/BigInteger;I)V
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
3: iload 3
ifne 6
iload 4
ifne 6
4: aload 0
iconst_2
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
5: goto 15
6: StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m int int int int java.math.BigInteger
StackMap stack:
iload 3
iload 4
if_icmplt 10
7: new java.lang.IllegalArgumentException
dup
8: ldc "k2 must be smaller than k3"
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
iload 3
ifgt 14
11: new java.lang.IllegalArgumentException
dup
12: ldc "k2 must be larger than 0"
13: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
15: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.math.BigInteger.signum:()I
ifge 17
16: new java.lang.IllegalArgumentException
dup
ldc "x value cannot be negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
18: aload 0
iload 2
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
19: aload 0
iload 3
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
20: aload 0
iload 4
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
21: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 22 1 m I
0 22 2 k1 I
0 22 3 k2 I
0 22 4 k3 I
0 22 5 x Ljava/math/BigInteger;
MethodParameters:
Name Flags
m
k1
k2
k3
x
public void <init>(int, int, java.math.BigInteger);
descriptor: (IILjava/math/BigInteger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 2
iconst_0
iconst_0
aload 3
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(IIIILjava/math/BigInteger;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 2 1 m I
0 2 2 k I
0 2 3 x Ljava/math/BigInteger;
MethodParameters:
Name Flags
m
k
x
private void <init>(int, int, int, int, org.bouncycastle.math.ec.IntArray);
descriptor: (IIIILorg/bouncycastle/math/ec/IntArray;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement.<init>:()V
1: aload 0
iload 1
bipush 31
iadd
iconst_5
ishr
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.t:I
2: aload 0
aload 5
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
3: aload 0
iload 1
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
4: aload 0
iload 2
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
5: aload 0
iload 3
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
6: aload 0
iload 4
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
7: iload 3
ifne 10
iload 4
ifne 10
8: aload 0
iconst_2
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
9: goto 11
10: StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m int int int int org.bouncycastle.math.ec.IntArray
StackMap stack:
aload 0
iconst_3
putfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
11: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 12 1 m I
0 12 2 k1 I
0 12 3 k2 I
0 12 4 k3 I
0 12 5 x Lorg/bouncycastle/math/ec/IntArray;
MethodParameters:
Name Flags
m
k1
k2
k3
x
public java.math.BigInteger toBigInteger();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
invokevirtual org.bouncycastle.math.ec.IntArray.toBigInteger:()Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public java.lang.String getFieldName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "F2m"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getFieldSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public static void checkFieldElements(org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
instanceof org.bouncycastle.math.ec.ECFieldElement$F2m
ifeq 1
aload 1
instanceof org.bouncycastle.math.ec.ECFieldElement$F2m
ifne 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Field elements are not both instances of ECFieldElement.F2m"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
astore 2
start local 2 3: aload 1
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
astore 3
start local 3 4: aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 3
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
if_icmpne 6
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
aload 3
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
if_icmpne 6
5: aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
aload 3
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
if_icmpne 6
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
aload 3
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
if_icmpeq 7
6: StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m org.bouncycastle.math.ec.ECFieldElement$F2m
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Field elements are not elements of the same field F2m"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
aload 3
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
if_icmpeq 11
8: new java.lang.IllegalArgumentException
dup
9: ldc "One of the field elements are not elements has incorrect representation"
10: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 a Lorg/bouncycastle/math/ec/ECFieldElement;
0 12 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
3 12 2 aF2m Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
4 12 3 bF2m Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
MethodParameters:
Name Flags
a
b
public org.bouncycastle.math.ec.ECFieldElement add(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
invokevirtual org.bouncycastle.math.ec.IntArray.clone:()Ljava/lang/Object;
checkcast org.bouncycastle.math.ec.IntArray
astore 2
start local 2 1: aload 1
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
astore 3
start local 3 2: aload 2
aload 3
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
iconst_0
invokevirtual org.bouncycastle.math.ec.IntArray.addShifted:(Lorg/bouncycastle/math/ec/IntArray;I)V
3: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
aload 2
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(IIIILorg/bouncycastle/math/ec/IntArray;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 4 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 4 2 iarrClone Lorg/bouncycastle/math/ec/IntArray;
2 4 3 bF2m Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
MethodParameters:
Name Flags
b final
public org.bouncycastle.math.ec.ECFieldElement subtract(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 1 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
b final
public org.bouncycastle.math.ec.ECFieldElement multiply(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
invokevirtual org.bouncycastle.math.ec.IntArray.multiply:(Lorg/bouncycastle/math/ec/IntArray;I)Lorg/bouncycastle/math/ec/IntArray;
astore 3
start local 3 2: aload 3
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
iconst_3
newarray 10
dup
iconst_0
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
iastore
dup
iconst_1
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
iastore
dup
iconst_2
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
iastore
invokevirtual org.bouncycastle.math.ec.IntArray.reduce:(I[I)V
3: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
aload 3
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(IIIILorg/bouncycastle/math/ec/IntArray;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 4 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 4 2 bF2m Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
2 4 3 mult Lorg/bouncycastle/math/ec/IntArray;
MethodParameters:
Name Flags
b final
public org.bouncycastle.math.ec.ECFieldElement divide(org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.invert:()Lorg/bouncycastle/math/ec/ECFieldElement;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 2 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 2 2 bInv Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
b final
public org.bouncycastle.math.ec.ECFieldElement negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public org.bouncycastle.math.ec.ECFieldElement square();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
invokevirtual org.bouncycastle.math.ec.IntArray.square:(I)Lorg/bouncycastle/math/ec/IntArray;
astore 1
start local 1 1: aload 1
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
iconst_3
newarray 10
dup
iconst_0
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
iastore
dup
iconst_1
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
iastore
dup
iconst_2
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
iastore
invokevirtual org.bouncycastle.math.ec.IntArray.reduce:(I[I)V
2: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
aload 1
invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(IIIILorg/bouncycastle/math/ec/IntArray;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
1 3 1 squared Lorg/bouncycastle/math/ec/IntArray;
public org.bouncycastle.math.ec.ECFieldElement invert();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
invokevirtual org.bouncycastle.math.ec.IntArray.clone:()Ljava/lang/Object;
checkcast org.bouncycastle.math.ec.IntArray
astore 1
start local 1 1: new org.bouncycastle.math.ec.IntArray
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.t:I
invokespecial org.bouncycastle.math.ec.IntArray.<init>:(I)V
astore 2
start local 2 2: aload 2
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
invokevirtual org.bouncycastle.math.ec.IntArray.setBit:(I)V
3: aload 2
iconst_0
invokevirtual org.bouncycastle.math.ec.IntArray.setBit:(I)V
4: aload 2
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
invokevirtual org.bouncycastle.math.ec.IntArray.setBit:(I)V
5: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
iconst_3
if_icmpne 8
6: aload 2
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
invokevirtual org.bouncycastle.math.ec.IntArray.setBit:(I)V
7: aload 2
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
invokevirtual org.bouncycastle.math.ec.IntArray.setBit:(I)V
8: StackMap locals: org.bouncycastle.math.ec.IntArray org.bouncycastle.math.ec.IntArray
StackMap stack:
new org.bouncycastle.math.ec.IntArray
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.t:I
invokespecial org.bouncycastle.math.ec.IntArray.<init>:(I)V
astore 3
start local 3 9: aload 3
iconst_0
invokevirtual org.bouncycastle.math.ec.IntArray.setBit:(I)V
10: new org.bouncycastle.math.ec.IntArray
dup
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.t:I
invokespecial org.bouncycastle.math.ec.IntArray.<init>:(I)V
astore 4
start local 4 11: goto 27
12: StackMap locals: org.bouncycastle.math.ec.IntArray org.bouncycastle.math.ec.IntArray
StackMap stack:
aload 1
invokevirtual org.bouncycastle.math.ec.IntArray.bitLength:()I
aload 2
invokevirtual org.bouncycastle.math.ec.IntArray.bitLength:()I
isub
istore 5
start local 5 13: iload 5
ifge 21
14: aload 1
astore 6
start local 6 15: aload 2
astore 1
16: aload 6
astore 2
17: aload 3
astore 7
start local 7 18: aload 4
astore 3
19: aload 7
astore 4
20: iload 5
ineg
istore 5
end local 7 end local 6 21: StackMap locals: int
StackMap stack:
iload 5
iconst_5
ishr
istore 6
start local 6 22: iload 5
bipush 31
iand
istore 7
start local 7 23: aload 2
iload 7
invokevirtual org.bouncycastle.math.ec.IntArray.shiftLeft:(I)Lorg/bouncycastle/math/ec/IntArray;
astore 8
start local 8 24: aload 1
aload 8
iload 6
invokevirtual org.bouncycastle.math.ec.IntArray.addShifted:(Lorg/bouncycastle/math/ec/IntArray;I)V
25: aload 4
iload 7
invokevirtual org.bouncycastle.math.ec.IntArray.shiftLeft:(I)Lorg/bouncycastle/math/ec/IntArray;
astore 9
start local 9 26: aload 3
aload 9
iload 6
invokevirtual org.bouncycastle.math.ec.IntArray.addShifted:(Lorg/bouncycastle/math/ec/IntArray;I)V
end local 9 end local 8 end local 7 end local 6 end local 5 27: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.bouncycastle.math.ec.IntArray.isZero:()Z
ifeq 12
28: new org.bouncycastle.math.ec.ECFieldElement$F2m
dup
29: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
aload 4
30: invokespecial org.bouncycastle.math.ec.ECFieldElement$F2m.<init>:(IIIILorg/bouncycastle/math/ec/IntArray;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
1 31 1 uz Lorg/bouncycastle/math/ec/IntArray;
2 31 2 vz Lorg/bouncycastle/math/ec/IntArray;
9 31 3 g1z Lorg/bouncycastle/math/ec/IntArray;
11 31 4 g2z Lorg/bouncycastle/math/ec/IntArray;
13 27 5 j I
15 21 6 uzCopy Lorg/bouncycastle/math/ec/IntArray;
18 21 7 g1zCopy Lorg/bouncycastle/math/ec/IntArray;
22 27 6 jInt I
23 27 7 jBit I
24 27 8 vzShift Lorg/bouncycastle/math/ec/IntArray;
26 27 9 g2zShift Lorg/bouncycastle/math/ec/IntArray;
public org.bouncycastle.math.ec.ECFieldElement sqrt();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.RuntimeException
dup
ldc "Not implemented"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getRepresentation();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getM();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getK1();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getK2();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public int getK3();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.math.ec.ECFieldElement$F2m
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
astore 2
start local 2 5: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
if_icmpne 10
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
if_icmpne 10
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
if_icmpne 10
6: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
if_icmpne 10
7: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.representation:I
if_icmpne 10
8: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
aload 2
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
invokevirtual org.bouncycastle.math.ec.IntArray.equals:(Ljava/lang/Object;)Z
ifeq 10
9: iconst_1
ireturn
StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m
StackMap stack:
10: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
0 11 1 anObject Ljava/lang/Object;
5 11 2 b Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
MethodParameters:
Name Flags
anObject
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.x:Lorg/bouncycastle/math/ec/IntArray;
invokevirtual org.bouncycastle.math.ec.IntArray.hashCode:()I
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.m:I
ixor
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k1:I
ixor
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k2:I
ixor
aload 0
getfield org.bouncycastle.math.ec.ECFieldElement$F2m.k3:I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
}
SourceFile: "ECFieldElement.java"
NestHost: org.bouncycastle.math.ec.ECFieldElement
InnerClasses:
public F2m = org.bouncycastle.math.ec.ECFieldElement$F2m of org.bouncycastle.math.ec.ECFieldElement