Table of Contents
qt_double_prod, qt_uint_prod, qt_int_prod - multiplies an array in parallel
#include <qthread/qloop.h>
double
qt_double_prod (double *array, size_t length, int checkfeb);
unsigned int
qt_uint_prod (unsigned int *array, size_t length, int checkfeb);
int
qt_int_prod (int *array, size_t length, int checkfeb);
These
functions take as input an array of length numbers and will return the
product of those numbers. This product 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 multiplying them.
They DO NOT check whether the array entries are properly aligned.
The product of the first length entries of array.
qt_double_sum(3)
,
qt_double_max(3)
, qt_double_min(3)
, qt_uint_sum(3)
, qt_uint_max(3)
, qt_uint_min(3)
,
qt_int_sum(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