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/test.c | 105 -------------------------------------------------------- 1 file changed, 105 deletions(-) (limited to 'src/test/test.c') diff --git a/src/test/test.c b/src/test/test.c index 44c55c2..ef6e7e2 100644 --- a/src/test/test.c +++ b/src/test/test.c @@ -30,106 +30,6 @@ #include -#ifndef __GCC__ -# define __attribute__(x) -#endif - -/** - * 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. - */ -static uint8_t __attribute__((const)) invert_ramps8(float encoding) -{ - double i_encoding = (double)(1.f - encoding); - double f_output = ((double)UINT8_MAX) * i_encoding; - uint8_t output = (uint8_t)f_output; - if ((i_encoding < (double)(0.25f)) && (output > UINT8_MAX / 2)) - output = 0; - if ((i_encoding > (double)(0.75f)) && (output < UINT8_MAX / 2)) - output = UINT8_MAX; - return output; -} - -/** - * 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. - */ -static uint16_t __attribute__((const)) invert_ramps16(float encoding) -{ - double i_encoding = (double)(1.f - encoding); - double f_output = ((double)UINT16_MAX) * i_encoding; - uint16_t output = (uint16_t)f_output; - if ((i_encoding < (double)(0.25f)) && (output > UINT16_MAX / 2)) - output = 0; - if ((i_encoding > (double)(0.75f)) && (output < UINT16_MAX / 2)) - output = UINT16_MAX; - return output; -} - -/** - * 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. - */ -static uint32_t __attribute__((const)) invert_ramps32(float encoding) -{ - double i_encoding = (double)(1.f - encoding); - double f_output = ((double)UINT32_MAX) * i_encoding; - uint32_t output = (uint32_t)f_output; - if ((i_encoding < (double)(0.25f)) && (output > UINT32_MAX / 2)) - output = 0; - if ((i_encoding > (double)(0.75f)) && (output < UINT32_MAX / 2)) - output = UINT32_MAX; - return output; -} - -/** - * 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. - */ -static uint64_t __attribute__((const)) invert_ramps64(float encoding) -{ - double i_encoding = (double)(1.f - encoding); - double f_output = ((double)UINT64_MAX) * i_encoding; - uint64_t output = (uint64_t)f_output; - if ((i_encoding < (double)(0.25f)) && (output > UINT64_MAX / 2)) - output = 0; - if ((i_encoding > (double)(0.75f)) && (output < UINT64_MAX / 2)) - output = UINT64_MAX; - return output; -} - -/** - * 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. - */ -static float __attribute__((const)) invert_rampsf(float encoding) -{ - return 1.f - encoding; -} - -/** - * 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. - */ -static double __attribute__((const)) invert_rampsd(double encoding) -{ - return ((double)1.f) - encoding; -} - - /** * Test `libgamma` @@ -260,8 +160,3 @@ int main(void) return rr; } - -#ifndef __GCC__ -# undef __attribute__ -#endif - -- cgit v1.2.3-70-g09d2