mirror of
https://github.com/micropython/micropython.git
synced 2026-01-05 11:40:18 +01:00
py/objfloat: Fix handling of negative float to power of nan.
Prior to this commit, pow(-2, float('nan')) would return (nan+nanj), or
raise an exception on targets that don't support complex numbers. This is
fixed to return simply nan, as CPython does.
Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
20
tests/float/inf_nan_arith.py
Normal file
20
tests/float/inf_nan_arith.py
Normal file
@@ -0,0 +1,20 @@
|
||||
# Test behaviour of inf and nan in basic float operations
|
||||
|
||||
inf = float("inf")
|
||||
nan = float("nan")
|
||||
|
||||
values = (-2, -1, 0, 1, 2, inf, nan)
|
||||
|
||||
for x in values:
|
||||
for y in values:
|
||||
print(x, y)
|
||||
print(" + - *", x + y, x - y, x * y)
|
||||
try:
|
||||
print(" /", x / y)
|
||||
except ZeroDivisionError:
|
||||
print(" / ZeroDivisionError")
|
||||
try:
|
||||
print(" ** pow", x ** y, pow(x, y))
|
||||
except ZeroDivisionError:
|
||||
print(" ** pow ZeroDivisionError")
|
||||
print(" == != < <= > >=", x == y, x != y, x < y, x <= y, x > y, x >= y)
|
||||
Reference in New Issue
Block a user