COMPMID-838 Implement CLPermute
Change-Id: I6d97b649f1ebc289c9e6f8949e67740a6b3cbcb2
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/116636
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Pablo Tello <pablo.tello@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
diff --git a/arm_compute/core/Window.h b/arm_compute/core/Window.h
index 654f5ed..c890bf8 100644
--- a/arm_compute/core/Window.h
+++ b/arm_compute/core/Window.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -245,6 +245,14 @@
{
return first_slice_window<3>();
};
+ /** First 4D slice of the window
+ *
+ * @return The first slice of the window.
+ */
+ Window first_slice_window_4D() const
+ {
+ return first_slice_window<4>();
+ };
/** Slide the passed 1D window slice.
*
* If slice contains the last slice then it will remain unchanged and false will be returned.
@@ -305,6 +313,17 @@
*/
Window collapse_if_possible(const Window &full_window, size_t first) const;
+ /* Collapse the dimensions higher than @p first.
+ *
+ * A dimension is collapsable if it starts from 0 and matches the corresponding dimension in the full_window
+ *
+ * @param[in] full_window Full window @p window has been created from.
+ * @param[in] first Dimensions into which the following are collapsed.
+ *
+ * @return Collapsed window if successful.
+ */
+ Window collapse(const Window &full_window, size_t first) const;
+
private:
/** First slice of the window
*