aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core
diff options
context:
space:
mode:
Diffstat (limited to 'arm_compute/core')
-rw-r--r--arm_compute/core/IKernel.h7
-rw-r--r--arm_compute/core/ITensorInfo.h24
-rw-r--r--arm_compute/core/TensorInfo.h2
3 files changed, 29 insertions, 4 deletions
diff --git a/arm_compute/core/IKernel.h b/arm_compute/core/IKernel.h
index 11132f20a9..98fd18cc91 100644
--- a/arm_compute/core/IKernel.h
+++ b/arm_compute/core/IKernel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2019 Arm Limited.
+ * Copyright (c) 2016-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -57,6 +57,11 @@ public:
* @return The maximum window the kernel can be executed on.
*/
const Window &window() const;
+ /** Function to check if the embedded window of this kernel has been configured
+ *
+ * @return True if the windows has been configured
+ */
+ bool is_window_configured() const;
protected:
/** Configure the kernel's window
diff --git a/arm_compute/core/ITensorInfo.h b/arm_compute/core/ITensorInfo.h
index 9ddafce7c0..0171e31086 100644
--- a/arm_compute/core/ITensorInfo.h
+++ b/arm_compute/core/ITensorInfo.h
@@ -41,8 +41,24 @@ class ITensorInfo : public misc::ICloneable<ITensorInfo>
{
public:
using TensorDimsState = Coordinates;
-
-public:
+ /** Get the value representing dynamic dimension state
+ *
+ * @return Value representing dynamic dimension state
+ *
+ */
+ static constexpr int32_t get_dynamic_state_value()
+ {
+ return _dynamic_dimension;
+ }
+ /** Get the value representing static dimension state
+ *
+ * @return Value representing static dimension state
+ *
+ */
+ static constexpr int32_t get_static_state_value()
+ {
+ return _static_dimension;
+ }
/** Default virtual destructor */
virtual ~ITensorInfo() = default;
/** Set the data type to the specified value.
@@ -297,6 +313,10 @@ public:
return std::pair<TensorShape, ValidRegion>(bc_shape, bc_valid_region);
}
+
+private:
+ static constexpr int32_t _dynamic_dimension = -1;
+ static constexpr int32_t _static_dimension = 0;
};
} // namespace arm_compute
#endif /*ARM_COMPUTE_TENSORINFO_H */
diff --git a/arm_compute/core/TensorInfo.h b/arm_compute/core/TensorInfo.h
index 42a969e01b..633daca063 100644
--- a/arm_compute/core/TensorInfo.h
+++ b/arm_compute/core/TensorInfo.h
@@ -293,7 +293,7 @@ public:
}
bool is_dynamic() const override
{
- return std::find(std::cbegin(_dims_state), std::cend(_dims_state), -1) != std::cend(_dims_state);
+ return std::find(std::cbegin(_dims_state), std::cend(_dims_state), get_dynamic_state_value()) != std::cend(_dims_state);
}
ITensorInfo &set_is_resizable(bool is_resizable) override
{