Divscale: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
''' | '''divscale''' <Result> <Factor> <Divisor> <Left Shift> | ||
In C terms, this command performs roughly the expression <code><Result> = (<Factor> << <Left Shift>) / <Divisor></code>. | In C terms, this command performs roughly the expression <code><Result> = (<Factor> << <Left Shift>) / <Divisor></code>. |
Latest revision as of 01:33, 13 May 2023
divscale <Result> <Factor> <Divisor> <Left Shift>
In C terms, this command performs roughly the expression <Result> = (<Factor> << <Left Shift>) / <Divisor>
.
In CON terms, it is very similar to the following series of commands:
set <Result> <Factor> shiftl <Result> <Left Shift> div <Result> <Divisor>
Note that despite being used as the last value, the left shift value is in the center of the equation.
The main difference is that the calculation uses 64 bits to prevent overflow, while using gamevars for intermediate values would limit it to 31 bits.