Esempio n. 1
0
inline double mt_incr(double& target, T inc)
{
#ifdef __MTA__
  double res = mt_readfe(target);
  mt_write(target, res + inc);
#elif _OPENMP
  double res;
  #pragma omp critical
  {
    res = target;
    target += inc;
  }
#elif USING_QTHREADS
  double res = qthread_dincr(&target, inc);
#else
  double res = target;
  target += inc;
#endif

  return res;
}
Esempio n. 2
0
inline double qthread_incr(double      *operand,
                           const double incr)
{
    return qthread_dincr(operand, incr);
}