tesseract++ 0.0.1
N-dimensional tensor library for embedded systems
Loading...
Searching...
No Matches
Static Public Member Functions | Static Public Attributes | List of all members
NoPaddingPolicy< T, Dims > Struct Template Reference

No-padding policy - for explicit opt-out of padding. More...

#include <no_padding_policy.h>

Collaboration diagram for NoPaddingPolicy< T, Dims >:
Collaboration graph
[legend]

Static Public Member Functions

static constexpr Array< my_size_t, NumDimscomputeLogicalDims ()
 

Static Public Attributes

static constexpr my_size_t NumDims = sizeof...(Dims)
 
static constexpr Array< my_size_t, NumDimsLogicalDims = computeLogicalDims()
 
static constexpr Array< my_size_t, NumDimsPhysicalDims = LogicalDims
 
static constexpr my_size_t LastDim = LogicalDims[NumDims - 1]
 
static constexpr my_size_t PaddedLastDim = LastDim
 
static constexpr my_size_t LogicalSize = (Dims * ...)
 
static constexpr my_size_t PhysicalSize = LogicalSize
 
static constexpr my_size_t SimdWidth = 1
 

Detailed Description

template<typename T, my_size_t... Dims>
struct NoPaddingPolicy< T, Dims >

No-padding policy - for explicit opt-out of padding.

Template Parameters
TElement type
DimsLogical dimensions

Use this when:

Note: With GENERICARCH (simdWidth=1), SimdPaddingPolicy already produces no padding. This policy exists for explicit opt-out on SIMD architectures.

Member Function Documentation

◆ computeLogicalDims()

template<typename T , my_size_t... Dims>
static constexpr Array< my_size_t, NumDims > NoPaddingPolicy< T, Dims >::computeLogicalDims ( )
inlinestaticconstexpr

Member Data Documentation

◆ LastDim

template<typename T , my_size_t... Dims>
constexpr my_size_t NoPaddingPolicy< T, Dims >::LastDim = LogicalDims[NumDims - 1]
staticconstexpr

◆ LogicalDims

template<typename T , my_size_t... Dims>
constexpr Array<my_size_t, NumDims> NoPaddingPolicy< T, Dims >::LogicalDims = computeLogicalDims()
staticconstexpr

◆ LogicalSize

template<typename T , my_size_t... Dims>
constexpr my_size_t NoPaddingPolicy< T, Dims >::LogicalSize = (Dims * ...)
staticconstexpr

◆ NumDims

template<typename T , my_size_t... Dims>
constexpr my_size_t NoPaddingPolicy< T, Dims >::NumDims = sizeof...(Dims)
staticconstexpr

◆ PaddedLastDim

template<typename T , my_size_t... Dims>
constexpr my_size_t NoPaddingPolicy< T, Dims >::PaddedLastDim = LastDim
staticconstexpr

◆ PhysicalDims

template<typename T , my_size_t... Dims>
constexpr Array<my_size_t, NumDims> NoPaddingPolicy< T, Dims >::PhysicalDims = LogicalDims
staticconstexpr

◆ PhysicalSize

template<typename T , my_size_t... Dims>
constexpr my_size_t NoPaddingPolicy< T, Dims >::PhysicalSize = LogicalSize
staticconstexpr

◆ SimdWidth

template<typename T , my_size_t... Dims>
constexpr my_size_t NoPaddingPolicy< T, Dims >::SimdWidth = 1
staticconstexpr

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