Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. void
  2. minus_RTDR_o1 (mat __restrict A, mat __restrict R1, vec __restrict D,
  3. mat __restrict R2, int n)
  4. {
  5. for (int i = 0; i < n; i++)
  6. {
  7. int j = 0;
  8. for (j = 0; j < n - 1; j += 2)
  9. {
  10. double sum1 = 0;
  11. double sum2 = 0;
  12. //double sum3 = 0;
  13. //double sum4 = 0;
  14. for (int k = 0; k < n; k++)
  15. {
  16. sum1 += R1[k * n + i] * R2[k * n + j] * D[k];
  17. sum2 += R1[k * n + i] * R2[k * n + j + 1] * D[k];
  18. //sum3 += R1[k * n + i] * R2[k * n + j + 2] * D[k];
  19. //sum4 += R1[k * n + i] * R2[k * n + j + 3] * D[k];
  20. }
  21. A[i * n + j] -= sum1;
  22. A[i * n + j + 1] -= sum2;
  23. //A[i * n + j + 2] -= sum3;
  24. //A[i * n + j + 3] -= sum4;
  25. }
  26. for (; j < n - 0; j += 1)
  27. {
  28. double sum1 = 0;
  29. for (int k = 0; k < n; k++)
  30. {
  31. sum1 += R1[k * n + i] * R2[k * n + j] * D[k];
  32. }
  33. A[i * n + j] -= sum1;
  34. }
  35. }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement