This topic is now archived and is closed to further replies.


Optimizing mod as value range control

Recommended Posts

I have a code chunk that''s getting executed about 120,000,000 (120mhz) times per second. I looking for ways of reducing the time it takes to complete.
var I,MaxValue:LongWord; //unsigned 32 bit integer

I:=I mod MaxValue; //Ensure that I is between 0 and MaxValue-1

The requirements are that if I is already within the range 0..MaxValue-1 then I should remain unchanged, if I is outside the range it must be changed to a value (any value) within that range. My only solution so far is if MaxValue is a power of 2 (Which it won''t always be), allowing for (If MaxValue=16): I:=I and $FF;

Share this post

Link to post
Share on other sites