28#include <com/sun/star/chart2/MovingAverageType.hpp>
62 case MovingAverageType::Central:
69 case MovingAverageType::AveragedAbscissa:
74 case MovingAverageType::Prior:
86 const size_t aSize = aValues.first.size();
93 for (sal_Int32 j = 0; j <
mPeriod; j++)
95 yAvg += aValues.second[
i - j];
101 for (
size_t i = nPeriodLocal;
i < aSize - 1; ++
i)
103 double x = aValues.first[
i];
111 const size_t aSize = aValues.first.size();
117 for (sal_Int32 j = 0; j <
mPeriod; j++)
119 xAvg += aValues.first[
i - j];
120 yAvg += aValues.second[
i - j];
132 double x = aValues.first[
i];
140 return std::numeric_limits<double>::quiet_NaN();
144 double ,
double , sal_Int32 ,
151 std::transform(
aXList.begin(),
aXList.begin() + nSize,
aYList.begin(), aResult.getArray(),
152 [](
const auto&
x,
const auto&
y) { return geometry::RealPoint2D(x, y); });
158 sal_Int32 , sal_Int32* )
const
160 OUString aRet =
SchResId( STR_OBJECT_MOVING_AVERAGE_WITH_PARAMETERS );
virtual css::uno::Sequence< css::geometry::RealPoint2D > SAL_CALL getCurveValues(double min, double max, sal_Int32 nPointCount, const css::uno::Reference< css::chart2::XScaling > &xScalingX, const css::uno::Reference< css::chart2::XScaling > &xScalingY, sal_Bool bMaySkipPointsInCalculation) override
std::vector< double > aXList
void calculateValuesCentral(RegressionCalculationHelper::tDoubleVectorPair aValues)
virtual OUString ImplGetRepresentation(const css::uno::Reference< css::util::XNumberFormatter > &xNumFormatter, sal_Int32 nNumberFormatKey, sal_Int32 *pFormulaLength=nullptr) const override
virtual void SAL_CALL recalculateRegression(const css::uno::Sequence< double > &aXValues, const css::uno::Sequence< double > &aYValues) override
std::vector< double > aYList
virtual ~MovingAverageRegressionCurveCalculator() override
void calculateValues(RegressionCalculationHelper::tDoubleVectorPair aValues, bool bUseXAvg)
MovingAverageRegressionCurveCalculator()
virtual double SAL_CALL getCurveValue(double x) override
double m_fCorrelationCoefficient
std::pair< std::vector< double >, std::vector< double > > tDoubleVectorPair
tDoubleVectorPair cleanup(const css::uno::Sequence< double > &rXValues, const css::uno::Sequence< double > &rYValues, Pred aPred)
takes the given x- and y-values and copies them into the resulting pair, which contains x-values in t...
OUString OOO_DLLPUBLIC_CHARTTOOLS SchResId(TranslateId aId)