mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-19 05:40:38 +01:00
[apps/reg] Display correct formula in banner view
This commit is contained in:
@@ -39,6 +39,7 @@ i18n_files += $(addprefix apps/regression/,\
|
||||
base.es.i18n\
|
||||
base.fr.i18n\
|
||||
base.pt.i18n\
|
||||
base.universal.i18n\
|
||||
)
|
||||
|
||||
app_images += apps/regression/regression_icon.png
|
||||
|
||||
@@ -82,8 +82,8 @@ void GraphController::reloadBannerView() {
|
||||
return;
|
||||
}
|
||||
|
||||
m_bannerView.setMessageAtIndex(I18n::Message::RegressionFormula, 3);
|
||||
|
||||
Model * model = m_store->modelForSeries(selectedSeriesIndex());
|
||||
m_bannerView.setMessageAtIndex(model->formulaMessage(), 3);
|
||||
char buffer[k_maxNumberOfCharacters + PrintFloat::bufferSizeForFloatsWithPrecision(Constant::LargeNumberOfSignificantDigits)];
|
||||
int numberOfChar = 0;
|
||||
const char * legend = " P(";
|
||||
|
||||
@@ -10,6 +10,7 @@ class CubicModel : public Model {
|
||||
public:
|
||||
using Model::Model;
|
||||
Poincare::ExpressionLayout * layout() override;
|
||||
I18n::Message formulaMessage() const override { return I18n::Message::CubicRegressionFormula; }
|
||||
double evaluate(double * modelCoefficients, double x) const override;
|
||||
double levelSet(double * modelCoefficients, double y) const override;
|
||||
double partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const override;
|
||||
|
||||
@@ -10,6 +10,7 @@ class ExponentialModel : public Model {
|
||||
public:
|
||||
using Model::Model;
|
||||
Poincare::ExpressionLayout * layout() override;
|
||||
I18n::Message formulaMessage() const override { return I18n::Message::ExponentialRegressionFormula; }
|
||||
double evaluate(double * modelCoefficients, double x) const override;
|
||||
double levelSet(double * modelCoefficients, double y) const override;
|
||||
double partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const override;
|
||||
|
||||
@@ -10,6 +10,7 @@ class LinearModel : public Model {
|
||||
public:
|
||||
using Model::Model;
|
||||
Poincare::ExpressionLayout * layout() override;
|
||||
I18n::Message formulaMessage() const override { return I18n::Message::LinearRegressionFormula; }
|
||||
double evaluate(double * modelCoefficients, double x) const override;
|
||||
double levelSet(double * modelCoefficients, double y) const override;
|
||||
virtual void fit(Store * store, int series, double * modelCoefficients, Poincare::Context * context) override;
|
||||
|
||||
@@ -10,6 +10,7 @@ class LogarithmicModel : public Model {
|
||||
public:
|
||||
using Model::Model;
|
||||
Poincare::ExpressionLayout * layout() override;
|
||||
I18n::Message formulaMessage() const override { return I18n::Message::LogarithmicRegressionFormula; }
|
||||
double evaluate(double * modelCoefficients, double x) const override;
|
||||
double levelSet(double * modelCoefficients, double y) const override;
|
||||
double partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const override;
|
||||
|
||||
@@ -10,6 +10,7 @@ class LogisticModel : public Model {
|
||||
public:
|
||||
using Model::Model;
|
||||
Poincare::ExpressionLayout * layout() override;
|
||||
I18n::Message formulaMessage() const override { return I18n::Message::LogisticRegressionFormula; }
|
||||
double evaluate(double * modelCoefficients, double x) const override;
|
||||
double levelSet(double * modelCoefficients, double y) const override;
|
||||
double partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const override;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define REGRESSION_MODEL_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "../../i18n.h"
|
||||
#include <poincare/context.h>
|
||||
#include <poincare/expression.h>
|
||||
|
||||
@@ -26,6 +27,7 @@ public:
|
||||
static constexpr int k_maxNumberOfCoefficients = 5;
|
||||
virtual ~Model() = default;
|
||||
virtual Poincare::ExpressionLayout * layout() = 0;
|
||||
virtual I18n::Message formulaMessage() const = 0;
|
||||
virtual double evaluate(double * modelCoefficients, double x) const = 0;
|
||||
virtual double levelSet(double * modelCoefficients, double y) const = 0;
|
||||
virtual void fit(Store * store, int series, double * modelCoefficients, Poincare::Context * context);
|
||||
|
||||
@@ -10,6 +10,7 @@ class PowerModel : public Model {
|
||||
public:
|
||||
using Model::Model;
|
||||
Poincare::ExpressionLayout * layout() override;
|
||||
I18n::Message formulaMessage() const override { return I18n::Message::PowerRegressionFormula; }
|
||||
double evaluate(double * modelCoefficients, double x) const override;
|
||||
double levelSet(double * modelCoefficients, double y) const override;
|
||||
double partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const override;
|
||||
|
||||
@@ -10,6 +10,7 @@ class QuadraticModel : public Model {
|
||||
public:
|
||||
using Model::Model;
|
||||
Poincare::ExpressionLayout * layout() override;
|
||||
I18n::Message formulaMessage() const override { return I18n::Message::QuadraticRegressionFormula; }
|
||||
double evaluate(double * modelCoefficients, double x) const override;
|
||||
double levelSet(double * modelCoefficients, double y) const override;
|
||||
double partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const override;
|
||||
|
||||
@@ -10,6 +10,7 @@ class QuarticModel : public Model {
|
||||
public:
|
||||
using Model::Model;
|
||||
Poincare::ExpressionLayout * layout() override;
|
||||
I18n::Message formulaMessage() const override { return I18n::Message::QuarticRegressionFormula; }
|
||||
double evaluate(double * modelCoefficients, double x) const override;
|
||||
double levelSet(double * modelCoefficients, double y) const override;
|
||||
double partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const override;
|
||||
|
||||
@@ -10,6 +10,7 @@ class TrigonometricModel : public Model {
|
||||
public:
|
||||
using Model::Model;
|
||||
Poincare::ExpressionLayout * layout() override;
|
||||
I18n::Message formulaMessage() const override { return I18n::Message::TrigonometricRegressionFormula; }
|
||||
double evaluate(double * modelCoefficients, double x) const override;
|
||||
double levelSet(double * modelCoefficients, double y) const override;
|
||||
double partialDerivate(double * modelCoefficients, int derivateCoefficientIndex, double x) const override;
|
||||
|
||||
@@ -51,7 +51,6 @@ QuoCommandWithArg = "quo(p,q)"
|
||||
RandintCommandWithArg = "randint(a,b)"
|
||||
RandomCommandWithArg = "random()"
|
||||
ReCommandWithArg = "re(z)"
|
||||
RegressionFormula = " D: y=ax+b "
|
||||
RemCommandWithArg = "rem(p,q)"
|
||||
RightIntegralFirstLegend = "P("
|
||||
RightIntegralSecondLegend = "≤X)="
|
||||
|
||||
Reference in New Issue
Block a user