File tree Expand file tree Collapse file tree 2 files changed +40
-33
lines changed Expand file tree Collapse file tree 2 files changed +40
-33
lines changed Original file line number Diff line number Diff line change 1
1
# test builtin pow() with integral values
2
-
3
2
# 2 arg version
3
+
4
4
print (pow (0 , 1 ))
5
5
print (pow (1 , 0 ))
6
6
print (pow (- 2 , 3 ))
7
7
print (pow (3 , 8 ))
8
-
9
- # 3 arg version
10
- print (pow (3 , 4 , 7 ))
11
- print (pow (555557 , 1000002 , 1000003 ))
12
-
13
- # 3 arg pow is defined to only work on integers
14
- try :
15
- print (pow ("x" , 5 , 6 ))
16
- except TypeError :
17
- print ("TypeError expected" )
18
-
19
- try :
20
- print (pow (4 , "y" , 6 ))
21
- except TypeError :
22
- print ("TypeError expected" )
23
-
24
- try :
25
- print (pow (4 , 5 , "z" ))
26
- except TypeError :
27
- print ("TypeError expected" )
28
-
29
- # Tests for 3 arg pow with large values
30
-
31
- # This value happens to be prime
32
- x = 0xd48a1e2a099b1395895527112937a391d02d4a208bce5d74b281cf35a57362502726f79a632f063a83c0eba66196712d963aa7279ab8a504110a668c0fc38a7983c51e6ee7a85cae87097686ccdc359ee4bbf2c583bce524e3f7836bded1c771a4efcb25c09460a862fc98e18f7303df46aaeb34da46b0c4d61d5cd78350f3edb60e6bc4befa712a849
33
- y = 0x3accf60bb1a5365e4250d1588eb0fe6cd81ad495e9063f90880229f2a625e98c59387238670936afb2cafc5b79448e4414d6cd5e9901aa845aa122db58ddd7b9f2b17414600a18c47494ed1f3d49d005a5
34
-
35
- print (hex (pow (2 , 200 , x ))) # Should not overflow, just 1 << 200
36
- print (hex (pow (2 , x - 1 , x ))) # Should be 1, since x is prime
37
- print (hex (pow (y , x - 1 , x ))) # Should be 1, since x is prime
38
- print (hex (pow (y , y - 1 , x ))) # Should be a 'big value'
39
- print (hex (pow (y , y - 1 , y ))) # Should be a 'big value'
Original file line number Diff line number Diff line change
1
+ # test builtin pow() with integral values
2
+ # 3 arg version
3
+
4
+ try :
5
+ print (pow (3 , 4 , 7 ))
6
+ except NotImplementedError :
7
+ import sys
8
+ print ("SKIP" )
9
+ sys .exit ()
10
+
11
+ print (pow (555557 , 1000002 , 1000003 ))
12
+
13
+ # 3 arg pow is defined to only work on integers
14
+ try :
15
+ print (pow ("x" , 5 , 6 ))
16
+ except TypeError :
17
+ print ("TypeError expected" )
18
+
19
+ try :
20
+ print (pow (4 , "y" , 6 ))
21
+ except TypeError :
22
+ print ("TypeError expected" )
23
+
24
+ try :
25
+ print (pow (4 , 5 , "z" ))
26
+ except TypeError :
27
+ print ("TypeError expected" )
28
+
29
+ # Tests for 3 arg pow with large values
30
+
31
+ # This value happens to be prime
32
+ x = 0xd48a1e2a099b1395895527112937a391d02d4a208bce5d74b281cf35a57362502726f79a632f063a83c0eba66196712d963aa7279ab8a504110a668c0fc38a7983c51e6ee7a85cae87097686ccdc359ee4bbf2c583bce524e3f7836bded1c771a4efcb25c09460a862fc98e18f7303df46aaeb34da46b0c4d61d5cd78350f3edb60e6bc4befa712a849
33
+ y = 0x3accf60bb1a5365e4250d1588eb0fe6cd81ad495e9063f90880229f2a625e98c59387238670936afb2cafc5b79448e4414d6cd5e9901aa845aa122db58ddd7b9f2b17414600a18c47494ed1f3d49d005a5
34
+
35
+ print (hex (pow (2 , 200 , x ))) # Should not overflow, just 1 << 200
36
+ print (hex (pow (2 , x - 1 , x ))) # Should be 1, since x is prime
37
+ print (hex (pow (y , x - 1 , x ))) # Should be 1, since x is prime
38
+ print (hex (pow (y , y - 1 , x ))) # Should be a 'big value'
39
+ print (hex (pow (y , y - 1 , y ))) # Should be a 'big value'
You can’t perform that action at this time.
0 commit comments