http://codereview.chromium.org/1032007/diff/9001/10010
File src/fast-dtoa.cc (right):

http://codereview.chromium.org/1032007/diff/9001/10010#newcode40
src/fast-dtoa.cc:40: // the result of multiplying the input number with
the cached powers-of-ten.
On 2010/03/18 10:00:11, William Hesse wrote:
the range (2^32, 2^60)
or 2^32 ... 2^60

multiplying the input by a cached power of ten.

A different range might be chosen on a different platform, to optimize
digit
generation, but a smaller range
requires more powers of ten to be cached.

Done.

http://codereview.chromium.org/1032007/diff/9001/10010#newcode50
src/fast-dtoa.cc:50: // representation.
On 2010/03/18 10:00:11, William Hesse wrote:
Adjusts the last digit of the generated number, and screens out
generated
solutions that may be inaccurate.  A solution may be inaccurate if it
is outside
the safe interval, or if we cannot prove that it is closer to the
input than a
neighboring representable number.

Done.

http://codereview.chromium.org/1032007/diff/9001/10010#newcode58
src/fast-dtoa.cc:58: // Output: returns true on success.
On 2010/03/18 10:00:11, William Hesse wrote:
returns true if the buffer is guaranteed to contain the closest
representable
number to the input.

Done.

http://codereview.chromium.org/1032007/diff/9001/10010#newcode74
src/fast-dtoa.cc:74: // ]w-; w+[ (often written as "(w-; w+)")
On 2010/03/18 10:00:11, William Hesse wrote:
I would write
(w-, w+)  (sometimes written "]w-, w+[")
Maybe w_low and w_high would be better names?


Done.

http://codereview.chromium.org/1032007/diff/9001/10010#newcode79
src/fast-dtoa.cc:79: // By generating the digits of too_high we got the
biggest last digit.
On 2010/03/18 10:00:11, William Hesse wrote:
Could you document this by saying "There are three nested intervals,
represented
in our internal floating-point format that is more accurate than
64-bit double
format.

Unsafe interval, between xxxx and xxxx.  A number outside this
interval cannot
be the closest representable number to the input.

Safe interval, between xxxxx and xxxxx.  A number inside this interval
is
guaranteed to be ?  Do we even use this interval?

Input interval, between w_low=xxxx and w_high=xxxx
The input number is guaranteed to be between these two values.

These intervals are approximately equal to  input +/- 1/2 double ULP
and input
+/- internal representation ULP.

Done.

http://codereview.chromium.org/1032007/diff/9001/10010#newcode110
src/fast-dtoa.cc:110: //   Since too_low = too_high - unsafe_interval
this is equivalent too
On 2010/03/18 10:00:11, William Hesse wrote:
equivalent to

What is the safe interval used for?

Done.

http://codereview.chromium.org/1032007/diff/9001/10010#newcode229
src/fast-dtoa.cc:229: // Same comments as for DigitGen (see below) but
with additional precondition:
On 2010/03/18 10:00:11, William Hesse wrote:
DigitGen does (approximately) nothing now, and could easily be
recreated if
someone wanted a general max_exponent and min_exponent for the range.
I think
DigitGen should just be deleted from the file, and its comments put
here.  This
could be renamed DigitGen.


Done.

http://codereview.chromium.org/1032007/diff/9001/10010#newcode375
src/fast-dtoa.cc:375: bool DigitGen(DiyFp low,
On 2010/03/18 10:00:11, William Hesse wrote:
This function does nothing, and doesn't really help anyone except a
hypothetical
library extender, and doesn't even really help them much.

Done.

http://codereview.chromium.org/1032007/diff/9001/10010#newcode404
src/fast-dtoa.cc:404: // Returns true if it succeeds, otherwise the
result can not be trusted.
On 2010/03/18 10:00:11, William Hesse wrote:
cannot


Done.

http://codereview.chromium.org/1032007/diff/9001/10010#newcode409
src/fast-dtoa.cc:409: // 0.099999999999 instead of 0.1.
On 2010/03/18 10:00:11, William Hesse wrote:
This is inaccurate - if 0.099999999999 is closer than 0.1, then
0.09999999999 is
returned.  You mean no 0.10000 instead of 0.1.
Comment was correct. But I clarified.

http://codereview.chromium.org/1032007/diff/9001/10010#newcode415
src/fast-dtoa.cc:415: // boundary_minus and boundary_plus are the
boundaries between v and its
On 2010/03/18 10:00:11, William Hesse wrote:
its closest representable neighbors
its closest floating-point neighbors.

http://codereview.chromium.org/1032007/diff/9001/10010#newcode417
src/fast-dtoa.cc:417: // will round to v when read as double.
On 2010/03/18 10:00:11, William Hesse wrote:
when converted to double?

Done.

http://codereview.chromium.org/1032007/diff/9001/10006
File src/grisu3.cc (left):

http://codereview.chromium.org/1032007/diff/9001/10006#oldcode39
src/grisu3.cc:39: template <int alpha = -60, int gamma = -32>
On 2010/03/18 10:00:11, William Hesse wrote:
I thought you were getting rid of the template?

inside deleted file.

http://codereview.chromium.org/1032007/diff/9001/10004
File src/grisu3.h (left):

http://codereview.chromium.org/1032007/diff/9001/10004#oldcode39
src/grisu3.h:39: //   v must satisfy v != 0 and it must not be Infinity
or NaN.
On 2010/03/18 10:00:11, William Hesse wrote:
v must not be (positive or negative) zero, Infinity, or NaN.

Done.

http://codereview.chromium.org/1032007

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to