angkor is a nncc
core library
angkor implements abstract data type(ADT) for feature, kernel, tensor. There are layout, shape information and enumerator and so on.
To use some of these things, just insert include
!
#include <nncc/core/ADT/feature/WHAT_YOU_WANT>
#include <nncc/core/ADT/kernel/WHAT_YOU_WANT>
#include <nncc/core/ADT/tensor/WHAT_YOU_WANT>
compiler/coco/core/CMakeLists.txt
target_link_libraries(coco_core PUBLIC angkor)
compiler/coco/core/src/IR/Arg.cpp
#include "coco/IR/Arg.h"
#include <nncc/core/ADT/tensor/LexicalLayout.h>
#include <nncc/core/ADT/tensor/IndexEnumerator.h>
namespace
{
const nncc::core::ADT::tensor::LexicalLayout l;
}
namespace coco
{
Arg::Arg(const nncc::core::ADT::tensor::Shape &shape) : _shape{shape}, _bag{nullptr}
{
_map.resize(nncc::core::ADT::tensor::num_elements(shape));
}
// ....
}