29 #if MICROPY_PY_BUILTINS_FLOAT && MICROPY_PY_BUILTINS_COMPLEX && MICROPY_PY_CMATH 35 mp_float_t real, imag;
36 mp_obj_get_complex(z_obj, &real, &imag);
37 return mp_obj_new_float(MICROPY_FLOAT_C_FUN(
atan2)(imag, real));
43 mp_float_t real, imag;
44 mp_obj_get_complex(z_obj, &real, &imag);
46 mp_obj_new_float(MICROPY_FLOAT_C_FUN(
sqrt)(real*real + imag*imag)),
47 mp_obj_new_float(MICROPY_FLOAT_C_FUN(
atan2)(imag, real)),
55 mp_float_t r = mp_obj_get_float(r_obj);
56 mp_float_t phi = mp_obj_get_float(phi_obj);
57 return mp_obj_new_complex(r * MICROPY_FLOAT_C_FUN(
cos)(phi), r * MICROPY_FLOAT_C_FUN(
sin)(phi));
63 mp_float_t real, imag;
64 mp_obj_get_complex(z_obj, &real, &imag);
65 mp_float_t exp_real = MICROPY_FLOAT_C_FUN(
exp)(real);
66 return mp_obj_new_complex(exp_real * MICROPY_FLOAT_C_FUN(
cos)(imag), exp_real * MICROPY_FLOAT_C_FUN(
sin)(imag));
73 mp_float_t real, imag;
74 mp_obj_get_complex(z_obj, &real, &imag);
75 return mp_obj_new_complex(0.5 * MICROPY_FLOAT_C_FUN(
log)(real*real + imag*imag), MICROPY_FLOAT_C_FUN(
atan2)(imag, real));
79 #if MICROPY_PY_MATH_SPECIAL_FUNCTIONS 82 mp_float_t real, imag;
83 mp_obj_get_complex(z_obj, &real, &imag);
84 return mp_obj_new_complex(0.5 * MICROPY_FLOAT_C_FUN(
log10)(real*real + imag*imag), 0.4342944819032518 * MICROPY_FLOAT_C_FUN(
atan2)(imag, real));
91 mp_float_t real, imag;
92 mp_obj_get_complex(z_obj, &real, &imag);
93 mp_float_t sqrt_abs = MICROPY_FLOAT_C_FUN(
pow)(real*real + imag*imag, 0.25);
94 mp_float_t theta = 0.5 * MICROPY_FLOAT_C_FUN(
atan2)(imag, real);
95 return mp_obj_new_complex(sqrt_abs * MICROPY_FLOAT_C_FUN(
cos)(theta), sqrt_abs * MICROPY_FLOAT_C_FUN(
sin)(theta));
101 mp_float_t real, imag;
102 mp_obj_get_complex(z_obj, &real, &imag);
103 return mp_obj_new_complex(MICROPY_FLOAT_C_FUN(
cos)(real) * MICROPY_FLOAT_C_FUN(
cosh)(imag), -MICROPY_FLOAT_C_FUN(
sin)(real) * MICROPY_FLOAT_C_FUN(
sinh)(imag));
109 mp_float_t real, imag;
110 mp_obj_get_complex(z_obj, &real, &imag);
111 return mp_obj_new_complex(MICROPY_FLOAT_C_FUN(
sin)(real) * MICROPY_FLOAT_C_FUN(
cosh)(imag), MICROPY_FLOAT_C_FUN(
cos)(real) * MICROPY_FLOAT_C_FUN(
sinh)(imag));
124 #if MICROPY_PY_MATH_SPECIAL_FUNCTIONS 152 #endif // MICROPY_PY_BUILTINS_FLOAT && MICROPY_PY_CMATH
mp_obj_t mp_obj_new_tuple(size_t n, const mp_obj_t *items)
#define MP_DEFINE_CONST_DICT(dict_name, table_name)
#define MP_DEFINE_CONST_FUN_OBJ_1(obj_name, fun_name)
#define MP_DEFINE_CONST_FUN_OBJ_2(obj_name, fun_name)
const mp_obj_type_t mp_type_module
const mp_obj_module_t mp_module_cmath