Table of Contents
qutil_double_mult, qutil_uint_mult, qutil_int_mult - multiply an array
in parallel
#include <qthread/qthread.h>
#include <qthread/qutil.h>
double
qutil_double_mult(qthread_t *me, double *array, size_t length, int checkfeb);
unsigned int
qutil_uint_mult(qthread_t *me, unsigned int *array, size_t length, int
checkfeb);
int
qutil_int_mult(qthread_t *me, 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