diff options
Diffstat (limited to 'pixman/test/utils.h')
-rw-r--r-- | pixman/test/utils.h | 43 |
1 files changed, 39 insertions, 4 deletions
diff --git a/pixman/test/utils.h b/pixman/test/utils.h index bc110d847..8fdb2ce4f 100644 --- a/pixman/test/utils.h +++ b/pixman/test/utils.h @@ -1,6 +1,41 @@ -#include <stdio.h> #include <stdlib.h> -#include <glib.h> -#include "pixman.h" +#include <config.h> +#include "pixman-private.h" /* For 'inline' definition */ -void show_image (pixman_image_t *image); +/* A primitive pseudorandom number generator, + * taken from POSIX.1-2001 example + */ + +extern uint32_t lcg_seed; + +static inline uint32_t +lcg_rand (void) +{ + lcg_seed = lcg_seed * 1103515245 + 12345; + return ((uint32_t)(lcg_seed / 65536) % 32768); +} + +static inline void +lcg_srand (uint32_t seed) +{ + lcg_seed = seed; +} + +static inline uint32_t +lcg_rand_n (int max) +{ + return lcg_rand () % max; +} + + +/* CRC 32 computation + */ +uint32_t +compute_crc32 (uint32_t in_crc32, + const void *buf, + size_t buf_len); + +/* perform endian conversion of pixel data + */ +void +image_endian_swap (pixman_image_t *img, int bpp); |