From afaa14f2d84c0071b1ca8b75e35ba456382bb29f Mon Sep 17 00:00:00 2001 From: "Anselmo Lacerda S. de Melo" Date: Fri, 29 May 2009 20:59:28 -0300 Subject: QSimplex: Skip x = x + y*0.0 A small optimization. Added a verification in combineRows to skip calculating x = x + y*0.0 as it obviously won't change the value of x. Signed-off-by: Anselmo Lacerda S. de Melo --- src/gui/graphicsview/qsimplex_p.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qsimplex_p.cpp b/src/gui/graphicsview/qsimplex_p.cpp index b1cba45..b90d53f 100644 --- a/src/gui/graphicsview/qsimplex_p.cpp +++ b/src/gui/graphicsview/qsimplex_p.cpp @@ -220,7 +220,13 @@ void QSimplex::combineRows(int toIndex, int fromIndex, qreal factor) qreal *to = matrix + toIndex * columns; for (int j = 1; j < columns; ++j) { - to[j] += factor * from[j]; + qreal value = from[j]; + + // skip to[j] = to[j] + factor*0.0 + if (value == 0.0) + continue; + + to[j] += factor * value; // ### Avoid Numerical errors if (qAbs(to[j]) < 0.0000000001) -- cgit v0.12