[poincare] Remove ambiguity on casting char in int (different behaviours

for different compilers..)

Change-Id: I51630e104311d2038b140a9877ede893dddfefeb
This commit is contained in:
Émilie Feral
2017-11-29 16:53:49 +01:00
parent e77a66c7d5
commit f962f7ef6d
3 changed files with 7 additions and 7 deletions

View File

@@ -190,10 +190,10 @@ bool Symbol::isScalarSymbol() const {
int Symbol::simplificationOrderSameType(const Expression * e) const {
assert(e->type() == Expression::Type::Symbol);
if (m_name == ((Symbol *)e)->m_name) {
if ((uint8_t)m_name == ((uint8_t)static_cast<const Symbol *>(e)->name())) {
return 0;
}
if ((m_name > ((Symbol *)e)->m_name)) {
if ((uint8_t)m_name > ((uint8_t)static_cast<const Symbol *>(e)->name())) {
return 1;
}
return -1;

View File

@@ -48,9 +48,9 @@ QUIZ_CASE(poincare_addition_simplify) {
assert_parsed_expression_simplify_to("A-A+2cos(2)+B-B-cos(2)", "cos(2)");
assert_parsed_expression_simplify_to("1+A+2+B+3", "6+A+B");
assert_parsed_expression_simplify_to("-A", "-A");
assert_parsed_expression_simplify_to("1/(x+1)+1/(P+2)", "(3+P+x)/(2+P+2*x+P*x)");
assert_parsed_expression_simplify_to("1/x^2+1/(x^2*P)", "(1+P)/(P*x^2)");
assert_parsed_expression_simplify_to("1/x^2+1/(x^3*P)", "(1+P*x)/(P*x^3)");
assert_parsed_expression_simplify_to("1/(x+1)+1/(P+2)", "(3+x+P)/(2+2*x+P+x*P)");
assert_parsed_expression_simplify_to("1/x^2+1/(x^2*P)", "(1+P)/(x^2*P)");
assert_parsed_expression_simplify_to("1/x^2+1/(x^3*P)", "(1+x*P)/(x^3*P)");
assert_parsed_expression_simplify_to("4x/x^2+3P/(x^3*P)", "(3+4*x^2)/x^3");
assert_parsed_expression_simplify_to("A+B-A-B", "0");
assert_parsed_expression_simplify_to("A+B+(-1)*A+(-1)*B", "0");

View File

@@ -56,8 +56,8 @@ QUIZ_CASE(poincare_power_simplify) {
assert_parsed_expression_simplify_to("R(P^2)", "P");
assert_parsed_expression_simplify_to("R((-P)^2)", "P");
assert_parsed_expression_simplify_to("R(x*144)", "12*R(x)");
assert_parsed_expression_simplify_to("R(x*144*P^2)", "12*P*R(x)");
assert_parsed_expression_simplify_to("R(x*144*P)", "12*R(P)*R(x)");
assert_parsed_expression_simplify_to("R(x*144*P^2)", "12*R(x)*P");
assert_parsed_expression_simplify_to("R(x*144*P)", "12*R(x)*R(P)");
assert_parsed_expression_simplify_to("x^(1/2)", "R(x)");
assert_parsed_expression_simplify_to("x^(-1/2)", "1/R(x)");
assert_parsed_expression_simplify_to("x^(1/7)", "root(x,7)");