From: Patrik Gornicz Date: Tue, 1 Sep 2009 01:20:24 +0000 (-0400) Subject: added more warning flags X-Git-Tag: libbear-premerge~7 X-Git-Url: http://gitweb.pgornicz.com/?a=commitdiff_plain;h=c08ba753843029747f9ff7dbbca7451a12d190f7;p=libbear.git added more warning flags --- diff --git a/lib/src/mathw.cpp b/lib/src/mathw.cpp index db4fafb..6d25fb2 100644 --- a/lib/src/mathw.cpp +++ b/lib/src/mathw.cpp @@ -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 --- 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})