[clutter] Adds a CLUTTER_NEARBYINT macro for float rounding



commit 32487af55b72e5a1be34176bc462ff11d8d378fc
Author: Robert Bragg <robert linux intel com>
Date:   Tue Jul 12 01:02:43 2011 +0100

    Adds a CLUTTER_NEARBYINT macro for float rounding
    
    This is a replacement for the nearbyint function which always rounds to
    the nearest integer. nearbyint is a C99 function so it might not always
    be available but also it seems in glibc it is defined as a function call
    so this macro could end up faster anyway. We can't just add 0.5 because
    it will break for negative numbers.
    
    Signed-off-by: Neil Roberts <neil linux intel com>
    Signed-off-by: Emmanuele Bassi <ebassi linux intel com>

 clutter/clutter-private.h |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/clutter/clutter-private.h b/clutter/clutter-private.h
index 2c3dd6e..e9d0bd2 100644
--- a/clutter/clutter-private.h
+++ b/clutter/clutter-private.h
@@ -84,6 +84,13 @@ typedef struct _ClutterMainContext      ClutterMainContext;
 #define P_(String) (String)
 #endif
 
+/* This is a replacement for the nearbyint function which always rounds to the
+ * nearest integer. nearbyint is apparently a C99 function so it might not
+ * always be available but also it seems in glibc it is defined as a function
+ * call so this macro could end up faster anyway. We can't just add 0.5f
+ * because it will break for negative numbers. */
+#define CLUTTER_NEARBYINT(x) ((int) ((x) < 0.0f ? (x) - 0.5f : (x) + 0.5f))
+
 typedef enum {
   CLUTTER_ACTOR_UNUSED_FLAG = 0,
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]