fix polynomial to accept any exponents

This commit is contained in:
hugogogo
2026-05-04 22:14:12 +02:00
parent bc48f52c2c
commit 7f06d505d1
7 changed files with 86 additions and 61 deletions

View File

@@ -207,7 +207,7 @@ int parse(s_token *tokens, s_term *terms, int terms_count_max)
term_position = TERM_LEFT;
while (tokens[i].type != TOKEN_END && terms_count < terms_count_max)
{
ft_printf("- token[%i]\n", i); // debug
// ft_printf("- token[%i]\n", i); // debug
// equal
if (tokens[i].type == TOKEN_EQUAL)
@@ -229,19 +229,19 @@ int parse(s_token *tokens, s_term *terms, int terms_count_max)
sign = -1;
}
i += token_count;
ft_printf("term[%i] get_sign: (%i)[%s], token_count: [%d]\n", terms_count, ret_sign, term_sign_to_str(ret_sign), token_count); // debug
// ft_printf("term[%i] get_sign: (%i)[%s], token_count: [%d]\n", terms_count, ret_sign, term_sign_to_str(ret_sign), token_count); // debug
// coefficient
double ret_coefficient = get_coefficient_absolute(tokens, i, &token_count);
terms[terms_count].coefficient = ret_coefficient * sign;
i += token_count;
printf("term[%i] get_coefficient: [%g], token_count: [%d]\n", terms_count, ret_coefficient, token_count); // debug
// printf("term[%i] get_coefficient: [%g], token_count: [%d]\n", terms_count, ret_coefficient, token_count); // debug
// exponent
int ret_exponent = get_exponent(tokens, i, &token_count);
terms[terms_count].exponent = ret_exponent;
i += token_count;
ft_printf("term[%i] get_exponent: [%i], token_count: [%d]\n", terms_count, ret_exponent, token_count); // debug
// ft_printf("term[%i] get_exponent: [%i], token_count: [%d]\n", terms_count, ret_exponent, token_count); // debug
terms_count++;
}