[babl] babl: make unified alpha conversion branchless
- From: Øyvind "pippin" Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [babl] babl: make unified alpha conversion branchless
- Date: Wed, 26 Jan 2022 14:09:19 +0000 (UTC)
commit 73df0c4d338f8dae7fe7ecb966307fd88065179b
Author: Øyvind Kolås <pippin gimp org>
Date: Wed Jan 26 12:23:37 2022 +0100
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 aba9c61f3..9f4621151 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);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]