| 1955 | } |
| 1956 | |
| 1957 | flatbuffers::Offset<serializer::ConstTensor> |
| 1958 | SerializerStrategy::CreateConstTensorInfo(const armnn::ConstTensor& constTensor) |
| 1959 | { |
| 1960 | armnn::TensorInfo tensorInfo = constTensor.GetInfo(); |
| 1961 | |
| 1962 | flatbuffers::Offset<void> fbPayload; |
| 1963 | |
| 1964 | switch (tensorInfo.GetDataType()) |
| 1965 | { |
| 1966 | case armnn::DataType::Signed64: |
| 1967 | { |
| 1968 | auto fbVector = CreateDataVector<int64_t>(constTensor.GetMemoryArea(), constTensor.GetNumBytes()); |
| 1969 | flatbuffers::Offset<serializer::LongData> flatBuffersData = serializer::CreateLongData( |
| 1970 | m_flatBufferBuilder, |
| 1971 | fbVector); |
| 1972 | fbPayload = flatBuffersData.o; |
| 1973 | break; |
| 1974 | } |
| 1975 | case armnn::DataType::Float32: |
| 1976 | case armnn::DataType::Signed32: |
| 1977 | { |
| 1978 | auto fbVector = CreateDataVector<int32_t>(constTensor.GetMemoryArea(), constTensor.GetNumBytes()); |
| 1979 | flatbuffers::Offset<serializer::IntData> flatBuffersData = serializer::CreateIntData( |
| 1980 | m_flatBufferBuilder, |
| 1981 | fbVector); |
| 1982 | fbPayload = flatBuffersData.o; |
| 1983 | break; |
| 1984 | } |
| 1985 | case armnn::DataType::Float16: |
| 1986 | case armnn::DataType::BFloat16: |
| 1987 | case armnn::DataType::QSymmS16: |
| 1988 | { |
| 1989 | auto fbVector = CreateDataVector<int16_t>(constTensor.GetMemoryArea(), constTensor.GetNumBytes()); |
| 1990 | flatbuffers::Offset<serializer::ShortData> flatBuffersData = serializer::CreateShortData( |
| 1991 | m_flatBufferBuilder, |
| 1992 | fbVector); |
| 1993 | fbPayload = flatBuffersData.o; |
| 1994 | break; |
| 1995 | } |
| 1996 | case armnn::DataType::QSymmS8: |
| 1997 | case armnn::DataType::QAsymmS8: |
| 1998 | case armnn::DataType::QAsymmU8: |
| 1999 | case armnn::DataType::Boolean: |
| 2000 | default: |
| 2001 | { |
| 2002 | auto fbVector = CreateDataVector<int8_t>(constTensor.GetMemoryArea(), constTensor.GetNumBytes()); |
| 2003 | flatbuffers::Offset<serializer::ByteData> flatBuffersData = serializer::CreateByteData( |
| 2004 | m_flatBufferBuilder, |
| 2005 | fbVector); |
| 2006 | fbPayload = flatBuffersData.o; |
| 2007 | } |
| 2008 | } |
| 2009 | flatbuffers::Offset<serializer::ConstTensor> flatBufferConstTensor = serializer::CreateConstTensor( |
| 2010 | m_flatBufferBuilder, |
| 2011 | CreateTensorInfo(tensorInfo), |
| 2012 | GetFlatBufferConstTensorData(tensorInfo.GetDataType()), |
| 2013 | fbPayload); |
| 2014 | return flatBufferConstTensor; |
nothing calls this directly
no test coverage detected