On 02/20/11 21:16, Mark S. Miller wrote:
The specification of Math.LOG10E says:
15.8.1.5 LOG10E
The Number value for the base-10 logarithm of e, the base of the natural
logarithms; this value is approximately 0.4342944819032518.
This property has the attributes { [[Writable]]: false, [[Enumerable]]:
false, [[Configurable]]: false }.
NOTE The value of Math.LOG10E is approximately the reciprocal of the value
of Math.LN10.
This is the only constant whose actual value differs across browsers:
0.43429448190325176 v8 version 2.3.9 [console: dumb]
0.4342944819032518 Chrome 11.0.672.2 dev
0.4342944819032518 Chrome 11.0.672.0 canary build
0.4342944819032518 FF 3.6.13
0.4342944819032518 FF 4.0b12pre
0.43429448190325176 Safari 5.0.1 (5533.17.8)
0.43429448190325176 WebKit nightly Safari 5.0.1 (5533.17.8, r78794)
0.4342944819032518 Opera 11.01 Build 1190
0.4342944819032518 IE 9.0.8080.16413CO
Anyone know why? Which value is more correct?
I don't really care about Math.LOG10E, but it's easier to write tests if only
one value is actually correct.
0.4342944819032518 is correct.
0.43429448190325176 is wrong.
The high-precision value of log10(e) is
0.4342944819032518276511289189166050822943970058036665661144...
The closest IEEE double to this is
0.43429448190325181666793241674895398318767547607421875, which prints as
0.4342944819032518.
0.43429448190325176 evaluates to the different IEEE double
0.434294481903251761156781185491126962006092071533203125.
On 02/20/11 21:26, John Cowan wrote:
The two values are really the same value when represented as an IEEE
double. The difference is in the printing routine, not the internal
representation. Specifically, the "...2518" browsers are rounding, the
"...25176" browsers are not.
No, that's not what is happening here.
Waldemar
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss