cuda::experimental::stf::dim4#

class dim4#

dim4 class defining the size of a multidimensional object (default value 1 in each axis)

Public Functions

dim4() = default#
template<typename IntegralX, typename IntegralY = size_t, typename IntegralZ = size_t, typename IntegralT = size_t>
inline explicit constexpr dim4(
IntegralX x,
IntegralY y = 1,
IntegralZ z = 1,
IntegralT t = 1,
)#

Create a dim4 from its extents.

inline constexpr size_t get(size_t axis_id) const#

Get the dimension along a specific axis.

inline constexpr size_t operator()(int axis_id) const#

Get the dimension along a specific axis.

inline constexpr size_t size() const#

Get the total size (multiply all dimensions)

inline constexpr bool operator<(const dim4 &rhs) const#

Comparison of two dim4 in lexicographical order.

inline constexpr bool operator==(const dim4 &rhs) const#

Equality test between two dim4.

inline constexpr size_t get_index(const pos4 &p) const#

Get the 1D index of a coordinate defined by a pos4 class within a dim4 class.

inline constexpr size_t get_rank() const#

Get the maximum dimension that is not 1.

inline ::std::string to_string() const#

Convert the dim4 to a string.

Public Members

size_t x = 1#
size_t y = 1#
size_t z = 1#
size_t t = 1#

Public Static Functions

static inline constexpr dim4 min(const dim4 &a, const dim4 &b)#

Compute the dim4 class obtained by taking the minimum of two dim4 along each axis.