DPC++ Runtime
Runtime libraries for oneAPI DPC++
builtins_utils_vec.hpp File Reference
Include dependency graph for builtins_utils_vec.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sycl::_V1::detail::is_swizzle< typename >
 
struct  sycl::_V1::detail::is_swizzle< SwizzleOp< VecT, OperationLeftT, OperationRightT, OperationCurrentT, Indexes... > >
 
struct  sycl::_V1::detail::is_valid_elem_type< marray< T, N >, Ts... >
 
struct  sycl::_V1::detail::is_valid_elem_type< vec< T, N >, Ts... >
 
struct  sycl::_V1::detail::is_valid_elem_type< SwizzleOp< VecT, OperationLeftT, OperationRightT, OperationCurrentT, Indexes... >, Ts... >
 
struct  sycl::_V1::detail::is_valid_elem_type< multi_ptr< ElementType, Space, DecorateAddress >, Ts... >
 
struct  sycl::_V1::detail::num_elements< T >
 
struct  sycl::_V1::detail::num_elements< marray< T, N > >
 
struct  sycl::_V1::detail::num_elements< vec< T, N > >
 
struct  sycl::_V1::detail::num_elements< SwizzleOp< VecT, OperationLeftT, OperationRightT, OperationCurrentT, Indexes... > >
 
struct  sycl::_V1::detail::is_valid_size< T, Ns >
 
struct  sycl::_V1::detail::simplify_if_swizzle< SwizzleOp< VecT, OperationLeftT, OperationRightT, OperationCurrentT, Indexes... > >
 
struct  sycl::_V1::detail::is_same_op< T1, T2, std::enable_if_t< is_vec_or_swizzle_v< T1 > &&is_vec_or_swizzle_v< T2 > > >
 
struct  sycl::_V1::detail::same_size_signed_int< marray< T, N > >
 
struct  sycl::_V1::detail::same_size_signed_int< vec< T, N > >
 
struct  sycl::_V1::detail::same_size_signed_int< SwizzleOp< VecT, OperationLeftT, OperationRightT, OperationCurrentT, Indexes... > >
 
struct  sycl::_V1::detail::same_size_unsigned_int< marray< T, N > >
 
struct  sycl::_V1::detail::same_size_unsigned_int< vec< T, N > >
 
struct  sycl::_V1::detail::same_size_unsigned_int< SwizzleOp< VecT, OperationLeftT, OperationRightT, OperationCurrentT, Indexes... > >
 
struct  sycl::_V1::detail::change_elements< NewElemT, T >
 
struct  sycl::_V1::detail::change_elements< NewElemT, marray< T, N > >
 
struct  sycl::_V1::detail::change_elements< NewElemT, vec< T, N > >
 
struct  sycl::_V1::detail::change_elements< NewElemT, SwizzleOp< VecT, OperationLeftT, OperationRightT, OperationCurrentT, Indexes... > >
 
struct  sycl::_V1::detail::upsampled_int< marray< T, N > >
 
struct  sycl::_V1::detail::upsampled_int< vec< T, N > >
 
struct  sycl::_V1::detail::upsampled_int< SwizzleOp< VecT, OperationLeftT, OperationRightT, OperationCurrentT, Indexes... > >
 
struct  sycl::_V1::detail::nan_return_unswizzled< marray< T, N > >
 
struct  sycl::_V1::detail::nan_return_unswizzled< SwizzleOp< VecT, OperationLeftT, OperationRightT, OperationCurrentT, Indexes... > >
 

Namespaces

 sycl
 
 sycl::_V1
 
 sycl::_V1::detail
 

Typedefs

template<typename NewElemT , typename T >
using sycl::_V1::detail::change_elements_t = typename change_elements< NewElemT, T >::type
 
template<typename T >
using sycl::_V1::detail::int_elements_t = change_elements_t< int, T >
 
template<typename T >
using sycl::_V1::detail::bool_elements_t = change_elements_t< bool, T >
 

Functions

template<class T , size_t N>
vec< T, 2 > sycl::_V1::detail::to_vec2 (marray< T, N > X, size_t Start)
 
template<class T , size_t N>
vec< T, N > sycl::_V1::detail::to_vec (marray< T, N > X)
 
template<class T , int N>
marray< T, N > sycl::_V1::detail::to_marray (vec< T, N > X)
 

Variables

template<typename T >
constexpr bool sycl::_V1::detail::is_swizzle_v = is_swizzle<T>::value
 
template<typename T >
constexpr bool sycl::_V1::detail::is_vec_or_swizzle_v = is_vec_v<T> || is_swizzle_v<T>
 
template<typename T , int... Ns>
constexpr bool sycl::_V1::detail::is_valid_size_v = is_valid_size<T, Ns...>::value