Advertisement
Guest User

Untitled

a guest
May 27th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.50 KB | None | 0 0
  1. void trapezio_parallel(double a, double b, int n, double* global_result){
  2. double h,x,my_result,local_a, local_b;
  3. int i, local_n;
  4. int my_rank = omp_get_thread_num();
  5. int thread_count = omp_get_num_threads();
  6. h=(b-a)/n;
  7. local_n=n/thread_count;
  8. local_a=a+my_rank*local_n*h;
  9. local_b=local_a+local_n*h;
  10. my_result = (f(local_a)+f(local_b))/2.0;
  11. for (i=1;i<=local_n-1;i++){
  12. x = local_a+i*h;
  13. my_result += f(x);
  14. }
  15. my_result *=h;
  16.  
  17. #pragma omp_critical
  18. *global_result += my_result;
  19. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement