Guest User

Untitled

a guest
Oct 3rd, 2016
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. array_view<float, 1> Matrix_X(N, POSX), Matrix_Y(N, POSY), Matrix_R(N + N, POSR), AX(N, AX_M), AY(N, AY_M);
  2.         Matrix_R.discard_data();
  3.         parallel_for_each(
  4.             Matrix_R.extent, [=](index<1> first) restrict(amp) {
  5.             for (int next = 0; next < N; next++) {
  6.                 if (first[0] != next) {
  7.                     AX[first[0]] = 0.1 * (Matrix_X[next] - Matrix_X[first[0]]) / fast_math::sqrt((Matrix_X[next] - Matrix_X[first[0]])*(Matrix_X[next] - Matrix_X[first[0]]) + (Matrix_Y[next] - Matrix_Y[first[0]])*(Matrix_Y[next] - Matrix_Y[first[0]]));
  8.                     AY[first[0]] = 0.1 * (Matrix_Y[next] - Matrix_Y[first[0]]) / fast_math::sqrt((Matrix_X[next] - Matrix_X[first[0]])*(Matrix_X[next] - Matrix_X[first[0]]) + (Matrix_Y[next] - Matrix_Y[first[0]])*(Matrix_Y[next] - Matrix_Y[first[0]]));
  9.                 }
  10.             }
  11.             Matrix_R[first[0]] += AX[first[0]];
  12.             Matrix_R[first[0] + N] += AY[first[0]];
  13.         });
  14.         Matrix_R.synchronize();
Advertisement
Add Comment
Please, Sign In to add comment