public class org.bouncycastle.math.ec.ECPoint$F2m extends org.bouncycastle.math.ec.ECPoint
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.math.ec.ECPoint$F2m
super_class: org.bouncycastle.math.ec.ECPoint
{
public void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_0
invokespecial org.bouncycastle.math.ec.ECPoint$F2m.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)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/ECPoint$F2m;
0 2 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 2 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 2 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
curve
x
y
public void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement, boolean);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.bouncycastle.math.ec.ECPoint.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
1: aload 2
ifnull 2
aload 3
ifnull 3
StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECCurve org.bouncycastle.math.ec.ECFieldElement org.bouncycastle.math.ec.ECFieldElement int
StackMap stack:
2: aload 2
ifnonnull 4
aload 3
ifnull 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Exactly one of the field elements is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 2
ifnull 8
5: aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
invokestatic org.bouncycastle.math.ec.ECFieldElement$F2m.checkFieldElements:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
6: aload 1
ifnull 8
7: aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokestatic org.bouncycastle.math.ec.ECFieldElement$F2m.checkFieldElements:(Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
8: StackMap locals:
StackMap stack:
aload 0
iload 4
putfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/math/ec/ECPoint$F2m;
0 10 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 10 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 10 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
0 10 4 withCompression Z
MethodParameters:
Name Flags
curve
x
y
withCompression
public byte[] getEncoded();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.isInfinity:()Z
ifeq 2
1: iconst_1
newarray 8
areturn
2: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.math.ec.ECPoint.converter:Lorg/bouncycastle/asn1/x9/X9IntegerConverter;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.asn1.x9.X9IntegerConverter.getByteLength:(Lorg/bouncycastle/math/ec/ECFieldElement;)I
istore 1
start local 1 3: getstatic org.bouncycastle.math.ec.ECPoint.converter:Lorg/bouncycastle/asn1/x9/X9IntegerConverter;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getX:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
iload 1
invokevirtual org.bouncycastle.asn1.x9.X9IntegerConverter.integerToBytes:(Ljava/math/BigInteger;I)[B
astore 2
start local 2 4: aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
ifeq 13
5: iload 1
iconst_1
iadd
newarray 8
astore 3
start local 3 6: aload 3
iconst_0
iconst_2
bastore
7: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getX:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
getstatic org.bouncycastle.math.ec.ECConstants.ZERO:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifne 11
8: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getY:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getX:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.invert:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
9: invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
iconst_0
invokevirtual java.math.BigInteger.testBit:(I)Z
ifeq 11
10: aload 3
iconst_0
iconst_3
bastore
11: StackMap locals: int byte[] byte[]
StackMap stack:
aload 2
iconst_0
aload 3
iconst_1
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: goto 18
end local 3 13: StackMap locals:
StackMap stack:
getstatic org.bouncycastle.math.ec.ECPoint.converter:Lorg/bouncycastle/asn1/x9/X9IntegerConverter;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getY:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
iload 1
invokevirtual org.bouncycastle.asn1.x9.X9IntegerConverter.integerToBytes:(Ljava/math/BigInteger;I)[B
astore 4
start local 4 14: iload 1
iload 1
iadd
iconst_1
iadd
newarray 8
astore 3
start local 3 15: aload 3
iconst_0
iconst_4
bastore
16: aload 2
iconst_0
aload 3
iconst_1
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: aload 4
iconst_0
aload 3
iload 1
iconst_1
iadd
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 4 18: StackMap locals: byte[]
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/math/ec/ECPoint$F2m;
3 19 1 byteCount I
4 19 2 X [B
6 13 3 PO [B
15 19 3 PO [B
14 18 4 Y [B
private static void checkPoints(org.bouncycastle.math.ec.ECPoint, org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;Lorg/bouncycastle/math/ec/ECPoint;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.curve:Lorg/bouncycastle/math/ec/ECCurve;
aload 1
getfield org.bouncycastle.math.ec.ECPoint.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Only points on the same curve can be added or subtracted"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a Lorg/bouncycastle/math/ec/ECPoint;
0 3 1 b Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
a
b
public org.bouncycastle.math.ec.ECPoint add(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.bouncycastle.math.ec.ECPoint$F2m.checkPoints:(Lorg/bouncycastle/math/ec/ECPoint;Lorg/bouncycastle/math/ec/ECPoint;)V
1: aload 0
aload 1
checkcast org.bouncycastle.math.ec.ECPoint$F2m
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.addSimple:(Lorg/bouncycastle/math/ec/ECPoint$F2m;)Lorg/bouncycastle/math/ec/ECPoint$F2m;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/ECPoint$F2m;
0 2 1 b Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECPoint$F2m addSimple(org.bouncycastle.math.ec.ECPoint$F2m);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint$F2m;)Lorg/bouncycastle/math/ec/ECPoint$F2m;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.isInfinity:()Z
ifeq 3
2: aload 2
areturn
3: StackMap locals: org.bouncycastle.math.ec.ECPoint$F2m
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.isInfinity:()Z
ifeq 5
4: aload 0
areturn
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getX:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
astore 3
start local 3 6: aload 2
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getY:()Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
astore 4
start local 4 7: aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 3
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
8: aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
9: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.twice:()Lorg/bouncycastle/math/ec/ECPoint;
checkcast org.bouncycastle.math.ec.ECPoint$F2m
areturn
10: StackMap locals: org.bouncycastle.math.ec.ECFieldElement$F2m org.bouncycastle.math.ec.ECFieldElement$F2m
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
checkcast org.bouncycastle.math.ec.ECPoint$F2m
areturn
11: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 4
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
12: astore 5
start local 5 13: aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 5
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
14: astore 6
start local 6 15: aload 5
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 6
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 6
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
16: astore 7
start local 7 17: new org.bouncycastle.math.ec.ECPoint$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
aload 6
aload 7
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$F2m.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
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 18 0 this Lorg/bouncycastle/math/ec/ECPoint$F2m;
0 18 1 b Lorg/bouncycastle/math/ec/ECPoint$F2m;
1 18 2 other Lorg/bouncycastle/math/ec/ECPoint$F2m;
6 18 3 x2 Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
7 18 4 y2 Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
13 18 5 lambda Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
15 18 6 x3 Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
17 18 7 y3 Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECPoint subtract(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.bouncycastle.math.ec.ECPoint$F2m.checkPoints:(Lorg/bouncycastle/math/ec/ECPoint;Lorg/bouncycastle/math/ec/ECPoint;)V
1: aload 0
aload 1
checkcast org.bouncycastle.math.ec.ECPoint$F2m
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.subtractSimple:(Lorg/bouncycastle/math/ec/ECPoint$F2m;)Lorg/bouncycastle/math/ec/ECPoint$F2m;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/ECPoint$F2m;
0 2 1 b Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECPoint$F2m subtractSimple(org.bouncycastle.math.ec.ECPoint$F2m);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint$F2m;)Lorg/bouncycastle/math/ec/ECPoint$F2m;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.negate:()Lorg/bouncycastle/math/ec/ECPoint;
checkcast org.bouncycastle.math.ec.ECPoint$F2m
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.addSimple:(Lorg/bouncycastle/math/ec/ECPoint$F2m;)Lorg/bouncycastle/math/ec/ECPoint$F2m;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECPoint$F2m;
0 3 1 b Lorg/bouncycastle/math/ec/ECPoint$F2m;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.ECPoint twice();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.isInfinity:()Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.toBigInteger:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
ifne 4
3: aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.y:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.divide:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
5: astore 1
start local 1 6: aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 1
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
7: aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getA:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
8: checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
9: astore 2
start local 2 10: aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
getstatic org.bouncycastle.math.ec.ECConstants.ONE:Ljava/math/BigInteger;
invokevirtual org.bouncycastle.math.ec.ECCurve.fromBigInteger:(Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECFieldElement;
astore 3
start local 3 11: aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.x:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.square:()Lorg/bouncycastle/math/ec/ECFieldElement;
12: aload 2
aload 1
aload 3
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement$F2m.multiply:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
13: invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
checkcast org.bouncycastle.math.ec.ECFieldElement$F2m
14: astore 4
start local 4 15: new org.bouncycastle.math.ec.ECPoint$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
aload 2
aload 4
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$F2m.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/bouncycastle/math/ec/ECPoint$F2m;
6 16 1 lambda Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
10 16 2 x3 Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
11 16 3 ONE Lorg/bouncycastle/math/ec/ECFieldElement;
15 16 4 y3 Lorg/bouncycastle/math/ec/ECFieldElement$F2m;
public org.bouncycastle.math.ec.ECPoint negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new org.bouncycastle.math.ec.ECPoint$F2m
dup
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getX:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getY:()Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint$F2m.getX:()Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual org.bouncycastle.math.ec.ECFieldElement.add:(Lorg/bouncycastle/math/ec/ECFieldElement;)Lorg/bouncycastle/math/ec/ECFieldElement;
aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.withCompression:Z
invokespecial org.bouncycastle.math.ec.ECPoint$F2m.<init>:(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint$F2m;
synchronized void assertECMultiplier();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.multiplier:Lorg/bouncycastle/math/ec/ECMultiplier;
ifnonnull 5
1: aload 0
getfield org.bouncycastle.math.ec.ECPoint$F2m.curve:Lorg/bouncycastle/math/ec/ECCurve;
checkcast org.bouncycastle.math.ec.ECCurve$F2m
invokevirtual org.bouncycastle.math.ec.ECCurve$F2m.isKoblitz:()Z
ifeq 4
2: aload 0
new org.bouncycastle.math.ec.WTauNafMultiplier
dup
invokespecial org.bouncycastle.math.ec.WTauNafMultiplier.<init>:()V
putfield org.bouncycastle.math.ec.ECPoint$F2m.multiplier:Lorg/bouncycastle/math/ec/ECMultiplier;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
new org.bouncycastle.math.ec.WNafMultiplier
dup
invokespecial org.bouncycastle.math.ec.WNafMultiplier.<init>:()V
putfield org.bouncycastle.math.ec.ECPoint$F2m.multiplier:Lorg/bouncycastle/math/ec/ECMultiplier;
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/math/ec/ECPoint$F2m;
}
SourceFile: "ECPoint.java"
NestHost: org.bouncycastle.math.ec.ECPoint
InnerClasses:
public F2m = org.bouncycastle.math.ec.ECCurve$F2m of org.bouncycastle.math.ec.ECCurve
public F2m = org.bouncycastle.math.ec.ECFieldElement$F2m of org.bouncycastle.math.ec.ECFieldElement
public F2m = org.bouncycastle.math.ec.ECPoint$F2m of org.bouncycastle.math.ec.ECPoint