# New Ticket Created by  Zoffix Znet 
# Please include the string:  [perl #129813]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=129813 >


# I have the fix; filing for records

If large-enough values are used for multiplication, we get 0 instead  
of correct results:

<Zoffix> m: say (my int $ = 2**32) * (my int $ = 2**63)
<camelia> rakudo-moar 62d838: OUTPUT«0␤»
<Zoffix> m: say (my int $ = 2**62) * (my int $ = 2**62)
<camelia> rakudo-moar 62d838: OUTPUT«0␤»

The fix is to add `or $a == 0 || $b == 0 ?? 0 !!  
Failure.new(X::Numeric::Overflow.new)` after the calculation in  
https://github.com/rakudo/rakudo/blob/62d8382/src/core/Int.pm#L262

However, that currently won't work entirely due to RT#129811:  
https://rt.perl.org/Ticket/Display.html?id=129811

Reply via email to