py/objfloat, py/modmath: Ensure M_PI and M_E defined.
In some compliation enviroments (e.g. mbed online compiler) with strict standards compliance, <math.h> does not define constants such as M_PI. Provide fallback definitions of M_E and M_PI where needed.
This commit is contained in:
parent
d45e5f8c35
commit
a896951a9a
|
@ -31,6 +31,11 @@
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
// M_PI is not part of the math.h standard and may not be defined
|
||||||
|
#ifndef M_PI
|
||||||
|
#define M_PI (3.14159265358979323846)
|
||||||
|
#endif
|
||||||
|
|
||||||
/// \module math - mathematical functions
|
/// \module math - mathematical functions
|
||||||
///
|
///
|
||||||
/// The `math` module provides some basic mathematical funtions for
|
/// The `math` module provides some basic mathematical funtions for
|
||||||
|
|
|
@ -41,6 +41,14 @@
|
||||||
|
|
||||||
#if MICROPY_OBJ_REPR != MICROPY_OBJ_REPR_C && MICROPY_OBJ_REPR != MICROPY_OBJ_REPR_D
|
#if MICROPY_OBJ_REPR != MICROPY_OBJ_REPR_C && MICROPY_OBJ_REPR != MICROPY_OBJ_REPR_D
|
||||||
|
|
||||||
|
// M_E and M_PI are not part of the math.h standard and may not be defined
|
||||||
|
#ifndef M_E
|
||||||
|
#define M_E (2.7182818284590452354)
|
||||||
|
#endif
|
||||||
|
#ifndef M_PI
|
||||||
|
#define M_PI (3.14159265358979323846)
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef struct _mp_obj_float_t {
|
typedef struct _mp_obj_float_t {
|
||||||
mp_obj_base_t base;
|
mp_obj_base_t base;
|
||||||
mp_float_t value;
|
mp_float_t value;
|
||||||
|
|
Loading…
Reference in New Issue