[igt-dev] [PATCH i-g-t v4 1/3] lib/igt_aux: Add function to swap int64 in array

Jani Nikula jani.nikula at intel.com
Thu Jan 25 11:35:30 UTC 2018


On Thu, 25 Jan 2018, Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> On Wed, Jan 24, 2018 at 05:00:01PM -0800, Antonio Argenziano wrote:
>> Signed-off-by: Antonio Argenziano <antonio.argenziano at intel.com>
>> Cc: Chris Wilson <chris at chris-wilson.co.uk>
>> Cc: Michal Winiarski <michal.winiarski 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;
>
> Why void* when you really mean int64_t*?
>
>> +	int_arr = array;
>> +
>> +	tmp = int_arr[i];
>> +	int_arr[i] = int_arr[j];
>> +	int_arr[j] = tmp;
>
> igt_swap()


All of the igt_exchange_whatever functions could be replaced with a
single macro that does typeof on the array parameter.

BR,
Jani.

>
>> +}
>> +
>>  /**
>>   * 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
>> 
>> _______________________________________________
>> igt-dev mailing list
>> igt-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the igt-dev mailing list