@@ -42,17 +42,17 @@ struct DirSplittingKernel
42
42
template<typename CursorE, typename CursorB >
43
43
DINLINE void propagate(CursorE cursorE, CursorB cursorB) const
44
44
{
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();
49
49
50
50
__syncthreads();
51
51
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);
56
56
57
57
__syncthreads();
58
58
}
0 commit comments