Table of Contents

Name

qutil_double_min, qutil_uint_min, qutil_int_min - find the minimum value within an array in parallel

Synopsis

#include <qthread.h>
#include <qthread/qutil.h>

double
qutil_double_min (double *array, size_t length, int checkfeb);

unsigned int
qutil_uint_min (unsigned int *array, size_t length, int checkfeb);

int
qutil_int_min (int *array, size_t length, int checkfeb);

Description

These functions take as input an array of length numbers and will return the minimum value within those numbers. This value is computed in parallel by using a lagging-loop structure, using futures to restrict the parallelism to the available limits.

If checkfeb is non-zero, these functions will wait for the entries in the array to be full before comparing them. They DO NOT check whether the array entries are properly aligned. If the datatype is too small to do a FEB operation on, they will abort, if sanity checks are turned on.

Return Value

The minimum value of the first length entries of array.

See Also

qutil_double_mult(3) , qutil_double_sum(3) , qutil_double_max(3) , qutil_uint_mult(3) , qutil_uint_sum(3) , qutil_uint_max(3) , qutil_int_mult(3) , qutil_int_sum(3) , qutil_int_max(3) , qutil_mergesort(3) , qutil_qsort(3)


Table of Contents