diff options
Diffstat (limited to 'src/test/ramps.h')
-rw-r--r-- | src/test/ramps.h | 59 |
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 |