93 #include "../src/xrif.h"
95 #include "randutils.h"
97 #ifndef XRIF_TEST_TRIALS
98 #define XRIF_TEST_TRIALS (2)
108 int ws[] = {2,4,8,21, 33, 47, 64};
109 int hs[] = {2,4,8,21, 33, 47, 64};
110 int ps[] = {1,2,4,5,27,63,64};
120 fprintf(stderr,
"Testing pixel differencing for signed 16-bit white noise.\n");
121 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_INT16)
122 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PIXEL)
123 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
124 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
125 #define XRIF_TESTLOOP_FILL 1
126 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
127 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
128 #define XRIF_TESTLOOP_NOPERF
130 #include "testloop.c"
140 fprintf(stderr,
"Testing pixel differencing for unsigned 16-bit white noise.\n");
141 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_UINT16)
142 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PIXEL)
143 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
144 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
145 #define XRIF_TESTLOOP_FILL 1
146 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
147 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
148 #define XRIF_TESTLOOP_NOPERF
150 #include "testloop.c"
160 fprintf(stderr,
"Testing pixel differencing for signed 32-bit white noise.\n");
161 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_INT32)
162 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PIXEL)
163 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
164 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
165 #define XRIF_TESTLOOP_FILL 1
166 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
167 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
168 #define XRIF_TESTLOOP_NOPERF
170 #include "testloop.c"
180 fprintf(stderr,
"Testing pixel differencing for unsigned 32-bit white noise.\n");
181 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_UINT32)
182 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PIXEL)
183 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
184 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
185 #define XRIF_TESTLOOP_FILL 1
186 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
187 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
188 #define XRIF_TESTLOOP_NOPERF
190 #include "testloop.c"
200 fprintf(stderr,
"Testing pixel differencing for signed 64-bit white noise.\n");
201 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_INT64)
202 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PIXEL)
203 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
204 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
205 #define XRIF_TESTLOOP_FILL 1
206 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
207 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
208 #define XRIF_TESTLOOP_NOPERF
210 #include "testloop.c"
220 fprintf(stderr,
"Testing pixel differencing for unsigned 64-bit white noise.\n");
221 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_UINT64)
222 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PIXEL)
223 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
224 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
225 #define XRIF_TESTLOOP_FILL 1
226 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
227 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
228 #define XRIF_TESTLOOP_NOPERF
230 #include "testloop.c"
234 Suite * whitenoise_suite(
void)
237 TCase *tc_core16, *tc_core32, *tc_core64;
239 s = suite_create(
"White Noise - Difference Pixel");
242 tc_core16 = tcase_create(
"16 bit white noise");
244 tcase_set_timeout(tc_core16, 1e9);
246 tcase_add_test(tc_core16, diff_pixel_int16_white);
247 tcase_add_test(tc_core16, diff_pixel_uint16_white);
249 suite_add_tcase(s, tc_core16);
252 tc_core32 = tcase_create(
"32 bit white noise");
254 tcase_set_timeout(tc_core32, 1e9);
256 tcase_add_test(tc_core32, diff_pixel_int32_white);
257 tcase_add_test(tc_core32, diff_pixel_uint32_white);
259 suite_add_tcase(s, tc_core32);
262 tc_core64 = tcase_create(
"64 bit white noise");
264 tcase_set_timeout(tc_core64, 1e9);
266 tcase_add_test(tc_core64, diff_pixel_int64_white);
267 tcase_add_test(tc_core64, diff_pixel_uint64_white);
269 suite_add_tcase(s, tc_core64);
279 extern int test_trials;
281 test_trials = XRIF_TEST_TRIALS;
285 test_trials = atoi(argv[1]);
288 fprintf(stderr,
"running %d trials per format\n", test_trials);
295 srand((
unsigned) time(NULL));
299 s = whitenoise_suite();
300 sr = srunner_create(s);
302 srunner_run_all(sr, CK_NORMAL);
303 number_failed = srunner_ntests_failed(sr);
306 return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;