Advertisement
ElTriunfador

Strange Behaviour

Sep 27th, 2016
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1. Eigen::Vector3f t = (-1,0,0);
  2. Eigen::Vector3f tdx = (-0.999,0,0);
  3. #pragma omp parallel for shared(t,tdx) private (i,j)
  4.     for i = 1:m
  5.         for j = 1:n
  6.             if (omp_get_thread_number() == 0){
  7.                 std::cout<<t<<std::endl;
  8.                 std::cout<<tdx<<std::endl;
  9.             }
  10.         }
  11.     }
  12. Result:
  13. (-1,0,0)
  14. (-0.999,0,0)
  15.  
  16.  
  17. Eigen::Vector3f t = (-1,0,0);
  18. Eigen::Vector3f tdx = (-0.999,0,0);
  19. #pragma omp parallel for private (i,j,t,tdx)
  20.     for i = 1:m
  21.         for j = 1:n
  22.             if (omp_get_thread_number() == 0){
  23.                 std::cout<<t<<std::endl;
  24.                 std::cout<<tdx<<std::endl;
  25.             }
  26.         }
  27.     }
  28.  
  29. Result:
  30. (0,0,1e-32)
  31. (1e+34,0,1+e23)
  32.  
  33. Why is it undefined when I use t,tdx as private?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement