tesseract++ 0.0.1
N-dimensional tensor library for embedded systems
Loading...
Searching...
No Matches
no_padding_policy.h
Go to the documentation of this file.
1#pragma once
2
3#include "config.h" // for my_size_t, BITS, DefaultArch
4#include "containers/array.h" // for Array
5
20template <typename T, my_size_t... Dims>
22{
23 static_assert(sizeof...(Dims) > 0, "NoPaddingPolicy: At least one dimension is required");
24
25 static constexpr my_size_t NumDims = sizeof...(Dims);
26
28 {
29 return Array<my_size_t, NumDims>{Dims...};
30 }
31
34
35 static constexpr my_size_t LastDim = LogicalDims[NumDims - 1];
36 static constexpr my_size_t PaddedLastDim = LastDim; // no padding
37 static constexpr my_size_t LogicalSize = (Dims * ...);
38 static constexpr my_size_t PhysicalSize = LogicalSize; // no overhead
39 static constexpr my_size_t SimdWidth = 1; // effectively scalar
40};
Global configuration for the tesseract tensor library.
#define my_size_t
Size/index type used throughout the library.
Definition config.h:126
Fixed-size array container for embedded systems.
Definition array.h:21
No-padding policy - for explicit opt-out of padding.
Definition no_padding_policy.h:22
static constexpr my_size_t PhysicalSize
Definition no_padding_policy.h:38
static constexpr Array< my_size_t, NumDims > computeLogicalDims()
Definition no_padding_policy.h:27
static constexpr my_size_t PaddedLastDim
Definition no_padding_policy.h:36
static constexpr Array< my_size_t, NumDims > LogicalDims
Definition no_padding_policy.h:32
static constexpr my_size_t SimdWidth
Definition no_padding_policy.h:39
static constexpr my_size_t LogicalSize
Definition no_padding_policy.h:37
static constexpr Array< my_size_t, NumDims > PhysicalDims
Definition no_padding_policy.h:33
static constexpr my_size_t LastDim
Definition no_padding_policy.h:35
static constexpr my_size_t NumDims
Definition no_padding_policy.h:25