namespace ngraph::runtime::reference::detail

namespace detail {

// global functions

void set_u1(uint8_t \* buf, size_t idx, uint8_t val);
uint8_t get_u1(const uint8_t \* buf, size_t idx);
void set_u4(uint8_t \* buf, size_t idx, uint8_t val);
uint8_t get_u4(const uint8_t \* buf, size_t idx);
void set_i4(uint8_t \* buf, size_t idx, int8_t val);
int8_t get_i4(const uint8_t \* buf, size_t idx);

template <typename TO, typename TI>
TO get_value(
    const uint8_t \* buf,
    size_t idx,
    element::Type from_type
    );

template <typename TI, typename TO>
void lp_convert(
    const TI \* arg,
    TO \* out,
    size_t count,
    element::Type_t src_type,
    element::Type_t dst_type
    );

} // namespace detail