Optimizing mod as value range control

Started by
0 comments, last by Michalson 22 years, 1 month ago
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;
Advertisement
shift left by 16?
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara

This topic is closed to new replies.

Advertisement