Kaydet (Commit) 488c8053 authored tarafından Laurent Balland-Poirier's avatar Laurent Balland-Poirier Kaydeden (comit) Noel Grandin

Improve polynomial trendline equation representation

Insert a blank between x variable and its coefficient
Aplly also to linear trendline

Change-Id: I7d1e61f12aa1cf98b4181df6a4849df1e5293793
Reviewed-on: https://gerrit.libreoffice.org/27265Reviewed-by: 's avatarNoel Grandin <noelgrandin@gmail.com>
Tested-by: 's avatarNoel Grandin <noelgrandin@gmail.com>
üst e53bb6a0
......@@ -152,7 +152,7 @@ void Chart2TrendCalculators::testLinearRegression1()
xValues[i] = d;
yValues[i] = - 2.0 * d - 5.0 ;
}
checkCalculator( xValues, yValues, "f(x) = "+ OUStringLiteral1(aMinusSign) +" 2x "+ OUStringLiteral1(aMinusSign) +" 5");
checkCalculator( xValues, yValues, "f(x) = "+ OUStringLiteral1(aMinusSign) +" 2 x "+ OUStringLiteral1(aMinusSign) +" 5");
}
// test y = A x ^ B
......@@ -168,7 +168,7 @@ void Chart2TrendCalculators::testPolynomialRegression1()
xValues[i] = d;
yValues[i] = - 2.0 * d * d + 4 * d - 5;
}
OUString sExpectedFormula( "f(x) = "+ OUStringLiteral1(aMinusSign) +" 2x" + OUStringLiteral1( aSuperscriptFigures[2] ) + " + 4x "+ OUStringLiteral1(aMinusSign) +" 5" );
OUString sExpectedFormula( "f(x) = "+ OUStringLiteral1(aMinusSign) +" 2 x" + OUStringLiteral1( aSuperscriptFigures[2] ) + " + 4 x "+ OUStringLiteral1(aMinusSign) +" 5" );
checkCalculator( xValues, yValues, sExpectedFormula );
}
......
......@@ -252,7 +252,7 @@ OUString PolynomialRegressionCurveCalculator::ImplGetRepresentation(
nCharMin += 3; // " + "
if ( i > 0 )
{
nCharMin += mXName.getLength(); // "x"
nCharMin += mXName.getLength() + 1; // " x"
if ( i > 1 )
nCharMin +=1; // "^i"
if ( i >= 10 )
......@@ -292,7 +292,11 @@ OUString PolynomialRegressionCurveCalculator::ImplGetRepresentation(
sal_Int32* pValueLength = nValueLength ? &nValueLength : nullptr;
OUString aValueString = getFormattedString( xNumFormatter, nNumberFormatKey, aValue, pValueLength );
if ( i == 0 || aValueString != "1" ) // aValueString may be rounded to 1 if nValueLength is small
{
aTmpBuf.append( aValueString );
if ( i > 0 ) // insert blank between coefficient and x
aTmpBuf.append( " " );
}
if(i > 0)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment