Table of Contents
qutil_double_mult, qutil_uint_mult, qutil_int_mult - multiply an array
in parallel
#include <qthread.h>
#include <qthread/qutil.h>
double
qutil_double_mult (double *array, size_t length, int checkfeb);
unsigned
int
qutil_uint_mult (unsigned int *array, size_t length, int checkfeb);
int
qutil_int_mult (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 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 multiplying 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 product of the first length entries of array.
qutil_double_sum(3)
, qutil_double_max(3)
, qutil_double_min(3)
,
qutil_uint_sum(3)
, qutil_uint_max(3)
, qutil_uint_min(3)
, qutil_int_sum(3)
,
qutil_int_max(3)
, qutil_int_min(3)
, qutil_mergesort(3)
, qutil_qsort(3)
Table of Contents