From 6383c98b91d7456890deb4aad73d8a0a313dd38c Mon Sep 17 00:00:00 2001 From: Antonio Argenziano Date: Wed, 24 Jan 2018 17:00:01 -0800 Subject: lib/igt_aux: Add function to swap int64 in array v2: Use igt_swap() Signed-off-by: Antonio Argenziano Cc: Chris Wilson Cc: Michal Winiarski Reviewed-by: Chris Wilson --- lib/igt_aux.c | 16 ++++++++++++++++ lib/igt_aux.h | 1 + 2 files changed, 17 insertions(+) (limited to 'lib') diff --git a/lib/igt_aux.c b/lib/igt_aux.c index 8ca0b60d..a23375a4 100644 --- a/lib/igt_aux.c +++ b/lib/igt_aux.c @@ -577,6 +577,22 @@ void igt_exchange_int(void *array, unsigned i, unsigned j) int_arr[j] = tmp; } +/** + * igt_exchange_int64: + * @array: pointer to the array of int64_t + * @i: first position + * @j: second position + * + * Exchanges the two values at array indices @i and @j. Useful as an exchange + * function for igt_permute_array(). + */ +void igt_exchange_int64(void *array, unsigned i, unsigned j) +{ + int64_t *a = array; + + igt_swap(a[i], a[j]); +} + /** * igt_permute_array: * @array: pointer to array diff --git a/lib/igt_aux.h b/lib/igt_aux.h index f9c75992..43dd15fe 100644 --- a/lib/igt_aux.h +++ b/lib/igt_aux.h @@ -118,6 +118,7 @@ bool __igt_sigiter_continue(struct __igt_sigiter *iter, bool interrupt); for (struct timespec t__={}; igt_nsec_elapsed(&t__)>>20 < (t); ) void igt_exchange_int(void *array, unsigned i, unsigned j); +void igt_exchange_int64(void *array, unsigned i, unsigned j); void igt_permute_array(void *array, unsigned size, void (*exchange_func)(void *array, unsigned i, -- cgit v1.2.3