mirror of
https://github.com/micropython/micropython.git
synced 2026-01-06 20:20:14 +01:00
tests/float/float_parse: Allow test to run on 32-bit archs.
Printing of uPy floats can differ by the floating-point precision on different architectures (eg 64-bit vs 32-bit x86), so it's not possible to using printing of floats in some parts of this test. Instead we can just check for equivalence with what is known to be the correct answer.
This commit is contained in:
@@ -17,8 +17,8 @@ print(float('.' + '9' * 70 + 'e-50') == float('1e-50'))
|
||||
|
||||
# tiny fraction with large exponent
|
||||
print(float('.' + '0' * 60 + '1e10') == float('1e-51'))
|
||||
print(float('.' + '0' * 60 + '9e25'))
|
||||
print(float('.' + '0' * 60 + '9e40'))
|
||||
print(float('.' + '0' * 60 + '9e25') == float('9e-36'))
|
||||
print(float('.' + '0' * 60 + '9e40') == float('9e-21'))
|
||||
|
||||
# ensure that accuracy is retained when value is close to a subnormal
|
||||
print(float('1.00000000000000000000e-37'))
|
||||
|
||||
@@ -324,7 +324,6 @@ def run_tests(pyb, tests, args, base_path="."):
|
||||
skip_tests.add('basics/subclass_native_init.py')# native subclassing corner cases not support
|
||||
skip_tests.add('misc/rge_sm.py') # too large
|
||||
skip_tests.add('micropython/opt_level.py') # don't assume line numbers are stored
|
||||
skip_tests.add('float/float_parse.py') # minor parsing artifacts with 32-bit floats
|
||||
|
||||
# Some tests are known to fail on 64-bit machines
|
||||
if pyb is None and platform.architecture()[0] == '64bit':
|
||||
|
||||
Reference in New Issue
Block a user