public class org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement extends org.bouncycastle.math.ec.ECFieldElement$AbstractFp
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
super_class: org.bouncycastle.math.ec.ECFieldElement$AbstractFp
{
public static final java.math.BigInteger Q;
descriptor: Ljava/math/BigInteger;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
protected int[] x;
descriptor: [I
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.bouncycastle.math.ec.custom.sec.SecP256K1Curve.q:Ljava/math/BigInteger;
putstatic org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.Q:Ljava/math/BigInteger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement$AbstractFp.<init>:()V
1: aload 1
ifnull 2
aload 1
invokevirtual java.math.BigInteger.signum:()I
iflt 2
aload 1
getstatic org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.Q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
iflt 3
2: StackMap locals: org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement java.math.BigInteger
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "x value invalid for SecP256K1FieldElement"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.fromBigInteger:(Ljava/math/BigInteger;)[I
putfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
0 5 1 x Ljava/math/BigInteger;
MethodParameters:
Name Flags
x
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement$AbstractFp.<init>:()V
1: aload 0
invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
putfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
protected void <init>(int[]);
descriptor: ([I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.bouncycastle.math.ec.ECFieldElement$AbstractFp.<init>:()V
1: aload 0
aload 1
putfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
0 3 1 x [I
MethodParameters:
Name Flags
x
public boolean isZero();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.isZero:([I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
public boolean isOne();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.isOne:([I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
public boolean testBitZero();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
iconst_0
invokestatic org.bouncycastle.math.raw.Nat256.getBit:([II)I
iconst_1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
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.custom.sec.SecP256K1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.toBigInteger:([I)Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
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 "SecP256K1Field"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
public int getFieldSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.Q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
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=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.add:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.<init>:([I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
0 3 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 3 2 z [I
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECFieldElement addOne();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.addOne:([I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
1 3 1 z [I
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=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.subtract:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.<init>:([I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
0 3 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 3 2 z [I
MethodParameters:
Name Flags
b
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=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.<init>:([I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
0 3 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 3 2 z [I
MethodParameters:
Name Flags
b
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=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 1: getstatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.P:[I
aload 1
checkcast org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.raw.Mod.invert:([I[I[I)V
2: aload 2
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
3: new org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
dup
aload 2
invokespecial org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.<init>:([I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
0 4 1 b Lorg/bouncycastle/math/ec/ECFieldElement;
1 4 2 z [I
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECFieldElement negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.negate:([I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
1 3 1 z [I
public org.bouncycastle.math.ec.ECFieldElement square();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.square:([I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
1 3 1 z [I
public org.bouncycastle.math.ec.ECFieldElement invert();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 1
start local 1 1: getstatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.P:[I
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 1
invokestatic org.bouncycastle.math.raw.Mod.invert:([I[I[I)V
2: new org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
dup
aload 1
invokespecial org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.<init>:([I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
1 3 1 z [I
public org.bouncycastle.math.ec.ECFieldElement sqrt();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=15, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
astore 1
start local 1 1: aload 1
invokestatic org.bouncycastle.math.raw.Nat256.isZero:([I)Z
ifne 2
aload 1
invokestatic org.bouncycastle.math.raw.Nat256.isOne:([I)Z
ifeq 3
2: StackMap locals: int[]
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 2
start local 2 4: aload 1
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.square:([I[I)V
5: aload 2
aload 1
aload 2
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
6: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 3
start local 3 7: aload 2
aload 3
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.square:([I[I)V
8: aload 3
aload 1
aload 3
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
9: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 4
start local 4 10: aload 3
iconst_3
aload 4
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
11: aload 4
aload 3
aload 4
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
12: aload 4
astore 5
start local 5 13: aload 4
iconst_3
aload 5
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
14: aload 5
aload 3
aload 5
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
15: aload 5
astore 6
start local 6 16: aload 5
iconst_2
aload 6
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
17: aload 6
aload 2
aload 6
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
18: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 7
start local 7 19: aload 6
bipush 11
aload 7
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
20: aload 7
aload 6
aload 7
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
21: aload 6
astore 8
start local 8 22: aload 7
bipush 22
aload 8
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
23: aload 8
aload 7
aload 8
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
24: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 9
start local 9 25: aload 8
bipush 44
aload 9
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
26: aload 9
aload 8
aload 9
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
27: invokestatic org.bouncycastle.math.raw.Nat256.create:()[I
astore 10
start local 10 28: aload 9
bipush 88
aload 10
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
29: aload 10
aload 9
aload 10
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
30: aload 9
astore 11
start local 11 31: aload 10
bipush 44
aload 11
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
32: aload 11
aload 8
aload 11
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
33: aload 8
astore 12
start local 12 34: aload 11
iconst_3
aload 12
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
35: aload 12
aload 3
aload 12
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
36: aload 12
astore 13
start local 13 37: aload 13
bipush 23
aload 13
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
38: aload 13
aload 7
aload 13
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
39: aload 13
bipush 6
aload 13
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
40: aload 13
aload 2
aload 13
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.multiply:([I[I[I)V
41: aload 13
iconst_2
aload 13
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.squareN:([II[I)V
42: aload 2
astore 14
start local 14 43: aload 13
aload 14
invokestatic org.bouncycastle.math.ec.custom.sec.SecP256K1Field.square:([I[I)V
44: aload 1
aload 14
invokestatic org.bouncycastle.math.raw.Nat256.eq:([I[I)Z
ifeq 45
new org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
dup
aload 13
invokespecial org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.<init>:([I)V
goto 46
StackMap locals: org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement int[] int[] int[] int[] int[] int[] int[] int[] int[] int[] int[] int[] int[] int[]
StackMap stack:
45: aconst_null
StackMap locals:
StackMap stack: org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
46: areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 47 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
1 47 1 x1 [I
4 47 2 x2 [I
7 47 3 x3 [I
10 47 4 x6 [I
13 47 5 x9 [I
16 47 6 x11 [I
19 47 7 x22 [I
22 47 8 x44 [I
25 47 9 x88 [I
28 47 10 x176 [I
31 47 11 x220 [I
34 47 12 x223 [I
37 47 13 t1 [I
43 47 14 t2 [I
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.custom.sec.SecP256K1FieldElement
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement
astore 2
start local 2 5: aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
aload 2
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
invokestatic org.bouncycastle.math.raw.Nat256.eq:([I[I)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
0 6 1 other Ljava/lang/Object;
5 6 2 o Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.Q:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.hashCode:()I
aload 0
getfield org.bouncycastle.math.ec.custom.sec.SecP256K1FieldElement.x:[I
iconst_0
bipush 8
invokestatic org.bouncycastle.util.Arrays.hashCode:([III)I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/custom/sec/SecP256K1FieldElement;
}
SourceFile: "SecP256K1FieldElement.java"
InnerClasses:
public abstract AbstractFp = org.bouncycastle.math.ec.ECFieldElement$AbstractFp of org.bouncycastle.math.ec.ECFieldElement