diff --git a/poincare/Makefile b/poincare/Makefile index 20a344f06..c7c104387 100644 --- a/poincare/Makefile +++ b/poincare/Makefile @@ -4,7 +4,7 @@ objs += $(addprefix poincare/src/,\ binary_operation.o\ commutative_operation.o\ context.o\ - cosinus.o\ + cosine.o\ expression.o\ expression_lexer.o\ expression_parser.o\ @@ -15,7 +15,7 @@ objs += $(addprefix poincare/src/,\ leaf_expression.o\ power.o\ product.o\ - sinus.o\ + sine.o\ subtraction.o\ symbol.o\ tangent.o\ diff --git a/poincare/include/poincare.h b/poincare/include/poincare.h index 4b89926c0..21b774e7c 100644 --- a/poincare/include/poincare.h +++ b/poincare/include/poincare.h @@ -3,7 +3,7 @@ #include #include -#include +#include #include #include #include @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/poincare/include/poincare/cosine.h b/poincare/include/poincare/cosine.h new file mode 100644 index 000000000..31f376375 --- /dev/null +++ b/poincare/include/poincare/cosine.h @@ -0,0 +1,14 @@ +#ifndef POINCARE_COSINE_H +#define POINCARE_COSINE_H + +#include + +class Cosine : public Function { + public: + Cosine(Expression * arg, bool clone_arg=true): Function(arg, (char*) "cos", clone_arg) {} + float approximate(Context& context) override; + Type type() override; + Expression * clone() override; +}; + +#endif diff --git a/poincare/include/poincare/cosinus.h b/poincare/include/poincare/cosinus.h deleted file mode 100644 index f23e66e4c..000000000 --- a/poincare/include/poincare/cosinus.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef POINCARE_COSINUS_H -#define POINCARE_COSINUS_H - -#include - -class Cosinus : public Function { - public: - Cosinus(Expression * arg, bool clone_arg=true): Function(arg, (char*) "cos", clone_arg) {} - float approximate(Context& context) override; - Type type() override; - Expression * clone() override; -}; - -#endif diff --git a/poincare/include/poincare/expression.h b/poincare/include/poincare/expression.h index af5e199f5..a2d4946f4 100644 --- a/poincare/include/poincare/expression.h +++ b/poincare/include/poincare/expression.h @@ -10,13 +10,13 @@ class Expression { public: enum class Type : uint8_t { Addition, - Cosinus, + Cosine, Float, Fraction, Integer, Power, Product, - Sinus, + Sine, Subtraction, Symbol, Tangent, diff --git a/poincare/include/poincare/sine.h b/poincare/include/poincare/sine.h new file mode 100644 index 000000000..fe53563a0 --- /dev/null +++ b/poincare/include/poincare/sine.h @@ -0,0 +1,14 @@ +#ifndef POINCARE_SINE_H +#define POINCARE_SINE_H + +#include + +class Sine : public Function { + public: + Sine(Expression * arg, bool clone_arg=true): Function(arg, (char*) "sin", clone_arg) {} + float approximate(Context& context) override; + Type type() override; + Expression * clone() override; +}; + +#endif diff --git a/poincare/include/poincare/sinus.h b/poincare/include/poincare/sinus.h deleted file mode 100644 index a970aac09..000000000 --- a/poincare/include/poincare/sinus.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef POINCARE_SINUS_H -#define POINCARE_SINUS_H - -#include - -class Sinus : public Function { - public: - Sinus(Expression * arg, bool clone_arg=true): Function(arg, (char*) "sin", clone_arg) {} - float approximate(Context& context) override; - Type type() override; - Expression * clone() override; -}; - -#endif diff --git a/poincare/src/cosine.cpp b/poincare/src/cosine.cpp new file mode 100644 index 000000000..8fafad923 --- /dev/null +++ b/poincare/src/cosine.cpp @@ -0,0 +1,15 @@ +#include +#include "layout/horizontal_layout.h" + +Expression * Cosine::clone() { + return new Cosine(m_arg, true); +} + +Expression::Type Cosine::type() { + return Expression::Type::Cosine; +} + +float Cosine::approximate(Context& context) { + // FIXME: use cosine obviously. + return m_arg->approximate(context); +} diff --git a/poincare/src/cosinus.cpp b/poincare/src/cosinus.cpp deleted file mode 100644 index 070b82a2a..000000000 --- a/poincare/src/cosinus.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include "layout/horizontal_layout.h" - -Expression * Cosinus::clone() { - return new Cosinus(m_arg, true); -} - -Expression::Type Cosinus::type() { - return Expression::Type::Cosinus; -} - -float Cosinus::approximate(Context& context) { - // FIXME: use cosinus obviously. - return m_arg->approximate(context); -} diff --git a/poincare/src/expression_lexer.l b/poincare/src/expression_lexer.l index 4a92ec02c..26a2dffdc 100644 --- a/poincare/src/expression_lexer.l +++ b/poincare/src/expression_lexer.l @@ -42,8 +42,8 @@ class Expression; %% [0-9]+ { yylval->string = yytext; return(INTEGER); } -sin {return(SINUS);} -cos {return(COSINUS);} +sin {return(SINE);} +cos {return(COSINE);} tan {return(TANGENT);} [A-Za-z]+ { yylval->string = yytext; return(SYMBOL); } \+ { return(PLUS); } diff --git a/poincare/src/expression_parser.y b/poincare/src/expression_parser.y index bb3dd2b14..43c501e64 100644 --- a/poincare/src/expression_parser.y +++ b/poincare/src/expression_parser.y @@ -54,8 +54,8 @@ void poincare_expression_yyerror(void * scanner, Expression ** expressionOutput, %token MULTIPLY %token DIVIDE %token POW -%token SINUS -%token COSINUS +%token SINE +%token COSINE %token TANGENT %token LEFT_PARENTHESIS %token RIGHT_PARENTHESIS @@ -88,8 +88,8 @@ exp: | exp DIVIDE exp { Expression * terms[2] = {$1,$3}; $$ = new Fraction(terms, false); } | exp POW exp { Expression * terms[2] = {$1,$3}; $$ = new Power(terms, false); } | LEFT_PARENTHESIS exp RIGHT_PARENTHESIS { $$ = $2; } - | SINUS LEFT_PARENTHESIS exp RIGHT_PARENTHESIS { $$ = new Sinus($3); } - | COSINUS LEFT_PARENTHESIS exp RIGHT_PARENTHESIS { $$ = new Cosinus($3); } + | SINE LEFT_PARENTHESIS exp RIGHT_PARENTHESIS { $$ = new Sine($3); } + | COSINE LEFT_PARENTHESIS exp RIGHT_PARENTHESIS { $$ = new Cosine($3); } | TANGENT LEFT_PARENTHESIS exp RIGHT_PARENTHESIS { $$ = new Tangent($3); } ; diff --git a/poincare/src/sine.cpp b/poincare/src/sine.cpp new file mode 100644 index 000000000..fb3d7003c --- /dev/null +++ b/poincare/src/sine.cpp @@ -0,0 +1,15 @@ +#include +#include "layout/horizontal_layout.h" + +Expression * Sine::clone() { + return new Sine(m_arg, true); +} + +Expression::Type Sine::type() { + return Expression::Type::Sine; +} + +float Sine::approximate(Context& context) { + // FIXME: use sine obviously. + return m_arg->approximate(context); +} diff --git a/poincare/src/sinus.cpp b/poincare/src/sinus.cpp deleted file mode 100644 index 9a73559a3..000000000 --- a/poincare/src/sinus.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include "layout/horizontal_layout.h" - -Expression * Sinus::clone() { - return new Sinus(m_arg, true); -} - -Expression::Type Sinus::type() { - return Expression::Type::Sinus; -} - -float Sinus::approximate(Context& context) { - // FIXME: use sinus obviously. - return m_arg->approximate(context); -} diff --git a/poincare/test/trigo.cpp b/poincare/test/trigo.cpp index 5878efbe1..700ac5b64 100644 --- a/poincare/test/trigo.cpp +++ b/poincare/test/trigo.cpp @@ -6,12 +6,12 @@ QUIZ_CASE(poincare_parse_trigo) { { Expression * e = Expression::parse("sin(0)"); Expression * e2 = e->simplify(); - assert(e2->type() == Expression::Type::Sinus); + assert(e2->type() == Expression::Type::Sine); } { Expression * e = Expression::parse("cos(0)"); Expression * e2 = e->simplify(); - assert(e2->type() == Expression::Type::Cosinus); + assert(e2->type() == Expression::Type::Cosine); } { Expression * e = Expression::parse("tan(0)");