@@ -42,17 +42,17 @@ struct DirSplittingKernel
4242 template<typename CursorE, typename CursorB >
4343 DINLINE void propagate(CursorE cursorE, CursorB cursorB) const
4444 {
45- float a_plus = (*cursorB(-1, 0, 0)).z() + (*cursorE(-1, 0, 0)).y();
46- float a_minus = (*cursorB(1, 0, 0)).z() - (*cursorE(1, 0, 0)).y();
47- float a_prime_plus = (*cursorB(-1, 0, 0)).y() - (*cursorE(-1, 0, 0)).z();
48- float a_prime_minus = (*cursorB(1, 0, 0)).y() + (*cursorE(1, 0, 0)).z();
45+ float_X a_plus = (*cursorB(-1, 0, 0)).z() + (*cursorE(-1, 0, 0)).y();
46+ float_X a_minus = (*cursorB(1, 0, 0)).z() - (*cursorE(1, 0, 0)).y();
47+ float_X a_prime_plus = (*cursorB(-1, 0, 0)).y() - (*cursorE(-1, 0, 0)).z();
48+ float_X a_prime_minus = (*cursorB(1, 0, 0)).y() + (*cursorE(1, 0, 0)).z();
4949
5050 __syncthreads();
5151
52- (*cursorB).z() = 0.5f * (a_plus + a_minus);
53- (*cursorE).y() = 0.5f * (a_plus - a_minus);
54- (*cursorB).y() = 0.5f * (a_prime_plus + a_prime_minus);
55- (*cursorE).z() = 0.5f * (a_prime_minus - a_prime_plus);
52+ (*cursorB).z() = float_X(0.5) * (a_plus + a_minus);
53+ (*cursorE).y() = float_X(0.5) * (a_plus - a_minus);
54+ (*cursorB).y() = float_X(0.5) * (a_prime_plus + a_prime_minus);
55+ (*cursorE).z() = float_X(0.5) * (a_prime_minus - a_prime_plus);
5656
5757 __syncthreads();
5858 }
0 commit comments