| 1988 | } |
| 1989 | |
| 1990 | void 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 | |
| 2034 | bool XYFitCurvePrivate::recalculateSpecific(const AbstractColumn* tmpXDataColumn, const AbstractColumn* tmpYDataColumn) { |
| 2035 | QElapsedTimer timer; |
nothing calls this directly
no test coverage detected