VectorListTypes
#include <poplar/VectorListTypes.hpp>
-
template<typename T, unsigned MinAlign, bool Interleaved>
struct poplar::detail::V2DLayoutEnumToType<T, VectorListLayout::DELTAN, MinAlign, Interleaved> Public Types
-
using type = BaseAndDeltas<T, MinAlign>
-
using type = BaseAndDeltas<T, MinAlign>
-
template<typename T, unsigned MinAlign, bool Interleaved>
struct poplar::detail::V2DLayoutEnumToType<T, VectorListLayout::DELTANELEMENTS, MinAlign, Interleaved> Public Types
-
using type = BaseAndDeltasElements<T, MinAlign>
-
using type = BaseAndDeltasElements<T, MinAlign>
-
namespace poplar
Poplar classes and functions.
-
template<typename T, unsigned MinAlign>
struct BaseAndDelta Public Functions
-
inline void *begin() const
-
inline BaseAndDelta &operator++()
-
inline bool operator==(const BaseAndDelta &rhs) const
-
inline bool operator!=(const BaseAndDelta &rhs) const
-
inline size_t size() const
-
inline bool empty() const
-
inline void *begin() const
-
template<typename T, unsigned MinAlign>
struct BaseAndDeltaElements Public Functions
-
inline void *begin() const
-
inline BaseAndDeltaElements &operator++()
-
inline bool operator==(const BaseAndDeltaElements &rhs) const
-
inline bool operator!=(const BaseAndDeltaElements &rhs) const
-
inline size_t size() const
-
inline bool empty() const
-
inline void *begin() const
-
struct BaseAndDeltaElementsBase
Subclassed by poplar::BaseAndDeltasElements< T, MinAlign >
Public Functions
-
BaseAndDeltaElementsBase() = delete
-
inline unsigned size() const
-
inline uintptr_t getBase() const
-
inline DeltaNElements *getDeltaN() const
-
BaseAndDeltaElementsBase() = delete
-
template<typename T, unsigned MinAlign>
struct BaseAndDeltas : public poplar::BaseAndDeltasBase Public Types
-
typedef BaseAndDelta<T, MinAlign> iterator
-
typedef BaseAndDelta<T, MinAlign> iterator
-
struct BaseAndDeltasBase
Subclassed by poplar::BaseAndDeltas< T, MinAlign >
-
template<typename T, unsigned MinAlign>
struct BaseAndDeltasElements : public poplar::BaseAndDeltaElementsBase Public Types
-
typedef BaseAndDeltaElements<T, MinAlign> iterator
-
typedef BaseAndDeltaElements<T, MinAlign> iterator
-
struct DeltaN
-
struct DeltaNElements
Public Functions
-
inline unsigned getN(unsigned alignment) const
-
inline unsigned getOffset(unsigned alignment) const
Public Members
-
uint32_t packedBits
Public Static Functions
-
static inline constexpr unsigned log2(unsigned n)
-
inline unsigned getN(unsigned alignment) const
-
template<typename T, VectorListLayout L, unsigned MinAlign, bool Interleaved>
class InOut<VectorList<T, L, MinAlign, Interleaved>> : public poplar::VectorList<T, L, MinAlign, Interleaved> - #include <VectorListTypes.hpp>
InOut<VectorList>.
Public Functions
-
inline const VectorList<T, L, MinAlign, Interleaved> &operator*() const
-
inline const VectorList<T, L, MinAlign, Interleaved> *operator->() const
-
inline VectorList<T, L, MinAlign, Interleaved> &operator*()
-
inline VectorList<T, L, MinAlign, Interleaved> *operator->()
-
inline const VectorList<T, L, MinAlign, Interleaved> &operator*() const
-
template<typename T, VectorListLayout L, unsigned MinAlign, bool Interleaved>
class Input<VectorList<T, L, MinAlign, Interleaved>> : public poplar::VectorList<T, L, MinAlign, Interleaved> - #include <VectorListTypes.hpp>
Input<VectorList>.
Public Functions
-
inline const VectorList<T, L, MinAlign, Interleaved> &operator*() const
-
inline const VectorList<T, L, MinAlign, Interleaved> *operator->() const
-
inline const VectorList<T, L, MinAlign, Interleaved> &operator*() const
-
template<typename T, VectorListLayout L, unsigned MinAlign, bool Interleaved>
class Output<VectorList<T, L, MinAlign, Interleaved>> : public poplar::VectorList<T, L, MinAlign, Interleaved> - #include <VectorListTypes.hpp>
Output<VectorList>.
Public Functions
-
inline const VectorList<T, L, MinAlign, Interleaved> &operator*() const
-
inline const VectorList<T, L, MinAlign, Interleaved> *operator->() const
-
inline VectorList<T, L, MinAlign, Interleaved> &operator*()
-
inline VectorList<T, L, MinAlign, Interleaved> *operator->()
-
inline const VectorList<T, L, MinAlign, Interleaved> &operator*() const
-
template<typename T, VectorListLayout L, unsigned MinAlign = detail::max(alignof(T), VectorListLayoutTraits<T, L>::MinAlign), bool Interleaved = false>
struct VectorList : public poplar::detail::VectorListBase<T, L, MinAlign, Interleaved> Subclassed by poplar::InOut< VectorList< T, L, MinAlign, Interleaved > >, poplar::Input< VectorList< T, L, MinAlign, Interleaved > >, poplar::Output< VectorList< T, L, MinAlign, Interleaved > >
-
namespace detail
Functions
-
constexpr VectorListLayout resolveCompactDeltaN(const VectorListLayout layout)
-
template<typename T, VectorListLayout L, unsigned MinAlign, bool Interleaved>
struct V2DLayoutEnumToType - #include <VectorListTypes.hpp>
VectorList.
- template<typename T, unsigned MinAlign, bool Interleaved> DELTAN, MinAlign, Interleaved >
Public Types
-
using type = BaseAndDeltas<T, MinAlign>
-
using type = BaseAndDeltas<T, MinAlign>
- template<typename T, unsigned MinAlign, bool Interleaved> DELTANELEMENTS, MinAlign, Interleaved >
Public Types
-
using type = BaseAndDeltasElements<T, MinAlign>
-
using type = BaseAndDeltasElements<T, MinAlign>
-
template<typename T, VectorListLayout L, unsigned MinAlign, bool Interleaved>
struct VectorListBase : public V2DLayoutEnumToType::type<T, resolveCompactDeltaN(L), MinAlign, Interleaved> Subclassed by poplar::VectorList< T, L, MinAlign, Interleaved >
-
constexpr VectorListLayout resolveCompactDeltaN(const VectorListLayout layout)
-
template<typename T, unsigned MinAlign>