Table of Contents
qutil_double_sum, qutil_uint_sum, qutil_int_sum - add up an array in
parallel
#include <qthread/qthread.h>
#include <qthread/qutil.h>
double
qutil_double_sum(qthread_t *me, double *array, size_t length, int checkfeb);
unsigned int
qutil_uint_sum(qthread_t *me, unsigned int *array, size_t length, int checkfeb);
int
qutil_int_sum(qthread_t *me, int *array, size_t length, int checkfeb);
These functions take as input an array of length numbers and
will return the sum of those numbers. This sum 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 adding 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.
The sum of the first length entries of array.
qutil_double_mult(3)
, qutil_double_max(3)
, qutil_double_min(3)
, qutil_uint_mult(3)
,
qutil_uint_max(3)
, qutil_uint_min(3)
, qutil_int_mult(3)
, qutil_int_max(3)
,
qutil_int_min(3)
, qutil_mergesort(3)
, qutil_qsort(3)
Table of Contents