Table of Contents

Name

qt_double_sum, qt_uint_sum, qt_int_sum - add up an array in parallel

Synopsis

#include <qthread/qloop.h>

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

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

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

Description

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 dividing the iterations evenly among the shepherds, 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.

Return Value

The sum of the first length entries of array.

See Also

qt_double_prod(3) , qt_double_max(3) , qt_double_min(3) , qt_uint_prod(3) , qt_uint_max(3) , qt_uint_min(3) , qt_int_prod(3) , qt_int_max(3) , qt_int_min(3) , qt_loop(3) , qt_loop_future(3) , qt_loop_balance(3) , qt_loop_balance_future(3) , qt_loopaccum_balance(3) , qt_loopaccum_balance_future(3)


Table of Contents