From f41aefb19af7579ec326c180106ae2904a917d4c Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 13 Sep 2014 14:09:33 +0200 Subject: move out test mapping functions from test.c into ramps.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/test/ramps.h | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) (limited to 'src/test/ramps.h') 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 + + +#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 -- cgit v1.2.3-70-g09d2