mesa: Work-arounds for platforms that lack C99 math functions
authorIan Romanick <ian.d.romanick@intel.com>
Sat, 14 Aug 2010 03:18:08 +0000 (20:18 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Sat, 14 Aug 2010 03:18:08 +0000 (20:18 -0700)
src/mesa/main/imports.h

index 9c2ffd66d69908dc74ce0b19c520e448ee684c77..846a9a0faf4fb5f7cd702ee1b43b5a11c4c64204 100644 (file)
@@ -116,6 +116,34 @@ typedef union { GLfloat f; GLint i; } fi_type;
 #endif
 
 
+/**
+ * \name Work-arounds for platforms that lack C99 math functions
+ */
+/*@{*/
+#if (_XOPEN_SOURCE < 600) && !defined(_ISOC99_SOURCE) \
+   && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L))
+#define acosf(f) ((float) acos(f))
+#define asinf(f) ((float) asin(f))
+#define atan2f(f) ((float) atan2(f))
+#define atanf(f) ((float) atan(f))
+#define cielf(f) ((float) ciel(f))
+#define cosf(f) ((float) cos(f))
+#define coshf(f) ((float) cosh(f))
+#define expf(f) ((float) exp(f))
+#define exp2f(f) ((float) exp2(f))
+#define floorf(f) ((float) floor(f))
+#define logf(f) ((float) log(f))
+#define log2f(f) ((float) log2(f))
+#define powf(f) ((float) pow(f))
+#define sinf(f) ((float) sin(f))
+#define sinhf(f) ((float) sinh(f))
+#define sqrtf(f) ((float) sqrt(f))
+#define tanf(f) ((float) tan(f))
+#define tanhf(f) ((float) tanh(f))
+#define truncf(f) ((float) trunc(f))
+#endif
+/*@}*/
+
 /***
  *** LOG2: Log base 2 of float
  ***/