ONE - On-device Neural Engine
Loading...
Searching...
No Matches
CircleConst.cpp File Reference
#include "luci/IR/Nodes/CircleConst.h"
#include <cassert>

Go to the source code of this file.

Namespaces

namespace  luci
 

Macros

#define INSTANTIATE(DT)
 

Functions

 luci::INSTANTIATE (loco::DataType::S64)
 
 luci::INSTANTIATE (loco::DataType::S32)
 
 luci::INSTANTIATE (loco::DataType::S16)
 
 luci::INSTANTIATE (loco::DataType::S8)
 
 luci::INSTANTIATE (loco::DataType::S4)
 
 luci::INSTANTIATE (loco::DataType::FLOAT32)
 
 luci::INSTANTIATE (loco::DataType::U8)
 
 luci::INSTANTIATE (loco::DataType::U4)
 
 luci::INSTANTIATE (loco::DataType::BOOL)
 
 luci::INSTANTIATE (loco::DataType::FLOAT16)
 
template<>
uint32_t luci::CircleConst::size< loco::DataType::STRING > (void) const
 
template<>
void luci::CircleConst::size< loco::DataType::STRING > (uint32_t l)
 
template<>
const std::string & luci::CircleConst::at< loco::DataType::STRING > (uint32_t n) const
 
template<>
std::string & luci::CircleConst::at< loco::DataType::STRING > (uint32_t n)
 
template<>
const std::string & luci::CircleConst::scalar< loco::DataType::STRING > (void) const
 
template<>
std::string & luci::CircleConst::scalar< loco::DataType::STRING > (void)
 

Macro Definition Documentation

◆ INSTANTIATE

#define INSTANTIATE (   DT)
Value:
template uint32_t CircleConst::size<DT>(void) const; \
template void CircleConst::size<DT>(uint32_t); \
template const typename loco::DataTypeImpl<DT>::Type &CircleConst::at<DT>(uint32_t) const; \
template typename loco::DataTypeImpl<DT>::Type &CircleConst::at<DT>(uint32_t); \
template const typename loco::DataTypeImpl<DT>::Type &CircleConst::scalar<DT>(void) const; \
template typename loco::DataTypeImpl<DT>::Type &CircleConst::scalar<DT>(void);
C++ scalar type corresponding to each DataType.

Definition at line 65 of file CircleConst.cpp.

88{
89 assert(dtype() == loco::DataType::STRING);
90 assert(_data.size() == 0);
91 return _strings.size();
92}
93
94template <> void CircleConst::size<loco::DataType::STRING>(uint32_t l)
95{
96 assert(dtype() == loco::DataType::STRING);
97 assert(_data.size() == 0);
98 _strings.resize(l);
99}
100
101template <> const std::string &CircleConst::at<loco::DataType::STRING>(uint32_t n) const
102{
103 assert(dtype() == loco::DataType::STRING);
104 assert(n < _strings.size());
105 return _strings.at(n);
106}
107
108template <> std::string &CircleConst::at<loco::DataType::STRING>(uint32_t n)
109{
110 assert(dtype() == loco::DataType::STRING);
111 assert(n < _strings.size());
112 return _strings.at(n);
113}
114
115template <> const std::string &CircleConst::scalar<loco::DataType::STRING>(void) const
116{
117 assert(dtype() == loco::DataType::STRING);
118 assert(1 == _strings.size());
119 return _strings.at(0);
120}
121
122template <> std::string &CircleConst::scalar<loco::DataType::STRING>(void)
123{
124 assert(dtype() == loco::DataType::STRING);
125 assert(1 == _strings.size());
126 return _strings.at(0);
127}
128
129} // namespace luci