Skip to content

Commit 0f64638

Browse files
[NFC][SYCL] Simplify std::integral_constant<bool, ...> (#15383)
1 parent 9add238 commit 0f64638

File tree

7 files changed

+28
-37
lines changed

7 files changed

+28
-37
lines changed

sycl/include/std/experimental/simd.hpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,39 +1042,39 @@ inline constexpr overaligned_tag<_Np> overaligned{};
10421042

10431043
// traits [simd.traits]
10441044
template <class _Tp>
1045-
struct is_abi_tag : std::integral_constant<bool, false> {};
1045+
struct is_abi_tag : std::false_type {};
10461046

10471047
template <_StorageKind __kind, int _Np>
10481048
struct is_abi_tag<__simd_abi<__kind, _Np>>
1049-
: std::integral_constant<bool, true> {};
1049+
: std::true_type {};
10501050

10511051
template <class _Tp>
1052-
struct is_simd : std::integral_constant<bool, false> {};
1052+
struct is_simd : std::false_type {};
10531053

10541054
template <class _Tp, class _Abi>
1055-
struct is_simd<simd<_Tp, _Abi>> : std::integral_constant<bool, true> {};
1055+
struct is_simd<simd<_Tp, _Abi>> : std::true_type {};
10561056

10571057
template <class _Tp>
1058-
struct is_simd_mask : std::integral_constant<bool, false> {};
1058+
struct is_simd_mask : std::false_type {};
10591059

10601060
template <class _Tp, class _Abi>
1061-
struct is_simd_mask<simd_mask<_Tp, _Abi>> : std::integral_constant<bool, true> {
1061+
struct is_simd_mask<simd_mask<_Tp, _Abi>> : std::true_type {
10621062
};
10631063

10641064
template <class _Tp>
1065-
struct is_simd_flag_type : std::integral_constant<bool, false> {};
1065+
struct is_simd_flag_type : std::false_type {};
10661066

10671067
template <>
10681068
struct is_simd_flag_type<element_aligned_tag>
1069-
: std::integral_constant<bool, true> {};
1069+
: std::true_type {};
10701070

10711071
template <>
10721072
struct is_simd_flag_type<vector_aligned_tag>
1073-
: std::integral_constant<bool, true> {};
1073+
: std::true_type {};
10741074

10751075
template <size_t _Align>
10761076
struct is_simd_flag_type<overaligned_tag<_Align>>
1077-
: std::integral_constant<bool, true> {};
1077+
: std::true_type {};
10781078

10791079
template <class _Tp>
10801080
inline constexpr bool is_abi_tag_v = is_abi_tag<_Tp>::value;

sycl/include/sycl/detail/helpers.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -127,15 +127,15 @@ class Builder {
127127
#ifdef __SYCL_DEVICE_ONLY__
128128

129129
template <int N>
130-
using is_valid_dimensions = std::integral_constant<bool, (N > 0) && (N < 4)>;
130+
static inline constexpr bool is_valid_dimensions = (N > 0) && (N < 4);
131131

132132
template <int Dims> static const id<Dims> getElement(id<Dims> *) {
133-
static_assert(is_valid_dimensions<Dims>::value, "invalid dimensions");
133+
static_assert(is_valid_dimensions<Dims>, "invalid dimensions");
134134
return __spirv::initGlobalInvocationId<Dims, id<Dims>>();
135135
}
136136

137137
template <int Dims> static const group<Dims> getElement(group<Dims> *) {
138-
static_assert(is_valid_dimensions<Dims>::value, "invalid dimensions");
138+
static_assert(is_valid_dimensions<Dims>, "invalid dimensions");
139139
range<Dims> GlobalSize{__spirv::initGlobalSize<Dims, range<Dims>>()};
140140
range<Dims> LocalSize{__spirv::initWorkgroupSize<Dims, range<Dims>>()};
141141
range<Dims> GroupRange{__spirv::initNumWorkgroups<Dims, range<Dims>>()};
@@ -145,7 +145,7 @@ class Builder {
145145

146146
template <int Dims, bool WithOffset>
147147
static std::enable_if_t<WithOffset, const item<Dims, WithOffset>> getItem() {
148-
static_assert(is_valid_dimensions<Dims>::value, "invalid dimensions");
148+
static_assert(is_valid_dimensions<Dims>, "invalid dimensions");
149149
id<Dims> GlobalId{__spirv::initGlobalInvocationId<Dims, id<Dims>>()};
150150
range<Dims> GlobalSize{__spirv::initGlobalSize<Dims, range<Dims>>()};
151151
id<Dims> GlobalOffset{__spirv::initGlobalOffset<Dims, id<Dims>>()};
@@ -154,14 +154,14 @@ class Builder {
154154

155155
template <int Dims, bool WithOffset>
156156
static std::enable_if_t<!WithOffset, const item<Dims, WithOffset>> getItem() {
157-
static_assert(is_valid_dimensions<Dims>::value, "invalid dimensions");
157+
static_assert(is_valid_dimensions<Dims>, "invalid dimensions");
158158
id<Dims> GlobalId{__spirv::initGlobalInvocationId<Dims, id<Dims>>()};
159159
range<Dims> GlobalSize{__spirv::initGlobalSize<Dims, range<Dims>>()};
160160
return createItem<Dims, false>(GlobalSize, GlobalId);
161161
}
162162

163163
template <int Dims> static const nd_item<Dims> getElement(nd_item<Dims> *) {
164-
static_assert(is_valid_dimensions<Dims>::value, "invalid dimensions");
164+
static_assert(is_valid_dimensions<Dims>, "invalid dimensions");
165165
range<Dims> GlobalSize{__spirv::initGlobalSize<Dims, range<Dims>>()};
166166
range<Dims> LocalSize{__spirv::initWorkgroupSize<Dims, range<Dims>>()};
167167
range<Dims> GroupRange{__spirv::initNumWorkgroups<Dims, range<Dims>>()};

sycl/include/sycl/detail/type_traits.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,7 @@ template <> struct is_sub_group<sycl::sub_group> : std::true_type {};
8686

8787
template <typename T>
8888
struct is_generic_group
89-
: std::integral_constant<bool,
90-
is_group<T>::value || is_sub_group<T>::value> {};
89+
: std::bool_constant<is_group<T>::value || is_sub_group<T>::value> {};
9190
template <typename T>
9291
inline constexpr bool is_generic_group_v = is_generic_group<T>::value;
9392

sycl/include/sycl/ext/oneapi/experimental/complex/detail/common.hpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,15 @@ class complex<_Tp, typename std::enable_if_t<is_genfloat<_Tp>::value>>;
3535
////////////////////////////////////////////////////////////////////////////////
3636

3737
template <class _Tp>
38-
struct is_genfloat
39-
: std::integral_constant<bool, std::is_same_v<_Tp, double> ||
40-
std::is_same_v<_Tp, float> ||
41-
std::is_same_v<_Tp, sycl::half>> {};
38+
struct is_genfloat : std::bool_constant<std::is_same_v<_Tp, double> ||
39+
std::is_same_v<_Tp, float> ||
40+
std::is_same_v<_Tp, sycl::half>> {};
4241

4342
template <class _Tp>
4443
struct is_gencomplex
45-
: std::integral_constant<bool,
46-
std::is_same_v<_Tp, complex<double>> ||
47-
std::is_same_v<_Tp, complex<float>> ||
48-
std::is_same_v<_Tp, complex<sycl::half>>> {};
44+
: std::bool_constant<std::is_same_v<_Tp, complex<double>> ||
45+
std::is_same_v<_Tp, complex<float>> ||
46+
std::is_same_v<_Tp, complex<sycl::half>>> {};
4947

5048
////////////////////////////////////////////////////////////////////////////////
5149
/// DEFINES

sycl/include/sycl/ext/oneapi/experimental/complex/detail/complex_math.hpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@ namespace experimental {
2727

2828
namespace cplx::detail {
2929

30-
template <bool _Val> using _BoolConstant = std::integral_constant<bool, _Val>;
31-
32-
template <class _Tp, class _Up>
33-
using _IsNotSame = _BoolConstant<!__is_same(_Tp, _Up)>;
34-
3530
template <class _Tp> struct __numeric_type {
3631
static void __test(...);
3732
static sycl::half __test(sycl::half);
@@ -46,7 +41,7 @@ template <class _Tp> struct __numeric_type {
4641
static double __test(double);
4742

4843
typedef decltype(__test(std::declval<_Tp>())) type;
49-
static const bool value = _IsNotSame<type, void>::value;
44+
static const bool value = !std::is_same_v<type, void>;
5045
};
5146

5247
template <> struct __numeric_type<void> {

sycl/include/sycl/ext/oneapi/experimental/group_sort.hpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,8 @@ struct is_sorter_impl {
4242
std::declval<G>(), std::declval<Val>()))>;
4343

4444
template <typename G = Group>
45-
static decltype(std::integral_constant<bool,
46-
is_expected_return_type<G>::value &&
47-
sycl::is_group_v<G>>{})
45+
static decltype(std::bool_constant<is_expected_return_type<G>::value &&
46+
sycl::is_group_v<G>>{})
4847
test(int);
4948

5049
template <typename = Group> static std::false_type test(...);

sycl/include/sycl/group_algorithm.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,8 @@ struct is_complex : public std::false_type {};
124124
// ---- is_arithmetic_or_complex
125125
template <typename T>
126126
using is_arithmetic_or_complex =
127-
std::integral_constant<bool, sycl::detail::is_complex<T>::value ||
128-
sycl::detail::is_arithmetic<T>::value>;
127+
std::bool_constant<sycl::detail::is_complex<T>::value ||
128+
sycl::detail::is_arithmetic<T>::value>;
129129

130130
template <typename T>
131131
struct is_vector_arithmetic_or_complex

0 commit comments

Comments
 (0)