diff --git a/src/Metrics/RideMetric.h b/src/Metrics/RideMetric.h index 9e771d0cb..488e421e3 100644 --- a/src/Metrics/RideMetric.h +++ b/src/Metrics/RideMetric.h @@ -302,6 +302,9 @@ public: // Get the value and apply conversion if needed double value(bool metric) const; + // Apply conversion if needed to the supplied value + double value(double v, bool metric) const; + // for averages the count of items included in the average double count() const; diff --git a/src/Metrics/UserMetric.cpp b/src/Metrics/UserMetric.cpp index e7e7ae968..26ba22f1b 100644 --- a/src/Metrics/UserMetric.cpp +++ b/src/Metrics/UserMetric.cpp @@ -164,6 +164,14 @@ UserMetric::value(bool metric) const else return (value() * conversion()) + conversionSum(); } +// Apply conversion if needed to the supplied value +double +UserMetric::value(double v, bool metric) const +{ + if (metric) return v; + else return (v * conversion()) + conversionSum(); +} + // for averages the count of items included in the average double UserMetric::count() const