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};
118 fprintf(stderr,
"Testing previous differencing for signed 16-bit white noise.\n");
119 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_INT16)
120 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PREVIOUS)
121 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
122 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
123 #define XRIF_TESTLOOP_FILL 1
124 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
125 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
126 #define XRIF_TESTLOOP_NOPERF
128 #include "testloop.c"
138 fprintf(stderr,
"Testing previous differencing for unsigned 16-bit white noise.\n");
140 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_UINT16)
141 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PREVIOUS)
142 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
143 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
144 #define XRIF_TESTLOOP_FILL 1
145 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
146 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
147 #define XRIF_TESTLOOP_NOPERF
149 #include "testloop.c"
159 fprintf(stderr,
"Testing previous differencing for signed 32-bit white noise.\n");
160 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_INT32)
161 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PREVIOUS)
162 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
163 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
164 #define XRIF_TESTLOOP_FILL 1
165 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
166 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
167 #define XRIF_TESTLOOP_NOPERF
169 #include "testloop.c"
179 fprintf(stderr,
"Testing previous differencing for unsigned 32-bit white noise.\n");
180 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_UINT32)
181 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PREVIOUS)
182 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
183 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
184 #define XRIF_TESTLOOP_FILL 1
185 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
186 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
187 #define XRIF_TESTLOOP_NOPERF
189 #include "testloop.c"
199 fprintf(stderr,
"Testing previous differencing for signed 64-bit white noise.\n");
200 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_INT64)
201 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PREVIOUS)
202 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
203 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
204 #define XRIF_TESTLOOP_FILL 1
205 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
206 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
207 #define XRIF_TESTLOOP_NOPERF
209 #include "testloop.c"
219 fprintf(stderr,
"Testing previous differencing for unsigned 64-bit white noise.\n");
220 #define XRIF_TESTLOOP_TYPECODE (XRIF_TYPECODE_UINT64)
221 #define XRIF_TESTLOOP_DIFFERENCE (XRIF_DIFFERENCE_PREVIOUS)
222 #define XRIF_TESTLOOP_REORDER (XRIF_REORDER_BYTEPACK_RENIBBLE)
223 #define XRIF_TESTLOOP_COMPRESS (XRIF_COMPRESS_LZ4)
224 #define XRIF_TESTLOOP_FILL 1
225 #define XRIF_TESTLOOP_ENCODE xrif_difference_previous
226 #define XRIF_TESTLOOP_DECODE xrif_undifference_previous
227 #define XRIF_TESTLOOP_NOPERF
229 #include "testloop.c"
233 Suite * whitenoise_suite(
void)
236 TCase *tc_core16, *tc_core32, *tc_core64;
238 s = suite_create(
"White Noise - Difference Previous");
241 tc_core16 = tcase_create(
"16 bit white noise");
243 tcase_set_timeout(tc_core16, 1e9);
245 tcase_add_test(tc_core16, diff_previous_int16_white);
246 tcase_add_test(tc_core16, diff_previous_uint16_white);
248 suite_add_tcase(s, tc_core16);
251 tc_core32 = tcase_create(
"32 bit white noise");
253 tcase_set_timeout(tc_core32, 1e9);
255 tcase_add_test(tc_core32, diff_previous_int32_white);
256 tcase_add_test(tc_core32, diff_previous_uint32_white);
258 suite_add_tcase(s, tc_core32);
261 tc_core64 = tcase_create(
"64 bit white noise");
263 tcase_set_timeout(tc_core64, 1e9);
265 tcase_add_test(tc_core64, diff_previous_int64_white);
266 tcase_add_test(tc_core64, diff_previous_uint64_white);
268 suite_add_tcase(s, tc_core64);
278 extern int test_trials;
280 test_trials = XRIF_TEST_TRIALS;
284 test_trials = atoi(argv[1]);
287 fprintf(stderr,
"running %d trials per format\n", test_trials);
294 srand((
unsigned) time(NULL));
296 s = whitenoise_suite();
297 sr = srunner_create(s);
299 srunner_run_all(sr, CK_NORMAL);
300 number_failed = srunner_ntests_failed(sr);
303 return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;