[apps/regression] Draw the right regression curve

This commit is contained in:
Léa Saviot
2018-06-06 17:36:19 +02:00
committed by Émilie Feral
parent 1c8ff9bd83
commit e777a191c6
6 changed files with 55 additions and 9 deletions

View File

@@ -1,4 +1,13 @@
#include "store.h"
#include "model/cubic_model.h"
#include "model/exponential_model.h"
#include "model/linear_model.h"
#include "model/logarithmic_model.h"
#include "model/logistic_model.h"
#include "model/power_model.h"
#include "model/quadratic_model.h"
#include "model/quartic_model.h"
#include "model/trigonometric_model.h"
#include <assert.h>
#include <float.h>
#include <cmath>
@@ -11,6 +20,8 @@ namespace Regression {
static inline float max(float x, float y) { return (x>y ? x : y); }
static inline float min(float x, float y) { return (x<y ? x : y); }
static_assert(Model::k_numberOfModels == 9, "Number of models changed, Regression::Store() needs to adapt");
Store::Store() :
InteractiveCurveViewRange(nullptr, this),
DoublePairStore()
@@ -18,6 +29,21 @@ Store::Store() :
for (int i = 0; i < k_numberOfSeries; i++) {
m_regressionTypes[i] = Model::Type::Linear;
}
m_regressionModels[0] = new LinearModel();
m_regressionModels[1] = new QuadraticModel();
m_regressionModels[2] = new CubicModel();
m_regressionModels[3] = new QuarticModel();
m_regressionModels[4] = new LogarithmicModel();
m_regressionModels[5] = new ExponentialModel();
m_regressionModels[6] = new PowerModel();
m_regressionModels[7] = new TrigonometricModel();
m_regressionModels[8] = new LogisticModel();
}
Store::~Store() {
for (int i = 0; i < Model::k_numberOfModels; i++) {
delete m_regressionModels[i];
}
}
/* Regressions */