On Jan 07 2023, Greg Wooledge wrote:

> The variable l is a modulus, so its largest possible value is 127772.
> If the code simply said "l = ret % 127773;" then it wouldn't even be
> an issue.  But the % was rewritten, presumably for efficiency.

Presumably the assumption was that two divides are more costly than a
divide and a multiply (although nowadays, compilers will try to combine
the two divides if the target architecture has a divmod insn).

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

Reply via email to