aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/ramps.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ramps.h')
-rw-r--r--src/test/ramps.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/test/ramps.h b/src/test/ramps.h
index 050ac59..5ea2844 100644
--- a/src/test/ramps.h
+++ b/src/test/ramps.h
@@ -19,6 +19,14 @@
#define LIBGAMMA_TEST_RAMPS_H
+#include <stdint.h>
+
+
+#ifndef __GCC__
+# define __attribute__(x)
+#endif
+
+
/**
* X macros of all integer gamma ramps
*/
@@ -39,5 +47,56 @@
preserved exactly on exit, and we assume RandR X is used. */
+
+/**
+ * Test mapping function from [0, 1] float encoding value to [0, 2⁸ − 1] integer output value.
+ *
+ * @param encoding [0, 1] float encoding value.
+ * @return [0, 2⁸ − 1] integer output value.
+ */
+uint8_t invert_ramps8(float encoding) __attribute__((const));
+
+/**
+ * Test mapping function from [0, 1] float encoding value to [0, 2¹⁶ − 1] integer output value.
+ *
+ * @param encoding [0, 1] float encoding value.
+ * @return [0, 2¹⁶ − 1] integer output value.
+ */
+uint16_t invert_ramps16(float encoding) __attribute__((const));
+
+/**
+ * Test mapping function from [0, 1] float encoding value to [0, 2³² − 1] integer output value.
+ *
+ * @param encoding [0, 1] float encoding value.
+ * @return [0, 2³² − 1] integer output value.
+ */
+uint32_t invert_ramps32(float encoding) __attribute__((const));
+
+/**
+ * Test mapping function from [0, 1] float encoding value to [0, 2⁶⁴ − 1] integer output value.
+ *
+ * @param encoding [0, 1] float encoding value.
+ * @return [0, 2⁶⁴ − 1] integer output value.
+ */
+uint64_t invert_ramps64(float encoding) __attribute__((const));
+
+/**
+ * Test mapping function from [0, 1] float encoding value to [0, 1] float output value.
+ *
+ * @param encoding [0, 1] float encoding value.
+ * @return [0, 1] float output value.
+ */
+float invert_rampsf(float encoding) __attribute__((const));
+
+/**
+ * Test mapping function from [0, 1] double precision float encoding
+ * value to [0, 1] double precision float output value.
+ *
+ * @param encoding [0, 1] float encoding value.
+ * @return [0, 1] float output value.
+ */
+double invert_rampsd(double encoding) __attribute__((const));
+
+
#endif