Ticket #392: rand.patch

File rand.patch, 0.8 KB (added by rg, 5 years ago)
  • runtime/parrot/library/Math/Rand.pir

     
    6767    $I0 = $P0 
    6868    $I0 *= 1103515245 
    6969    $I0 += 12345 
     70    ge $I0, 0, noadj 
     71    $I0 += 0x80000000 # not hit for 64bit int 
     72    goto done 
     73noadj: 
     74    $I0 &= 0xffffffff # noop for 32bit int 
     75done: 
    7076    set $P0, $I0 
    7177    $I0 /= 65536 
    7278    $I0 %= 32768 
  • t/library/rand.t

     
    4141.end 
    4242CODE 
    434316838 
    44 5759 
     445758 
    454510113 
    46 17516 
     4617515 
    474716838 
    48 5759 
     485758 
    4949OUTPUT 
    5050 
    5151pir_output_is( << 'CODE', << 'OUTPUT', 'RAND_MAX' );