User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
isp:hsl-_rgb [2019/05/29 11:43] – [Preface] Igor Yefmovisp:hsl-_rgb [2019/05/31 03:52] – [Division-less division] Igor Yefmov
Line 20: Line 20:
 \[\frac{1}{x} = \frac{1*N}{x*N}\] \[\frac{1}{x} = \frac{1*N}{x*N}\]
 and choosing \(N\) such that \(x*N\) is a whole power of \(2\) we have an optimization where a division is replaced by a pair of a multiplication followed by a (super cheap!) bit-shift operation by \(Z\) bits: and choosing \(N\) such that \(x*N\) is a whole power of \(2\) we have an optimization where a division is replaced by a pair of a multiplication followed by a (super cheap!) bit-shift operation by \(Z\) bits:
-\[\frac{C}{x} = C*\frac{1}{x} = C*\frac{1*N}{x*N} = C*\frac{N}{2^Z} = [(C*N)>>Z]\]+\[\frac{C}{x} = C*\frac{1}{x} = C*\frac{1*N}{x*N} = C*\frac{N}{2^Z} = [(C*N) \gg Z]\]
 The value \(Z\) depends on the needed precision and, of course, the higher the \(Z\) the less precision loss there will be in the end. The value \(Z\) depends on the needed precision and, of course, the higher the \(Z\) the less precision loss there will be in the end.
  

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information