From ad8e5015e10c129e60fdf6c6d2e04d9a08678301 Mon Sep 17 00:00:00 2001 From: Sean Rhea Date: Sat, 1 Aug 2009 14:04:48 -0700 Subject: [PATCH] fix zero-torque bug in PowerHist --- src/PowerHist.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/PowerHist.cpp b/src/PowerHist.cpp index 588235eb7..560a709cf 100644 --- a/src/PowerHist.cpp +++ b/src/PowerHist.cpp @@ -450,19 +450,21 @@ PowerHist::setData(RideItem *_rideItem) maxWattsIndex = wattsIndex; } - int nmIndex = int(floor(p1->nm * torque_factor / nmDelta)); - if (nmIndex < maxSize) { - if (nmIndex >= nmArray->size()) { - int size = nmArray->size(); - int newsize = min(1.5 * nmIndex, maxSize); - nmArray->resize(newsize); - for (int i = size + 1; i < newsize; i ++) - (*nmArray)[i] = 0; - } - (*nmArray)[nmIndex] ++; - if (nmIndex >= maxNmIndex) - maxNmIndex = nmIndex; - } + if (p1->nm > 0) { + int nmIndex = int(floor(p1->nm * torque_factor / nmDelta)); + if (nmIndex < maxSize) { + if (nmIndex >= nmArray->size()) { + int size = nmArray->size(); + int newsize = min(1.5 * nmIndex, maxSize); + nmArray->resize(newsize); + for (int i = size + 1; i < newsize; i ++) + (*nmArray)[i] = 0; + } + (*nmArray)[nmIndex] ++; + if (nmIndex >= maxNmIndex) + maxNmIndex = nmIndex; + } + } int hrIndex = int(floor(p1->hr / hrDelta)); if (hrIndex < maxSize) {