LGTM, with comments.
http://codereview.chromium.org/4060001/diff/17001/18005 File src/strtod.cc (right): http://codereview.chromium.org/4060001/diff/17001/18005#newcode365 src/strtod.cc:365: // or where the next double (i.e. the next closest double) is the correct either the correct double or its lower neighbor (the nearest double less than the correct one). http://codereview.chromium.org/4060001/diff/17001/18005#newcode402 src/strtod.cc:402: int comparison = Bignum::Compare(input, boundary); Beautifully simple code. http://codereview.chromium.org/4060001/diff/17001/18005#newcode426 src/strtod.cc:426: return Strtod(Vector<const char>(significant_buffer, Instead of return Strtod(...) why not trimmed = Vector<const char>(significant_buffer,kMaxSignificantDecimalDigits); exponent = significant_exponent; The recursion is merely a tail call to the rest of the function body, since the previous stuff will have no impact. http://codereview.chromium.org/4060001/diff/17001/18007 File test/cctest/test-bignum.cc (right): http://codereview.chromium.org/4060001/diff/17001/18007#newcode1590 test/cctest/test-bignum.cc:1590: bignum.AssignPowerUInt16(10, 30); Couldn't you try a different base, like 17, once? http://codereview.chromium.org/4060001/diff/28001/29008 File test/cctest/test-strtod.cc (right): http://codereview.chromium.org/4060001/diff/28001/29008#newcode368 test/cctest/test-strtod.cc:368: Is this test reproducible? Is there an option to make random() use the same seed? What is random() - is it libc or one of our own functions? http://codereview.chromium.org/4060001/show -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
