After checking the code from yesterday's posting, I noticed that I was still using some plain simple RunRev handlers for the "shiftLeft" bitwise operator, this would cause it to fail on many occasions.. I've spent the last 6 hours straight (less a few chatRev breaks) to get code that won't fail (hopefully ;-) and can handle 32-bit signed integers..

So here is the fix for shiftLeft (I'm working on a shiftRight fix):

function bitwiseShiftLeft p1, p2
 if (p2 >= 32) then return p1 * (2 ^ (p2 MOD 32))
 if (p2 = 0) then return p1
 if (p2 < 32) then
   put baseConvert(p1, 10, 2) into p1
   repeat p2
     put 0 after p1
   end repeat
   return baseConvert(char -32 to -1 of p1, 2, 10)
 end if
end bitwiseShiftLeft

_________________________________________________________________
Is your PC infected? Get a FREE online computer virus scan from McAfee® Security. http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to