[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