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

This is for bug #28121.
This commit is contained in:
kaa@polly.local 2007-05-28 21:43:31 +04:00
parent afc59d3381
commit 0dc78d3913

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: