2#ifndef poplar_FieldTypeTraits_hpp_
3#define poplar_FieldTypeTraits_hpp_
5#include <poplar/FieldTypes.hpp>
9template <VectorLayout L>
struct VectorLayoutTraits {
10 constexpr static unsigned MinAlign = 1;
13 constexpr static unsigned MinAlign = 4;
16 constexpr static unsigned MinAlign = 8;
20template <
class T, VectorListLayout L>
struct VectorListLayoutTraits {
21 constexpr static unsigned MinAlign = 1;
25 constexpr static unsigned MinAlign = 4;
29 constexpr static unsigned MinAlign = 8;
33 constexpr static unsigned MinAlign =
sizeof(T);
Poplar classes and functions.
Definition: ArrayRef.hpp:14
VectorListLayout
The memory layout used for a VectorList.
Definition: FieldTypes.hpp:57
@ DELTANELEMENTS
A top-level structure with a 21-bit pointer to the base of the vector data, a 16 bit count for the nu...
VectorLayout
The memory layout used for a Vector.
Definition: FieldTypes.hpp:11
@ SCALED_PTR32
Similar to ONE_PTR, but this uses a compressed 16-bit pointer containing bits 2-17 of the offset from...
@ SCALED_PTR64
Similar to ONE_PTR, but this uses a compressed 16-bit pointer containing bits 3-18 of a full pointer.