Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
uni20::extent_stride< ExtentT, StrideT > Struct Template Reference

Represents a single dimension's extent and stride for iteration planning. More...

#include <iteration_plan.hpp>

Public Member Functions

constexpr bool can_merge_with_inner (extent_stride inner) const noexcept
 Returns true when two adjacent dimensions can be merged.
 
constexpr extent_stride ()=default
 
constexpr extent_stride (ExtentT extent_, StrideT stride_)
 
constexpr void merge_with_inner (extent_stride inner) noexcept
 Merge an inner dimension into this one.
 

Public Attributes

ExtentT extent {}
 
StrideT stride {}
 

Detailed Description

template<typename ExtentT = std::size_t, typename StrideT = std::ptrdiff_t>
struct uni20::extent_stride< ExtentT, StrideT >

Represents a single dimension's extent and stride for iteration planning.

Template Parameters
ExtentTIntegral type used to store the extent.
StrideTIntegral type used to store the stride.

Constructor & Destructor Documentation

◆ extent_stride() [1/2]

template<typename ExtentT = std::size_t, typename StrideT = std::ptrdiff_t>
constexpr uni20::extent_stride< ExtentT, StrideT >::extent_stride ( )
constexprdefault

◆ extent_stride() [2/2]

template<typename ExtentT = std::size_t, typename StrideT = std::ptrdiff_t>
constexpr uni20::extent_stride< ExtentT, StrideT >::extent_stride ( ExtentT  extent_,
StrideT  stride_ 
)
inlineconstexpr

Member Data Documentation

◆ extent

template<typename ExtentT = std::size_t, typename StrideT = std::ptrdiff_t>
ExtentT uni20::extent_stride< ExtentT, StrideT >::extent {}

◆ stride

template<typename ExtentT = std::size_t, typename StrideT = std::ptrdiff_t>
StrideT uni20::extent_stride< ExtentT, StrideT >::stride {}

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