int ilogb(float x);
float ldexp(float x, int e);
//float log(float x);
+float logn(float x, float base);
float log10(float x);
float log1p(float x);
float log2(float x);
const float M_LOG10E = 0.43429448190325182765; /* log_10 e */
const float M_LN2 = 0.69314718055994530942; /* log_e 2 */
const float M_LN10 = 2.30258509299404568402; /* log_e 10 */
-const float M_PI = 3.14159265358979323846; /* pi */
+// -Wdouble-declaration
+#define M_PI 3.14159265358979323846 /* pi */
const float M_PI_2 = 1.57079632679489661923; /* pi/2 */
const float M_PI_4 = 0.78539816339744830962; /* pi/4 */
const float M_1_PI = 0.31830988618379067154; /* 1/pi */
const float M_2_SQRTPI = 1.12837916709551257390; /* 2/sqrt(pi) */
const float M_SQRT2 = 1.41421356237309504880; /* sqrt(2) */
const float M_SQRT1_2 = 0.70710678118654752440; /* 1/sqrt(2) */
+
+// Non-<math.h> stuff follows here.
+vector cross(vector a, vector b);
+
#endif