diff --git a/cores/arduino/wiring_constants.h b/cores/arduino/wiring_constants.h index 1231a2f..f46dc93 100644 --- a/cores/arduino/wiring_constants.h +++ b/cores/arduino/wiring_constants.h @@ -56,25 +56,23 @@ enum BitOrder #define NOT_AN_INTERRUPT -1 // Math -#ifdef __cplusplus - #include - using std::min; - using std::max; -#else // C - #include - #ifndef abs - #define abs(x) ((x)>0?(x):-(x)) - #endif // abs +#include +// undefine stdlib's abs if encountered +#ifdef abs +#undef abs +#endif +#ifndef abs + #define abs(x) ((x)>0?(x):-(x)) +#endif // abs - #ifndef min - #define min(a,b) ((a)<(b)?(a):(b)) - #endif // min +#ifndef min + #define min(a,b) ((a)<(b)?(a):(b)) +#endif // min - #ifndef max - #define max(a,b) ((a)>(b)?(a):(b)) - #endif // max +#ifndef max + #define max(a,b) ((a)>(b)?(a):(b)) +#endif // max -#endif // __cplusplus #define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) #define radians(deg) ((deg)*DEG_TO_RAD) #define degrees(rad) ((rad)*RAD_TO_DEG)