COMPMID-1725: Implement Pack

Change-Id: I13f6e4c600f39355f69e015409bf30dafdc5e3aa
Reviewed-on: https://review.mlplatform.org/332
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
diff --git a/arm_compute/core/Helpers.h b/arm_compute/core/Helpers.h
index ef59323..8f4220f 100644
--- a/arm_compute/core/Helpers.h
+++ b/arm_compute/core/Helpers.h
@@ -710,6 +710,18 @@
     return Size2D(num_tiles_x, num_tiles_y);
 }
 
+/** Wrap-around a number within the range 0 <= x < m
+ *
+ * @param[in] x Input value
+ * @param[in] m Range
+ *
+ * @return the wrapped-around number
+ */
+template <typename T>
+inline T wrap_around(T x, T m)
+{
+    return x >= 0 ? x % m : (x % m + m) % m;
+}
 } // namespace arm_compute
 
 #include "arm_compute/core/Helpers.inl"