diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/numbers.c | 4 | ||||
-rw-r--r-- | lib/pile.c | 2 |
2 files changed, 2 insertions, 4 deletions
diff --git a/lib/numbers.c b/lib/numbers.c index 831639b..af8a9bb 100644 --- a/lib/numbers.c +++ b/lib/numbers.c @@ -7,7 +7,6 @@ #include "numbers.h" - /* Cette fonction lit un nombre. Elle va chercher absolument à traduire la chaîne passée en argument en un nombre. Si ce nombre n'est pas valide, alors l'int valid est mis à faux. Cette fonction reconnais les nombres en décimaux, les nombres en octal préfixés avec 0 et les nombres en hexadécimal préfixés avec 0x. @@ -78,7 +77,6 @@ double char_to_double(char *st, int *valid) /* cette fonction tente de traduire unsigned int dotnum = 0; unsigned int deci = 1; double result = 0; - while (*st) { if (*st == '.') { dotnum++; @@ -93,7 +91,9 @@ double char_to_double(char *st, int *valid) /* cette fonction tente de traduire deci *= 10; } } + st++; } + result = result / deci; *valid = 1; return result; @@ -29,7 +29,6 @@ void push_pile(char *st) double d_number; polynome poly; char buf[128]; - rationnel rat; sprintf(buf,"appel à push_pile(%s)",st); pushcontext(buf); @@ -37,7 +36,6 @@ void push_pile(char *st) d_number = char_to_double(st, &valid2); valid3 = is_mute(st); poly = (polynome) NomVarToVar(st, variables, &valid4); - if (valid1) { /* il s agit d un entier */ pushcontext("c est un entier"); push_pile_poly(ply_constr(rat_constr(i_number, 1), 0)); |