MCPcopy Create free account
hub / github.com/KDE/labplot / prepareTmpDataColumn

Method prepareTmpDataColumn

src/backend/worksheet/plots/cartesian/XYFitCurve.cpp:1990–2032  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1988}
1989
1990void XYFitCurvePrivate::prepareTmpDataColumn(const AbstractColumn** tmpXDataColumn, const AbstractColumn** tmpYDataColumn) const {
1991 // prepare source data columns
1992 DEBUG(Q_FUNC_INFO << ", data source: " << ENUM_TO_STRING(XYAnalysisCurve, DataSourceType, dataSourceType))
1993 switch (dataSourceType) {
1994 case XYAnalysisCurve::DataSourceType::Spreadsheet:
1995 case XYAnalysisCurve::DataSourceType::Curve: // Fall through
1996 XYAnalysisCurvePrivate::prepareTmpDataColumn(tmpXDataColumn, tmpYDataColumn);
1997 break;
1998 case XYAnalysisCurve::DataSourceType::Histogram:
1999 if (!dataSourceHistogram) {
2000 *tmpXDataColumn = nullptr;
2001 *tmpYDataColumn = nullptr;
2002 break;
2003 }
2004 switch (fitData.algorithm) {
2005 case nsl_fit_algorithm_lm:
2006 *tmpXDataColumn = dataSourceHistogram->bins(); // bins
2007 switch (dataSourceHistogram->normalization()) { // TODO: not exactly
2008 case Histogram::Normalization::Count:
2009 case Histogram::Normalization::CountDensity:
2010 *tmpYDataColumn = dataSourceHistogram->binValues(); // values
2011 break;
2012 case Histogram::Normalization::Probability:
2013 case Histogram::Normalization::ProbabilityDensity:
2014 *tmpYDataColumn = dataSourceHistogram->binPDValues(); // normalized values
2015 }
2016 break;
2017 case nsl_fit_algorithm_ml:
2018 *tmpXDataColumn = dataSourceHistogram->dataColumn(); // data
2019 *tmpYDataColumn = dataSourceHistogram->binPDValues(); // normalized values
2020 break;
2021 }
2022 // debug
2023 /*for (int i = 0; i < dataSourceHistogram->bins()->rowCount(); i++)
2024 DEBUG("BINS @ " << i << ": " << dataSourceHistogram->bins()->valueAt(i))
2025 for (int i = 0; i < dataSourceHistogram->binValues()->rowCount(); i++)
2026 DEBUG("BINValues @ " << i << ": " << dataSourceHistogram->binValues()->valueAt(i))
2027 for (int i = 0; i < dataSourceHistogram->binPDValues()->rowCount(); i++)
2028 DEBUG("BINPDValues @ " << i << ": " << dataSourceHistogram->binPDValues()->valueAt(i))
2029 */
2030 break;
2031 }
2032}
2033
2034bool XYFitCurvePrivate::recalculateSpecific(const AbstractColumn* tmpXDataColumn, const AbstractColumn* tmpYDataColumn) {
2035 QElapsedTimer timer;

Callers

nothing calls this directly

Calls 3

binsMethod · 0.80
binValuesMethod · 0.80
binPDValuesMethod · 0.80

Tested by

no test coverage detected