#### Archived

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

# Optimizing mod as value range control

This topic is 5748 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## 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;