I'm currently trying to learn ow to use OpenMP and I have a question. Is it safe to do something like that :
  std::atomic<double> result;
  #pragma omp parallel for
  for(...)
  {
  result+= //some stuff;
  }
Or shall I use :
  double result;
  #pragma omp parallel for
  for(...)
  {
    double tmp=0;
    //some stuff;
    #pragma omp atomic
    result+=tmp;
  }
Thanks !
Edit : I know the most simple way to handle that is using an array, but Im asking because I'm curious
 
     
     
    