arm_compute v17.12
diff --git a/utils/Utils.cpp b/utils/Utils.cpp
index 5316690..f6aff6f 100644
--- a/utils/Utils.cpp
+++ b/utils/Utils.cpp
@@ -167,5 +167,25 @@
return std::make_tuple(width, height, max_val);
}
+
+std::tuple<std::vector<unsigned long>, bool, std::string> parse_npy_header(std::ifstream &fs) //NOLINT
+{
+ std::vector<unsigned long> shape; // NOLINT
+
+ // Read header
+ std::string header = npy::read_header(fs);
+
+ // Parse header
+ bool fortran_order = false;
+ std::string typestr;
+ npy::parse_header(header, typestr, fortran_order, shape);
+
+ if(!fortran_order)
+ {
+ std::reverse(shape.begin(), shape.end());
+ }
+
+ return std::make_tuple(shape, fortran_order, typestr);
+}
} // namespace utils
} // namespace arm_compute