Skip to content
This repository was archived by the owner on Mar 21, 2024. It is now read-only.

Commit ce4c107

Browse files
committed
Use constexpr if in case it's available
1 parent e53cb3c commit ce4c107

File tree

1 file changed

+39
-34
lines changed
  • thrust/system/cuda/detail

1 file changed

+39
-34
lines changed

thrust/system/cuda/detail/sort.h

Lines changed: 39 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
#include <thrust/detail/alignment.h>
5050
#include <thrust/type_traits/is_contiguous_iterator.h>
5151

52+
5253
THRUST_NAMESPACE_BEGIN
5354
namespace cuda_cub {
5455

@@ -72,59 +73,63 @@ namespace __merge_sort {
7273
{
7374
(void)items;
7475

76+
cudaError_t status = cudaSuccess;
77+
7578
if (keys_count == 0)
7679
{
77-
return cudaSuccess;
80+
return status;
7881
}
7982

80-
if (STABLE::value)
83+
THRUST_IF_CONSTEXPR(STABLE::value)
8184
{
82-
if (SORT_ITEMS::value)
85+
THRUST_IF_CONSTEXPR(SORT_ITEMS::value)
8386
{
84-
return cub::DeviceMergeSort::StableSortPairs(d_temp_storage,
85-
temp_storage_bytes,
86-
keys,
87-
items,
88-
keys_count,
89-
compare_op,
90-
stream,
91-
debug_sync);
87+
status = cub::DeviceMergeSort::StableSortPairs(d_temp_storage,
88+
temp_storage_bytes,
89+
keys,
90+
items,
91+
keys_count,
92+
compare_op,
93+
stream,
94+
debug_sync);
9295
}
9396
else
9497
{
95-
return cub::DeviceMergeSort::StableSortKeys(d_temp_storage,
96-
temp_storage_bytes,
97-
keys,
98-
keys_count,
99-
compare_op,
100-
stream,
101-
debug_sync);
98+
status = cub::DeviceMergeSort::StableSortKeys(d_temp_storage,
99+
temp_storage_bytes,
100+
keys,
101+
keys_count,
102+
compare_op,
103+
stream,
104+
debug_sync);
102105
}
103106
}
104107
else
105108
{
106-
if (SORT_ITEMS::value)
109+
THRUST_IF_CONSTEXPR(SORT_ITEMS::value)
107110
{
108-
return cub::DeviceMergeSort::SortPairs(d_temp_storage,
109-
temp_storage_bytes,
110-
keys,
111-
items,
112-
keys_count,
113-
compare_op,
114-
stream,
115-
debug_sync);
111+
status = cub::DeviceMergeSort::SortPairs(d_temp_storage,
112+
temp_storage_bytes,
113+
keys,
114+
items,
115+
keys_count,
116+
compare_op,
117+
stream,
118+
debug_sync);
116119
}
117120
else
118121
{
119-
return cub::DeviceMergeSort::SortKeys(d_temp_storage,
120-
temp_storage_bytes,
121-
keys,
122-
keys_count,
123-
compare_op,
124-
stream,
125-
debug_sync);
122+
status = cub::DeviceMergeSort::SortKeys(d_temp_storage,
123+
temp_storage_bytes,
124+
keys,
125+
keys_count,
126+
compare_op,
127+
stream,
128+
debug_sync);
126129
}
127130
}
131+
132+
return status;
128133
}
129134

130135
template <typename SORT_ITEMS,

0 commit comments

Comments
 (0)