66 switch(
info.GetDataType())
70 return std::make_unique<QASymmS8Decoder>(
71 static_cast<const int8_t*
>(data),
72 info.GetQuantizationScale(),
73 info.GetQuantizationOffset());
77 return std::make_unique<QASymm8Decoder>(
78 static_cast<const uint8_t*
>(data),
79 info.GetQuantizationScale(),
80 info.GetQuantizationOffset());
84 return std::make_unique<QSymm16Decoder>(
85 static_cast<const int16_t*
>(data),
86 info.GetQuantizationScale(),
87 info.GetQuantizationOffset());
91 return std::make_unique<Float16Decoder>(
static_cast<const Half*
>(data));
95 return std::make_unique<Float32Decoder>(
static_cast<const float*
>(data));
99 return MakeSigned32Decoder(
info, data);
103 if (
info.HasPerAxisQuantization())
105 return std::make_unique<QSymm8PerAxisDecoder>(
static_cast<const int8_t*
>(data),
info);
109 return std::make_unique<QSymmS8Decoder>(
110 static_cast<const int8_t*
>(data),
111 info.GetQuantizationScale(),
112 info.GetQuantizationOffset());
117 return std::make_unique<BooleanDecoder>(
static_cast<const uint8_t*
>(data));