From 73df0c4d338f8dae7fe7ecb966307fd88065179b Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=98yvind=20Kol=C3=A5s?= Date: Wed, 26 Jan 2022 12:23:37 +0100 Subject: [PATCH] babl: make unified alpha conversion branchless --- babl/base/util.h | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/babl/base/util.h b/babl/base/util.h index aba9c61..9f46211 100644 --- a/babl/base/util.h +++ b/babl/base/util.h @@ -50,23 +50,17 @@ static inline double babl_epsilon_for_zero (double value) { - if (value <= BABL_ALPHA_FLOOR && - value >= -BABL_ALPHA_FLOOR) - { - return BABL_ALPHA_FLOOR; - } - return value; + return value * (value > BABL_ALPHA_FLOOR || value < -BABL_ALPHA_FLOOR) + + BABL_ALPHA_FLOOR * (value <= BABL_ALPHA_FLOOR && + value >= -BABL_ALPHA_FLOOR); } static inline float babl_epsilon_for_zero_float (float value) { - if (value <= BABL_ALPHA_FLOOR_F && - value >= -BABL_ALPHA_FLOOR_F) - { - return BABL_ALPHA_FLOOR_F; - } - return value; + return value * (value > BABL_ALPHA_FLOOR_F || value < -BABL_ALPHA_FLOOR_F) + + BABL_ALPHA_FLOOR * (value <= BABL_ALPHA_FLOOR_F && + value >= -BABL_ALPHA_FLOOR_F); } -- 2.30.2