DPC++ Runtime
Runtime libraries for oneAPI DPC++
cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > > Class Template Reference

This is a specialization of simd_view class with a single element. More...

#include <sycl/ext/intel/esimd/simd_view.hpp>

Inheritance diagram for cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >:
Collaboration diagram for cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >:

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
 

Detailed Description

template<typename BaseTy, class ViewedElemT>
class cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >

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.

Member Typedef Documentation

◆ base_type

template<typename BaseTy , class ViewedElemT >
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.

◆ BaseClass

template<typename BaseTy , class ViewedElemT >
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.

◆ element_type

template<typename BaseTy , class ViewedElemT >
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.

◆ get_simd_t

template<typename BaseTy , class ViewedElemT >
template<typename ElT , int N>
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.

◆ RegionTy

template<typename BaseTy , class ViewedElemT >
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.

◆ ShapeTy

template<typename BaseTy , class ViewedElemT >
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.

◆ value_type

template<typename BaseTy , class ViewedElemT >
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.

Constructor & Destructor Documentation

◆ simd_view()

template<typename BaseTy , class ViewedElemT >
cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >::simd_view ( BaseTy &  Base)
inline

Construct a complete view of a vector.

Definition at line 158 of file simd_view.hpp.

Member Function Documentation

◆ operator element_type()

template<typename BaseTy , class ViewedElemT >
cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >::operator element_type ( ) const
inline

Definition at line 160 of file simd_view.hpp.

Friends And Related Function Documentation

◆ detail::simd_obj_impl

template<typename BaseTy , class ViewedElemT >
template<typename , int , class , class >
friend class detail::simd_obj_impl
friend

Definition at line 133 of file simd_view.hpp.

◆ detail::simd_view_impl

template<typename BaseTy , class ViewedElemT >
template<typename , typename >
friend class detail::simd_view_impl
friend

Definition at line 134 of file simd_view.hpp.

Member Data Documentation

◆ length

template<typename BaseTy , class ViewedElemT >
constexpr int cl::sycl::ext::intel::esimd::simd_view< BaseTy, region1d_scalar_t< ViewedElemT > >::length = ShapeTy::Size_x * ShapeTy::Size_y
staticconstexpr

Definition at line 140 of file simd_view.hpp.


The documentation for this class was generated from the following file: