summaryrefslogtreecommitdiff
path: root/strings
diff options
context:
space:
mode:
authorunknown <kaa@polly.local>2007-05-30 22:47:52 +0400
committerunknown <kaa@polly.local>2007-05-30 22:47:52 +0400
commit9dc7a7b8344335b03a2162abcc7c1a61fa21fc1d (patch)
tree24fcd7cd9e1727a3b915da9f28027b59677ad04d /strings
parent07c7cf12881759665baf90ba4f3f6c499b9fc780 (diff)
downloadmariadb-git-9dc7a7b8344335b03a2162abcc7c1a61fa21fc1d.tar.gz
Got rid of log_01[], because we don't really need it. Division and log_10[] can always be used instead, which is also a more precise way.
This is for bug #28121. include/m_string.h: Got rid of log_01[], because we don't really need it. sql/item_cmpfunc.cc: Got rid of log_01[], because we don't really need it. strings/strtod.c: Got rid of log_01[], because we don't really need it.
Diffstat (limited to 'strings')
-rw-r--r--strings/strtod.c38
1 files changed, 1 insertions, 37 deletions
diff --git a/strings/strtod.c b/strings/strtod.c
index a1799dd748b..5fe59d10bd2 100644
--- a/strings/strtod.c
+++ b/strings/strtod.c
@@ -66,40 +66,6 @@ const double log_10[] = {
1e300, 1e301, 1e302, 1e303, 1e304, 1e305, 1e306, 1e307, 1e308
};
-const double log_01[] = {
- 1e-000,1e-001,1e-002,1e-003,1e-004,1e-005,1e-006,1e-007,1e-008,1e-009,
- 1e-010,1e-011,1e-012,1e-013,1e-014,1e-015,1e-016,1e-017,1e-018,1e-019,
- 1e-020,1e-021,1e-022,1e-023,1e-024,1e-025,1e-026,1e-027,1e-028,1e-029,
- 1e-030,1e-031,1e-032,1e-033,1e-034,1e-035,1e-036,1e-037,1e-038,1e-039,
- 1e-040,1e-041,1e-042,1e-043,1e-044,1e-045,1e-046,1e-047,1e-048,1e-049,
- 1e-050,1e-051,1e-052,1e-053,1e-054,1e-055,1e-056,1e-057,1e-058,1e-059,
- 1e-060,1e-061,1e-062,1e-063,1e-064,1e-065,1e-066,1e-067,1e-068,1e-069,
- 1e-070,1e-071,1e-072,1e-073,1e-074,1e-075,1e-076,1e-077,1e-078,1e-079,
- 1e-080,1e-081,1e-082,1e-083,1e-084,1e-085,1e-086,1e-087,1e-088,1e-089,
- 1e-090,1e-091,1e-092,1e-093,1e-094,1e-095,1e-096,1e-097,1e-098,1e-099,
- 1e-100,1e-101,1e-102,1e-103,1e-104,1e-105,1e-106,1e-107,1e-108,1e-109,
- 1e-110,1e-111,1e-112,1e-113,1e-114,1e-115,1e-116,1e-117,1e-118,1e-119,
- 1e-120,1e-121,1e-122,1e-123,1e-124,1e-125,1e-126,1e-127,1e-128,1e-129,
- 1e-130,1e-131,1e-132,1e-133,1e-134,1e-135,1e-136,1e-137,1e-138,1e-139,
- 1e-140,1e-141,1e-142,1e-143,1e-144,1e-145,1e-146,1e-147,1e-148,1e-149,
- 1e-150,1e-151,1e-152,1e-153,1e-154,1e-155,1e-156,1e-157,1e-158,1e-159,
- 1e-160,1e-161,1e-162,1e-163,1e-164,1e-165,1e-166,1e-167,1e-168,1e-169,
- 1e-170,1e-171,1e-172,1e-173,1e-174,1e-175,1e-176,1e-177,1e-178,1e-179,
- 1e-180,1e-181,1e-182,1e-183,1e-184,1e-185,1e-186,1e-187,1e-188,1e-189,
- 1e-190,1e-191,1e-192,1e-193,1e-194,1e-195,1e-196,1e-197,1e-198,1e-199,
- 1e-200,1e-201,1e-202,1e-203,1e-204,1e-205,1e-206,1e-207,1e-208,1e-209,
- 1e-210,1e-211,1e-212,1e-213,1e-214,1e-215,1e-216,1e-217,1e-218,1e-219,
- 1e-220,1e-221,1e-222,1e-223,1e-224,1e-225,1e-226,1e-227,1e-228,1e-229,
- 1e-230,1e-231,1e-232,1e-233,1e-234,1e-235,1e-236,1e-237,1e-238,1e-239,
- 1e-240,1e-241,1e-242,1e-243,1e-244,1e-245,1e-246,1e-247,1e-248,1e-249,
- 1e-250,1e-251,1e-252,1e-253,1e-254,1e-255,1e-256,1e-257,1e-258,1e-259,
- 1e-260,1e-261,1e-262,1e-263,1e-264,1e-265,1e-266,1e-267,1e-268,1e-269,
- 1e-270,1e-271,1e-272,1e-273,1e-274,1e-275,1e-276,1e-277,1e-278,1e-279,
- 1e-280,1e-281,1e-282,1e-283,1e-284,1e-285,1e-286,1e-287,1e-288,1e-289,
- 1e-290,1e-291,1e-292,1e-293,1e-294,1e-295,1e-296,1e-297,1e-298,1e-299,
- 1e-300,1e-301,1e-302,1e-303,1e-304,1e-305,1e-306,1e-307,1e-308
-};
-
/*
Convert string to double (string doesn't have to be null terminated)
@@ -239,10 +205,8 @@ double my_strtod(const char *str, char **end_ptr, int *error)
{
exponent= -exponent;
neg_exp= 1; /* neg_exp was 0 before */
- step= array_elements(log_01) - 1;
}
- else
- step= array_elements(log_10) - 1;
+ step= array_elements(log_10) - 1;
for (; exponent > step; exponent-= step)
result= neg_exp ? result / log_10[step] : result * log_10[step];
result= neg_exp ? result / log_10[exponent] : result * log_10[exponent];