This is a specialization of simd_view class with a single element. More...
#include <sycl/ext/intel/esimd/simd_view.hpp>
Public Types | |
using | RegionTy = region1d_scalar_t< ViewedElemT > |
using | BaseClass = detail::simd_view_impl< BaseTy, RegionTy > |
using | ShapeTy = typename shape_type< RegionTy >::type |
using | element_type = ViewedElemT |
The element type of this class, which could be different from the element type of the base object type. More... | |
using | base_type = BaseTy |
template<typename ElT , int N> | |
using | get_simd_t = typename BaseClass::template get_simd_t< ElT, N > |
using | value_type = get_simd_t< element_type, length > |
The simd type if reading the object. More... | |
Public Member Functions | |
simd_view (BaseTy &Base) | |
Construct a complete view of a vector. More... | |
operator element_type () const | |
Static Public Attributes | |
static constexpr int | length = ShapeTy::Size_x * ShapeTy::Size_y |
Friends | |
template<typename , int , class , class > | |
class | detail::simd_obj_impl |
template<typename , typename > | |
class | detail::simd_view_impl |
This is a specialization of simd_view class with a single element.
Objects of such a class are created in the following situation: simd<int, 4> v = 1; auto v1 = v[0]; We allow implicit conversion to underlying type, e.g.: simd<int, 4> v = 1; int i = v[0]; Also, relational operators with such objects return a scalar bool value instead of a mask, to allow: bool b = v[0] > v[1] && v[2] < 42;
Definition at line 131 of file simd_view.hpp.
using cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >::base_type = BaseTy |
Definition at line 146 of file simd_view.hpp.
using cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >::BaseClass = detail::simd_view_impl<BaseTy, RegionTy> |
Definition at line 138 of file simd_view.hpp.
using cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >::element_type = ViewedElemT |
The element type of this class, which could be different from the element type of the base object type.
Definition at line 145 of file simd_view.hpp.
using cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >::get_simd_t = typename BaseClass::template get_simd_t<ElT, N> |
Definition at line 148 of file simd_view.hpp.
using cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >::RegionTy = region1d_scalar_t<ViewedElemT> |
Definition at line 137 of file simd_view.hpp.
using cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >::ShapeTy = typename shape_type<RegionTy>::type |
Definition at line 139 of file simd_view.hpp.
using cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >::value_type = get_simd_t<element_type, length> |
The simd type if reading the object.
Definition at line 150 of file simd_view.hpp.
|
inline |
Construct a complete view of a vector.
Definition at line 158 of file simd_view.hpp.
|
inline |
Definition at line 160 of file simd_view.hpp.
|
friend |
Definition at line 133 of file simd_view.hpp.
|
friend |
Definition at line 134 of file simd_view.hpp.
|
staticconstexpr |
Definition at line 140 of file simd_view.hpp.