Evas: faster "lround"
authorVincent Torri <vincent.torri@gmail.com>
Thu, 13 Oct 2011 06:55:12 +0000 (06:55 +0000)
committerVincent Torri <vincent.torri@gmail.com>
Thu, 13 Oct 2011 06:55:12 +0000 (06:55 +0000)
SVN revision: 64036

legacy/evas/src/lib/include/evas_common.h

index 726790c..6d68240 100644 (file)
 #include <unistd.h>
 
 #ifndef HAVE_LROUND
-// right now i dont care about rendering bugs on platforms without lround
-// (e.g. windows/vc++... yay!)
-#define lround(x) ((long int)(x + (x / (2.0 * abs(x)))))
+/* right now i dont care about rendering bugs on platforms without lround
+ (e.g. windows/vc++... yay!)
+ FIXME: http://cgit.freedesktop.org/cairo/tree/src/cairo-misc.c#n487
+*/
+#define lround(x) (((x) < 0) ? (long int)ceil((x) - 0.5) : (long int)floor((x) + 0.5))
 #endif
 
 /* macros needed to log message through eina_log */