Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created May 8, 2017 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Whateverable/15da5046f7657e3757f09fc342975803 to your computer and use it in GitHub Desktop.
Save Whateverable/15da5046f7657e3757f09fc342975803 to your computer and use it in GitHub Desktop.
bisectable6
say 1.1e308
Bisecting: 2111 revisions left to test after this (roughly 11 steps)
[a48e7a7dd379c8c21502f3bb108b8b3bac4a5720] Re-imagine DIR-RECURSE
»»»»» Testing a48e7a7dd379c8c21502f3bb108b8b3bac4a5720
»»»»» Script output:
Inf
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing b1fd0d4108ed80d1cadf29bf54e976c7b6c97ac1
»»»»» Script output:
1.1e+308
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing b96bf5bd05f7e9bfc325156e6a27c1fbb8377eae
»»»»» Script output:
1.1e+308
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 0f2566a99a09d3f65dc4cf5d574c48e2fdacec44
»»»»» Script output:
Inf
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 9071142b565ddf369df9ae1d47795e8a26fc294f
»»»»» Script output:
1.1e+308
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing c7c5444da7d68079f2c08037b2064d22be45bf97
»»»»» Script output:
1.1e+308
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 35bd063f135097c3c5eeb8cdf7a7093b9727d9a5
»»»»» Script output:
Inf
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing cee10121bc95917f090ee9233aab20e187e284c8
»»»»» Script output:
1.1e+308
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 84eaff47f274b203b8600b78d4149d3de1bc52a1
»»»»» Script output:
1.1e+308
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing fb56768b7bfc6a10f107cd1d46bf80a88746402c
»»»»» Script output:
1.1e+308
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 729d7e34124827a4e0b772b049be95cf911dd7cf
»»»»» Script output:
1.1e+308
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing a581bf415c4344b8cdea21e3b05509f8b6cd56a0
»»»»» Script output:
Inf
»»»»» Script exit code: 0
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Inf
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
729d7e34124827a4e0b772b049be95cf911dd7cf is the first new commit
commit 729d7e34124827a4e0b772b049be95cf911dd7cf
Author: Zoffix Znet <cpan@zoffix.com>
Date: Tue Nov 8 20:52:45 2016 +0000
Prevent overflow when creating large Num literals
The current calculation converts the "base" number to one without fractional
parts, raises it to "e" power, and then divides it by however many powers of
10 it took to make it fractionless. So 1.23e10 gets converted to 123, multiplied
by 10**10 and then divided by 100. This causes the calculation to blow through
the limit and get an Inf before the final division happens, even though we do have
enough space to represent the final number.
Fix by dividing *before* multiplying by the powers of 10.
Fixes RT#130039: https://rt.perl.org/Ticket/Display.html?id=130039
:040000 040000 825715a47942c6c144a75dd4605091777d36b72e d3e65dda9d2dcdbbdaf453aefde264bf25a051f5 M src
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment