[MacRuby] #1281: Multiplication of ~32 bit integers giving incorrect results

MacRuby ruby-noreply at macosforge.org
Wed May 18 13:52:15 PDT 2011


#1281: Multiplication of ~32 bit integers giving incorrect results
------------------------------+---------------------------------------------
 Reporter:  zgavin@…          |       Owner:  lsansonetti@…        
     Type:  defect            |      Status:  new                  
 Priority:  major             |   Milestone:  MacRuby 1.0          
Component:  MacRuby           |    Keywords:                       
------------------------------+---------------------------------------------
Changes (by lsansonetti@…):

  * milestone:  => MacRuby 1.0


Comment:

 Yesterday Vincent found out that the overflow check is removed by the LLVM
 optimization passes.

 In kernel.c:

 {{{
             if (FIXABLE(res) && res / a == b) {
                 return LONG2FIX(res);
             }
 }}}

 The {{{res / a // b}}} expression is removed.

 This needs to be fixed for 1.0.

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/1281#comment:1>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list