Table of Contents
qutil_double_sum, qutil_uint_sum, qutil_int_sum - add up an array in
parallel
#include <qthread.h>
#include <qthread/qutil.h>
double
qutil_double_sum (double *array, size_t length, int checkfeb);
unsigned
int
qutil_uint_sum (unsigned int *array, size_t length, int checkfeb);
int
qutil_int_sum (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