Don't use log_01[] in my_strtod() to avoid loss of precision.

This is for bug #28121.


strings/strtod.c:
  Don't use log_01[] in my_strtod() to avoid loss of precision.
This commit is contained in:
unknown 2007-05-28 21:43:31 +04:00
parent 088cb9ddc4
commit eab7e4d4e4

View File

@ -244,8 +244,8 @@ double my_strtod(const char *str, char **end_ptr, int *error)
else
step= array_elements(log_10) - 1;
for (; exponent > step; exponent-= step)
result*= neg_exp ? log_01[step] : log_10[step];
result*= neg_exp ? log_01[exponent] : log_10[exponent];
result= neg_exp ? result / log_10[step] : result * log_10[step];
result= neg_exp ? result / log_10[exponent] : result * log_10[exponent];
}
done: