added more warning flags
authorPatrik Gornicz <Gornicz.P@gmail.com>
Tue, 1 Sep 2009 01:20:24 +0000 (21:20 -0400)
committerPatrik Gornicz <Gornicz.P@gmail.com>
Tue, 1 Sep 2009 01:20:24 +0000 (21:20 -0400)
lib/src/mathw.cpp
vars.mk

index db4fafb..6d25fb2 100644 (file)
@@ -44,18 +44,27 @@ Vector2 bear::vectorToLine
   float y2
 )
 {
-    float lineSize = (float) sqrt((x1 - x2) * (x1 - x2)
-                                + (y1 - y2) * (y1 - y2));
-    if (lineSize == 0)
+    double lineSize = sqrt((x1 - x2) * (x1 - x2)
+                         + (y1 - y2) * (y1 - y2));
+    double sqrLineSize = lineSize * lineSize;
+
+    // TODO: What should I do here for near 0?
+    if (-0.00000000001 <= sqrLineSize && sqrLineSize <= 0.00000000001)
+    {
         return Vector2(x1 - vec.m_fX, y1 - vec.m_fY);
+    }
 
     float u = ((vec.m_fX - x1) * (x2 - x1)
-             + (vec.m_fY - y1) * (y2 - y1)) / (lineSize * lineSize);
+             + (vec.m_fY - y1) * (y2 - y1)) / sqrLineSize;
 
     if (u < 0)
+    {
         return Vector2(x1 - vec.m_fX, y1 - vec.m_fY);
+    }
     else if (u > 1)
+    {
         return Vector2(x2 - vec.m_fX, y2 - vec.m_fY);
+    }
     else
     {
         float ix = x1 + u * (x2 - x1);
diff --git a/vars.mk b/vars.mk
index c7a4664..e3709e2 100644 (file)
--- a/vars.mk
+++ b/vars.mk
@@ -24,7 +24,16 @@ endif
 T_OPTFLAGS := -O2
 T_DBGFLAGS := -ggdb
 T_PRFFLAGS := ${T_DBGFLAGS} -pg
-T_WARFLAGS := -Wall -Wextra -pedantic -ansi -Wshadow
+
+T_WARFLAGS :=
+T_WARFLAGS += -Wall
+T_WARFLAGS += -Wextra
+T_WARFLAGS += -pedantic
+T_WARFLAGS += -ansi
+T_WARFLAGS += -Wshadow
+T_WARFLAGS += -Wswitch-enum
+T_WARFLAGS += -Wfloat-equal
+T_WARFLAGS += -Wundef
 
 G_CXXFLAGS := ${T_WARFLAGS}
 ifeq (${G_BUILD},${B_DEBUG})