eina: add general purpose function to compar float and double.
authorCedric BAIL <cedric@osg.samsung.com>
Mon, 19 Dec 2016 20:03:49 +0000 (12:03 -0800)
committerCedric BAIL <cedric@osg.samsung.com>
Tue, 20 Dec 2016 00:33:46 +0000 (16:33 -0800)
src/lib/eina/eina_util.h

index c1ea02f..66e0d17 100644 (file)
@@ -19,6 +19,8 @@
 #ifndef EINA_UTIL_H_
 #define EINA_UTIL_H_
 
+#include <float.h>
+
 /**
  * @addtogroup Eina_Tools_Group Tools
  *
@@ -48,6 +50,24 @@ EAPI const char *eina_environment_home_get(void);
 EAPI const char *eina_environment_tmp_get(void);
 
 /**
+ * @brief Safe comparison of float
+ * @param a First member to compar
+ * @param b Second member to compar
+ *
+ * @return @c true if two floats match
+ */
+#define EINA_FLT_CMP(a, b) (fabsf((float)a - (float)b) <= FLT_EPSILON)
+
+/**
+ * @brief Safe comparison of double
+ * @param a First member to compar
+ * @param b Second member to compar
+ *
+ * @return @c true if two double match
+ */
+#define EINA_DBL_CMP(a, b) (fabs((double)a - (double)b) <= DBL_EPSILON)
+
+/**
  * @}
  */