summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2024-03-14 11:06:30 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2024-03-14 20:22:33 +0100
commit59d1ab57da78745d5b7f89d284d82588080300f5 (patch)
treec00fb3c3bc7fd164557d3320eb49df67265c4128 /src/gui/painting
parent5f516b24426bd6e28035d9e3291903f817d9d9f1 (diff)
Strength reduction: div -> mul
Replace all divisions by constant with multiplications of its inverse Change-Id: I05aa0631e8117e7d42da0eaa30077cd230caa919 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/gui/painting')
-rw-r--r--src/gui/painting/qcolormatrix_p.h26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/gui/painting/qcolormatrix_p.h b/src/gui/painting/qcolormatrix_p.h
index d10346577f..c2ecd4617d 100644
--- a/src/gui/painting/qcolormatrix_p.h
+++ b/src/gui/painting/qcolormatrix_p.h
@@ -74,29 +74,29 @@ public:
constexpr QColorVector ref = D50();
constexpr float eps = 0.008856f;
constexpr float kap = 903.3f;
- float xr = x / ref.x;
- float yr = y / ref.y;
- float zr = z / ref.z;
+ float xr = x * (1.f / ref.x);
+ float yr = y * (1.f / ref.y);
+ float zr = z * (1.f / ref.z);
float fx, fy, fz;
if (xr > eps)
fx = fastCbrt(xr);
else
- fx = (kap * xr + 16.f) / 116.f;
+ fx = (kap * xr + 16.f) * (1.f / 116.f);
if (yr > eps)
fy = fastCbrt(yr);
else
- fy = (kap * yr + 16.f) / 116.f;
+ fy = (kap * yr + 16.f) * (1.f / 116.f);
if (zr > eps)
fz = fastCbrt(zr);
else
- fz = (kap * zr + 16.f) / 116.f;
+ fz = (kap * zr + 16.f) * (1.f / 116.f);
const float L = 116.f * fy - 16.f;
const float a = 500.f * (fx - fy);
const float b = 200.f * (fy - fz);
// We output Lab values that has been scaled to 0.0->1.0 values, see also labToXyz.
- return QColorVector(L / 100.f, (a + 128.f) / 255.f, (b + 128.f) / 255.f);
+ return QColorVector(L * (1.f / 100.f), (a + 128.f) * (1.f / 255.f), (b + 128.f) * (1.f / 255.f));
}
QColorVector labToXyz() const
@@ -110,23 +110,23 @@ public:
const float a = (y * 255.f) - 128.f;
const float b = (z * 255.f) - 128.f;
// From here is official Lab->XYZ conversion:
- float fy = (L + 16.f) / 116.f;
- float fx = fy + (a / 500.f);
- float fz = fy - (b / 200.f);
+ float fy = (L + 16.f) * (1.f / 116.f);
+ float fx = fy + (a * (1.f / 500.f));
+ float fz = fy - (b * (1.f / 200.f));
float xr, yr, zr;
if (fx * fx * fx > eps)
xr = fx * fx * fx;
else
- xr = (116.f * fx - 16) / kap;
+ xr = (116.f * fx - 16) * (1.f / kap);
if (L > (kap * eps))
yr = fy * fy * fy;
else
- yr = L / kap;
+ yr = L * (1.f / kap);
if (fz * fz * fz > eps)
zr = fz * fz * fz;
else
- zr = (116.f * fz - 16) / kap;
+ zr = (116.f * fz - 16) * (1.f / kap);
xr = xr * ref.x;
yr = yr * ref.y;