Cache repeated difference to make code easier to read and consistent with colorsys.rgb_to_hls.
def rgb_to_hsv(r, g, b):
maxc = max(r, g, b)
minc = min(r, g, b)
+ rangec = (maxc-minc)
v = maxc
if minc == maxc:
return 0.0, 0.0, v
- s = (maxc-minc) / maxc
- rc = (maxc-r) / (maxc-minc)
- gc = (maxc-g) / (maxc-minc)
- bc = (maxc-b) / (maxc-minc)
+ s = rangec / maxc
+ rc = (maxc-r) / rangec
+ gc = (maxc-g) / rangec
+ bc = (maxc-b) / rangec
if r == maxc:
h = bc-gc
elif g == maxc: