-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.py
executable file
·99 lines (77 loc) · 2.61 KB
/
test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#!/usr/bin/python3
import ctypes
#import csbiginteger.csbiginteger
#from csbiginteger import hello
#import csbiginteger
from csbiginteger.BigInteger import BigInteger
# or use dotnet version
# cd csbiginteger/dotnet
# dotnet build -c Release
# dotnet publish --configuration Release --self-contained
### dotnet pack --configuration Release (not used)
from csbiginteger.BigIntegerNet import BigIntegerNet
def main():
big = BigIntegerNet()
print('length = ', len(big))
print('to_int = ', big.to_int())
print('to_str: ', big.to_str())
print('')
big1 = BigIntegerNet(1)
print('length = ', len(big1))
print('to_int = ', big1.to_int())
print('to_str: ', big1.to_str())
print('')
bigM1 = BigIntegerNet(-1)
print('length = ', len(bigM1))
print('to_int = ', bigM1.to_int())
print('to_str: ', bigM1.to_str())
print('')
big255 = BigIntegerNet(255)
print('length = ', len(big255))
print('to_int = ', big255.to_int())
print('to_str: ', big255.to_str())
print('')
bigM10M = BigIntegerNet(-1000000)
print('length = ', len(bigM10M))
print('to_int = ', bigM10M.to_int())
print('to_long = ', bigM10M.to_long())
print('to_str: ', bigM10M.to_str())
print('')
big4293967296 = BigIntegerNet(4293967296)
print('length = ', len(big4293967296))
print('to_int = OVERFLOW')#, big4293967296.to_int())
print('to_long = ', big4293967296.to_long())
print('to_str: ', big4293967296.to_str())
print('')
bigff = BigIntegerNet(b'\xff')
print('length = ', len(bigff))
print('to_int = ', bigff.to_int())
print('to_long = ', bigff.to_long())
print('to_str: ', bigff.to_str())
print('')
big100 = BigIntegerNet('100') # base 10 implicit
print('length = ', len(big100))
print('to_int = ', big100.to_int())
print('to_long = ', big100.to_long())
print('to_str: ', big100.to_str())
print('')
big0001 = BigIntegerNet('0x0001', 16) # big-endian input string
print('length = ', len(big0001))
print('to_int = ', big0001.to_int())
print('to_long = ', big0001.to_long())
print('to_str: ', big0001.to_str())
print('')
big101 = big100.add(big0001) # big100 + big0001
print('length = ', len(big101))
print('to_int = ', big101.to_int())
print('to_long = ', big101.to_long())
print('to_str: ', big101.to_str())
print('')
big99 = big100.sub(big0001) # big100 - big0001
print('length = ', len(big99))
print('to_int = ', big99.to_int())
print('to_long = ', big99.to_long())
print('to_str: ', big99.to_str())
return 0
if __name__ == '__main__':
main()