[babl] replace gamma functions with #defines



commit fd11d181d043e56168572c08f932f6d0379615e3
Author: Ãyvind KolÃs <pippin gimp org>
Date:   Mon Apr 23 01:53:27 2012 +0200

    replace gamma functions with #defines
    
    Causes some slight speedup across babl on less agressive optimization
    levels.

 babl/base/util.h |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)
---
diff --git a/babl/base/util.h b/babl/base/util.h
index a229894..a9d2049 100644
--- a/babl/base/util.h
+++ b/babl/base/util.h
@@ -67,20 +67,21 @@ static inline double xpow512 (double x)
 }
 
 
+#if 0
 static inline double
 linear_to_gamma_2_2 (double value)
 {
-#if 0
   if (value > 0.0030402477F)
     return 1.055F * pow (value, (1.0F/2.4F)) - 0.055F;
   return 12.92F * value;
+}
 #else
-  if (value > 0.0030402477F)
-    return 1.055F * xpow512 (value) - 0.055F;
-  return 12.92F * value;
+
+#define linear_to_gamma_2_2(value) \
+  ((value > 0.0030402477F)? 1.055F * xpow512 (value) - 0.055F: 12.92F * value)
 #endif
-}
 
+#if 0
 static inline double
 gamma_2_2_to_linear (double value)
 {
@@ -88,6 +89,10 @@ gamma_2_2_to_linear (double value)
     return pow ((value + 0.055F) / 1.055F, 2.4F);
   return value / 12.92F;
 }
+#else
+#define gamma_2_2_to_linear(value) \
+  ((value > 0.03928F) ?  pow ((value + 0.055F) / 1.055F, 2.4F):value / 12.92F)
+#endif
 
 #else
   #define linear_to_gamma_2_2(value) (pow((value), (1.0F/2.2F)))



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]