summaryrefslogtreecommitdiff
path: root/py/objfloat.c
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2025-10-01 12:21:27 +1000
committerDamien George <damien@micropython.org>2025-10-01 23:59:15 +1000
commitdcbda765d1dc654cdcba06e0a01649256330794e (patch)
treebb540d2031bfe305a8a6ce70a5e38f02135871e1 /py/objfloat.c
parent381cd730c834a1d071e7e90787ef7354b8532142 (diff)
py/modmath: Make MICROPY_PY_MATH_POW_FIX_NAN also fix pow(x, NaN) cases.
This is needed by the zephyr port. Combining it with the existing `MICROPY_PY_MATH_POW_FIX_NAN` option should be safe, and eliminates the need for a separate option. Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py/objfloat.c')
-rw-r--r--py/objfloat.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/py/objfloat.c b/py/objfloat.c
index 125b576fb..b0ad70de4 100644
--- a/py/objfloat.c
+++ b/py/objfloat.c
@@ -301,6 +301,10 @@ mp_obj_t mp_obj_float_binary_op(mp_binary_op_t op, mp_float_t lhs_val, mp_obj_t
lhs_val = MICROPY_FLOAT_CONST(1.0);
break;
}
+ if (isnan(rhs_val)) {
+ lhs_val = rhs_val;
+ break;
+ }
#endif
lhs_val = MICROPY_FLOAT_C_FUN(pow)(lhs_val, rhs_val);
break;