DescriptionFix problems with flakes in SVG LayoutTests.
A bug would make 4.99999952 be printed as "5.00" instead of "5" because
4.99999952 would be compared to 4 instead of 5.
Also, 4.99999952 would cause some positions and rects
to be shifted by a pixel. Fix here is to snap numbers very close
to integers to the closest integer before printing it.
That 4.99999952 appeared only sometimes, and only on Windows, is
not fully known. A suspect is that it's related to the 32-bit ABI which
requires use of x87 for passing floats. That combined with various
inlining decisions and context switches could possibly affect the final
value.
This operation gives 4.99999952: float(25 + 200 * double(1.f*(-10.0f/100.f)))
This operation gives 5.00000000: float(25 + 200 * float(1.f*(-10.0f/100.f)))
BUG=438282
Patch Set 1 #Patch Set 2 : Fix rounding bug. #Patch Set 3 : Fixed expected files. #Patch Set 4 : One more expected file #Patch Set 5 : Rebased to newer master. #
Total comments: 1
Patch Set 6 : Rebase to newer master #Messages
Total messages: 10 (2 generated)
|