util: Define round and roundf on MSVC.
authorJosé Fonseca <jfonseca@vmware.com>
Fri, 11 Feb 2011 11:11:33 +0000 (11:11 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Fri, 11 Feb 2011 11:11:33 +0000 (11:11 +0000)
src/gallium/auxiliary/util/u_math.h

index 37294b7..30555f9 100644 (file)
@@ -176,7 +176,7 @@ static INLINE float logf( float f )
 
 #define isfinite(x) _finite((double)(x))
 #define isnan(x) _isnan((double)(x))
-#endif
+#endif /* _MSC_VER < 1400 && !defined(__cplusplus) */
 
 static INLINE double log2( double x )
 {
@@ -184,6 +184,18 @@ static INLINE double log2( double x )
    return log( x ) * invln2;
 }
 
+static INLINE double
+round(double x)
+{
+   return x >= 0.0 ? floor(x + 0.5) : ceil(x - 0.5);
+}
+
+static INLINE float
+roundf(float x)
+{
+   return x >= 0.0f ? floorf(x + 0.5f) : ceilf(x - 0.5f);
+}
+
 #endif /* _MSC_VER */