aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/numpy_utils.h24
-rw-r--r--src/numpy_utils.cpp80
2 files changed, 104 insertions, 0 deletions
diff --git a/include/numpy_utils.h b/include/numpy_utils.h
index 8c2ed71..29d7e11 100644
--- a/include/numpy_utils.h
+++ b/include/numpy_utils.h
@@ -45,6 +45,14 @@ public:
static NPError readFromNpyFile(const char* filename, const uint32_t elems, half_float::half* databuf);
+ static NPError readFromNpyFile(const char* filename, const uint32_t elems, uint8_t* databuf);
+
+ static NPError readFromNpyFile(const char* filename, const uint32_t elems, int8_t* databuf);
+
+ static NPError readFromNpyFile(const char* filename, const uint32_t elems, uint16_t* databuf);
+
+ static NPError readFromNpyFile(const char* filename, const uint32_t elems, int16_t* databuf);
+
static NPError readFromNpyFile(const char* filename, const uint32_t elems, int32_t* databuf);
static NPError readFromNpyFile(const char* filename, const uint32_t elems, int64_t* databuf);
@@ -58,6 +66,22 @@ public:
static NPError
writeToNpyFile(const char* filename, const std::vector<int32_t>& shape, const half_float::half* databuf);
+ static NPError writeToNpyFile(const char* filename, const std::vector<int32_t>& shape, const uint8_t* databuf);
+
+ static NPError writeToNpyFile(const char* filename, const uint32_t elems, const uint8_t* databuf);
+
+ static NPError writeToNpyFile(const char* filename, const std::vector<int32_t>& shape, const int8_t* databuf);
+
+ static NPError writeToNpyFile(const char* filename, const uint32_t elems, const int8_t* databuf);
+
+ static NPError writeToNpyFile(const char* filename, const std::vector<int32_t>& shape, const uint16_t* databuf);
+
+ static NPError writeToNpyFile(const char* filename, const uint32_t elems, const uint16_t* databuf);
+
+ static NPError writeToNpyFile(const char* filename, const std::vector<int32_t>& shape, const int16_t* databuf);
+
+ static NPError writeToNpyFile(const char* filename, const uint32_t elems, const int16_t* databuf);
+
static NPError writeToNpyFile(const char* filename, const std::vector<int32_t>& shape, const int32_t* databuf);
static NPError writeToNpyFile(const char* filename, const uint32_t elems, const int32_t* databuf);
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[] = "'<u2'";
+ return readFromNpyFileCommon(filename, dtype_str, sizeof(uint16_t), elems, databuf, false);
+}
+
+NumpyUtilities::NPError NumpyUtilities::readFromNpyFile(const char* filename, const uint32_t elems, int16_t* databuf)
+{
+ const char dtype_str[] = "'<i2'";
+ return readFromNpyFileCommon(filename, dtype_str, sizeof(int16_t), elems, databuf, false);
+}
+
NumpyUtilities::NPError NumpyUtilities::readFromNpyFile(const char* filename, const uint32_t elems, int32_t* databuf)
{
const char dtype_str[] = "'<i4'";
@@ -281,6 +305,62 @@ NumpyUtilities::NPError
}
NumpyUtilities::NPError
+ NumpyUtilities::writeToNpyFile(const char* filename, const uint32_t elems, const uint8_t* databuf)
+{
+ std::vector<int32_t> shape = { (int32_t)elems };
+ return writeToNpyFile(filename, shape, databuf);
+}
+
+NumpyUtilities::NPError
+ NumpyUtilities::writeToNpyFile(const char* filename, const std::vector<int32_t>& 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<int32_t> shape = { (int32_t)elems };
+ return writeToNpyFile(filename, shape, databuf);
+}
+
+NumpyUtilities::NPError
+ NumpyUtilities::writeToNpyFile(const char* filename, const std::vector<int32_t>& 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<int32_t> shape = { (int32_t)elems };
+ return writeToNpyFile(filename, shape, databuf);
+}
+
+NumpyUtilities::NPError
+ NumpyUtilities::writeToNpyFile(const char* filename, const std::vector<int32_t>& shape, const uint16_t* databuf)
+{
+ const char dtype_str[] = "'<u2'";
+ return writeToNpyFileCommon(filename, dtype_str, sizeof(uint16_t), shape, databuf, false);
+}
+
+NumpyUtilities::NPError
+ NumpyUtilities::writeToNpyFile(const char* filename, const uint32_t elems, const int16_t* databuf)
+{
+ std::vector<int32_t> shape = { (int32_t)elems };
+ return writeToNpyFile(filename, shape, databuf);
+}
+
+NumpyUtilities::NPError
+ NumpyUtilities::writeToNpyFile(const char* filename, const std::vector<int32_t>& shape, const int16_t* databuf)
+{
+ const char dtype_str[] = "'<i2'";
+ return writeToNpyFileCommon(filename, dtype_str, sizeof(int16_t), shape, databuf, false);
+}
+
+NumpyUtilities::NPError
NumpyUtilities::writeToNpyFile(const char* filename, const uint32_t elems, const int32_t* databuf)
{
std::vector<int32_t> shape = { (int32_t)elems };