[igt-dev] [PATCH i-g-t v3 1/2] lib/igt_aux: Add function to swap int64 in array
Antonio Argenziano
antonio.argenziano at intel.com
Thu Jan 18 22:15:42 UTC 2018
Signed-off-by: Antonio Argenziano <antonio.argenziano at intel.com>
---
lib/igt_aux.c | 19 +++++++++++++++++++
lib/igt_aux.h | 1 +
2 files changed, 20 insertions(+)
diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 8ca0b60d..8012d8ae 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -577,6 +577,25 @@ 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 *int_arr, tmp;
+ int_arr = array;
+
+ tmp = int_arr[i];
+ int_arr[i] = int_arr[j];
+ int_arr[j] = tmp;
+}
+
/**
* igt_permute_array:
* @array: pointer to array
diff --git a/lib/igt_aux.h b/lib/igt_aux.h
index 02e70126..60d4de71 100644
--- a/lib/igt_aux.h
+++ b/lib/igt_aux.h
@@ -117,6 +117,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,
--
2.14.2
More information about the igt-dev
mailing list