mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-18 21:30:38 +01:00
[poincare][solver] Variable whose names are too long are not parsed
anymore
This commit is contained in:
@@ -75,8 +75,9 @@ QUIZ_CASE(equation_solve) {
|
||||
assert_equation_system_exact_solve_to(equations0, EquationStore::Error::TooManyVariables, EquationStore::Type::LinearSystem, (const char **)variables1, nullptr, 0);
|
||||
|
||||
// tototototot = 0
|
||||
/* The variable name being too long, the expression 'tototototot = 0' cannot be defined. */
|
||||
const char * equations01[] = {"tototototot=0", 0};
|
||||
assert_equation_system_exact_solve_to(equations01, EquationStore::Error::VariableNameTooLong, EquationStore::Type::LinearSystem, (const char **)variables1, nullptr, 0);
|
||||
assert_equation_system_exact_solve_to(equations01, EquationStore::Error::EquationUndefined, EquationStore::Type::LinearSystem, (const char **)variables1, nullptr, 0);
|
||||
|
||||
// x^2+y = 0
|
||||
const char * equations1[] = {"x^2+y=0", 0};
|
||||
|
||||
@@ -90,7 +90,7 @@ void assert_parsed_expression_has_variables(const char * expression, const char
|
||||
int numberOfVariables = e.getVariables(globalContext, [](const char * symbol) { return true; }, (char *)variableBuffer, k_maxVariableSize);
|
||||
quiz_assert(trueNumberOfVariables == numberOfVariables);
|
||||
if (numberOfVariables < 0) {
|
||||
// Too many variables or variable name too long
|
||||
// Too many variables
|
||||
return;
|
||||
}
|
||||
int index = 0;
|
||||
@@ -109,8 +109,8 @@ QUIZ_CASE(poincare_get_variables) {
|
||||
assert_parsed_expression_has_variables("a+x^2+2*y+k!*A", variableBuffer3, 5);
|
||||
const char * variableBuffer4[] = {"BABA","abab", ""};
|
||||
assert_parsed_expression_has_variables("BABA+abab", variableBuffer4, 2);
|
||||
const char * variableBuffer5[] = {""};
|
||||
assert_parsed_expression_has_variables("BBBBBBBBBBBBBBBBBBBBBBBBBBBBB", variableBuffer5, -2);
|
||||
const char * variableBuffer5[] = {"BBBBBB", ""};
|
||||
assert_parsed_expression_has_variables("BBBBBB", variableBuffer5, 1);
|
||||
const char * variableBuffer6[] = {""};
|
||||
assert_parsed_expression_has_variables("a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+aa+bb+cc+dd+ee+ff+gg+hh+ii+jj+kk+ll+mm+nn+oo", variableBuffer6, -1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user