LongArray.smali
.class Lorg/spongycastle/math/ec/LongArray;
.super Ljava/lang/Object;
.source "LongArray.java"
# interfaces
.implements Ljava/lang/Cloneable;
# static fields
.field private static final INTERLEAVE2_TABLE:[S
.field private static final INTERLEAVE3_TABLE:[I
.field private static final INTERLEAVE4_TABLE:[I
.field private static final INTERLEAVE5_TABLE:[I
.field private static final INTERLEAVE7_TABLE:[J
.field private static final ZEROES:Ljava/lang/String; = "0000000000000000000000000000000000000000000000000000000000000000"
.field static final bitLengths:[B
# instance fields
.field private m_ints:[J
# direct methods
.method static constructor <clinit>()V
.registers 3
.prologue
const/16 v2, 0x80
const/16 v1, 0x100
.line 17
new-array v0, v1, [S
fill-array-data v0, :array_32
sput-object v0, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE2_TABLE:[S
.line 56
new-array v0, v2, [I
fill-array-data v0, :array_136
sput-object v0, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE3_TABLE:[I
.line 79
new-array v0, v1, [I
fill-array-data v0, :array_23a
sput-object v0, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE4_TABLE:[I
.line 118
new-array v0, v2, [I
fill-array-data v0, :array_43e
sput-object v0, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE5_TABLE:[I
.line 140
const/16 v0, 0x200
new-array v0, v0, [J
fill-array-data v0, :array_542
sput-object v0, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE7_TABLE:[J
.line 275
new-array v0, v1, [B
fill-array-data v0, :array_d46
sput-object v0, Lorg/spongycastle/math/ec/LongArray;->bitLengths:[B
return-void
.line 17
nop
:array_32
.array-data 2
0x0s
0x1s
0x4s
0x5s
0x10s
0x11s
0x14s
0x15s
0x40s
0x41s
0x44s
0x45s
0x50s
0x51s
0x54s
0x55s
0x100s
0x101s
0x104s
0x105s
0x110s
0x111s
0x114s
0x115s
0x140s
0x141s
0x144s
0x145s
0x150s
0x151s
0x154s
0x155s
0x400s
0x401s
0x404s
0x405s
0x410s
0x411s
0x414s
0x415s
0x440s
0x441s
0x444s
0x445s
0x450s
0x451s
0x454s
0x455s
0x500s
0x501s
0x504s
0x505s
0x510s
0x511s
0x514s
0x515s
0x540s
0x541s
0x544s
0x545s
0x550s
0x551s
0x554s
0x555s
0x1000s
0x1001s
0x1004s
0x1005s
0x1010s
0x1011s
0x1014s
0x1015s
0x1040s
0x1041s
0x1044s
0x1045s
0x1050s
0x1051s
0x1054s
0x1055s
0x1100s
0x1101s
0x1104s
0x1105s
0x1110s
0x1111s
0x1114s
0x1115s
0x1140s
0x1141s
0x1144s
0x1145s
0x1150s
0x1151s
0x1154s
0x1155s
0x1400s
0x1401s
0x1404s
0x1405s
0x1410s
0x1411s
0x1414s
0x1415s
0x1440s
0x1441s
0x1444s
0x1445s
0x1450s
0x1451s
0x1454s
0x1455s
0x1500s
0x1501s
0x1504s
0x1505s
0x1510s
0x1511s
0x1514s
0x1515s
0x1540s
0x1541s
0x1544s
0x1545s
0x1550s
0x1551s
0x1554s
0x1555s
0x4000s
0x4001s
0x4004s
0x4005s
0x4010s
0x4011s
0x4014s
0x4015s
0x4040s
0x4041s
0x4044s
0x4045s
0x4050s
0x4051s
0x4054s
0x4055s
0x4100s
0x4101s
0x4104s
0x4105s
0x4110s
0x4111s
0x4114s
0x4115s
0x4140s
0x4141s
0x4144s
0x4145s
0x4150s
0x4151s
0x4154s
0x4155s
0x4400s
0x4401s
0x4404s
0x4405s
0x4410s
0x4411s
0x4414s
0x4415s
0x4440s
0x4441s
0x4444s
0x4445s
0x4450s
0x4451s
0x4454s
0x4455s
0x4500s
0x4501s
0x4504s
0x4505s
0x4510s
0x4511s
0x4514s
0x4515s
0x4540s
0x4541s
0x4544s
0x4545s
0x4550s
0x4551s
0x4554s
0x4555s
0x5000s
0x5001s
0x5004s
0x5005s
0x5010s
0x5011s
0x5014s
0x5015s
0x5040s
0x5041s
0x5044s
0x5045s
0x5050s
0x5051s
0x5054s
0x5055s
0x5100s
0x5101s
0x5104s
0x5105s
0x5110s
0x5111s
0x5114s
0x5115s
0x5140s
0x5141s
0x5144s
0x5145s
0x5150s
0x5151s
0x5154s
0x5155s
0x5400s
0x5401s
0x5404s
0x5405s
0x5410s
0x5411s
0x5414s
0x5415s
0x5440s
0x5441s
0x5444s
0x5445s
0x5450s
0x5451s
0x5454s
0x5455s
0x5500s
0x5501s
0x5504s
0x5505s
0x5510s
0x5511s
0x5514s
0x5515s
0x5540s
0x5541s
0x5544s
0x5545s
0x5550s
0x5551s
0x5554s
0x5555s
.end array-data
.line 56
:array_136
.array-data 4
0x0
0x1
0x8
0x9
0x40
0x41
0x48
0x49
0x200
0x201
0x208
0x209
0x240
0x241
0x248
0x249
0x1000
0x1001
0x1008
0x1009
0x1040
0x1041
0x1048
0x1049
0x1200
0x1201
0x1208
0x1209
0x1240
0x1241
0x1248
0x1249
0x8000
0x8001
0x8008
0x8009
0x8040
0x8041
0x8048
0x8049
0x8200
0x8201
0x8208
0x8209
0x8240
0x8241
0x8248
0x8249
0x9000
0x9001
0x9008
0x9009
0x9040
0x9041
0x9048
0x9049
0x9200
0x9201
0x9208
0x9209
0x9240
0x9241
0x9248
0x9249
0x40000
0x40001
0x40008
0x40009
0x40040
0x40041
0x40048
0x40049
0x40200
0x40201
0x40208
0x40209
0x40240
0x40241
0x40248
0x40249
0x41000
0x41001
0x41008
0x41009
0x41040
0x41041
0x41048
0x41049
0x41200
0x41201
0x41208
0x41209
0x41240
0x41241
0x41248
0x41249
0x48000
0x48001
0x48008
0x48009
0x48040
0x48041
0x48048
0x48049
0x48200
0x48201
0x48208
0x48209
0x48240
0x48241
0x48248
0x48249
0x49000 # 4.19E-40f
0x49001 # 4.19001E-40f
0x49008
0x49009
0x49040
0x49041
0x49048
0x49049
0x49200
0x49201
0x49208
0x49209
0x49240
0x49241
0x49248
0x49249
.end array-data
.line 79
:array_23a
.array-data 4
0x0
0x1
0x10
0x11
0x100
0x101
0x110
0x111
0x1000
0x1001
0x1010
0x1011
0x1100
0x1101
0x1110
0x1111
0x10000
0x10001
0x10010
0x10011
0x10100
0x10101
0x10110
0x10111
0x11000
0x11001
0x11010
0x11011
0x11100
0x11101
0x11110
0x11111
0x100000
0x100001
0x100010
0x100011
0x100100
0x100101
0x100110
0x100111
0x101000
0x101001
0x101010
0x101011
0x101100
0x101101
0x101110
0x101111
0x110000
0x110001
0x110010
0x110011
0x110100
0x110101
0x110110
0x110111
0x111000
0x111001
0x111010
0x111011
0x111100
0x111101
0x111110
0x111111
0x1000000
0x1000001
0x1000010
0x1000011
0x1000100
0x1000101
0x1000110
0x1000111
0x1001000
0x1001001
0x1001010
0x1001011
0x1001100
0x1001101
0x1001110
0x1001111
0x1010000
0x1010001
0x1010010
0x1010011
0x1010100
0x1010101
0x1010110
0x1010111
0x1011000
0x1011001
0x1011010
0x1011011
0x1011100
0x1011101
0x1011110
0x1011111
0x1100000
0x1100001
0x1100010
0x1100011
0x1100100
0x1100101
0x1100110
0x1100111
0x1101000
0x1101001
0x1101010
0x1101011
0x1101100
0x1101101
0x1101110
0x1101111
0x1110000
0x1110001
0x1110010
0x1110011
0x1110100
0x1110101
0x1110110
0x1110111
0x1111000
0x1111001
0x1111010
0x1111011
0x1111100
0x1111101
0x1111110
0x1111111
0x10000000
0x10000001
0x10000010
0x10000011
0x10000100
0x10000101
0x10000110
0x10000111
0x10001000
0x10001001
0x10001010
0x10001011
0x10001100
0x10001101
0x10001110
0x10001111
0x10010000
0x10010001
0x10010010
0x10010011
0x10010100
0x10010101
0x10010110
0x10010111
0x10011000
0x10011001
0x10011010
0x10011011
0x10011100
0x10011101
0x10011110
0x10011111
0x10100000
0x10100001
0x10100010
0x10100011
0x10100100
0x10100101
0x10100110
0x10100111
0x10101000
0x10101001
0x10101010
0x10101011
0x10101100
0x10101101
0x10101110
0x10101111
0x10110000
0x10110001
0x10110010
0x10110011
0x10110100
0x10110101
0x10110110
0x10110111
0x10111000
0x10111001
0x10111010
0x10111011
0x10111100
0x10111101
0x10111110
0x10111111
0x11000000
0x11000001
0x11000010
0x11000011
0x11000100
0x11000101
0x11000110
0x11000111
0x11001000
0x11001001
0x11001010
0x11001011
0x11001100
0x11001101
0x11001110
0x11001111
0x11010000
0x11010001
0x11010010
0x11010011
0x11010100
0x11010101
0x11010110
0x11010111
0x11011000
0x11011001
0x11011010
0x11011011
0x11011100
0x11011101
0x11011110
0x11011111
0x11100000
0x11100001
0x11100010
0x11100011
0x11100100
0x11100101
0x11100110
0x11100111
0x11101000
0x11101001
0x11101010
0x11101011
0x11101100
0x11101101
0x11101110
0x11101111
0x11110000
0x11110001
0x11110010
0x11110011
0x11110100
0x11110101
0x11110110
0x11110111
0x11111000
0x11111001
0x11111010
0x11111011
0x11111100
0x11111101
0x11111110
0x11111111
.end array-data
.line 118
:array_43e
.array-data 4
0x0
0x1
0x20
0x21
0x400
0x401
0x420
0x421
0x8000
0x8001
0x8020
0x8021
0x8400
0x8401
0x8420
0x8421
0x100000
0x100001
0x100020
0x100021
0x100400
0x100401
0x100420
0x100421
0x108000
0x108001
0x108020
0x108021
0x108400
0x108401
0x108420
0x108421
0x2000000
0x2000001
0x2000020
0x2000021
0x2000400
0x2000401
0x2000420
0x2000421
0x2008000
0x2008001
0x2008020
0x2008021
0x2008400
0x2008401
0x2008420
0x2008421
0x2100000
0x2100001
0x2100020
0x2100021
0x2100400
0x2100401
0x2100420
0x2100421
0x2108000
0x2108001
0x2108020
0x2108021
0x2108400
0x2108401
0x2108420
0x2108421
0x40000000 # 2.0f
0x40000001 # 2.0000002f
0x40000020 # 2.0000076f
0x40000021 # 2.0000079f
0x40000400 # 2.0002441f
0x40000401 # 2.0002444f
0x40000420 # 2.0002518f
0x40000421 # 2.000252f
0x40008000 # 2.0078125f
0x40008001
0x40008020
0x40008021
0x40008400
0x40008401
0x40008420
0x40008421
0x40100000 # 2.25f
0x40100001 # 2.2500002f
0x40100020 # 2.2500076f
0x40100021 # 2.2500079f
0x40100400
0x40100401
0x40100420
0x40100421
0x40108000 # 2.2578125f
0x40108001
0x40108020
0x40108021
0x40108400
0x40108401
0x40108420
0x40108421
0x42000000 # 32.0f
0x42000001 # 32.000004f
0x42000020 # 32.000122f
0x42000021 # 32.000126f
0x42000400
0x42000401
0x42000420
0x42000421
0x42008000 # 32.125f
0x42008001
0x42008020
0x42008021
0x42008400
0x42008401
0x42008420
0x42008421
0x42100000 # 36.0f
0x42100001 # 36.000004f
0x42100020 # 36.000122f
0x42100021 # 36.000126f
0x42100400
0x42100401
0x42100420
0x42100421
0x42108000 # 36.125f
0x42108001
0x42108020
0x42108021
0x42108400
0x42108401
0x42108420
0x42108421
.end array-data
.line 140
:array_542
.array-data 8
0x0
0x1
0x80
0x81
0x4000
0x4001
0x4080
0x4081
0x200000
0x200001
0x200080
0x200081
0x204000
0x204001
0x204080
0x204081
0x10000000
0x10000001
0x10000080
0x10000081
0x10004000
0x10004001
0x10004080
0x10004081
0x10200000
0x10200001
0x10200080
0x10200081
0x10204000
0x10204001
0x10204080
0x10204081
0x800000000L
0x800000001L
0x800000080L
0x800000081L
0x800004000L
0x800004001L
0x800004080L
0x800004081L
0x800200000L
0x800200001L
0x800200080L
0x800200081L
0x800204000L
0x800204001L
0x800204080L
0x800204081L
0x810000000L
0x810000001L
0x810000080L
0x810000081L
0x810004000L
0x810004001L
0x810004080L
0x810004081L
0x810200000L
0x810200001L
0x810200080L
0x810200081L
0x810204000L
0x810204001L
0x810204080L
0x810204081L
0x40000000000L
0x40000000001L
0x40000000080L
0x40000000081L
0x40000004000L
0x40000004001L
0x40000004080L
0x40000004081L
0x40000200000L
0x40000200001L
0x40000200080L
0x40000200081L
0x40000204000L
0x40000204001L
0x40000204080L
0x40000204081L
0x40010000000L
0x40010000001L
0x40010000080L
0x40010000081L
0x40010004000L
0x40010004001L
0x40010004080L
0x40010004081L
0x40010200000L
0x40010200001L
0x40010200080L
0x40010200081L
0x40010204000L
0x40010204001L
0x40010204080L
0x40010204081L
0x40800000000L
0x40800000001L
0x40800000080L
0x40800000081L
0x40800004000L
0x40800004001L
0x40800004080L
0x40800004081L
0x40800200000L
0x40800200001L
0x40800200080L
0x40800200081L
0x40800204000L
0x40800204001L
0x40800204080L
0x40800204081L
0x40810000000L
0x40810000001L
0x40810000080L
0x40810000081L
0x40810004000L
0x40810004001L
0x40810004080L
0x40810004081L
0x40810200000L
0x40810200001L
0x40810200080L
0x40810200081L
0x40810204000L
0x40810204001L
0x40810204080L
0x40810204081L
0x2000000000000L
0x2000000000001L
0x2000000000080L
0x2000000000081L
0x2000000004000L
0x2000000004001L
0x2000000004080L
0x2000000004081L
0x2000000200000L
0x2000000200001L
0x2000000200080L
0x2000000200081L
0x2000000204000L
0x2000000204001L
0x2000000204080L
0x2000000204081L
0x2000010000000L
0x2000010000001L
0x2000010000080L
0x2000010000081L
0x2000010004000L
0x2000010004001L
0x2000010004080L
0x2000010004081L
0x2000010200000L
0x2000010200001L
0x2000010200080L
0x2000010200081L
0x2000010204000L
0x2000010204001L
0x2000010204080L
0x2000010204081L
0x2000800000000L
0x2000800000001L
0x2000800000080L
0x2000800000081L
0x2000800004000L
0x2000800004001L
0x2000800004080L
0x2000800004081L
0x2000800200000L
0x2000800200001L
0x2000800200080L
0x2000800200081L
0x2000800204000L
0x2000800204001L
0x2000800204080L
0x2000800204081L
0x2000810000000L
0x2000810000001L
0x2000810000080L
0x2000810000081L
0x2000810004000L
0x2000810004001L
0x2000810004080L
0x2000810004081L
0x2000810200000L
0x2000810200001L
0x2000810200080L
0x2000810200081L
0x2000810204000L
0x2000810204001L
0x2000810204080L
0x2000810204081L
0x2040000000000L
0x2040000000001L
0x2040000000080L
0x2040000000081L
0x2040000004000L
0x2040000004001L
0x2040000004080L
0x2040000004081L
0x2040000200000L
0x2040000200001L
0x2040000200080L
0x2040000200081L
0x2040000204000L
0x2040000204001L
0x2040000204080L
0x2040000204081L
0x2040010000000L
0x2040010000001L
0x2040010000080L
0x2040010000081L
0x2040010004000L
0x2040010004001L
0x2040010004080L
0x2040010004081L
0x2040010200000L
0x2040010200001L
0x2040010200080L
0x2040010200081L
0x2040010204000L
0x2040010204001L
0x2040010204080L
0x2040010204081L
0x2040800000000L
0x2040800000001L
0x2040800000080L
0x2040800000081L
0x2040800004000L
0x2040800004001L
0x2040800004080L
0x2040800004081L
0x2040800200000L
0x2040800200001L
0x2040800200080L
0x2040800200081L
0x2040800204000L
0x2040800204001L
0x2040800204080L
0x2040800204081L
0x2040810000000L
0x2040810000001L
0x2040810000080L
0x2040810000081L
0x2040810004000L
0x2040810004001L
0x2040810004080L
0x2040810004081L
0x2040810200000L
0x2040810200001L
0x2040810200080L
0x2040810200081L
0x2040810204000L
0x2040810204001L
0x2040810204080L
0x2040810204081L
0x100000000000000L
0x100000000000001L
0x100000000000080L
0x100000000000081L
0x100000000004000L
0x100000000004001L
0x100000000004080L
0x100000000004081L
0x100000000200000L
0x100000000200001L
0x100000000200080L
0x100000000200081L # 7.2911220229518E-304
0x100000000204000L
0x100000000204001L
0x100000000204080L
0x100000000204081L
0x100000010000000L
0x100000010000001L
0x100000010000080L
0x100000010000081L
0x100000010004000L
0x100000010004001L
0x100000010004080L
0x100000010004081L
0x100000010200000L
0x100000010200001L
0x100000010200080L
0x100000010200081L
0x100000010204000L
0x100000010204001L
0x100000010204080L
0x100000010204081L
0x100000800000000L
0x100000800000001L
0x100000800000080L
0x100000800000081L
0x100000800004000L
0x100000800004001L
0x100000800004080L
0x100000800004081L
0x100000800200000L
0x100000800200001L
0x100000800200080L
0x100000800200081L
0x100000800204000L
0x100000800204001L
0x100000800204080L
0x100000800204081L
0x100000810000000L
0x100000810000001L # 7.2911780809876E-304
0x100000810000080L
0x100000810000081L
0x100000810004000L
0x100000810004001L
0x100000810004080L
0x100000810004081L
0x100000810200000L
0x100000810200001L
0x100000810200080L # 7.291178084382999E-304
0x100000810200081L # 7.291178084383E-304
0x100000810204000L
0x100000810204001L
0x100000810204080L
0x100000810204081L
0x100040000000000L
0x100040000000001L
0x100040000000080L
0x100040000000081L
0x100040000004000L
0x100040000004001L
0x100040000004080L
0x100040000004081L
0x100040000200000L
0x100040000200001L
0x100040000200080L
0x100040000200081L
0x100040000204000L
0x100040000204001L
0x100040000204080L
0x100040000204081L
0x100040010000000L
0x100040010000001L
0x100040010000080L
0x100040010000081L
0x100040010004000L
0x100040010004001L
0x100040010004080L
0x100040010004081L
0x100040010200000L
0x100040010200001L
0x100040010200080L
0x100040010200081L
0x100040010204000L
0x100040010204001L
0x100040010204080L
0x100040010204081L
0x100040800000000L
0x100040800000001L
0x100040800000080L
0x100040800000081L
0x100040800004000L
0x100040800004001L
0x100040800004080L
0x100040800004081L
0x100040800200000L
0x100040800200001L
0x100040800200080L
0x100040800200081L
0x100040800204000L
0x100040800204001L
0x100040800204080L
0x100040800204081L
0x100040810000000L
0x100040810000001L
0x100040810000080L
0x100040810000081L
0x100040810004000L
0x100040810004001L
0x100040810004080L
0x100040810004081L
0x100040810200000L
0x100040810200001L
0x100040810200080L
0x100040810200081L
0x100040810204000L
0x100040810204001L
0x100040810204080L
0x100040810204081L
0x102000000000000L # 8.202512272000947E-304
0x102000000000001L # 8.202512272000949E-304
0x102000000000080L
0x102000000000081L
0x102000000004000L
0x102000000004001L
0x102000000004080L
0x102000000004081L
0x102000000200000L
0x102000000200001L
0x102000000200080L
0x102000000200081L
0x102000000204000L
0x102000000204001L
0x102000000204080L
0x102000000204081L
0x102000010000000L
0x102000010000001L
0x102000010000080L
0x102000010000081L
0x102000010004000L
0x102000010004001L
0x102000010004080L
0x102000010004081L
0x102000010200000L
0x102000010200001L
0x102000010200080L
0x102000010200081L
0x102000010204000L # 8.202512710007403E-304
0x102000010204001L # 8.202512710007405E-304
0x102000010204080L # 8.20251271000761E-304
0x102000010204081L # 8.202512710007612E-304
0x102000800000000L
0x102000800000001L
0x102000800000080L
0x102000800000081L
0x102000800004000L
0x102000800004001L
0x102000800004080L
0x102000800004081L
0x102000800200000L
0x102000800200001L
0x102000800200080L
0x102000800200081L
0x102000800204000L
0x102000800204001L
0x102000800204080L
0x102000800204081L
0x102000810000000L
0x102000810000001L
0x102000810000080L
0x102000810000081L
0x102000810004000L
0x102000810004001L
0x102000810004080L
0x102000810004081L
0x102000810200000L
0x102000810200001L
0x102000810200080L
0x102000810200081L
0x102000810204000L
0x102000810204001L
0x102000810204080L
0x102000810204081L
0x102040000000000L
0x102040000000001L
0x102040000000080L
0x102040000000081L
0x102040000004000L
0x102040000004001L
0x102040000004080L
0x102040000004081L
0x102040000200000L
0x102040000200001L
0x102040000200080L
0x102040000200081L
0x102040000204000L
0x102040000204001L
0x102040000204080L
0x102040000204081L
0x102040010000000L
0x102040010000001L
0x102040010000080L
0x102040010000081L
0x102040010004000L
0x102040010004001L
0x102040010004080L
0x102040010004081L
0x102040010200000L
0x102040010200001L
0x102040010200080L
0x102040010200081L
0x102040010204000L
0x102040010204001L
0x102040010204080L
0x102040010204081L
0x102040800000000L
0x102040800000001L
0x102040800000080L
0x102040800000081L
0x102040800004000L
0x102040800004001L
0x102040800004080L
0x102040800004081L
0x102040800200000L
0x102040800200001L
0x102040800200080L
0x102040800200081L
0x102040800204000L
0x102040800204001L
0x102040800204080L
0x102040800204081L
0x102040810000000L
0x102040810000001L
0x102040810000080L
0x102040810000081L
0x102040810004000L
0x102040810004001L
0x102040810004080L
0x102040810004081L
0x102040810200000L
0x102040810200001L
0x102040810200080L
0x102040810200081L
0x102040810204000L
0x102040810204001L
0x102040810204080L
0x102040810204081L
.end array-data
.line 275
:array_d46
.array-data 1
0x0t
0x1t
0x2t
0x2t
0x3t
0x3t
0x3t
0x3t
0x4t
0x4t
0x4t
0x4t
0x4t
0x4t
0x4t
0x4t
0x5t
0x5t
0x5t
0x5t
0x5t
0x5t
0x5t
0x5t
0x5t
0x5t
0x5t
0x5t
0x5t
0x5t
0x5t
0x5t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x6t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x7t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
0x8t
.end array-data
.end method
.method public constructor <init>(I)V
.registers 3
.prologue
.line 300
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 301
new-array v0, p1, [J
iput-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 302
return-void
.end method
.method public constructor <init>(Ljava/math/BigInteger;)V
.registers 15
.prologue
const/4 v0, 0x1
const-wide/16 v4, 0x0
const/16 v12, 0x8
const/4 v1, 0x0
.line 323
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 324
if-eqz p1, :cond_11
invoke-virtual {p1}, Ljava/math/BigInteger;->signum()I
move-result v2
if-gez v2, :cond_19
.line 326
:cond_11
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "invalid F2m field value"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 329
:cond_19
invoke-virtual {p1}, Ljava/math/BigInteger;->signum()I
move-result v2
if-nez v2, :cond_26
.line 331
new-array v0, v0, [J
aput-wide v4, v0, v1
iput-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 374
:cond_25
return-void
.line 335
:cond_26
invoke-virtual {p1}, Ljava/math/BigInteger;->toByteArray()[B
move-result-object v9
.line 336
array-length v2, v9
.line 338
aget-byte v3, v9, v1
if-nez v3, :cond_72
.line 342
add-int/lit8 v2, v2, -0x1
.line 345
:goto_31
add-int/lit8 v3, v2, 0x7
div-int/lit8 v3, v3, 0x8
.line 346
new-array v6, v3, [J
iput-object v6, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 348
add-int/lit8 v3, v3, -0x1
.line 349
rem-int/lit8 v2, v2, 0x8
add-int/2addr v2, v0
.line 352
if-ge v0, v2, :cond_70
move-wide v6, v4
.line 354
:goto_41
if-ge v0, v2, :cond_4d
.line 356
shl-long/2addr v6, v12
.line 357
aget-byte v8, v9, v0
and-int/lit16 v8, v8, 0xff
.line 358
int-to-long v10, v8
or-long/2addr v6, v10
.line 354
add-int/lit8 v0, v0, 0x1
goto :goto_41
.line 360
:cond_4d
iget-object v8, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
add-int/lit8 v2, v3, -0x1
aput-wide v6, v8, v3
move v8, v2
.line 363
:goto_54
if-ltz v8, :cond_25
move-wide v2, v4
move v7, v1
.line 366
:goto_58
if-ge v7, v12, :cond_68
.line 368
shl-long/2addr v2, v12
.line 369
add-int/lit8 v6, v0, 0x1
aget-byte v0, v9, v0
and-int/lit16 v0, v0, 0xff
.line 370
int-to-long v10, v0
or-long/2addr v2, v10
.line 366
add-int/lit8 v0, v7, 0x1
move v7, v0
move v0, v6
goto :goto_58
.line 372
:cond_68
iget-object v6, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
aput-wide v2, v6, v8
.line 363
add-int/lit8 v2, v8, -0x1
move v8, v2
goto :goto_54
:cond_70
move v8, v3
goto :goto_54
:cond_72
move v0, v1
goto :goto_31
.end method
.method public constructor <init>([J)V
.registers 2
.prologue
.line 305
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 306
iput-object p1, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 307
return-void
.end method
.method public constructor <init>([JII)V
.registers 6
.prologue
.line 310
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 311
if-nez p2, :cond_b
array-length v0, p1
if-ne p3, v0, :cond_b
.line 313
iput-object p1, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 320
:goto_a
return-void
.line 317
:cond_b
new-array v0, p3, [J
iput-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 318
iget-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v1, 0x0
invoke-static {p1, p2, v0, v1, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_a
.end method
.method private static add([JI[JII)V
.registers 11
.prologue
.line 720
const/4 v0, 0x0
:goto_1
if-ge v0, p4, :cond_11
.line 722
add-int v1, p1, v0
aget-wide v2, p0, v1
add-int v4, p3, v0
aget-wide v4, p2, v4
xor-long/2addr v2, v4
aput-wide v2, p0, v1
.line 720
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 724
:cond_11
return-void
.end method
.method private static add([JI[JI[JII)V
.registers 13
.prologue
.line 728
const/4 v0, 0x0
:goto_1
if-ge v0, p6, :cond_13
.line 730
add-int v1, p5, v0
add-int v2, p1, v0
aget-wide v2, p0, v2
add-int v4, p3, v0
aget-wide v4, p2, v4
xor-long/2addr v2, v4
aput-wide v2, p4, v1
.line 728
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 732
:cond_13
return-void
.end method
.method private static addBoth([JI[JI[JII)V
.registers 15
.prologue
.line 736
const/4 v0, 0x0
:goto_1
if-ge v0, p6, :cond_16
.line 738
add-int v1, p1, v0
aget-wide v2, p0, v1
add-int v4, p3, v0
aget-wide v4, p2, v4
add-int v6, p5, v0
aget-wide v6, p4, v6
xor-long/2addr v4, v6
xor-long/2addr v2, v4
aput-wide v2, p0, v1
.line 736
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 740
:cond_16
return-void
.end method
.method private addShiftedByBitsSafe(Lorg/spongycastle/math/ec/LongArray;II)V
.registers 12
.prologue
const/4 v3, 0x0
.line 656
add-int/lit8 v0, p2, 0x3f
ushr-int/lit8 v4, v0, 0x6
.line 658
ushr-int/lit8 v1, p3, 0x6
.line 659
and-int/lit8 v5, p3, 0x3f
.line 661
if-nez v5, :cond_13
.line 663
iget-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
iget-object v2, p1, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
invoke-static {v0, v1, v2, v3, v4}, Lorg/spongycastle/math/ec/LongArray;->add([JI[JII)V
.line 672
:cond_12
:goto_12
return-void
.line 667
:cond_13
iget-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
iget-object v2, p1, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
invoke-static/range {v0 .. v5}, Lorg/spongycastle/math/ec/LongArray;->addShiftedUp([JI[JIII)J
move-result-wide v2
.line 668
const-wide/16 v6, 0x0
cmp-long v0, v2, v6
if-eqz v0, :cond_12
.line 670
iget-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
add-int/2addr v1, v4
aget-wide v4, v0, v1
xor-long/2addr v2, v4
aput-wide v2, v0, v1
goto :goto_12
.end method
.method private static addShiftedDown([JI[JIII)J
.registers 16
.prologue
.line 689
rsub-int/lit8 v2, p5, 0x40
.line 690
const-wide/16 v0, 0x0
.line 692
:goto_4
add-int/lit8 p4, p4, -0x1
if-ltz p4, :cond_19
.line 694
add-int v3, p3, p4
aget-wide v4, p2, v3
.line 695
add-int v3, p1, p4
aget-wide v6, p0, v3
ushr-long v8, v4, p5
or-long/2addr v0, v8
xor-long/2addr v0, v6
aput-wide v0, p0, v3
.line 696
shl-long v0, v4, v2
.line 697
goto :goto_4
.line 698
:cond_19
return-wide v0
.end method
.method private static addShiftedUp([JI[JIII)J
.registers 20
.prologue
.line 676
rsub-int/lit8 v3, p5, 0x40
.line 677
const-wide/16 v4, 0x0
.line 678
const/4 v2, 0x0
:goto_5
move/from16 v0, p4
if-ge v2, v0, :cond_1c
.line 680
add-int v6, p3, v2
aget-wide v6, p2, v6
.line 681
add-int v8, p1, v2
aget-wide v10, p0, v8
shl-long v12, v6, p5
or-long/2addr v4, v12
xor-long/2addr v4, v10
aput-wide v4, p0, v8
.line 682
ushr-long v4, v6, v3
.line 678
add-int/lit8 v2, v2, 0x1
goto :goto_5
.line 684
:cond_1c
return-wide v4
.end method
.method private static bitLength(J)I
.registers 6
.prologue
const/16 v1, 0x20
.line 502
ushr-long v2, p0, v1
long-to-int v0, v2
.line 503
if-nez v0, :cond_9
.line 505
long-to-int v0, p0
.line 506
const/4 v1, 0x0
.line 513
:cond_9
ushr-int/lit8 v2, v0, 0x10
.line 514
if-nez v2, :cond_1e
.line 516
ushr-int/lit8 v2, v0, 0x8
.line 517
if-nez v2, :cond_17
sget-object v2, Lorg/spongycastle/math/ec/LongArray;->bitLengths:[B
aget-byte v0, v2, v0
.line 525
:goto_15
add-int/2addr v0, v1
return v0
.line 517
:cond_17
sget-object v0, Lorg/spongycastle/math/ec/LongArray;->bitLengths:[B
aget-byte v0, v0, v2
add-int/lit8 v0, v0, 0x8
goto :goto_15
.line 521
:cond_1e
ushr-int/lit8 v0, v2, 0x8
.line 522
if-nez v0, :cond_29
sget-object v0, Lorg/spongycastle/math/ec/LongArray;->bitLengths:[B
aget-byte v0, v0, v2
add-int/lit8 v0, v0, 0x10
goto :goto_15
:cond_29
sget-object v2, Lorg/spongycastle/math/ec/LongArray;->bitLengths:[B
aget-byte v0, v2, v0
add-int/lit8 v0, v0, 0x18
goto :goto_15
.end method
.method private degreeFrom(I)I
.registers 8
.prologue
.line 461
add-int/lit8 v0, p1, 0x3e
ushr-int/lit8 v0, v0, 0x6
.line 465
:cond_4
if-nez v0, :cond_8
.line 467
const/4 v0, 0x0
.line 473
:goto_7
return v0
.line 469
:cond_8
iget-object v1, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
add-int/lit8 v0, v0, -0x1
aget-wide v2, v1, v0
.line 471
const-wide/16 v4, 0x0
cmp-long v1, v2, v4
if-eqz v1, :cond_4
.line 473
shl-int/lit8 v0, v0, 0x6
invoke-static {v2, v3}, Lorg/spongycastle/math/ec/LongArray;->bitLength(J)I
move-result v1
add-int/2addr v0, v1
goto :goto_7
.end method
.method private static distribute([JIIII)V
.registers 11
.prologue
.line 744
const/4 v0, 0x0
:goto_1
if-ge v0, p4, :cond_18
.line 746
add-int v1, p1, v0
aget-wide v2, p0, v1
.line 747
add-int v1, p2, v0
aget-wide v4, p0, v1
xor-long/2addr v4, v2
aput-wide v4, p0, v1
.line 748
add-int v1, p3, v0
aget-wide v4, p0, v1
xor-long/2addr v2, v4
aput-wide v2, p0, v1
.line 744
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 750
:cond_18
return-void
.end method
.method private static flipBit([JII)V
.registers 9
.prologue
.line 810
ushr-int/lit8 v0, p2, 0x6
.line 812
and-int/lit8 v1, p2, 0x3f
.line 813
const-wide/16 v2, 0x1
shl-long/2addr v2, v1
.line 814
add-int/2addr v0, p1
aget-wide v4, p0, v0
xor-long/2addr v2, v4
aput-wide v2, p0, v0
.line 815
return-void
.end method
.method private static flipVector([JI[JIII)V
.registers 13
.prologue
.line 1645
ushr-int/lit8 v0, p5, 0x6
add-int v6, p1, v0
.line 1646
and-int/lit8 v0, p5, 0x3f
.line 1648
if-nez v0, :cond_c
.line 1650
invoke-static {p0, v6, p2, p3, p4}, Lorg/spongycastle/math/ec/LongArray;->add([JI[JII)V
.line 1657
:goto_b
return-void
.line 1654
:cond_c
add-int/lit8 v1, v6, 0x1
rsub-int/lit8 v5, v0, 0x40
move-object v0, p0
move-object v2, p2
move v3, p3
move v4, p4
invoke-static/range {v0 .. v5}, Lorg/spongycastle/math/ec/LongArray;->addShiftedDown([JI[JIII)J
move-result-wide v0
.line 1655
aget-wide v2, p0, v6
xor-long/2addr v0, v2
aput-wide v0, p0, v6
goto :goto_b
.end method
.method private static flipWord([JIIJ)V
.registers 12
.prologue
.line 759
ushr-int/lit8 v0, p2, 0x6
add-int/2addr v0, p1
.line 760
and-int/lit8 v1, p2, 0x3f
.line 761
if-nez v1, :cond_d
.line 763
aget-wide v2, p0, v0
xor-long/2addr v2, p3
aput-wide v2, p0, v0
.line 774
:cond_c
:goto_c
return-void
.line 767
:cond_d
aget-wide v2, p0, v0
shl-long v4, p3, v1
xor-long/2addr v2, v4
aput-wide v2, p0, v0
.line 768
rsub-int/lit8 v1, v1, 0x40
ushr-long v2, p3, v1
.line 769
const-wide/16 v4, 0x0
cmp-long v1, v2, v4
if-eqz v1, :cond_c
.line 771
add-int/lit8 v0, v0, 0x1
aget-wide v4, p0, v0
xor-long/2addr v2, v4
aput-wide v2, p0, v0
goto :goto_c
.end method
.method private static interleave([JI[JIII)V
.registers 12
.prologue
.line 1737
packed-switch p5, :pswitch_data_1e
.line 1749
:pswitch_3
sget-object v0, Lorg/spongycastle/math/ec/LongArray;->bitLengths:[B
aget-byte v0, v0, p5
add-int/lit8 v5, v0, -0x1
move-object v0, p0
move v1, p1
move-object v2, p2
move v3, p3
move v4, p4
invoke-static/range {v0 .. v5}, Lorg/spongycastle/math/ec/LongArray;->interleave2_n([JI[JIII)V
.line 1752
:goto_11
return-void
.line 1740
:pswitch_12
invoke-static {p0, p1, p2, p3, p4}, Lorg/spongycastle/math/ec/LongArray;->interleave3([JI[JII)V
goto :goto_11
.line 1743
:pswitch_16
invoke-static {p0, p1, p2, p3, p4}, Lorg/spongycastle/math/ec/LongArray;->interleave5([JI[JII)V
goto :goto_11
.line 1746
:pswitch_1a
invoke-static {p0, p1, p2, p3, p4}, Lorg/spongycastle/math/ec/LongArray;->interleave7([JI[JII)V
goto :goto_11
.line 1737
:pswitch_data_1e
.packed-switch 0x3
:pswitch_12
:pswitch_3
:pswitch_16
:pswitch_3
:pswitch_1a
.end packed-switch
.end method
.method private static interleave2_32to64(I)J
.registers 7
.prologue
const-wide v4, 0xffffffffL
.line 1902
sget-object v0, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE2_TABLE:[S
and-int/lit16 v1, p0, 0xff
aget-short v0, v0, v1
sget-object v1, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE2_TABLE:[S
ushr-int/lit8 v2, p0, 0x8
and-int/lit16 v2, v2, 0xff
aget-short v1, v1, v2
shl-int/lit8 v1, v1, 0x10
or-int/2addr v0, v1
.line 1903
sget-object v1, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE2_TABLE:[S
ushr-int/lit8 v2, p0, 0x10
and-int/lit16 v2, v2, 0xff
aget-short v1, v1, v2
sget-object v2, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE2_TABLE:[S
ushr-int/lit8 v3, p0, 0x18
aget-short v2, v2, v3
shl-int/lit8 v2, v2, 0x10
or-int/2addr v1, v2
.line 1904
int-to-long v2, v1
and-long/2addr v2, v4
const/16 v1, 0x20
shl-long/2addr v2, v1
int-to-long v0, v0
and-long/2addr v0, v4
or-long/2addr v0, v2
return-wide v0
.end method
.method private static interleave2_n(JI)J
.registers 13
.prologue
const/16 v9, 0x20
const/4 v8, 0x1
const v7, 0xffff
.line 1878
move-wide v0, p0
:goto_7
if-le p2, v8, :cond_35
.line 1880
add-int/lit8 p2, p2, -0x2
.line 1881
long-to-int v2, v0
and-int/2addr v2, v7
invoke-static {v2}, Lorg/spongycastle/math/ec/LongArray;->interleave4_16to64(I)J
move-result-wide v2
const/16 v4, 0x10
ushr-long v4, v0, v4
long-to-int v4, v4
and-int/2addr v4, v7
.line 1882
invoke-static {v4}, Lorg/spongycastle/math/ec/LongArray;->interleave4_16to64(I)J
move-result-wide v4
shl-long/2addr v4, v8
or-long/2addr v2, v4
ushr-long v4, v0, v9
long-to-int v4, v4
and-int/2addr v4, v7
.line 1883
invoke-static {v4}, Lorg/spongycastle/math/ec/LongArray;->interleave4_16to64(I)J
move-result-wide v4
const/4 v6, 0x2
shl-long/2addr v4, v6
or-long/2addr v2, v4
const/16 v4, 0x30
ushr-long/2addr v0, v4
long-to-int v0, v0
and-int/2addr v0, v7
.line 1884
invoke-static {v0}, Lorg/spongycastle/math/ec/LongArray;->interleave4_16to64(I)J
move-result-wide v0
const/4 v4, 0x3
shl-long/2addr v0, v4
or-long/2addr v0, v2
goto :goto_7
.line 1886
:cond_35
if-lez p2, :cond_44
.line 1888
long-to-int v2, v0
invoke-static {v2}, Lorg/spongycastle/math/ec/LongArray;->interleave2_32to64(I)J
move-result-wide v2
ushr-long/2addr v0, v9
long-to-int v0, v0
invoke-static {v0}, Lorg/spongycastle/math/ec/LongArray;->interleave2_32to64(I)J
move-result-wide v0
shl-long/2addr v0, v8
or-long/2addr v0, v2
.line 1890
:cond_44
return-wide v0
.end method
.method private static interleave2_n([JI[JIII)V
.registers 10
.prologue
.line 1870
const/4 v0, 0x0
:goto_1
if-ge v0, p4, :cond_12
.line 1872
add-int v1, p3, v0
add-int v2, p1, v0
aget-wide v2, p0, v2
invoke-static {v2, v3, p5}, Lorg/spongycastle/math/ec/LongArray;->interleave2_n(JI)J
move-result-wide v2
aput-wide v2, p2, v1
.line 1870
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 1874
:cond_12
return-void
.end method
.method private static interleave3(J)J
.registers 8
.prologue
const v5, 0x1fffff
.line 1764
const-wide/high16 v0, -0x8000000000000000L
and-long/2addr v0, p0
.line 1765
long-to-int v2, p0
and-int/2addr v2, v5
.line 1766
invoke-static {v2}, Lorg/spongycastle/math/ec/LongArray;->interleave3_21to63(I)J
move-result-wide v2
or-long/2addr v0, v2
const/16 v2, 0x15
ushr-long v2, p0, v2
long-to-int v2, v2
and-int/2addr v2, v5
.line 1767
invoke-static {v2}, Lorg/spongycastle/math/ec/LongArray;->interleave3_21to63(I)J
move-result-wide v2
const/4 v4, 0x1
shl-long/2addr v2, v4
or-long/2addr v0, v2
const/16 v2, 0x2a
ushr-long v2, p0, v2
long-to-int v2, v2
and-int/2addr v2, v5
.line 1768
invoke-static {v2}, Lorg/spongycastle/math/ec/LongArray;->interleave3_21to63(I)J
move-result-wide v2
const/4 v4, 0x2
shl-long/2addr v2, v4
or-long/2addr v0, v2
return-wide v0
.end method
.method private static interleave3([JI[JII)V
.registers 9
.prologue
.line 1756
const/4 v0, 0x0
:goto_1
if-ge v0, p4, :cond_12
.line 1758
add-int v1, p3, v0
add-int v2, p1, v0
aget-wide v2, p0, v2
invoke-static {v2, v3}, Lorg/spongycastle/math/ec/LongArray;->interleave3(J)J
move-result-wide v2
aput-wide v2, p2, v1
.line 1756
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 1760
:cond_12
return-void
.end method
.method private static interleave3_13to65(I)J
.registers 7
.prologue
const-wide v4, 0xffffffffL
.line 1828
sget-object v0, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE5_TABLE:[I
and-int/lit8 v1, p0, 0x7f
aget v0, v0, v1
.line 1829
sget-object v1, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE5_TABLE:[I
ushr-int/lit8 v2, p0, 0x7
aget v1, v1, v2
.line 1830
int-to-long v2, v1
and-long/2addr v2, v4
const/16 v1, 0x23
shl-long/2addr v2, v1
int-to-long v0, v0
and-long/2addr v0, v4
or-long/2addr v0, v2
return-wide v0
.end method
.method private static interleave3_21to63(I)J
.registers 9
.prologue
const-wide v6, 0xffffffffL
.line 1788
sget-object v0, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE3_TABLE:[I
and-int/lit8 v1, p0, 0x7f
aget v0, v0, v1
.line 1789
sget-object v1, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE3_TABLE:[I
ushr-int/lit8 v2, p0, 0x7
and-int/lit8 v2, v2, 0x7f
aget v1, v1, v2
.line 1790
sget-object v2, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE3_TABLE:[I
ushr-int/lit8 v3, p0, 0xe
aget v2, v2, v3
.line 1791
int-to-long v2, v2
and-long/2addr v2, v6
const/16 v4, 0x2a
shl-long/2addr v2, v4
int-to-long v4, v1
and-long/2addr v4, v6
const/16 v1, 0x15
shl-long/2addr v4, v1
or-long/2addr v2, v4
int-to-long v0, v0
and-long/2addr v0, v6
or-long/2addr v0, v2
return-wide v0
.end method
.method private static interleave4_16to64(I)J
.registers 7
.prologue
const-wide v4, 0xffffffffL
.line 1895
sget-object v0, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE4_TABLE:[I
and-int/lit16 v1, p0, 0xff
aget v0, v0, v1
.line 1896
sget-object v1, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE4_TABLE:[I
ushr-int/lit8 v2, p0, 0x8
aget v1, v1, v2
.line 1897
int-to-long v2, v1
and-long/2addr v2, v4
const/16 v1, 0x20
shl-long/2addr v2, v1
int-to-long v0, v0
and-long/2addr v0, v4
or-long/2addr v0, v2
return-wide v0
.end method
.method private static interleave5(J)J
.registers 8
.prologue
.line 1804
long-to-int v0, p0
and-int/lit16 v0, v0, 0x1fff
invoke-static {v0}, Lorg/spongycastle/math/ec/LongArray;->interleave3_13to65(I)J
move-result-wide v0
const/16 v2, 0xd
ushr-long v2, p0, v2
long-to-int v2, v2
and-int/lit16 v2, v2, 0x1fff
.line 1805
invoke-static {v2}, Lorg/spongycastle/math/ec/LongArray;->interleave3_13to65(I)J
move-result-wide v2
const/4 v4, 0x1
shl-long/2addr v2, v4
or-long/2addr v0, v2
const/16 v2, 0x1a
ushr-long v2, p0, v2
long-to-int v2, v2
and-int/lit16 v2, v2, 0x1fff
.line 1806
invoke-static {v2}, Lorg/spongycastle/math/ec/LongArray;->interleave3_13to65(I)J
move-result-wide v2
const/4 v4, 0x2
shl-long/2addr v2, v4
or-long/2addr v0, v2
const/16 v2, 0x27
ushr-long v2, p0, v2
long-to-int v2, v2
and-int/lit16 v2, v2, 0x1fff
.line 1807
invoke-static {v2}, Lorg/spongycastle/math/ec/LongArray;->interleave3_13to65(I)J
move-result-wide v2
const/4 v4, 0x3
shl-long/2addr v2, v4
or-long/2addr v0, v2
const/16 v2, 0x34
ushr-long v2, p0, v2
long-to-int v2, v2
and-int/lit16 v2, v2, 0x1fff
.line 1808
invoke-static {v2}, Lorg/spongycastle/math/ec/LongArray;->interleave3_13to65(I)J
move-result-wide v2
const/4 v4, 0x4
shl-long/2addr v2, v4
or-long/2addr v0, v2
return-wide v0
.end method
.method private static interleave5([JI[JII)V
.registers 9
.prologue
.line 1796
const/4 v0, 0x0
:goto_1
if-ge v0, p4, :cond_12
.line 1798
add-int v1, p3, v0
add-int v2, p1, v0
aget-wide v2, p0, v2
invoke-static {v2, v3}, Lorg/spongycastle/math/ec/LongArray;->interleave5(J)J
move-result-wide v2
aput-wide v2, p2, v1
.line 1796
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 1800
:cond_12
return-void
.end method
.method private static interleave7(J)J
.registers 8
.prologue
.line 1843
const-wide/high16 v0, -0x8000000000000000L
and-long/2addr v0, p0
.line 1844
sget-object v2, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE7_TABLE:[J
long-to-int v3, p0
and-int/lit16 v3, v3, 0x1ff
aget-wide v2, v2, v3
or-long/2addr v0, v2
sget-object v2, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE7_TABLE:[J
const/16 v3, 0x9
ushr-long v4, p0, v3
long-to-int v3, v4
and-int/lit16 v3, v3, 0x1ff
aget-wide v2, v2, v3
const/4 v4, 0x1
shl-long/2addr v2, v4
or-long/2addr v0, v2
sget-object v2, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE7_TABLE:[J
const/16 v3, 0x12
ushr-long v4, p0, v3
long-to-int v3, v4
and-int/lit16 v3, v3, 0x1ff
aget-wide v2, v2, v3
const/4 v4, 0x2
shl-long/2addr v2, v4
or-long/2addr v0, v2
sget-object v2, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE7_TABLE:[J
const/16 v3, 0x1b
ushr-long v4, p0, v3
long-to-int v3, v4
and-int/lit16 v3, v3, 0x1ff
aget-wide v2, v2, v3
const/4 v4, 0x3
shl-long/2addr v2, v4
or-long/2addr v0, v2
sget-object v2, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE7_TABLE:[J
const/16 v3, 0x24
ushr-long v4, p0, v3
long-to-int v3, v4
and-int/lit16 v3, v3, 0x1ff
aget-wide v2, v2, v3
const/4 v4, 0x4
shl-long/2addr v2, v4
or-long/2addr v0, v2
sget-object v2, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE7_TABLE:[J
const/16 v3, 0x2d
ushr-long v4, p0, v3
long-to-int v3, v4
and-int/lit16 v3, v3, 0x1ff
aget-wide v2, v2, v3
const/4 v4, 0x5
shl-long/2addr v2, v4
or-long/2addr v0, v2
sget-object v2, Lorg/spongycastle/math/ec/LongArray;->INTERLEAVE7_TABLE:[J
const/16 v3, 0x36
ushr-long v4, p0, v3
long-to-int v3, v4
and-int/lit16 v3, v3, 0x1ff
aget-wide v2, v2, v3
const/4 v4, 0x6
shl-long/2addr v2, v4
or-long/2addr v0, v2
return-wide v0
.end method
.method private static interleave7([JI[JII)V
.registers 9
.prologue
.line 1835
const/4 v0, 0x0
:goto_1
if-ge v0, p4, :cond_12
.line 1837
add-int v1, p3, v0
add-int v2, p1, v0
aget-wide v2, p0, v2
invoke-static {v2, v3}, Lorg/spongycastle/math/ec/LongArray;->interleave7(J)J
move-result-wide v2
aput-wide v2, p2, v1
.line 1835
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 1839
:cond_12
return-void
.end method
.method private static multiplyWord(J[JI[JI)V
.registers 14
.prologue
.line 839
const-wide/16 v0, 0x1
and-long/2addr v0, p0
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-eqz v0, :cond_d
.line 841
const/4 v0, 0x0
invoke-static {p4, p5, p2, v0, p3}, Lorg/spongycastle/math/ec/LongArray;->add([JI[JII)V
.line 843
:cond_d
const/4 v5, 0x1
.line 844
:goto_e
const/4 v0, 0x1
ushr-long/2addr p0, v0
const-wide/16 v0, 0x0
cmp-long v0, p0, v0
if-eqz v0, :cond_38
.line 846
const-wide/16 v0, 0x1
and-long/2addr v0, p0
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-eqz v0, :cond_35
.line 848
const/4 v3, 0x0
move-object v0, p4
move v1, p5
move-object v2, p2
move v4, p3
invoke-static/range {v0 .. v5}, Lorg/spongycastle/math/ec/LongArray;->addShiftedUp([JI[JIII)J
move-result-wide v0
.line 849
const-wide/16 v2, 0x0
cmp-long v2, v0, v2
if-eqz v2, :cond_35
.line 851
add-int v2, p5, p3
aget-wide v6, p4, v2
xor-long/2addr v0, v6
aput-wide v0, p4, v2
.line 854
:cond_35
add-int/lit8 v5, v5, 0x1
goto :goto_e
.line 856
:cond_38
return-void
.end method
.method private static reduceBit([JIII[I)V
.registers 8
.prologue
.line 1581
invoke-static {p0, p1, p2}, Lorg/spongycastle/math/ec/LongArray;->flipBit([JII)V
.line 1582
sub-int v1, p2, p3
.line 1583
array-length v0, p4
.line 1584
:goto_6
add-int/lit8 v0, v0, -0x1
if-ltz v0, :cond_11
.line 1586
aget v2, p4, v0
add-int/2addr v2, v1
invoke-static {p0, p1, v2}, Lorg/spongycastle/math/ec/LongArray;->flipBit([JII)V
goto :goto_6
.line 1588
:cond_11
invoke-static {p0, p1, v1}, Lorg/spongycastle/math/ec/LongArray;->flipBit([JII)V
.line 1589
return-void
.end method
.method private static reduceBitWise([JIII[I)V
.registers 6
.prologue
.line 1570
:cond_0
:goto_0
add-int/lit8 p2, p2, -0x1
if-lt p2, p3, :cond_e
.line 1572
invoke-static {p0, p1, p2}, Lorg/spongycastle/math/ec/LongArray;->testBit([JII)Z
move-result v0
if-eqz v0, :cond_0
.line 1574
invoke-static {p0, p1, p2, p3, p4}, Lorg/spongycastle/math/ec/LongArray;->reduceBit([JIII[I)V
goto :goto_0
.line 1577
:cond_e
return-void
.end method
.method private static reduceInPlace([JIII[I)I
.registers 13
.prologue
const/4 v5, 0x1
.line 1526
add-int/lit8 v0, p3, 0x3f
ushr-int/lit8 v6, v0, 0x6
.line 1527
if-ge p2, v6, :cond_8
.line 1565
:goto_7
return p2
.line 1532
:cond_8
shl-int/lit8 v0, p2, 0x6
shl-int/lit8 v1, p3, 0x1
add-int/lit8 v1, v1, -0x1
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v1
.line 1533
shl-int/lit8 v0, p2, 0x6
sub-int/2addr v0, v1
move v3, v0
move v2, p2
.line 1534
:goto_17
const/16 v0, 0x40
if-lt v3, v0, :cond_21
.line 1536
add-int/lit8 v2, v2, -0x1
.line 1537
add-int/lit8 v0, v3, -0x40
move v3, v0
goto :goto_17
.line 1540
:cond_21
array-length v0, p4
add-int/lit8 v4, v0, -0x1
aget v4, p4, v4
if-le v0, v5, :cond_53
add-int/lit8 v0, v0, -0x2
aget v0, p4, v0
.line 1541
:goto_2c
add-int/lit8 v4, v4, 0x40
invoke-static {p3, v4}, Ljava/lang/Math;->max(II)I
move-result v7
.line 1542
sub-int v4, v1, v7
sub-int v0, p3, v0
invoke-static {v4, v0}, Ljava/lang/Math;->min(II)I
move-result v0
add-int/2addr v0, v3
shr-int/lit8 v0, v0, 0x6
.line 1543
if-le v0, v5, :cond_69
.line 1545
sub-int v3, v2, v0
move-object v0, p0
move v1, p1
move v4, p3
move-object v5, p4
.line 1546
invoke-static/range {v0 .. v5}, Lorg/spongycastle/math/ec/LongArray;->reduceVectorWise([JIIII[I)V
.line 1547
:goto_48
if-le v2, v3, :cond_55
.line 1549
add-int/lit8 v2, v2, -0x1
add-int v0, p1, v2
const-wide/16 v4, 0x0
aput-wide v4, p0, v0
goto :goto_48
.line 1540
:cond_53
const/4 v0, 0x0
goto :goto_2c
.line 1551
:cond_55
shl-int/lit8 v0, v3, 0x6
.line 1554
:goto_57
if-le v0, v7, :cond_62
move-object v0, p0
move v1, p1
move v3, v7
move v4, p3
move-object v5, p4
.line 1556
invoke-static/range {v0 .. v5}, Lorg/spongycastle/math/ec/LongArray;->reduceWordWise([JIIII[I)V
move v0, v7
.line 1560
:cond_62
if-le v0, p3, :cond_67
.line 1562
invoke-static {p0, p1, v0, p3, p4}, Lorg/spongycastle/math/ec/LongArray;->reduceBitWise([JIII[I)V
:cond_67
move p2, v6
.line 1565
goto :goto_7
:cond_69
move v0, v1
goto :goto_57
.end method
.method private static reduceResult([JIII[I)Lorg/spongycastle/math/ec/LongArray;
.registers 7
.prologue
.line 1493
invoke-static {p0, p1, p2, p3, p4}, Lorg/spongycastle/math/ec/LongArray;->reduceInPlace([JIII[I)I
move-result v0
.line 1494
new-instance v1, Lorg/spongycastle/math/ec/LongArray;
invoke-direct {v1, p0, p1, v0}, Lorg/spongycastle/math/ec/LongArray;-><init>([JII)V
return-object v1
.end method
.method private static reduceVectorWise([JIIII[I)V
.registers 14
.prologue
.line 1634
shl-int/lit8 v0, p3, 0x6
sub-int v7, v0, p4
.line 1635
array-length v0, p5
.line 1636
:goto_5
add-int/lit8 v6, v0, -0x1
if-ltz v6, :cond_19
.line 1638
add-int v3, p1, p3
sub-int v4, p2, p3
aget v0, p5, v6
add-int v5, v7, v0
move-object v0, p0
move v1, p1
move-object v2, p0
invoke-static/range {v0 .. v5}, Lorg/spongycastle/math/ec/LongArray;->flipVector([JI[JIII)V
move v0, v6
goto :goto_5
.line 1640
:cond_19
add-int v3, p1, p3
sub-int v4, p2, p3
move-object v0, p0
move v1, p1
move-object v2, p0
move v5, v7
invoke-static/range {v0 .. v5}, Lorg/spongycastle/math/ec/LongArray;->flipVector([JI[JIII)V
.line 1641
return-void
.end method
.method private static reduceWord([JIIJI[I)V
.registers 10
.prologue
.line 1618
sub-int v1, p2, p5
.line 1619
array-length v0, p6
.line 1620
:goto_3
add-int/lit8 v0, v0, -0x1
if-ltz v0, :cond_e
.line 1622
aget v2, p6, v0
add-int/2addr v2, v1
invoke-static {p0, p1, v2, p3, p4}, Lorg/spongycastle/math/ec/LongArray;->flipWord([JIIJ)V
goto :goto_3
.line 1624
:cond_e
invoke-static {p0, p1, v1, p3, p4}, Lorg/spongycastle/math/ec/LongArray;->flipWord([JIIJ)V
.line 1625
return-void
.end method
.method private static reduceWordWise([JIIII[I)V
.registers 16
.prologue
const-wide/16 v8, 0x0
.line 1593
ushr-int/lit8 v0, p3, 0x6
.line 1595
:cond_4
:goto_4
add-int/lit8 p2, p2, -0x1
if-le p2, v0, :cond_1e
.line 1597
add-int v1, p1, p2
aget-wide v4, p0, v1
.line 1598
cmp-long v1, v4, v8
if-eqz v1, :cond_4
.line 1600
add-int v1, p1, p2
aput-wide v8, p0, v1
.line 1601
shl-int/lit8 v3, p2, 0x6
move-object v1, p0
move v2, p1
move v6, p4
move-object v7, p5
invoke-static/range {v1 .. v7}, Lorg/spongycastle/math/ec/LongArray;->reduceWord([JIIJI[I)V
goto :goto_4
.line 1606
:cond_1e
and-int/lit8 v1, p3, 0x3f
.line 1607
add-int v2, p1, v0
aget-wide v2, p0, v2
ushr-long v4, v2, v1
.line 1608
cmp-long v2, v4, v8
if-eqz v2, :cond_3a
.line 1610
add-int/2addr v0, p1
aget-wide v2, p0, v0
shl-long v6, v4, v1
xor-long/2addr v2, v6
aput-wide v2, p0, v0
move-object v1, p0
move v2, p1
move v3, p3
move v6, p4
move-object v7, p5
.line 1611
invoke-static/range {v1 .. v7}, Lorg/spongycastle/math/ec/LongArray;->reduceWord([JIIJI[I)V
.line 1614
:cond_3a
return-void
.end method
.method private resizedInts(I)[J
.registers 6
.prologue
const/4 v3, 0x0
.line 530
new-array v0, p1, [J
.line 531
iget-object v1, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
iget-object v2, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
array-length v2, v2
invoke-static {v2, p1}, Ljava/lang/Math;->min(II)I
move-result v2
invoke-static {v1, v3, v0, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 532
return-object v0
.end method
.method private static shiftUp([JIII)J
.registers 14
.prologue
.line 590
rsub-int/lit8 v1, p3, 0x40
.line 591
const-wide/16 v2, 0x0
.line 592
const/4 v0, 0x0
:goto_5
if-ge v0, p2, :cond_17
.line 594
add-int v4, p1, v0
aget-wide v4, p0, v4
.line 595
add-int v6, p1, v0
shl-long v8, v4, p3
or-long/2addr v2, v8
aput-wide v2, p0, v6
.line 596
ushr-long v2, v4, v1
.line 592
add-int/lit8 v0, v0, 0x1
goto :goto_5
.line 598
:cond_17
return-wide v2
.end method
.method private static shiftUp([JI[JIII)J
.registers 16
.prologue
.line 603
rsub-int/lit8 v1, p5, 0x40
.line 604
const-wide/16 v2, 0x0
.line 605
const/4 v0, 0x0
:goto_5
if-ge v0, p4, :cond_17
.line 607
add-int v4, p1, v0
aget-wide v4, p0, v4
.line 608
add-int v6, p3, v0
shl-long v8, v4, p5
or-long/2addr v2, v8
aput-wide v2, p2, v6
.line 609
ushr-long v2, v4, v1
.line 605
add-int/lit8 v0, v0, 0x1
goto :goto_5
.line 611
:cond_17
return-wide v2
.end method
.method private static squareInPlace([JII[I)V
.registers 10
.prologue
.line 1726
shl-int/lit8 v0, p1, 0x1
.line 1727
:goto_2
add-int/lit8 p1, p1, -0x1
if-ltz p1, :cond_1f
.line 1729
aget-wide v2, p0, p1
.line 1730
add-int/lit8 v0, v0, -0x1
const/16 v1, 0x20
ushr-long v4, v2, v1
long-to-int v1, v4
invoke-static {v1}, Lorg/spongycastle/math/ec/LongArray;->interleave2_32to64(I)J
move-result-wide v4
aput-wide v4, p0, v0
.line 1731
add-int/lit8 v0, v0, -0x1
long-to-int v1, v2
invoke-static {v1}, Lorg/spongycastle/math/ec/LongArray;->interleave2_32to64(I)J
move-result-wide v2
aput-wide v2, p0, v0
goto :goto_2
.line 1733
:cond_1f
return-void
.end method
.method private static testBit([JII)Z
.registers 7
.prologue
.line 800
ushr-int/lit8 v0, p2, 0x6
.line 802
and-int/lit8 v1, p2, 0x3f
.line 803
const-wide/16 v2, 0x1
shl-long/2addr v2, v1
.line 804
add-int/2addr v0, p1
aget-wide v0, p0, v0
and-long/2addr v0, v2
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-eqz v0, :cond_13
const/4 v0, 0x1
:goto_12
return v0
:cond_13
const/4 v0, 0x0
goto :goto_12
.end method
# virtual methods
.method public addOne()Lorg/spongycastle/math/ec/LongArray;
.registers 9
.prologue
const-wide/16 v6, 0x1
const/4 v1, 0x1
const/4 v4, 0x0
.line 616
iget-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
array-length v0, v0
if-nez v0, :cond_13
.line 618
new-instance v0, Lorg/spongycastle/math/ec/LongArray;
new-array v1, v1, [J
aput-wide v6, v1, v4
invoke-direct {v0, v1}, Lorg/spongycastle/math/ec/LongArray;-><init>([J)V
.line 624
:goto_12
return-object v0
.line 621
:cond_13
invoke-virtual {p0}, Lorg/spongycastle/math/ec/LongArray;->getUsedLength()I
move-result v0
invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I
move-result v0
.line 622
invoke-direct {p0, v0}, Lorg/spongycastle/math/ec/LongArray;->resizedInts(I)[J
move-result-object v1
.line 623
aget-wide v2, v1, v4
xor-long/2addr v2, v6
aput-wide v2, v1, v4
.line 624
new-instance v0, Lorg/spongycastle/math/ec/LongArray;
invoke-direct {v0, v1}, Lorg/spongycastle/math/ec/LongArray;-><init>([J)V
goto :goto_12
.end method
.method public addShiftedByWords(Lorg/spongycastle/math/ec/LongArray;I)V
.registers 7
.prologue
.line 703
invoke-virtual {p1}, Lorg/spongycastle/math/ec/LongArray;->getUsedLength()I
move-result v0
.line 704
if-nez v0, :cond_7
.line 716
:goto_6
return-void
.line 709
:cond_7
add-int v1, v0, p2
.line 710
iget-object v2, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
array-length v2, v2
if-le v1, v2, :cond_14
.line 712
invoke-direct {p0, v1}, Lorg/spongycastle/math/ec/LongArray;->resizedInts(I)[J
move-result-object v1
iput-object v1, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 715
:cond_14
iget-object v1, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
iget-object v2, p1, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v3, 0x0
invoke-static {v1, p2, v2, v3, v0}, Lorg/spongycastle/math/ec/LongArray;->add([JI[JII)V
goto :goto_6
.end method
.method public clone()Ljava/lang/Object;
.registers 3
.prologue
.line 2170
new-instance v0, Lorg/spongycastle/math/ec/LongArray;
iget-object v1, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
invoke-static {v1}, Lorg/spongycastle/util/Arrays;->clone([J)[J
move-result-object v1
invoke-direct {v0, v1}, Lorg/spongycastle/math/ec/LongArray;-><init>([J)V
return-object v0
.end method
.method public degree()I
.registers 7
.prologue
.line 444
iget-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
array-length v0, v0
.line 448
:cond_3
if-nez v0, :cond_7
.line 450
const/4 v0, 0x0
.line 456
:goto_6
return v0
.line 452
:cond_7
iget-object v1, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
add-int/lit8 v0, v0, -0x1
aget-wide v2, v1, v0
.line 454
const-wide/16 v4, 0x0
cmp-long v1, v2, v4
if-eqz v1, :cond_3
.line 456
shl-int/lit8 v0, v0, 0x6
invoke-static {v2, v3}, Lorg/spongycastle/math/ec/LongArray;->bitLength(J)I
move-result v1
add-int/2addr v0, v1
goto :goto_6
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 10
.prologue
const/4 v0, 0x0
.line 2133
instance-of v1, p1, Lorg/spongycastle/math/ec/LongArray;
if-nez v1, :cond_6
.line 2150
:cond_5
:goto_5
return v0
.line 2137
:cond_6
check-cast p1, Lorg/spongycastle/math/ec/LongArray;
.line 2138
invoke-virtual {p0}, Lorg/spongycastle/math/ec/LongArray;->getUsedLength()I
move-result v2
.line 2139
invoke-virtual {p1}, Lorg/spongycastle/math/ec/LongArray;->getUsedLength()I
move-result v1
if-ne v1, v2, :cond_5
move v1, v0
.line 2143
:goto_13
if-ge v1, v2, :cond_24
.line 2145
iget-object v3, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
aget-wide v4, v3, v1
iget-object v3, p1, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
aget-wide v6, v3, v1
cmp-long v3, v4, v6
if-nez v3, :cond_5
.line 2143
add-int/lit8 v1, v1, 0x1
goto :goto_13
.line 2150
:cond_24
const/4 v0, 0x1
goto :goto_5
.end method
.method public getLength()I
.registers 2
.prologue
.line 754
iget-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
array-length v0, v0
return v0
.end method
.method public getUsedLength()I
.registers 2
.prologue
.line 408
iget-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
array-length v0, v0
invoke-virtual {p0, v0}, Lorg/spongycastle/math/ec/LongArray;->getUsedLengthFrom(I)I
move-result v0
return v0
.end method
.method public getUsedLengthFrom(I)I
.registers 10
.prologue
const-wide/16 v6, 0x0
const/4 v1, 0x0
.line 413
iget-object v2, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 414
array-length v0, v2
invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I
move-result v0
.line 416
if-gtz v0, :cond_e
move v0, v1
.line 439
:goto_d
return v0
.line 422
:cond_e
aget-wide v4, v2, v1
cmp-long v3, v4, v6
if-eqz v3, :cond_1f
.line 424
:cond_14
add-int/lit8 v0, v0, -0x1
aget-wide v4, v2, v0
cmp-long v1, v4, v6
if-eqz v1, :cond_14
.line 427
add-int/lit8 v0, v0, 0x1
goto :goto_d
.line 432
:cond_1f
add-int/lit8 v0, v0, -0x1
aget-wide v4, v2, v0
cmp-long v3, v4, v6
if-eqz v3, :cond_2a
.line 434
add-int/lit8 v0, v0, 0x1
goto :goto_d
.line 437
:cond_2a
if-gtz v0, :cond_1f
move v0, v1
.line 439
goto :goto_d
.end method
.method public hashCode()I
.registers 7
.prologue
.line 2155
invoke-virtual {p0}, Lorg/spongycastle/math/ec/LongArray;->getUsedLength()I
move-result v2
.line 2156
const/4 v1, 0x1
.line 2157
const/4 v0, 0x0
:goto_6
if-ge v0, v2, :cond_1a
.line 2159
iget-object v3, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
aget-wide v4, v3, v0
.line 2160
mul-int/lit8 v1, v1, 0x1f
.line 2161
long-to-int v3, v4
xor-int/2addr v1, v3
.line 2162
mul-int/lit8 v1, v1, 0x1f
.line 2163
const/16 v3, 0x20
ushr-long/2addr v4, v3
long-to-int v3, v4
xor-int/2addr v1, v3
.line 2157
add-int/lit8 v0, v0, 0x1
goto :goto_6
.line 2165
:cond_1a
return v1
.end method
.method public isOne()Z
.registers 9
.prologue
const/4 v1, 0x1
const/4 v2, 0x0
.line 378
iget-object v3, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 379
aget-wide v4, v3, v2
const-wide/16 v6, 0x1
cmp-long v0, v4, v6
if-eqz v0, :cond_e
move v1, v2
.line 390
:cond_d
:goto_d
return v1
:cond_e
move v0, v1
.line 383
:goto_f
array-length v4, v3
if-ge v0, v4, :cond_d
.line 385
aget-wide v4, v3, v0
const-wide/16 v6, 0x0
cmp-long v4, v4, v6
if-eqz v4, :cond_1c
move v1, v2
.line 387
goto :goto_d
.line 383
:cond_1c
add-int/lit8 v0, v0, 0x1
goto :goto_f
.end method
.method public isZero()Z
.registers 9
.prologue
const/4 v1, 0x0
.line 395
iget-object v2, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
move v0, v1
.line 396
:goto_4
array-length v3, v2
if-ge v0, v3, :cond_13
.line 398
aget-wide v4, v2, v0
const-wide/16 v6, 0x0
cmp-long v3, v4, v6
if-eqz v3, :cond_10
.line 403
:goto_f
return v1
.line 396
:cond_10
add-int/lit8 v0, v0, 0x1
goto :goto_4
.line 403
:cond_13
const/4 v1, 0x1
goto :goto_f
.end method
.method public modInverse(I[I)Lorg/spongycastle/math/ec/LongArray;
.registers 15
.prologue
const/4 v10, 0x2
const/4 v11, 0x0
const/4 v3, 0x1
.line 2056
invoke-virtual {p0}, Lorg/spongycastle/math/ec/LongArray;->degree()I
move-result v1
.line 2057
if-nez v1, :cond_f
.line 2059
new-instance v0, Ljava/lang/IllegalStateException;
invoke-direct {v0}, Ljava/lang/IllegalStateException;-><init>()V
throw v0
.line 2061
:cond_f
if-ne v1, v3, :cond_12
.line 2108
:goto_11
return-object p0
.line 2067
:cond_12
invoke-virtual {p0}, Lorg/spongycastle/math/ec/LongArray;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/spongycastle/math/ec/LongArray;
.line 2069
add-int/lit8 v2, p1, 0x3f
ushr-int/lit8 v2, v2, 0x6
.line 2072
new-instance v4, Lorg/spongycastle/math/ec/LongArray;
invoke-direct {v4, v2}, Lorg/spongycastle/math/ec/LongArray;-><init>(I)V
.line 2073
iget-object v5, v4, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
invoke-static {v5, v11, p1, p1, p2}, Lorg/spongycastle/math/ec/LongArray;->reduceBit([JIII[I)V
.line 2076
new-instance v5, Lorg/spongycastle/math/ec/LongArray;
invoke-direct {v5, v2}, Lorg/spongycastle/math/ec/LongArray;-><init>(I)V
.line 2077
iget-object v6, v5, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const-wide/16 v8, 0x1
aput-wide v8, v6, v11
.line 2078
new-instance v6, Lorg/spongycastle/math/ec/LongArray;
invoke-direct {v6, v2}, Lorg/spongycastle/math/ec/LongArray;-><init>(I)V
.line 2080
new-array v7, v10, [I
aput v1, v7, v11
add-int/lit8 v1, p1, 0x1
aput v1, v7, v3
.line 2081
new-array v8, v10, [Lorg/spongycastle/math/ec/LongArray;
aput-object v0, v8, v11
aput-object v4, v8, v3
.line 2083
new-array v9, v10, [I
fill-array-data v9, :array_9e
.line 2084
new-array v10, v10, [Lorg/spongycastle/math/ec/LongArray;
aput-object v5, v10, v11
aput-object v6, v10, v3
.line 2087
aget v2, v7, v3
.line 2088
aget v1, v9, v3
.line 2089
aget v0, v7, v11
sub-int v0, v2, v0
.line 2093
:goto_57
if-gez v0, :cond_64
.line 2095
neg-int v0, v0
.line 2096
aput v2, v7, v3
.line 2097
aput v1, v9, v3
.line 2098
rsub-int/lit8 v3, v3, 0x1
.line 2099
aget v2, v7, v3
.line 2100
aget v1, v9, v3
.line 2103
:cond_64
aget-object v4, v8, v3
rsub-int/lit8 v5, v3, 0x1
aget-object v5, v8, v5
rsub-int/lit8 v6, v3, 0x1
aget v6, v7, v6
invoke-direct {v4, v5, v6, v0}, Lorg/spongycastle/math/ec/LongArray;->addShiftedByBitsSafe(Lorg/spongycastle/math/ec/LongArray;II)V
.line 2105
aget-object v4, v8, v3
invoke-direct {v4, v2}, Lorg/spongycastle/math/ec/LongArray;->degreeFrom(I)I
move-result v5
.line 2106
if-nez v5, :cond_7e
.line 2108
rsub-int/lit8 v0, v3, 0x1
aget-object p0, v10, v0
goto :goto_11
.line 2112
:cond_7e
rsub-int/lit8 v4, v3, 0x1
aget v4, v9, v4
.line 2113
aget-object v6, v10, v3
rsub-int/lit8 v11, v3, 0x1
aget-object v11, v10, v11
invoke-direct {v6, v11, v4, v0}, Lorg/spongycastle/math/ec/LongArray;->addShiftedByBitsSafe(Lorg/spongycastle/math/ec/LongArray;II)V
.line 2114
add-int/2addr v4, v0
.line 2116
if-le v4, v1, :cond_94
move v1, v4
.line 2126
:cond_8f
:goto_8f
sub-int v2, v5, v2
add-int/2addr v0, v2
move v2, v5
.line 2128
goto :goto_57
.line 2120
:cond_94
if-ne v4, v1, :cond_8f
.line 2122
aget-object v4, v10, v3
invoke-direct {v4, v1}, Lorg/spongycastle/math/ec/LongArray;->degreeFrom(I)I
move-result v1
goto :goto_8f
.line 2083
nop
:array_9e
.array-data 4
0x1
0x0
.end array-data
.end method
.method public modMultiply(Lorg/spongycastle/math/ec/LongArray;I[I)Lorg/spongycastle/math/ec/LongArray;
.registers 28
.prologue
.line 995
invoke-virtual/range {p0 .. p0}, Lorg/spongycastle/math/ec/LongArray;->degree()I
move-result v4
.line 996
if-nez v4, :cond_7
.line 1119
:cond_6
:goto_6
return-object p0
.line 1000
:cond_7
invoke-virtual/range {p1 .. p1}, Lorg/spongycastle/math/ec/LongArray;->degree()I
move-result v5
.line 1001
if-nez v5, :cond_10
move-object/from16 p0, p1
.line 1003
goto :goto_6
.line 1010
:cond_10
if-le v4, v5, :cond_e7
.line 1019
:goto_12
add-int/lit8 v6, v5, 0x3f
ushr-int/lit8 v19, v6, 0x6
.line 1020
add-int/lit8 v6, v4, 0x3f
ushr-int/lit8 v7, v6, 0x6
.line 1021
add-int/2addr v5, v4
add-int/lit8 v5, v5, 0x3e
ushr-int/lit8 v20, v5, 0x6
.line 1023
const/4 v5, 0x1
move/from16 v0, v19
if-ne v0, v5, :cond_49
.line 1025
move-object/from16 v0, p1
iget-object v4, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v5, 0x0
aget-wide v4, v4, v5
.line 1026
const-wide/16 v8, 0x1
cmp-long v6, v4, v8
if-eqz v6, :cond_6
.line 1034
move/from16 v0, v20
new-array v8, v0, [J
.line 1035
move-object/from16 v0, p0
iget-object v6, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v9, 0x0
invoke-static/range {v4 .. v9}, Lorg/spongycastle/math/ec/LongArray;->multiplyWord(J[JI[JI)V
.line 1040
const/4 v4, 0x0
move/from16 v0, v20
move/from16 v1, p2
move-object/from16 v2, p3
invoke-static {v8, v4, v0, v1, v2}, Lorg/spongycastle/math/ec/LongArray;->reduceResult([JIII[I)Lorg/spongycastle/math/ec/LongArray;
move-result-object p0
goto :goto_6
.line 1046
:cond_49
add-int/lit8 v4, v4, 0x7
add-int/lit8 v4, v4, 0x3f
ushr-int/lit8 v8, v4, 0x6
.line 1051
const/16 v4, 0x10
new-array v0, v4, [I
move-object/from16 v21, v0
.line 1056
shl-int/lit8 v4, v8, 0x4
new-array v4, v4, [J
.line 1058
const/4 v5, 0x1
aput v8, v21, v5
.line 1059
move-object/from16 v0, p0
iget-object v5, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v6, 0x0
invoke-static {v5, v6, v4, v8, v7}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 1060
const/4 v5, 0x2
move v7, v8
move/from16 v16, v5
:goto_68
const/16 v5, 0x10
move/from16 v0, v16
if-ge v0, v5, :cond_8d
.line 1062
add-int/2addr v7, v8
aput v7, v21, v16
.line 1063
and-int/lit8 v5, v16, 0x1
if-nez v5, :cond_81
.line 1065
ushr-int/lit8 v5, v7, 0x1
const/4 v9, 0x1
move-object v6, v4
invoke-static/range {v4 .. v9}, Lorg/spongycastle/math/ec/LongArray;->shiftUp([JI[JIII)J
.line 1060
:goto_7c
add-int/lit8 v5, v16, 0x1
move/from16 v16, v5
goto :goto_68
.line 1069
:cond_81
sub-int v12, v7, v8
move-object v9, v4
move v10, v8
move-object v11, v4
move-object v13, v4
move v14, v7
move v15, v8
invoke-static/range {v9 .. v15}, Lorg/spongycastle/math/ec/LongArray;->add([JI[JI[JII)V
goto :goto_7c
.line 1076
:cond_8d
array-length v5, v4
new-array v11, v5, [J
.line 1077
const/4 v10, 0x0
const/4 v12, 0x0
array-length v13, v4
const/4 v14, 0x4
move-object v9, v4
invoke-static/range {v9 .. v14}, Lorg/spongycastle/math/ec/LongArray;->shiftUp([JI[JIII)J
.line 1080
move-object/from16 v0, p1
iget-object v9, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 1081
shl-int/lit8 v5, v20, 0x3
new-array v12, v5, [J
.line 1089
const/4 v5, 0x0
:goto_a1
move/from16 v0, v19
if-ge v5, v0, :cond_ca
.line 1091
aget-wide v6, v9, v5
move v13, v5
.line 1095
:goto_a8
long-to-int v10, v6
and-int/lit8 v10, v10, 0xf
.line 1096
const/4 v14, 0x4
ushr-long/2addr v6, v14
.line 1097
long-to-int v14, v6
and-int/lit8 v14, v14, 0xf
.line 1098
aget v15, v21, v10
aget v17, v21, v14
move-object v14, v4
move-object/from16 v16, v11
move/from16 v18, v8
invoke-static/range {v12 .. v18}, Lorg/spongycastle/math/ec/LongArray;->addBoth([JI[JI[JII)V
.line 1099
const/4 v10, 0x4
ushr-long/2addr v6, v10
.line 1100
const-wide/16 v14, 0x0
cmp-long v10, v6, v14
if-eqz v10, :cond_c7
.line 1104
add-int v13, v13, v20
.line 1105
goto :goto_a8
.line 1089
:cond_c7
add-int/lit8 v5, v5, 0x1
goto :goto_a1
.line 1109
:cond_ca
array-length v15, v12
.line 1110
:goto_cb
sub-int v15, v15, v20
if-eqz v15, :cond_da
.line 1112
sub-int v13, v15, v20
const/16 v17, 0x8
move-object v14, v12
move/from16 v16, v20
invoke-static/range {v12 .. v17}, Lorg/spongycastle/math/ec/LongArray;->addShiftedUp([JI[JIII)J
goto :goto_cb
.line 1119
:cond_da
const/4 v4, 0x0
move/from16 v0, v20
move/from16 v1, p2
move-object/from16 v2, p3
invoke-static {v12, v4, v0, v1, v2}, Lorg/spongycastle/math/ec/LongArray;->reduceResult([JIII[I)Lorg/spongycastle/math/ec/LongArray;
move-result-object p0
goto/16 :goto_6
:cond_e7
move-object/from16 v22, p1
move-object/from16 p1, p0
move-object/from16 p0, v22
move/from16 v23, v5
move v5, v4
move/from16 v4, v23
goto/16 :goto_12
.end method
.method public modMultiplyAlt(Lorg/spongycastle/math/ec/LongArray;I[I)Lorg/spongycastle/math/ec/LongArray;
.registers 24
.prologue
.line 1127
invoke-virtual/range {p0 .. p0}, Lorg/spongycastle/math/ec/LongArray;->degree()I
move-result v2
.line 1128
if-nez v2, :cond_7
.line 1336
:cond_6
:goto_6
return-object p0
.line 1132
:cond_7
invoke-virtual/range {p1 .. p1}, Lorg/spongycastle/math/ec/LongArray;->degree()I
move-result v3
.line 1133
if-nez v3, :cond_10
move-object/from16 p0, p1
.line 1135
goto :goto_6
.line 1142
:cond_10
if-le v2, v3, :cond_fd
.line 1151
:goto_12
add-int/lit8 v4, v3, 0x3f
ushr-int/lit8 v10, v4, 0x6
.line 1152
add-int/lit8 v4, v2, 0x3f
ushr-int/lit8 v5, v4, 0x6
.line 1153
add-int/2addr v3, v2
add-int/lit8 v3, v3, 0x3e
ushr-int/lit8 v15, v3, 0x6
.line 1155
const/4 v3, 0x1
if-ne v10, v3, :cond_43
.line 1157
move-object/from16 v0, p1
iget-object v2, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v3, 0x0
aget-wide v2, v2, v3
.line 1158
const-wide/16 v6, 0x1
cmp-long v4, v2, v6
if-eqz v4, :cond_6
.line 1166
new-array v6, v15, [J
.line 1167
move-object/from16 v0, p0
iget-object v4, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v7, 0x0
invoke-static/range {v2 .. v7}, Lorg/spongycastle/math/ec/LongArray;->multiplyWord(J[JI[JI)V
.line 1172
const/4 v2, 0x0
move/from16 v0, p2
move-object/from16 v1, p3
invoke-static {v6, v2, v15, v0, v1}, Lorg/spongycastle/math/ec/LongArray;->reduceResult([JIII[I)Lorg/spongycastle/math/ec/LongArray;
move-result-object p0
goto :goto_6
.line 1217
:cond_43
add-int/lit8 v2, v2, 0xf
add-int/lit8 v2, v2, 0x3f
ushr-int/lit8 v13, v2, 0x6
.line 1219
shl-int/lit8 v16, v13, 0x3
.line 1224
const/16 v2, 0x10
new-array v0, v2, [I
move-object/from16 v17, v0
.line 1227
const/4 v2, 0x0
aput v10, v17, v2
.line 1228
add-int v3, v10, v16
.line 1229
const/4 v2, 0x1
aput v3, v17, v2
.line 1230
const/4 v2, 0x2
:goto_5a
const/16 v4, 0x10
if-ge v2, v4, :cond_64
.line 1232
add-int/2addr v3, v15
.line 1233
aput v3, v17, v2
.line 1230
add-int/lit8 v2, v2, 0x1
goto :goto_5a
.line 1235
:cond_64
add-int v2, v3, v15
.line 1238
add-int/lit8 v2, v2, 0x1
.line 1240
new-array v8, v2, [J
.line 1243
move-object/from16 v0, p1
iget-object v6, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v7, 0x0
const/4 v9, 0x0
const/4 v11, 0x4
invoke-static/range {v6 .. v11}, Lorg/spongycastle/math/ec/LongArray;->interleave([JI[JIII)V
.line 1248
move-object/from16 v0, p0
iget-object v2, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v3, 0x0
invoke-static {v2, v3, v8, v10, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 1249
const/4 v14, 0x1
move v12, v10
:goto_7e
const/16 v2, 0x8
if-ge v14, v2, :cond_8b
.line 1251
add-int/2addr v12, v13
move-object v9, v8
move-object v11, v8
invoke-static/range {v9 .. v14}, Lorg/spongycastle/math/ec/LongArray;->shiftUp([JI[JIII)J
.line 1249
add-int/lit8 v14, v14, 0x1
goto :goto_7e
.line 1261
:cond_8b
const/16 v3, 0xf
.line 1263
const/4 v2, 0x0
.line 1266
:goto_8e
const/4 v4, 0x0
.line 1269
:cond_8f
aget-wide v6, v8, v4
ushr-long/2addr v6, v2
.line 1270
const/4 v5, 0x0
move v9, v5
move v5, v10
.line 1273
:goto_95
long-to-int v11, v6
and-int/2addr v11, v3
.line 1274
if-eqz v11, :cond_9f
.line 1281
aget v11, v17, v11
add-int/2addr v11, v4
invoke-static {v8, v11, v8, v5, v13}, Lorg/spongycastle/math/ec/LongArray;->add([JI[JII)V
.line 1283
:cond_9f
add-int/lit8 v9, v9, 0x1
const/16 v11, 0x8
if-eq v9, v11, :cond_a9
.line 1287
add-int/2addr v5, v13
.line 1288
const/4 v11, 0x4
ushr-long/2addr v6, v11
.line 1289
goto :goto_95
.line 1291
:cond_a9
add-int/lit8 v4, v4, 0x1
if-lt v4, v10, :cond_8f
.line 1293
add-int/lit8 v2, v2, 0x20
const/16 v4, 0x40
if-lt v2, v4, :cond_bc
.line 1295
const/16 v4, 0x40
if-ge v2, v4, :cond_c4
.line 1304
const/16 v2, 0x3c
.line 1305
shl-int/lit8 v4, v3, 0x4
and-int/2addr v3, v4
.line 1311
:cond_bc
const/16 v4, 0x8
move/from16 v0, v16
invoke-static {v8, v10, v0, v4}, Lorg/spongycastle/math/ec/LongArray;->shiftUp([JIII)J
goto :goto_8e
.line 1314
:cond_c4
const/16 v2, 0x10
.line 1315
:goto_c6
add-int/lit8 v2, v2, -0x1
const/4 v3, 0x1
if-le v2, v3, :cond_f0
.line 1317
int-to-long v4, v2
const-wide/16 v6, 0x1
and-long/2addr v4, v6
const-wide/16 v6, 0x0
cmp-long v3, v4, v6
if-nez v3, :cond_e3
.line 1322
ushr-int/lit8 v3, v2, 0x1
aget v9, v17, v3
aget v11, v17, v2
const/16 v13, 0x10
move-object v10, v8
move v12, v15
invoke-static/range {v8 .. v13}, Lorg/spongycastle/math/ec/LongArray;->addShiftedUp([JI[JIII)J
goto :goto_c6
.line 1329
:cond_e3
aget v3, v17, v2
add-int/lit8 v4, v2, -0x1
aget v4, v17, v4
const/4 v5, 0x1
aget v5, v17, v5
invoke-static {v8, v3, v4, v5, v15}, Lorg/spongycastle/math/ec/LongArray;->distribute([JIIII)V
goto :goto_c6
.line 1336
:cond_f0
const/4 v2, 0x1
aget v2, v17, v2
move/from16 v0, p2
move-object/from16 v1, p3
invoke-static {v8, v2, v15, v0, v1}, Lorg/spongycastle/math/ec/LongArray;->reduceResult([JIII[I)Lorg/spongycastle/math/ec/LongArray;
move-result-object p0
goto/16 :goto_6
:cond_fd
move-object/from16 v18, p1
move-object/from16 p1, p0
move-object/from16 p0, v18
move/from16 v19, v3
move v3, v2
move/from16 v2, v19
goto/16 :goto_12
.end method
.method public modMultiplyLD(Lorg/spongycastle/math/ec/LongArray;I[I)Lorg/spongycastle/math/ec/LongArray;
.registers 28
.prologue
.line 863
invoke-virtual/range {p0 .. p0}, Lorg/spongycastle/math/ec/LongArray;->degree()I
move-result v4
.line 864
if-nez v4, :cond_7
.line 987
:cond_6
:goto_6
return-object p0
.line 868
:cond_7
invoke-virtual/range {p1 .. p1}, Lorg/spongycastle/math/ec/LongArray;->degree()I
move-result v5
.line 869
if-nez v5, :cond_10
move-object/from16 p0, p1
.line 871
goto :goto_6
.line 878
:cond_10
if-le v4, v5, :cond_10d
.line 887
:goto_12
add-int/lit8 v6, v5, 0x3f
ushr-int/lit8 v19, v6, 0x6
.line 888
add-int/lit8 v6, v4, 0x3f
ushr-int/lit8 v7, v6, 0x6
.line 889
add-int/2addr v5, v4
add-int/lit8 v5, v5, 0x3e
ushr-int/lit8 v20, v5, 0x6
.line 891
const/4 v5, 0x1
move/from16 v0, v19
if-ne v0, v5, :cond_49
.line 893
move-object/from16 v0, p1
iget-object v4, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v5, 0x0
aget-wide v4, v4, v5
.line 894
const-wide/16 v8, 0x1
cmp-long v6, v4, v8
if-eqz v6, :cond_6
.line 902
move/from16 v0, v20
new-array v8, v0, [J
.line 903
move-object/from16 v0, p0
iget-object v6, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v9, 0x0
invoke-static/range {v4 .. v9}, Lorg/spongycastle/math/ec/LongArray;->multiplyWord(J[JI[JI)V
.line 908
const/4 v4, 0x0
move/from16 v0, v20
move/from16 v1, p2
move-object/from16 v2, p3
invoke-static {v8, v4, v0, v1, v2}, Lorg/spongycastle/math/ec/LongArray;->reduceResult([JIII[I)Lorg/spongycastle/math/ec/LongArray;
move-result-object p0
goto :goto_6
.line 914
:cond_49
add-int/lit8 v4, v4, 0x7
add-int/lit8 v4, v4, 0x3f
ushr-int/lit8 v8, v4, 0x6
.line 919
const/16 v4, 0x10
new-array v0, v4, [I
move-object/from16 v21, v0
.line 924
shl-int/lit8 v4, v8, 0x4
new-array v4, v4, [J
.line 926
const/4 v5, 0x1
aput v8, v21, v5
.line 927
move-object/from16 v0, p0
iget-object v5, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v6, 0x0
invoke-static {v5, v6, v4, v8, v7}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 928
const/4 v5, 0x2
move v7, v8
move/from16 v16, v5
:goto_68
const/16 v5, 0x10
move/from16 v0, v16
if-ge v0, v5, :cond_8d
.line 930
add-int/2addr v7, v8
aput v7, v21, v16
.line 931
and-int/lit8 v5, v16, 0x1
if-nez v5, :cond_81
.line 933
ushr-int/lit8 v5, v7, 0x1
const/4 v9, 0x1
move-object v6, v4
invoke-static/range {v4 .. v9}, Lorg/spongycastle/math/ec/LongArray;->shiftUp([JI[JIII)J
.line 928
:goto_7c
add-int/lit8 v5, v16, 0x1
move/from16 v16, v5
goto :goto_68
.line 937
:cond_81
sub-int v12, v7, v8
move-object v9, v4
move v10, v8
move-object v11, v4
move-object v13, v4
move v14, v7
move v15, v8
invoke-static/range {v9 .. v15}, Lorg/spongycastle/math/ec/LongArray;->add([JI[JI[JII)V
goto :goto_7c
.line 944
:cond_8d
array-length v5, v4
new-array v11, v5, [J
.line 945
const/4 v10, 0x0
const/4 v12, 0x0
array-length v13, v4
const/4 v14, 0x4
move-object v9, v4
invoke-static/range {v9 .. v14}, Lorg/spongycastle/math/ec/LongArray;->shiftUp([JI[JIII)J
.line 948
move-object/from16 v0, p1
iget-object v7, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 949
move/from16 v0, v20
new-array v12, v0, [J
.line 957
const/16 v5, 0x38
move v6, v5
:goto_a3
if-ltz v6, :cond_d1
.line 959
const/4 v5, 0x1
:goto_a6
move/from16 v0, v19
if-ge v5, v0, :cond_c5
.line 961
aget-wide v14, v7, v5
ushr-long/2addr v14, v6
long-to-int v9, v14
.line 962
and-int/lit8 v10, v9, 0xf
.line 963
ushr-int/lit8 v9, v9, 0x4
and-int/lit8 v9, v9, 0xf
.line 964
add-int/lit8 v13, v5, -0x1
aget v15, v21, v10
aget v17, v21, v9
move-object v14, v4
move-object/from16 v16, v11
move/from16 v18, v8
invoke-static/range {v12 .. v18}, Lorg/spongycastle/math/ec/LongArray;->addBoth([JI[JI[JII)V
.line 959
add-int/lit8 v5, v5, 0x2
goto :goto_a6
.line 966
:cond_c5
const/4 v5, 0x0
const/16 v9, 0x8
move/from16 v0, v20
invoke-static {v12, v5, v0, v9}, Lorg/spongycastle/math/ec/LongArray;->shiftUp([JIII)J
.line 957
add-int/lit8 v5, v6, -0x8
move v6, v5
goto :goto_a3
.line 969
:cond_d1
const/16 v5, 0x38
:goto_d3
if-ltz v5, :cond_100
.line 971
const/4 v13, 0x0
:goto_d6
move/from16 v0, v19
if-ge v13, v0, :cond_f3
.line 973
aget-wide v14, v7, v13
ushr-long/2addr v14, v5
long-to-int v6, v14
.line 974
and-int/lit8 v9, v6, 0xf
.line 975
ushr-int/lit8 v6, v6, 0x4
and-int/lit8 v6, v6, 0xf
.line 976
aget v15, v21, v9
aget v17, v21, v6
move-object v14, v4
move-object/from16 v16, v11
move/from16 v18, v8
invoke-static/range {v12 .. v18}, Lorg/spongycastle/math/ec/LongArray;->addBoth([JI[JI[JII)V
.line 971
add-int/lit8 v13, v13, 0x2
goto :goto_d6
.line 978
:cond_f3
if-lez v5, :cond_fd
.line 980
const/4 v6, 0x0
const/16 v9, 0x8
move/from16 v0, v20
invoke-static {v12, v6, v0, v9}, Lorg/spongycastle/math/ec/LongArray;->shiftUp([JIII)J
.line 969
:cond_fd
add-int/lit8 v5, v5, -0x8
goto :goto_d3
.line 987
:cond_100
const/4 v4, 0x0
move/from16 v0, v20
move/from16 v1, p2
move-object/from16 v2, p3
invoke-static {v12, v4, v0, v1, v2}, Lorg/spongycastle/math/ec/LongArray;->reduceResult([JIII[I)Lorg/spongycastle/math/ec/LongArray;
move-result-object p0
goto/16 :goto_6
:cond_10d
move-object/from16 v22, p1
move-object/from16 p1, p0
move-object/from16 p0, v22
move/from16 v23, v5
move v5, v4
move/from16 v4, v23
goto/16 :goto_12
.end method
.method public modReduce(I[I)Lorg/spongycastle/math/ec/LongArray;
.registers 7
.prologue
const/4 v3, 0x0
.line 1341
iget-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
invoke-static {v0}, Lorg/spongycastle/util/Arrays;->clone([J)[J
move-result-object v0
.line 1342
array-length v1, v0
invoke-static {v0, v3, v1, p1, p2}, Lorg/spongycastle/math/ec/LongArray;->reduceInPlace([JIII[I)I
move-result v1
.line 1343
new-instance v2, Lorg/spongycastle/math/ec/LongArray;
invoke-direct {v2, v0, v3, v1}, Lorg/spongycastle/math/ec/LongArray;-><init>([JII)V
return-object v2
.end method
.method public modSquare(I[I)Lorg/spongycastle/math/ec/LongArray;
.registers 13
.prologue
const/4 v1, 0x0
.line 1661
invoke-virtual {p0}, Lorg/spongycastle/math/ec/LongArray;->getUsedLength()I
move-result v0
.line 1662
if-nez v0, :cond_8
.line 1678
:goto_7
return-object p0
.line 1667
:cond_8
shl-int/lit8 v2, v0, 0x1
.line 1668
new-array v3, v2, [J
move v0, v1
.line 1671
:goto_d
if-ge v0, v2, :cond_2b
.line 1673
iget-object v4, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
ushr-int/lit8 v5, v0, 0x1
aget-wide v4, v4, v5
.line 1674
add-int/lit8 v6, v0, 0x1
long-to-int v7, v4
invoke-static {v7}, Lorg/spongycastle/math/ec/LongArray;->interleave2_32to64(I)J
move-result-wide v8
aput-wide v8, v3, v0
.line 1675
add-int/lit8 v0, v6, 0x1
const/16 v7, 0x20
ushr-long/2addr v4, v7
long-to-int v4, v4
invoke-static {v4}, Lorg/spongycastle/math/ec/LongArray;->interleave2_32to64(I)J
move-result-wide v4
aput-wide v4, v3, v6
goto :goto_d
.line 1678
:cond_2b
new-instance p0, Lorg/spongycastle/math/ec/LongArray;
invoke-static {v3, v1, v2, p1, p2}, Lorg/spongycastle/math/ec/LongArray;->reduceInPlace([JIII[I)I
move-result v0
invoke-direct {p0, v3, v1, v0}, Lorg/spongycastle/math/ec/LongArray;-><init>([JII)V
goto :goto_7
.end method
.method public modSquareN(II[I)Lorg/spongycastle/math/ec/LongArray;
.registers 8
.prologue
const/4 v3, 0x0
.line 1683
invoke-virtual {p0}, Lorg/spongycastle/math/ec/LongArray;->getUsedLength()I
move-result v0
.line 1684
if-nez v0, :cond_8
.line 1699
:goto_7
return-object p0
.line 1689
:cond_8
add-int/lit8 v1, p2, 0x3f
ushr-int/lit8 v1, v1, 0x6
.line 1690
shl-int/lit8 v1, v1, 0x1
new-array v1, v1, [J
.line 1691
iget-object v2, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
invoke-static {v2, v3, v1, v3, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 1693
:goto_15
add-int/lit8 p1, p1, -0x1
if-ltz p1, :cond_22
.line 1695
invoke-static {v1, v0, p2, p3}, Lorg/spongycastle/math/ec/LongArray;->squareInPlace([JII[I)V
.line 1696
array-length v0, v1
invoke-static {v1, v3, v0, p2, p3}, Lorg/spongycastle/math/ec/LongArray;->reduceInPlace([JIII[I)I
move-result v0
goto :goto_15
.line 1699
:cond_22
new-instance p0, Lorg/spongycastle/math/ec/LongArray;
invoke-direct {p0, v1, v3, v0}, Lorg/spongycastle/math/ec/LongArray;-><init>([JII)V
goto :goto_7
.end method
.method public multiply(Lorg/spongycastle/math/ec/LongArray;I[I)Lorg/spongycastle/math/ec/LongArray;
.registers 26
.prologue
.line 1351
invoke-virtual/range {p0 .. p0}, Lorg/spongycastle/math/ec/LongArray;->degree()I
move-result v2
.line 1352
if-nez v2, :cond_7
.line 1477
:cond_6
:goto_6
return-object p0
.line 1356
:cond_7
invoke-virtual/range {p1 .. p1}, Lorg/spongycastle/math/ec/LongArray;->degree()I
move-result v3
.line 1357
if-nez v3, :cond_10
move-object/from16 p0, p1
.line 1359
goto :goto_6
.line 1366
:cond_10
if-le v2, v3, :cond_e0
.line 1375
:goto_12
add-int/lit8 v4, v3, 0x3f
ushr-int/lit8 v17, v4, 0x6
.line 1376
add-int/lit8 v4, v2, 0x3f
ushr-int/lit8 v5, v4, 0x6
.line 1377
add-int/2addr v3, v2
add-int/lit8 v3, v3, 0x3e
ushr-int/lit8 v18, v3, 0x6
.line 1379
const/4 v3, 0x1
move/from16 v0, v17
if-ne v0, v3, :cond_48
.line 1381
move-object/from16 v0, p1
iget-object v2, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v3, 0x0
aget-wide v2, v2, v3
.line 1382
const-wide/16 v6, 0x1
cmp-long v4, v2, v6
if-eqz v4, :cond_6
.line 1390
move/from16 v0, v18
new-array v6, v0, [J
.line 1391
move-object/from16 v0, p0
iget-object v4, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v7, 0x0
invoke-static/range {v2 .. v7}, Lorg/spongycastle/math/ec/LongArray;->multiplyWord(J[JI[JI)V
.line 1397
new-instance p0, Lorg/spongycastle/math/ec/LongArray;
const/4 v2, 0x0
move-object/from16 v0, p0
move/from16 v1, v18
invoke-direct {v0, v6, v2, v1}, Lorg/spongycastle/math/ec/LongArray;-><init>([JII)V
goto :goto_6
.line 1403
:cond_48
add-int/lit8 v2, v2, 0x7
add-int/lit8 v2, v2, 0x3f
ushr-int/lit8 v6, v2, 0x6
.line 1408
const/16 v2, 0x10
new-array v0, v2, [I
move-object/from16 v19, v0
.line 1413
shl-int/lit8 v2, v6, 0x4
new-array v2, v2, [J
.line 1415
const/4 v3, 0x1
aput v6, v19, v3
.line 1416
move-object/from16 v0, p0
iget-object v3, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
const/4 v4, 0x0
invoke-static {v3, v4, v2, v6, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 1417
const/4 v3, 0x2
move v5, v6
move v14, v3
:goto_66
const/16 v3, 0x10
if-ge v14, v3, :cond_88
.line 1419
add-int/2addr v5, v6
aput v5, v19, v14
.line 1420
and-int/lit8 v3, v14, 0x1
if-nez v3, :cond_7c
.line 1422
ushr-int/lit8 v3, v5, 0x1
const/4 v7, 0x1
move-object v4, v2
invoke-static/range {v2 .. v7}, Lorg/spongycastle/math/ec/LongArray;->shiftUp([JI[JIII)J
.line 1417
:goto_78
add-int/lit8 v3, v14, 0x1
move v14, v3
goto :goto_66
.line 1426
:cond_7c
sub-int v10, v5, v6
move-object v7, v2
move v8, v6
move-object v9, v2
move-object v11, v2
move v12, v5
move v13, v6
invoke-static/range {v7 .. v13}, Lorg/spongycastle/math/ec/LongArray;->add([JI[JI[JII)V
goto :goto_78
.line 1433
:cond_88
array-length v3, v2
new-array v9, v3, [J
.line 1434
const/4 v8, 0x0
const/4 v10, 0x0
array-length v11, v2
const/4 v12, 0x4
move-object v7, v2
invoke-static/range {v7 .. v12}, Lorg/spongycastle/math/ec/LongArray;->shiftUp([JI[JIII)J
.line 1437
move-object/from16 v0, p1
iget-object v7, v0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 1438
shl-int/lit8 v3, v18, 0x3
new-array v10, v3, [J
.line 1446
const/4 v3, 0x0
:goto_9c
move/from16 v0, v17
if-ge v3, v0, :cond_c4
.line 1448
aget-wide v4, v7, v3
move v11, v3
.line 1452
:goto_a3
long-to-int v8, v4
and-int/lit8 v8, v8, 0xf
.line 1453
const/4 v12, 0x4
ushr-long/2addr v4, v12
.line 1454
long-to-int v12, v4
and-int/lit8 v12, v12, 0xf
.line 1455
aget v13, v19, v8
aget v15, v19, v12
move-object v12, v2
move-object v14, v9
move/from16 v16, v6
invoke-static/range {v10 .. v16}, Lorg/spongycastle/math/ec/LongArray;->addBoth([JI[JI[JII)V
.line 1456
const/4 v8, 0x4
ushr-long/2addr v4, v8
.line 1457
const-wide/16 v12, 0x0
cmp-long v8, v4, v12
if-eqz v8, :cond_c1
.line 1461
add-int v11, v11, v18
.line 1462
goto :goto_a3
.line 1446
:cond_c1
add-int/lit8 v3, v3, 0x1
goto :goto_9c
.line 1466
:cond_c4
array-length v13, v10
.line 1467
:goto_c5
sub-int v13, v13, v18
if-eqz v13, :cond_d4
.line 1469
sub-int v11, v13, v18
const/16 v15, 0x8
move-object v12, v10
move/from16 v14, v18
invoke-static/range {v10 .. v15}, Lorg/spongycastle/math/ec/LongArray;->addShiftedUp([JI[JIII)J
goto :goto_c5
.line 1477
:cond_d4
new-instance p0, Lorg/spongycastle/math/ec/LongArray;
const/4 v2, 0x0
move-object/from16 v0, p0
move/from16 v1, v18
invoke-direct {v0, v10, v2, v1}, Lorg/spongycastle/math/ec/LongArray;-><init>([JII)V
goto/16 :goto_6
:cond_e0
move-object/from16 v20, p1
move-object/from16 p1, p0
move-object/from16 p0, v20
move/from16 v21, v3
move v3, v2
move/from16 v2, v21
goto/16 :goto_12
.end method
.method public reduce(I[I)V
.registers 7
.prologue
const/4 v3, 0x0
.line 1482
iget-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 1483
array-length v1, v0
invoke-static {v0, v3, v1, p1, p2}, Lorg/spongycastle/math/ec/LongArray;->reduceInPlace([JIII[I)I
move-result v1
.line 1484
array-length v2, v0
if-ge v1, v2, :cond_14
.line 1486
new-array v2, v1, [J
iput-object v2, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
.line 1487
iget-object v2, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
invoke-static {v0, v3, v2, v3, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 1489
:cond_14
return-void
.end method
.method public square(I[I)Lorg/spongycastle/math/ec/LongArray;
.registers 13
.prologue
const/4 v1, 0x0
.line 1704
invoke-virtual {p0}, Lorg/spongycastle/math/ec/LongArray;->getUsedLength()I
move-result v0
.line 1705
if-nez v0, :cond_8
.line 1721
:goto_7
return-object p0
.line 1710
:cond_8
shl-int/lit8 v2, v0, 0x1
.line 1711
new-array v3, v2, [J
move v0, v1
.line 1714
:goto_d
if-ge v0, v2, :cond_2b
.line 1716
iget-object v4, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
ushr-int/lit8 v5, v0, 0x1
aget-wide v4, v4, v5
.line 1717
add-int/lit8 v6, v0, 0x1
long-to-int v7, v4
invoke-static {v7}, Lorg/spongycastle/math/ec/LongArray;->interleave2_32to64(I)J
move-result-wide v8
aput-wide v8, v3, v0
.line 1718
add-int/lit8 v0, v6, 0x1
const/16 v7, 0x20
ushr-long/2addr v4, v7
long-to-int v4, v4
invoke-static {v4}, Lorg/spongycastle/math/ec/LongArray;->interleave2_32to64(I)J
move-result-wide v4
aput-wide v4, v3, v6
goto :goto_d
.line 1721
:cond_2b
new-instance p0, Lorg/spongycastle/math/ec/LongArray;
invoke-direct {p0, v3, v1, v2}, Lorg/spongycastle/math/ec/LongArray;-><init>([JII)V
goto :goto_7
.end method
.method public testBitZero()Z
.registers 7
.prologue
const/4 v0, 0x0
.line 794
iget-object v1, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
array-length v1, v1
if-lez v1, :cond_14
iget-object v1, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
aget-wide v2, v1, v0
const-wide/16 v4, 0x1
and-long/2addr v2, v4
const-wide/16 v4, 0x0
cmp-long v1, v2, v4
if-eqz v1, :cond_14
const/4 v0, 0x1
:cond_14
return v0
.end method
.method public toBigInteger()Ljava/math/BigInteger;
.registers 13
.prologue
const/4 v4, 0x7
const/4 v1, 0x1
const/4 v3, 0x0
.line 537
invoke-virtual {p0}, Lorg/spongycastle/math/ec/LongArray;->getUsedLength()I
move-result v6
.line 538
if-nez v6, :cond_c
.line 540
sget-object v0, Lorg/spongycastle/math/ec/ECConstants;->ZERO:Ljava/math/BigInteger;
.line 573
:goto_b
return-object v0
.line 543
:cond_c
iget-object v0, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
add-int/lit8 v2, v6, -0x1
aget-wide v8, v0, v2
.line 544
const/16 v0, 0x8
new-array v7, v0, [B
move v5, v4
move v0, v3
move v2, v3
.line 547
:goto_19
if-ltz v5, :cond_2e
.line 549
shl-int/lit8 v10, v5, 0x3
ushr-long v10, v8, v10
long-to-int v10, v10
int-to-byte v10, v10
.line 550
if-nez v0, :cond_25
if-eqz v10, :cond_2b
.line 553
:cond_25
add-int/lit8 v0, v2, 0x1
aput-byte v10, v7, v2
move v2, v0
move v0, v1
.line 547
:cond_2b
add-int/lit8 v5, v5, -0x1
goto :goto_19
.line 557
:cond_2e
add-int/lit8 v0, v6, -0x1
mul-int/lit8 v0, v0, 0x8
add-int/2addr v0, v2
.line 558
new-array v8, v0, [B
move v0, v3
.line 559
:goto_36
if-ge v0, v2, :cond_3f
.line 561
aget-byte v3, v7, v0
aput-byte v3, v8, v0
.line 559
add-int/lit8 v0, v0, 0x1
goto :goto_36
.line 565
:cond_3f
add-int/lit8 v0, v6, -0x2
move v5, v0
move v0, v2
:goto_43
if-ltz v5, :cond_5f
.line 567
iget-object v2, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
aget-wide v6, v2, v5
move v3, v4
.line 568
:goto_4a
if-ltz v3, :cond_5b
.line 570
add-int/lit8 v2, v0, 0x1
shl-int/lit8 v9, v3, 0x3
ushr-long v10, v6, v9
long-to-int v9, v10
int-to-byte v9, v9
aput-byte v9, v8, v0
.line 568
add-int/lit8 v0, v3, -0x1
move v3, v0
move v0, v2
goto :goto_4a
.line 565
:cond_5b
add-int/lit8 v2, v5, -0x1
move v5, v2
goto :goto_43
.line 573
:cond_5f
new-instance v0, Ljava/math/BigInteger;
invoke-direct {v0, v1, v8}, Ljava/math/BigInteger;-><init>(I[B)V
goto :goto_b
.end method
.method public toString()Ljava/lang/String;
.registers 6
.prologue
.line 2175
invoke-virtual {p0}, Lorg/spongycastle/math/ec/LongArray;->getUsedLength()I
move-result v0
.line 2176
if-nez v0, :cond_9
.line 2178
const-string v0, "0"
.line 2195
:goto_8
return-object v0
.line 2181
:cond_9
new-instance v1, Ljava/lang/StringBuffer;
iget-object v2, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
add-int/lit8 v0, v0, -0x1
aget-wide v2, v2, v0
invoke-static {v2, v3}, Ljava/lang/Long;->toBinaryString(J)Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
.line 2182
:goto_18
add-int/lit8 v0, v0, -0x1
if-ltz v0, :cond_39
.line 2184
iget-object v2, p0, Lorg/spongycastle/math/ec/LongArray;->m_ints:[J
aget-wide v2, v2, v0
invoke-static {v2, v3}, Ljava/lang/Long;->toBinaryString(J)Ljava/lang/String;
move-result-object v2
.line 2187
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
.line 2188
const/16 v4, 0x40
if-ge v3, v4, :cond_35
.line 2190
const-string v4, "0000000000000000000000000000000000000000000000000000000000000000"
invoke-virtual {v4, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 2193
:cond_35
invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
goto :goto_18
.line 2195
:cond_39
invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_8
.end method