diff options
Diffstat (limited to 'chart2/source/tools/PotentialRegressionCurveCalculator.cxx')
-rw-r--r-- | chart2/source/tools/PotentialRegressionCurveCalculator.cxx | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/chart2/source/tools/PotentialRegressionCurveCalculator.cxx b/chart2/source/tools/PotentialRegressionCurveCalculator.cxx index 89f6dc5b9e6e..504048641b59 100644 --- a/chart2/source/tools/PotentialRegressionCurveCalculator.cxx +++ b/chart2/source/tools/PotentialRegressionCurveCalculator.cxx @@ -21,6 +21,7 @@ #include <RegressionCalculationHelper.hxx> #include <SpecialCharacters.hxx> +#include <limits> #include <rtl/math.hxx> #include <rtl/ustrbuf.hxx> @@ -30,12 +31,10 @@ namespace chart { PotentialRegressionCurveCalculator::PotentialRegressionCurveCalculator() - : m_fSlope(0.0) - , m_fIntercept(0.0) + : m_fSlope(std::numeric_limits<double>::quiet_NaN()) + , m_fIntercept(std::numeric_limits<double>::quiet_NaN()) , m_fSign(1.0) { - ::rtl::math::setNan( & m_fSlope ); - ::rtl::math::setNan( & m_fIntercept ); } PotentialRegressionCurveCalculator::~PotentialRegressionCurveCalculator() @@ -61,9 +60,9 @@ void SAL_CALL PotentialRegressionCurveCalculator::recalculateRegression( nMax = aValues.first.size(); if( nMax <= 1 ) { - ::rtl::math::setNan( & m_fSlope ); - ::rtl::math::setNan( & m_fIntercept ); - ::rtl::math::setNan( & m_fCorrelationCoefficient ); + m_fSlope = std::numeric_limits<double>::quiet_NaN(); + m_fIntercept = std::numeric_limits<double>::quiet_NaN(); + m_fCorrelationCoefficient = std::numeric_limits<double>::quiet_NaN(); return; } m_fSign = -1.0; @@ -101,16 +100,13 @@ void SAL_CALL PotentialRegressionCurveCalculator::recalculateRegression( double SAL_CALL PotentialRegressionCurveCalculator::getCurveValue( double x ) { - double fResult; - ::rtl::math::setNan( & fResult ); - if( ! ( std::isnan( m_fSlope ) || std::isnan( m_fIntercept ))) { - fResult = m_fIntercept * pow( x, m_fSlope ); + return m_fIntercept * pow( x, m_fSlope ); } - return fResult; + return std::numeric_limits<double>::quiet_NaN(); } uno::Sequence< geometry::RealPoint2D > SAL_CALL PotentialRegressionCurveCalculator::getCurveValues( @@ -124,11 +120,8 @@ uno::Sequence< geometry::RealPoint2D > SAL_CALL PotentialRegressionCurveCalculat isLogarithmicScaling( xScalingY )) { // optimize result - uno::Sequence< geometry::RealPoint2D > aResult( 2 ); - aResult[0].X = min; - aResult[0].Y = getCurveValue( min ); - aResult[1].X = max; - aResult[1].Y = getCurveValue( max ); + uno::Sequence< geometry::RealPoint2D > aResult{ { min, getCurveValue( min ) }, + { max, getCurveValue( max ) } }; return aResult; } @@ -181,8 +174,8 @@ OUString PotentialRegressionCurveCalculator::ImplGetRepresentation( } if( m_fSlope != 0.0 ) // add slope value { - aTmpBuf.append( mXName + "^" ); - aTmpBuf.append( getFormattedString( xNumFormatter, nNumberFormatKey, m_fSlope, pValueLength )); + aTmpBuf.append( mXName + "^" + + getFormattedString( xNumFormatter, nNumberFormatKey, m_fSlope, pValueLength )); } addStringToEquation( aBuf, nLineLength, aTmpBuf, pFormulaMaxWidth ); } |