From c93cb4a1ab192f920022f0cd092b9323fd1812e4 Mon Sep 17 00:00:00 2001 From: Jerry Ge Date: Thu, 18 May 2023 21:16:22 +0000 Subject: Support int16, uint16, int8, uint8 types numpy reader/writer for serialization_lib Signed-off-by: Jerry Ge Change-Id: I287fcda4e895ecfc35083d6cb02140a251c0deb5 --- src/numpy_utils.cpp | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) (limited to 'src') diff --git a/src/numpy_utils.cpp b/src/numpy_utils.cpp index 123908a..65d76e3 100644 --- a/src/numpy_utils.cpp +++ b/src/numpy_utils.cpp @@ -28,6 +28,30 @@ NumpyUtilities::NPError NumpyUtilities::readFromNpyFile(const char* filename, co return readFromNpyFileCommon(filename, dtype_str, 1, elems, databuf, true); } +NumpyUtilities::NPError NumpyUtilities::readFromNpyFile(const char* filename, const uint32_t elems, uint8_t* databuf) +{ + const char dtype_str[] = "'|u1'"; + return readFromNpyFileCommon(filename, dtype_str, sizeof(uint8_t), elems, databuf, false); +} + +NumpyUtilities::NPError NumpyUtilities::readFromNpyFile(const char* filename, const uint32_t elems, int8_t* databuf) +{ + const char dtype_str[] = "'|i1'"; + return readFromNpyFileCommon(filename, dtype_str, sizeof(int8_t), elems, databuf, false); +} + +NumpyUtilities::NPError NumpyUtilities::readFromNpyFile(const char* filename, const uint32_t elems, uint16_t* databuf) +{ + const char dtype_str[] = "' shape = { (int32_t)elems }; + return writeToNpyFile(filename, shape, databuf); +} + +NumpyUtilities::NPError + NumpyUtilities::writeToNpyFile(const char* filename, const std::vector& shape, const uint8_t* databuf) +{ + const char dtype_str[] = "'|u1'"; + return writeToNpyFileCommon(filename, dtype_str, sizeof(uint8_t), shape, databuf, false); +} + +NumpyUtilities::NPError + NumpyUtilities::writeToNpyFile(const char* filename, const uint32_t elems, const int8_t* databuf) +{ + std::vector shape = { (int32_t)elems }; + return writeToNpyFile(filename, shape, databuf); +} + +NumpyUtilities::NPError + NumpyUtilities::writeToNpyFile(const char* filename, const std::vector& shape, const int8_t* databuf) +{ + const char dtype_str[] = "'|i1'"; + return writeToNpyFileCommon(filename, dtype_str, sizeof(int8_t), shape, databuf, false); +} + +NumpyUtilities::NPError + NumpyUtilities::writeToNpyFile(const char* filename, const uint32_t elems, const uint16_t* databuf) +{ + std::vector shape = { (int32_t)elems }; + return writeToNpyFile(filename, shape, databuf); +} + +NumpyUtilities::NPError + NumpyUtilities::writeToNpyFile(const char* filename, const std::vector& shape, const uint16_t* databuf) +{ + const char dtype_str[] = "' shape = { (int32_t)elems }; + return writeToNpyFile(filename, shape, databuf); +} + +NumpyUtilities::NPError + NumpyUtilities::writeToNpyFile(const char* filename, const std::vector& shape, const int16_t* databuf) +{ + const char dtype_str[] = "'