1818#include < sycl/detail/array.hpp> // for array
1919#include < sycl/detail/export.hpp> // for __SYCL_EXPORT
2020#include < sycl/detail/generic_type_traits.hpp> // for max_v, min_v, TryToGe...
21- #include < sycl/detail/type_list.hpp> // for is_contained, type_list
2221#include < sycl/exception.hpp>
2322#include < sycl/id.hpp> // for id
2423#include < sycl/image.hpp> // for image_channel_type
@@ -35,26 +34,25 @@ inline namespace _V1 {
3534namespace detail {
3635
3736template <typename T>
38- using IsValidCoordType = typename is_contained<
39- T, boost::mp11::mp_unique<type_list<opencl::cl_int, opencl::cl_float,
40- std::int32_t , float >>>::type;
37+ inline constexpr bool is_valid_coord_type_v =
38+ check_type_in_v<T, opencl::cl_int, opencl::cl_float, std::int32_t , float >;
4139
4240// The formula for unnormalization coordinates:
4341// NormalizedCoords = [UnnormalizedCoords[i] * Range[i] for i in range(0, 3)]
4442template <typename T>
45- std::enable_if_t <IsValidCoordType <T>::value , T>
43+ std::enable_if_t <is_valid_coord_type_v <T>, T>
4644UnnormalizeCoordinates (const T &Coords, const range<3 > &Range) {
4745 return Coords * Range[0 ];
4846}
4947
5048template <typename T>
51- std::enable_if_t <IsValidCoordType <T>::value , vec<T, 2 >>
49+ std::enable_if_t <is_valid_coord_type_v <T>, vec<T, 2 >>
5250UnnormalizeCoordinates (const vec<T, 2 > &Coords, const range<3 > &Range) {
5351 return {Coords.x () * Range[0 ], Coords.y () * Range[1 ]};
5452}
5553
5654template <typename T>
57- std::enable_if_t <IsValidCoordType <T>::value , vec<T, 4 >>
55+ std::enable_if_t <is_valid_coord_type_v <T>, vec<T, 4 >>
5856UnnormalizeCoordinates (const vec<T, 4 > &Coords, const range<3 > &Range) {
5957 return {Coords.x () * Range[0 ], Coords.y () * Range[1 ], Coords.z () * Range[2 ],
6058 0 };
@@ -65,19 +63,19 @@ UnnormalizeCoordinates(const vec<T, 4> &Coords, const range<3> &Range) {
6563// calculation won't pass 0.
6664// Non-valid coordinates are written as 0.
6765template <typename T>
68- std::enable_if_t <IsValidCoordType <T>::value , float4> convertToFloat4 (T Coords) {
66+ std::enable_if_t <is_valid_coord_type_v <T>, float4> convertToFloat4 (T Coords) {
6967 return {static_cast <float >(Coords), 0 .5f , 0 .5f , 0 .f };
7068}
7169
7270template <typename T>
73- std::enable_if_t <IsValidCoordType <T>::value , float4>
71+ std::enable_if_t <is_valid_coord_type_v <T>, float4>
7472convertToFloat4 (vec<T, 2 > Coords) {
7573 return {static_cast <float >(Coords.x ()), static_cast <float >(Coords.y ()), 0 .5f ,
7674 0 .f };
7775}
7876
7977template <typename T>
80- std::enable_if_t <IsValidCoordType <T>::value , float4>
78+ std::enable_if_t <is_valid_coord_type_v <T>, float4>
8179convertToFloat4 (vec<T, 4 > Coords) {
8280 return {static_cast <float >(Coords.x ()), static_cast <float >(Coords.y ()),
8381 static_cast <float >(Coords.z ()), 0 .f };
0 commit comments