User Tools

Site Tools


isp:hsl-_rgb

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
isp:hsl-_rgb [2019/05/29 11:43]
Igor Yefmov [Preface]
isp:hsl-_rgb [2019/05/31 03:52] (current)
Igor Yefmov [Division-less division]
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.
  
/home/adminsub2r/public_html/dokuwiki/data/pages/isp/hsl-_rgb.txt · Last modified: 2019/05/31 03:52 by Igor Yefmov