[poincare] Merge MultiplicationImplicit and MultiplicationExplicit (they

were required if we wanted to parse into two distincts expression 2π and
2*π but don't)
This commit is contained in:
Émilie Feral
2019-08-06 16:13:04 +02:00
parent 073479b9aa
commit 9fbec16db4
43 changed files with 1019 additions and 477 deletions

View File

@@ -9,7 +9,7 @@
#include <poincare/number.h>
#include <poincare/symbol.h>
#include <poincare/addition.h>
#include <poincare/multiplication_explicit.h>
#include <poincare/multiplication.h>
#include <poincare/power.h>
using namespace Poincare;
@@ -83,17 +83,17 @@ Expression CubicModel::expression(double * modelCoefficients) {
double c = modelCoefficients[2];
double d = modelCoefficients[3];
Expression addChildren[] = {
MultiplicationExplicit::Builder(
Multiplication::Builder(
Number::DecimalNumber(a),
Power::Builder(
Symbol::Builder('x'),
Decimal::Builder(3.0))),
MultiplicationExplicit::Builder(
Multiplication::Builder(
Number::DecimalNumber(b),
Power::Builder(
Symbol::Builder('x'),
Decimal::Builder(2.0))),
MultiplicationExplicit::Builder(
Multiplication::Builder(
Number::DecimalNumber(c),
Symbol::Builder('x')),
Number::DecimalNumber(d)

View File

@@ -9,7 +9,7 @@
#include <poincare/number.h>
#include <poincare/symbol.h>
#include <poincare/addition.h>
#include <poincare/multiplication_explicit.h>
#include <poincare/multiplication.h>
#include <poincare/power.h>
using namespace Poincare;
@@ -70,12 +70,12 @@ Expression QuadraticModel::expression(double * modelCoefficients) {
double c = modelCoefficients[2];
// a*x^2+b*x+c
Expression addChildren[] = {
MultiplicationExplicit::Builder(
Multiplication::Builder(
Number::DecimalNumber(a),
Power::Builder(
Symbol::Builder('x'),
Decimal::Builder(2.0))),
MultiplicationExplicit::Builder(
Multiplication::Builder(
Number::DecimalNumber(b),
Symbol::Builder('x')),
Number::DecimalNumber(c)

View File

@@ -9,7 +9,7 @@
#include <poincare/number.h>
#include <poincare/symbol.h>
#include <poincare/addition.h>
#include <poincare/multiplication_explicit.h>
#include <poincare/multiplication.h>
#include <poincare/power.h>
using namespace Poincare;
@@ -98,25 +98,25 @@ Expression QuarticModel::expression(double * modelCoefficients) {
double e = modelCoefficients[4];
Expression addChildren[] = {
// a*x^4
MultiplicationExplicit::Builder(
Multiplication::Builder(
Number::DecimalNumber(a),
Power::Builder(
Symbol::Builder('x'),
Decimal::Builder(4.0))),
// b*x^3
MultiplicationExplicit::Builder(
Multiplication::Builder(
Number::DecimalNumber(b),
Power::Builder(
Symbol::Builder('x'),
Decimal::Builder(3.0))),
// c*x^2
MultiplicationExplicit::Builder(
Multiplication::Builder(
Number::DecimalNumber(c),
Power::Builder(
Symbol::Builder('x'),
Decimal::Builder(2.0))),
// d*x
MultiplicationExplicit::Builder(
Multiplication::Builder(
Number::DecimalNumber(d),
Symbol::Builder('x')),
// e

View File

@@ -2,7 +2,7 @@
#include "../../shared/poincare_helpers.h"
#include <poincare/addition.h>
#include <poincare/layout_helper.h>
#include <poincare/multiplication_explicit.h>
#include <poincare/multiplication.h>
#include <poincare/number.h>
#include <poincare/power.h>
#include <poincare/preferences.h>
@@ -66,11 +66,11 @@ Expression TrigonometricModel::expression(double * modelCoefficients) {
// a*sin(bx+c)+d
Expression result =
Addition::Builder(
MultiplicationExplicit::Builder(
Multiplication::Builder(
Number::DecimalNumber(a),
Sine::Builder(
Addition::Builder(
MultiplicationExplicit::Builder(
Multiplication::Builder(
Number::DecimalNumber(b),
Symbol::Builder('x')),
Number::DecimalNumber(c)))),