--- /dev/null
+#ifndef MATH_TOOLS_\r
+#define MATH_TOOLS_\r
+\r
+#define PI_FLOAT 3.141592653589793f\r
+\r
+#ifndef PI\r
+#define PI 3.1415926535897932384626433832795028841971693993751\r
+#endif\r
+\r
+#ifndef MIN\r
+#define MIN(X,Y) ((X)<(Y)?(X):(Y))\r
+#endif\r
+\r
+#ifndef MAX\r
+#define MAX(X,Y) ((X)>(Y)?(X):(Y))\r
+#endif\r
+\r
+class MathTools\r
+ {\r
+ public:\r
+\r
+ /*--------------------------------------*\\r
+ |* Constructor *|\r
+ \*-------------------------------------*/\r
+\r
+ MathTools();\r
+\r
+ /*--------------------------------------*\\r
+ |* Destructor *|\r
+ \*-------------------------------------*/\r
+\r
+ virtual ~MathTools();\r
+\r
+ /*--------------------------------------*\\r
+ |* Methodes Static *|\r
+ \*-------------------------------------*/\r
+\r
+ /*---------------*\\r
+ |* Float *|\r
+ \*---------------*/\r
+\r
+ /**\r
+ * Relatif au max(x1,x2)\r
+ */\r
+ static bool isEquals(float x1, float x2, float epsilon = 0);\r
+\r
+ /**\r
+ * Relatif a reference\r
+ * epsilon pas de valeur par default, sinon meme signature que autre methode (overload)\r
+ */\r
+ static bool isEquals(float a, float b, float reference, float epsilon); //\r
+\r
+ /**\r
+ * Relatif, un a un (au max des 2)\r
+ * Hyp: tab de meme size n\r
+ */\r
+ static bool isEquals(float* tabA, float* tabB, int n, float epsilon = 0);\r
+\r
+ /**\r
+ * Relatif par rapport au max de la série\r
+ * Hyp: tab de meme size n\r
+ */\r
+ static bool isEqualsRelatifMax(float* tabA, float* tabB, int n, float epsilon = 0);\r
+\r
+ /*---------------*\\r
+ |* Double *|\r
+ \*---------------*/\r
+\r
+ /**\r
+ * Relatif au max(x1,x2)\r
+ */\r
+ static bool isEquals(double x1, double x2, double epsilon = 0);\r
+\r
+\r
+ /*---------------*\\r
+ |* Long *|\r
+ \*---------------*/\r
+\r
+ /**\r
+ * Absolu\r
+ */\r
+ static bool isEquals(long x1, long x2);\r
+\r
+ /*---------------*\\r
+ |* isPower2 *|\r
+ \*---------------*/\r
+\r
+ static bool isPower2(long i);\r
+ static bool isPower2(int i);\r
+ static bool isPower2(unsigned int i);\r
+\r
+ private:\r
+\r
+ /*--------------------------------------*\\r
+ |* Methodes *|\r
+ \*-------------------------------------*/\r
+\r
+ static float maxAbs(float a, float b);\r
+\r
+ /**\r
+ * Hyp: tab de meme size n\r
+ */\r
+ static float maxAbs(float* tabA, float* tabB, int n);\r
+\r
+ /*--------------------------------------*\\r
+ |* Attributs *|\r
+ \*-------------------------------------*/\r
+\r
+ };\r
+\r
+#endif\r