#include <sycl/access/access.hpp>
#include <sycl/aliases.hpp>
#include <sycl/detail/common.hpp>
#include <sycl/detail/defines_elementary.hpp>
#include <sycl/detail/generic_type_lists.hpp>
#include <sycl/detail/generic_type_traits.hpp>
#include <sycl/detail/memcpy.hpp>
#include <sycl/detail/type_list.hpp>
#include <sycl/detail/type_traits.hpp>
#include <sycl/detail/vector_traits.hpp>
#include <sycl/exception.hpp>
#include <sycl/half_type.hpp>
#include <sycl/marray.hpp>
#include <sycl/multi_ptr.hpp>
#include <array>
#include <assert.h>
#include <cstddef>
#include <cstdint>
#include <functional>
#include <iterator>
#include <optional>
#include <ostream>
#include <tuple>
#include <type_traits>
#include <utility>
#include <variant>
#include <sycl/builtins_scalar_gen.hpp>
#include <cfenv>
#include "swizzles.def"
Go to the source code of this file.
Namespaces | |
sycl | |
sycl::_V1 | |
sycl::_V1::detail | |
Macros | |
#define | __SYCL_ALLOW_VECTOR_SIZES(num_elements) |
#define | __SYCL_ALLOW_VECTOR_TYPES(num_elements) |
#define | __SYCL_ACCESS_RETURN this |
#define | __SYCL_BINOP(BINOP, OPASSIGN, CONVERT) |
#define | __SYCL_RELLOGOP(RELLOGOP) |
#define | __SYCL_UOP(UOP, OPASSIGN) |
#define | __SYCL_OPASSIGN(OPASSIGN, OP) |
#define | __SYCL_UOP(UOP, OPASSIGN) |
#define | __SYCL_ACCESS_RETURN m_Vector |
#define | __SYCL_BINOP(BINOP) |
#define | __SYCL_RELLOGOP(RELLOGOP) |
#define | __SYCL_DEFINE_VECSTORAGE_IMPL(type, cl_type, num) |
#define | __SYCL_DEFINE_VECSTORAGE_IMPL_FOR_TYPE(type, cl_type) |
#define | __SYCL_DEFINE_HALF_VECSTORAGE(Num) |
#define | SYCL_DEVICE_COPYABLE 1 |
This macro must be defined to 1 when SYCL implementation allows user applications to explicitly declare certain class types as device copyable by adding specializations of is_device_copyable type trait class. More... | |
Typedefs | |
template<typename _IN , typename T8 , typename T16 , typename T32 , typename T64 > | |
using | sycl::_V1::detail::select_apply_cl_t = std::conditional_t< sizeof(_IN)==1, T8, std::conditional_t< sizeof(_IN)==2, T16, std::conditional_t< sizeof(_IN)==4, T32, T64 > >> |
template<typename DataT > | |
using | sycl::_V1::detail::rel_t = typename std::conditional_t< sizeof(DataT)==sizeof(opencl::cl_char), opencl::cl_char, typename std::conditional_t< sizeof(DataT)==sizeof(opencl::cl_short), opencl::cl_short, typename std::conditional_t< sizeof(DataT)==sizeof(opencl::cl_int), opencl::cl_int, typename std::conditional_t< sizeof(DataT)==sizeof(opencl::cl_long), opencl::cl_long, bool > >> > |
template<typename T , typename R > | |
using | sycl::_V1::detail::is_int_to_int = std::integral_constant< bool, std::is_integral_v< T > &&std::is_integral_v< R > > |
template<typename T , typename R > | |
using | sycl::_V1::detail::is_sint_to_sint = std::integral_constant< bool, is_sigeninteger< T >::value &&is_sigeninteger< R >::value > |
template<typename T , typename R > | |
using | sycl::_V1::detail::is_uint_to_uint = std::integral_constant< bool, is_sugeninteger< T >::value &&is_sugeninteger< R >::value > |
template<typename T , typename R > | |
using | sycl::_V1::detail::is_sint_to_from_uint = std::integral_constant< bool,(is_sugeninteger< T >::value &&is_sigeninteger< R >::value)||(is_sigeninteger< T >::value &&is_sugeninteger< R >::value)> |
template<typename T , typename R > | |
using | sycl::_V1::detail::is_sint_to_float = std::integral_constant< bool, std::is_integral_v< T > &&!(std::is_unsigned_v< T >)&&detail::is_floating_point< R >::value > |
template<typename T , typename R > | |
using | sycl::_V1::detail::is_uint_to_float = std::integral_constant< bool, std::is_unsigned_v< T > &&detail::is_floating_point< R >::value > |
template<typename T , typename R > | |
using | sycl::_V1::detail::is_int_to_float = std::integral_constant< bool, std::is_integral_v< T > &&detail::is_floating_point< R >::value > |
template<typename T , typename R > | |
using | sycl::_V1::detail::is_float_to_int = std::integral_constant< bool, detail::is_floating_point< T >::value &&std::is_integral_v< R > > |
template<typename T , typename R > | |
using | sycl::_V1::detail::is_float_to_float = std::integral_constant< bool, detail::is_floating_point< T >::value &&detail::is_floating_point< R >::value > |
template<typename T > | |
using | sycl::_V1::detail::is_standard_type = std::integral_constant< bool, detail::is_sgentype< T >::value > |
template<typename T > | |
using | sycl::_V1::vec_data = detail::vec_helper< T > |
template<typename T > | |
using | sycl::_V1::vec_data_t = typename detail::vec_helper< T >::RetType |
Enumerations | |
enum | sycl::_V1::rounding_mode { sycl::_V1::rounding_mode::automatic = 0, sycl::_V1::rounding_mode::rte = 1, sycl::_V1::rounding_mode::rtz = 2, sycl::_V1::rounding_mode::rtp = 3, sycl::_V1::rounding_mode::rtn = 4 } |
Functions | |
template<typename T , typename R , rounding_mode roundingMode, typename OpenCLT , typename OpenCLR > | |
std::enable_if_t< std::is_same_v< T, R >, R > | sycl::_V1::detail::convertImpl (T Value) |
template<typename T , typename R , rounding_mode roundingMode, typename OpenCLT , typename OpenCLR > | |
std::enable_if_t<!std::is_same_v< T, R > &&(is_int_to_int< T, R >::value||is_int_to_float< T, R >::value||is_float_to_float< T, R >::value), R > | sycl::_V1::detail::convertImpl (T Value) |
template<typename T , typename R , rounding_mode roundingMode, typename OpenCLT , typename OpenCLR > | |
std::enable_if_t< is_float_to_int< T, R >::value, R > | sycl::_V1::detail::convertImpl (T Value) |
constexpr bool | sycl::_V1::detail::isValidVectorSize (int N) |
template<typename T > | |
struct | sycl::_V1::detail::__SYCL2020_DEPRECATED ("This type isn't device copyable in SYCL 2020") IsDeprecatedDeviceCopyable< T |
Variables | |
template<typename T > | |
constexpr bool | sycl::_V1::is_device_copyable_v = is_device_copyable<T>::value |
#define __SYCL_ALLOW_VECTOR_SIZES | ( | num_elements | ) |
#define __SYCL_ALLOW_VECTOR_TYPES | ( | num_elements | ) |
#define __SYCL_BINOP | ( | BINOP, | |
OPASSIGN, | |||
CONVERT | |||
) |
#define __SYCL_DEFINE_HALF_VECSTORAGE | ( | Num | ) |
#define __SYCL_DEFINE_VECSTORAGE_IMPL | ( | type, | |
cl_type, | |||
num | |||
) |
#define __SYCL_DEFINE_VECSTORAGE_IMPL_FOR_TYPE | ( | type, | |
cl_type | |||
) |
#define __SYCL_OPASSIGN | ( | OPASSIGN, | |
OP | |||
) |
#define __SYCL_RELLOGOP | ( | RELLOGOP | ) |
#define __SYCL_UOP | ( | UOP, | |
OPASSIGN | |||
) |
#define __SYCL_UOP | ( | UOP, | |
OPASSIGN | |||
) |