diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/cpu/kernels/CpuElementwiseKernel.cpp | 2 | ||||
-rw-r--r-- | src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp | 2 | ||||
-rw-r--r-- | src/core/helpers/WindowHelpers.h | 11 |
3 files changed, 6 insertions, 9 deletions
diff --git a/src/core/cpu/kernels/CpuElementwiseKernel.cpp b/src/core/cpu/kernels/CpuElementwiseKernel.cpp index 23e95f72d7..4ab62440f3 100644 --- a/src/core/cpu/kernels/CpuElementwiseKernel.cpp +++ b/src/core/cpu/kernels/CpuElementwiseKernel.cpp @@ -187,7 +187,7 @@ void CpuElementwiseKernel::configure_common(const ITensorInfo *src0, const ITens return; } - auto shape_and_window = compute_output_shape_and_window(*src0, *src1); + auto shape_and_window = compute_output_shape_and_window(src0->tensor_shape(), src1->tensor_shape()); auto_init_if_empty(*dst, shape_and_window.first, 1, src0->data_type()); ICpuKernel::configure(shape_and_window.second); } diff --git a/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp b/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp index ff2d080c95..3a96d93c03 100644 --- a/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp +++ b/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp @@ -120,7 +120,7 @@ void CpuElementwiseUnaryKernel::configure(ElementWiseUnary op, const ITensorInfo return; } - auto shape_and_window = compute_output_shape_and_window(src); + auto shape_and_window = compute_output_shape_and_window(src.tensor_shape()); auto_init_if_empty(dst, shape_and_window.first, 1, src.data_type()); ICpuKernel::configure(shape_and_window.second); } diff --git a/src/core/helpers/WindowHelpers.h b/src/core/helpers/WindowHelpers.h index 637e9323ab..dad5da62d3 100644 --- a/src/core/helpers/WindowHelpers.h +++ b/src/core/helpers/WindowHelpers.h @@ -184,14 +184,11 @@ inline Window calculate_max_enlarged_window(const ITensorInfo &info, const Steps * * @return A pair of the shape and window */ -template <typename... Infos> -std::pair<TensorShape, Window> compute_output_shape_and_window(const Infos &... infos) +template <typename... Shapes> +std::pair<TensorShape, Window> compute_output_shape_and_window(const Shapes &... shapes) { - const std::pair<TensorShape, ValidRegion> broadcast_pair = ITensorInfo::broadcast_shape_and_valid_region(infos...); - const TensorShape &out_shape = broadcast_pair.first; - const ValidRegion &valid_region = broadcast_pair.second; - - return std::make_pair(out_shape, calculate_max_window(valid_region)); + const TensorShape out_shape = TensorShape::broadcast_shape(shapes...); + return std::make_pair(out_shape, calculate_max_window(out_shape)); } #endif /* DOXYGEN_SKIP_THIS */ } // namespace arm_compute |