diff options
| author | Damien George <damien@micropython.org> | 2023-09-27 13:11:58 +1000 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2023-09-29 12:00:15 +1000 |
| commit | 3695211576ed69671b98412ff5278265ab65e6bd (patch) | |
| tree | d86ccbb1f4888a1a48572d4de72a14918298238d | |
| parent | 52f76cf4fc1287b000e510a8ed50297bbdb4d4de (diff) | |
tests/float/float_format_ints.py: Put power-of-10 test in separate file.
This test doesn't pass on builds with 30-bit floats (object repr C).
Signed-off-by: Damien George <damien@micropython.org>
| -rw-r--r-- | tests/float/float_format_ints.py | 6 | ||||
| -rw-r--r-- | tests/float/float_format_ints_power10.py | 8 | ||||
| -rwxr-xr-x | tests/run-tests.py | 1 |
3 files changed, 9 insertions, 6 deletions
diff --git a/tests/float/float_format_ints.py b/tests/float/float_format_ints.py index 0bf4baf12..df4444166 100644 --- a/tests/float/float_format_ints.py +++ b/tests/float/float_format_ints.py @@ -12,12 +12,6 @@ for b in [13, 123, 457, 23456]: print(title, "with format", f_fmt, "gives", f_fmt.format(f)) print(title, "with format", g_fmt, "gives", g_fmt.format(f)) -# Check that powers of 10 (that fit in float32) format correctly. -for i in range(31): - # It works to 12 digits on all platforms *except* qemu-arm, where - # 10^11 comes out as 10000000820 or something. - print("{:.7g}".format(float("1e" + str(i)))) - # 16777215 is 2^24 - 1, the largest integer that can be completely held # in a float32. print("{:f}".format(16777215)) diff --git a/tests/float/float_format_ints_power10.py b/tests/float/float_format_ints_power10.py new file mode 100644 index 000000000..98900c135 --- /dev/null +++ b/tests/float/float_format_ints_power10.py @@ -0,0 +1,8 @@ +# Test that integers format to exact values. +# This test requires at least 32-bit floats (won't work with 30-bit). + +# Check that powers of 10 (that fit in float32) format correctly. +for i in range(31): + # It works to 12 digits on all platforms *except* qemu-arm, where + # 10^11 comes out as 10000000820 or something. + print(i, "{:.7g}".format(float("1e" + str(i)))) diff --git a/tests/run-tests.py b/tests/run-tests.py index de886b8ae..2d511c20c 100755 --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -525,6 +525,7 @@ def run_tests(pyb, tests, args, result_dir, num_threads=1): ) # requires fp32, there's string_format_fp30.py instead skip_tests.add("float/bytes_construct.py") # requires fp32 skip_tests.add("float/bytearray_construct.py") # requires fp32 + skip_tests.add("float/float_format_ints_power10.py") # requires fp32 if upy_float_precision < 64: skip_tests.add("float/float_divmod.py") # tested by float/float_divmod_relaxed.py instead skip_tests.add("float/float2int_doubleprec_intbig.py") |
