mirror of
https://github.com/micropython/micropython.git
synced 2026-01-30 07:40:21 +01:00
tests/basics/int_big_to_small.py: Bifurcate test using small-int-max.
Different results are needed for different integer sizes. Signed-off-by: Jeff Epler <jepler@unpythonic.net>
This commit is contained in:
committed by
Damien George
parent
2d08f2f631
commit
f6dcf35d5c
@@ -5,6 +5,17 @@ except:
|
||||
print("SKIP")
|
||||
raise SystemExit
|
||||
|
||||
# Skip this test on "REPR B" where (1<<29 + 1) is not a small int.
|
||||
k = 1 << 29
|
||||
micropython.heap_lock()
|
||||
try:
|
||||
k = k + 1
|
||||
except MemoryError:
|
||||
print("SKIP")
|
||||
raise SystemExit
|
||||
finally:
|
||||
micropython.heap_unlock()
|
||||
|
||||
# All less than small int max.
|
||||
for d in (0, 27, 1<<29, -1861, -(1<<29)):
|
||||
i = 1<<70
|
||||
|
||||
22
tests/basics/int_big_to_small_int29.py
Normal file
22
tests/basics/int_big_to_small_int29.py
Normal file
@@ -0,0 +1,22 @@
|
||||
try:
|
||||
import micropython
|
||||
micropython.heap_lock
|
||||
except:
|
||||
print("SKIP")
|
||||
raise SystemExit
|
||||
|
||||
# All less than small int max.
|
||||
for d in (0, 27, 1<<28, -1861, -(1<<28)):
|
||||
i = 1<<70
|
||||
print(i)
|
||||
j = (1<<70) + d
|
||||
print(j)
|
||||
# k should now be a small int.
|
||||
k = j - i
|
||||
print(k)
|
||||
|
||||
# Now verify that working with k doesn't allocate (i.e. it's a small int).
|
||||
micropython.heap_lock()
|
||||
print(k + 20)
|
||||
print(k // 20)
|
||||
micropython.heap_unlock()
|
||||
25
tests/basics/int_big_to_small_int29.py.exp
Normal file
25
tests/basics/int_big_to_small_int29.py.exp
Normal file
@@ -0,0 +1,25 @@
|
||||
1180591620717411303424
|
||||
1180591620717411303424
|
||||
0
|
||||
20
|
||||
0
|
||||
1180591620717411303424
|
||||
1180591620717411303451
|
||||
27
|
||||
47
|
||||
1
|
||||
1180591620717411303424
|
||||
1180591620717679738880
|
||||
268435456
|
||||
268435476
|
||||
13421772
|
||||
1180591620717411303424
|
||||
1180591620717411301563
|
||||
-1861
|
||||
-1841
|
||||
-94
|
||||
1180591620717411303424
|
||||
1180591620717142867968
|
||||
-268435456
|
||||
-268435436
|
||||
-13421773
|
||||
Reference in New Issue
Block a user