init solver
This commit is contained in:
@@ -100,7 +100,6 @@ static void polynom_fill_null(double *polynom, int len)
|
||||
|
||||
void launch_computorv1(char *input)
|
||||
{
|
||||
int ret;
|
||||
int max_exponent;
|
||||
size_t arg_len;
|
||||
size_t terms_count_prediction;
|
||||
@@ -115,11 +114,7 @@ void launch_computorv1(char *input)
|
||||
s_token tokens[arg_len];
|
||||
tokens_g_err = tokens;
|
||||
tokens_fill_null(tokens, arg_len);
|
||||
ret = lexerize(input, tokens);
|
||||
if (ret == 0)
|
||||
{
|
||||
stop_errors("lexer returned 0 token");
|
||||
}
|
||||
lexerize(input, tokens);
|
||||
|
||||
// parse
|
||||
terms_count_prediction = count_any_of(input, "-+=") + 2; // +1 for first term that can have no leading '+', +1 for last term == NULL
|
||||
@@ -127,11 +122,7 @@ void launch_computorv1(char *input)
|
||||
s_term terms[terms_count_prediction];
|
||||
terms_g_err = terms;
|
||||
terms_fill_null(terms, terms_count_prediction);
|
||||
ret = parse(tokens, terms, terms_count_prediction);
|
||||
if (ret == 0)
|
||||
{
|
||||
stop_errors("parser returned 0 term");
|
||||
}
|
||||
parse(tokens, terms, terms_count_prediction);
|
||||
|
||||
// reduce
|
||||
max_exponent = get_max_exponent(terms) + 1;
|
||||
@@ -142,6 +133,11 @@ void launch_computorv1(char *input)
|
||||
reduce(terms, polynom);
|
||||
|
||||
// solve
|
||||
s_solution solution[1];
|
||||
solution_g_err = solution;
|
||||
solve(polynom, solution);
|
||||
|
||||
// print solution
|
||||
|
||||
// debug
|
||||
print_state();
|
||||
|
||||
Reference in New Issue
Block a user