From 6fead318322bb21e30fdcbdccf343e02dc51990f Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Thu, 25 Jul 2024 12:11:32 +1000 Subject: [PATCH] esp32: Enable workaround for math.gamma(-inf) result. Without this commit, math.gamma(-float("inf")) returns inf instead of raising a math domain ValueError. Needed for float/math_domain_special.py test to pass on esp32. Root cause is an upstream libm bug, has been reported to ESP-IDF. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton --- ports/esp32/mpconfigport.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ports/esp32/mpconfigport.h b/ports/esp32/mpconfigport.h index b9e53a4fa..3349e56e4 100644 --- a/ports/esp32/mpconfigport.h +++ b/ports/esp32/mpconfigport.h @@ -282,6 +282,10 @@ typedef long mp_off_t; #define MICROPY_PY_MACHINE_BOOTLOADER (0) #endif +// Workaround for upstream bug https://github.com/espressif/esp-idf/issues/14273 +// Can be removed if a fix is available in supported ESP-IDF versions. +#define MICROPY_PY_MATH_GAMMA_FIX_NEGINF (1) + #ifndef MICROPY_BOARD_STARTUP #define MICROPY_BOARD_STARTUP boardctrl_startup #endif