summaryrefslogtreecommitdiffstatshomepage
path: root/py/modmath.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2015-02-22 14:48:18 +0000
committerDamien George <damien.p.george@gmail.com>2015-02-22 14:48:18 +0000
commit5cbeacebdb8407425e692205f7333452e8a57784 (patch)
tree7862a270c4b0a78379994b7610b0856cb1826f7c /py/modmath.c
parent9ab94c468cb0d2a22eadbce2f493e016c462109e (diff)
downloadmicropython-5cbeacebdb8407425e692205f7333452e8a57784.tar.gz
micropython-5cbeacebdb8407425e692205f7333452e8a57784.zip
py: Make math special functions configurable and disabled by default.
The implementation of these functions is very large (order 4k) and they are rarely used, so we don't enable them by default. They are however enabled in stmhal and unix, since we have the room.
Diffstat (limited to 'py/modmath.c')
-rw-r--r--py/modmath.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/py/modmath.c b/py/modmath.c
index 38ed390ddf..46423d2b5c 100644
--- a/py/modmath.c
+++ b/py/modmath.c
@@ -120,6 +120,7 @@ MATH_FUN_1_TO_BOOL(isnan, isnan)
MATH_FUN_1_TO_INT(trunc, trunc)
/// \function ldexp(x, exp)
MATH_FUN_2(ldexp, ldexp)
+#if MICROPY_PY_MATH_SPECIAL_FUNCTIONS
/// \function erf(x)
/// Return the error function of `x`.
MATH_FUN_1(erf, erf)
@@ -132,6 +133,7 @@ MATH_FUN_1(gamma, tgamma)
/// \function lgamma(x)
/// return the natural logarithm of the gamma function of `x`.
MATH_FUN_1(lgamma, lgamma)
+#endif
//TODO: factorial, fsum
// Functions that return a tuple
@@ -211,10 +213,12 @@ STATIC const mp_map_elem_t mp_module_math_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_trunc), (mp_obj_t)&mp_math_trunc_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_radians), (mp_obj_t)&mp_math_radians_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_degrees), (mp_obj_t)&mp_math_degrees_obj },
+ #if MICROPY_PY_MATH_SPECIAL_FUNCTIONS
{ MP_OBJ_NEW_QSTR(MP_QSTR_erf), (mp_obj_t)&mp_math_erf_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_erfc), (mp_obj_t)&mp_math_erfc_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_gamma), (mp_obj_t)&mp_math_gamma_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_lgamma), (mp_obj_t)&mp_math_lgamma_obj },
+ #endif
};
STATIC MP_DEFINE_CONST_DICT(mp_module_math_globals, mp_module_math_globals_table);