@@ -32,9 +32,9 @@ struct exchangeValues<SharedMemoryAdaptor, float16_t>
32
32
{
33
33
const bool topHalf = bool (threadID & stride);
34
34
// Ternary won't take structs so we use this aux variable
35
- uint32_t toExchange = bit_cast<uint32_t, vector <float16_t, 2 > > (topHalf ? vector <float16_t, 2 > (lo.real (), lo.imag ()) : vector <float16_t, 2 > (hi.real (), hi.imag ()));
35
+ uint32_t toExchange = bit_cast<uint32_t, float16_t2 > (topHalf ? float16_t2 (lo.real (), lo.imag ()) : float16_t2 (hi.real (), hi.imag ()));
36
36
shuffleXor<SharedMemoryAdaptor, uint32_t>::__call (toExchange, stride, sharedmemAdaptor);
37
- vector <float16_t, 2 > exchanged = bit_cast<vector <float16_t, 2 > , uint32_t>(toExchange);
37
+ float16_t2 exchanged = bit_cast<float16_t2 , uint32_t>(toExchange);
38
38
if (topHalf)
39
39
{
40
40
lo.real (exchanged.x);
@@ -55,9 +55,9 @@ struct exchangeValues<SharedMemoryAdaptor, float32_t>
55
55
{
56
56
const bool topHalf = bool (threadID & stride);
57
57
// Ternary won't take structs so we use this aux variable
58
- vector <uint32_t, 2 > toExchange = bit_cast<vector <uint32_t, 2 >, vector <float32_t, 2 > > (topHalf ? vector <float32_t, 2 > (lo.real (), lo.imag ()) : vector <float32_t, 2 > (hi.real (), hi.imag ()));
59
- shuffleXor<SharedMemoryAdaptor, vector <uint32_t, 2 > >::__call (toExchange, stride, sharedmemAdaptor);
60
- vector <float32_t, 2 > exchanged = bit_cast<vector <float32_t, 2 >, vector <uint32_t, 2 > >(toExchange);
58
+ uint32_t2 toExchange = bit_cast<uint32_t2, float32_t2 > (topHalf ? float32_t2 (lo.real (), lo.imag ()) : float32_t2 (hi.real (), hi.imag ()));
59
+ shuffleXor<SharedMemoryAdaptor, uint32_t2 >::__call (toExchange, stride, sharedmemAdaptor);
60
+ float32_t2 exchanged = bit_cast<float32_t2, uint32_t2 >(toExchange);
61
61
if (topHalf)
62
62
{
63
63
lo.real (exchanged.x);
@@ -78,9 +78,9 @@ struct exchangeValues<SharedMemoryAdaptor, float64_t>
78
78
{
79
79
const bool topHalf = bool (threadID & stride);
80
80
// Ternary won't take structs so we use this aux variable
81
- vector <uint32_t, 4 > toExchange = bit_cast<vector <uint32_t, 4 >, vector <float64_t, 2 > > (topHalf ? vector <float64_t, 2 > (lo.real (), lo.imag ()) : vector <float64_t, 2 > (hi.real (), hi.imag ()));
82
- shuffleXor<SharedMemoryAdaptor, vector <uint32_t, 4 > >::__call (toExchange, stride, sharedmemAdaptor);
83
- vector <float64_t, 2 > exchanged = bit_cast<vector <float64_t, 2 >, vector <uint32_t, 4 > >(toExchange);
81
+ uint32_t4 toExchange = bit_cast<uint32_t4, float64_t2 > (topHalf ? float64_t2 (lo.real (), lo.imag ()) : float64_t2 (hi.real (), hi.imag ()));
82
+ shuffleXor<SharedMemoryAdaptor, uint32_t4 >::__call (toExchange, stride, sharedmemAdaptor);
83
+ float64_t2 exchanged = bit_cast<float64_t2, uint32_t4 >(toExchange);
84
84
if (topHalf)
85
85
{
86
86
lo.real (exchanged.x);
0 commit comments