From e786649d2afa877973193a2fa8ebdc38ac180e26 Mon Sep 17 00:00:00 2001 From: Mathieu 'p01' Henri Date: Thu, 27 Feb 2014 13:01:00 +0100 Subject: [PATCH] Skip the Math.sqrt for clamped values in convertToRgb No need to compute the square root of clamped values. Only the values in the range ]0,1[ need to be processed. --- src/shared/colorspace.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/shared/colorspace.js b/src/shared/colorspace.js index 2e0f66a3c..9273794ee 100644 --- a/src/shared/colorspace.js +++ b/src/shared/colorspace.js @@ -885,9 +885,9 @@ var LabCS = (function LabCSClosure() { b = X * 0.0557 + Y * -0.2040 + Z * 1.0570; } // clamp color values to [0,1] range then convert to [0,255] range. - dest[destOffset] = Math.sqrt(r < 0 ? 0 : r > 1 ? 1 : r) * 255; - dest[destOffset + 1] = Math.sqrt(g < 0 ? 0 : g > 1 ? 1 : g) * 255; - dest[destOffset + 2] = Math.sqrt(b < 0 ? 0 : b > 1 ? 1 : b) * 255; + dest[destOffset] = r <= 0 ? 0 : r >= 1 ? 255 : Math.sqrt(r) * 255 | 0; + dest[destOffset + 1] = g <= 0 ? 0 : g >= 1 ? 255 : Math.sqrt(g) * 255 | 0; + dest[destOffset + 2] = b <= 0 ? 0 : b >= 1 ? 255 : Math.sqrt(b) * 255 | 0; } LabCS.prototype = {