class org.bouncycastle.math.ec.SimpleBigDecimal
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bouncycastle.math.ec.SimpleBigDecimal
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final java.math.BigInteger bigInt;
descriptor: Ljava/math/BigInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int scale;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static org.bouncycastle.math.ec.SimpleBigDecimal getInstance(java.math.BigInteger, int);
descriptor: (Ljava/math/BigInteger;I)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.math.ec.SimpleBigDecimal
dup
aload 0
iload 1
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
iload 1
invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value Ljava/math/BigInteger;
0 1 1 scale I
MethodParameters:
Name Flags
value
scale
public void <init>(java.math.BigInteger, int);
descriptor: (Ljava/math/BigInteger;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 2
ifge 3
2: new java.lang.IllegalArgumentException
dup
ldc "scale may not be negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.bouncycastle.math.ec.SimpleBigDecimal java.math.BigInteger int
StackMap stack:
aload 0
aload 1
putfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
4: aload 0
iload 2
putfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 6 1 bigInt Ljava/math/BigInteger;
0 6 2 scale I
MethodParameters:
Name Flags
bigInt
scale
private void checkScale(org.bouncycastle.math.ec.SimpleBigDecimal);
descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
aload 1
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
if_icmpeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "Only SimpleBigDecimal of same scale allowed in arithmetic operations"
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 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 3 1 b Lorg/bouncycastle/math/ec/SimpleBigDecimal;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.SimpleBigDecimal adjustScale(int);
descriptor: (I)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "scale may not be negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
if_icmpne 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
new org.bouncycastle.math.ec.SimpleBigDecimal
dup
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
iload 1
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
isub
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
5: iload 1
6: invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 7 1 newScale I
MethodParameters:
Name Flags
newScale
public org.bouncycastle.math.ec.SimpleBigDecimal add(org.bouncycastle.math.ec.SimpleBigDecimal);
descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.checkScale:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)V
1: new org.bouncycastle.math.ec.SimpleBigDecimal
dup
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 1
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 2 1 b Lorg/bouncycastle/math/ec/SimpleBigDecimal;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.SimpleBigDecimal add(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.math.ec.SimpleBigDecimal
dup
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 1
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 1 1 b Ljava/math/BigInteger;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.SimpleBigDecimal negate();
descriptor: ()Lorg/bouncycastle/math/ec/SimpleBigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.bouncycastle.math.ec.SimpleBigDecimal
dup
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
public org.bouncycastle.math.ec.SimpleBigDecimal subtract(org.bouncycastle.math.ec.SimpleBigDecimal);
descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
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.SimpleBigDecimal.negate:()Lorg/bouncycastle/math/ec/SimpleBigDecimal;
invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.add:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 1 1 b Lorg/bouncycastle/math/ec/SimpleBigDecimal;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.SimpleBigDecimal subtract(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.math.ec.SimpleBigDecimal
dup
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 1
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
1: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
2: invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 3 1 b Ljava/math/BigInteger;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.SimpleBigDecimal multiply(org.bouncycastle.math.ec.SimpleBigDecimal);
descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.checkScale:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)V
1: new org.bouncycastle.math.ec.SimpleBigDecimal
dup
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 1
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
iadd
invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 2 1 b Lorg/bouncycastle/math/ec/SimpleBigDecimal;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.SimpleBigDecimal multiply(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.math.ec.SimpleBigDecimal
dup
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 1
invokevirtual java.math.BigInteger.multiply:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 1 1 b Ljava/math/BigInteger;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.SimpleBigDecimal divide(org.bouncycastle.math.ec.SimpleBigDecimal);
descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.checkScale:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)V
1: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
astore 2
start local 2 2: new org.bouncycastle.math.ec.SimpleBigDecimal
dup
aload 2
aload 1
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.divide:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;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/SimpleBigDecimal;
0 3 1 b Lorg/bouncycastle/math/ec/SimpleBigDecimal;
2 3 2 dividend Ljava/math/BigInteger;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.SimpleBigDecimal divide(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.math.ec.SimpleBigDecimal
dup
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 1
invokevirtual java.math.BigInteger.divide:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 1 1 b Ljava/math/BigInteger;
MethodParameters:
Name Flags
b
public org.bouncycastle.math.ec.SimpleBigDecimal shiftLeft(int);
descriptor: (I)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.bouncycastle.math.ec.SimpleBigDecimal
dup
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
iload 1
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 1 1 n I
MethodParameters:
Name Flags
n
public int compareTo(org.bouncycastle.math.ec.SimpleBigDecimal);
descriptor: (Lorg/bouncycastle/math/ec/SimpleBigDecimal;)I
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.SimpleBigDecimal.checkScale:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)V
1: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 1
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 2 1 val Lorg/bouncycastle/math/ec/SimpleBigDecimal;
MethodParameters:
Name Flags
val
public int compareTo(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 1
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 1 1 val Ljava/math/BigInteger;
MethodParameters:
Name Flags
val
public java.math.BigInteger floor();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
public java.math.BigInteger round();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new org.bouncycastle.math.ec.SimpleBigDecimal
dup
getstatic org.bouncycastle.math.ec.ECConstants.ONE:Ljava/math/BigInteger;
iconst_1
invokespecial org.bouncycastle.math.ec.SimpleBigDecimal.<init>:(Ljava/math/BigInteger;I)V
astore 1
start local 1 1: aload 0
aload 1
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.adjustScale:(I)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.add:(Lorg/bouncycastle/math/ec/SimpleBigDecimal;)Lorg/bouncycastle/math/ec/SimpleBigDecimal;
invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.floor:()Ljava/math/BigInteger;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
1 2 1 oneHalf Lorg/bouncycastle/math/ec/SimpleBigDecimal;
public int intValue();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.floor:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
public long longValue();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.floor:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.longValue:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
public int getScale();
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.SimpleBigDecimal.scale:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
ifne 2
1: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.SimpleBigDecimal.floor:()Ljava/math/BigInteger;
astore 1
start local 1 3: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 1
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 2
start local 2 4: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 6
5: getstatic org.bouncycastle.math.ec.ECConstants.ONE:Ljava/math/BigInteger;
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
aload 2
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 2
6: StackMap locals: java.math.BigInteger java.math.BigInteger
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 8
aload 2
getstatic org.bouncycastle.math.ec.ECConstants.ZERO:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifne 8
7: aload 1
getstatic org.bouncycastle.math.ec.ECConstants.ONE:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
astore 1
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
astore 3
start local 3 9: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
newarray 5
astore 4
start local 4 10: aload 2
iconst_2
invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
astore 5
start local 5 11: aload 5
invokevirtual java.lang.String.length:()I
istore 6
start local 6 12: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
iload 6
isub
istore 7
start local 7 13: iconst_0
istore 8
start local 8 14: goto 17
15: StackMap locals: org.bouncycastle.math.ec.SimpleBigDecimal java.math.BigInteger java.math.BigInteger java.lang.String char[] java.lang.String int int int
StackMap stack:
aload 4
iload 8
bipush 48
castore
16: iinc 8 1
StackMap locals:
StackMap stack:
17: iload 8
iload 7
if_icmplt 15
end local 8 18: iconst_0
istore 8
start local 8 19: goto 22
20: StackMap locals:
StackMap stack:
aload 4
iload 7
iload 8
iadd
aload 5
iload 8
invokevirtual java.lang.String.charAt:(I)C
castore
21: iinc 8 1
StackMap locals:
StackMap stack:
22: iload 8
iload 6
if_icmplt 20
end local 8 23: new java.lang.String
dup
aload 4
invokespecial java.lang.String.<init>:([C)V
astore 8
start local 8 24: new java.lang.StringBuffer
dup
aload 3
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 9
start local 9 25: aload 9
ldc "."
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
26: aload 9
aload 8
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
27: aload 9
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
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 28 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
3 28 1 floorBigInt Ljava/math/BigInteger;
4 28 2 fract Ljava/math/BigInteger;
9 28 3 leftOfPoint Ljava/lang/String;
10 28 4 fractCharArr [C
11 28 5 fractStr Ljava/lang/String;
12 28 6 fractLen I
13 28 7 zeroes I
14 18 8 i I
19 23 8 j I
24 28 8 rightOfPoint Ljava/lang/String;
25 28 9 sb Ljava/lang/StringBuffer;
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 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.math.ec.SimpleBigDecimal
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.bouncycastle.math.ec.SimpleBigDecimal
astore 2
start local 2 5: aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
aload 2
getfield org.bouncycastle.math.ec.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 6
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
aload 2
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
if_icmpne 6
iconst_1
ireturn
StackMap locals: org.bouncycastle.math.ec.SimpleBigDecimal
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
0 7 1 o Ljava/lang/Object;
5 7 2 other Lorg/bouncycastle/math/ec/SimpleBigDecimal;
MethodParameters:
Name Flags
o
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.SimpleBigDecimal.bigInt:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.hashCode:()I
aload 0
getfield org.bouncycastle.math.ec.SimpleBigDecimal.scale:I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/SimpleBigDecimal;
}
SourceFile: "SimpleBigDecimal.java"