diff options
| author | Yoctopuce dev <dev@yoctopuce.com> | 2025-07-20 16:38:33 +0200 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2025-07-29 01:14:35 +1000 |
| commit | 3a72f95919323d7a36cb3d153d92de90d64853a1 (patch) | |
| tree | 69071a3e8593e0225851adba79cf0018ed038355 /tests | |
| parent | 3c69277ba9e0f1e66c341c084320f7a763e1bdeb (diff) | |
py/objint_longlong: Fix longlong interoperability with floats.
Current longlong implementation does not allow a float as RHS of mathematic
operators, as it lacks the delegation code present in mpz.
Signed-off-by: Yoctopuce dev <dev@yoctopuce.com>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/float/int_64_float.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/float/int_64_float.py b/tests/float/int_64_float.py new file mode 100644 index 000000000..ffdb0c71d --- /dev/null +++ b/tests/float/int_64_float.py @@ -0,0 +1,25 @@ +# test int64 operation with float/complex + +i = 1 << 40 + +# convert int64 to float on rhs +print("%.5g" % (2.0 * i)) + +# negative int64 as float +print("%.5g" % float(-i)) + +# this should convert to float +print("%.5g" % (i / 5)) + +# these should delegate to float +print("%.5g" % (i * 1.2)) +print("%.5g" % (i / 1.2)) + +# negative power should produce float +print("%.5g" % (i**-1)) +print("%.5g" % ((2 + i - i) ** -3)) + +try: + i / 0 +except ZeroDivisionError: + print("ZeroDivisionError") |
