41 constexpr
dim3(
size_t x,
size_t y = 1,
size_t z = 1) :
x(
x),
y(
y),
z(
z) {}
43 constexpr
size_t size()
const {
return x *
y *
z; }
48 throw std::invalid_argument(
49 "Attempting to convert a 3D dim3 into sycl::range<2>");
54 throw std::invalid_argument(
55 "Attempting to convert a 2D or 3D dim3 into sycl::range<1>");
61 return dim3{a.x * b.x, a.y * b.y, a.z * b.z};
65 return dim3{a.x + b.x, a.y + b.y, a.z + b.z};
69 return dim3{a.x - b.x, a.y - b.y, a.z - b.z};
Defines the iteration domain of either a single work-group in a parallel dispatch,...
constexpr dim3(size_t x, size_t y=1, size_t z=1)
dim3(const sycl::range< 2 > &r)
dim3(const sycl::range< 1 > &r)
constexpr size_t size() const
dim3(const sycl::range< 3 > &r)
dim3 operator-(const dim3 &a, const dim3 &b)
dim3 operator+(const dim3 &a, const dim3 &b)
dim3 operator*(const dim3 &a, const dim3 &b)