aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/cpu/kernels/CpuElementwiseKernel.cpp2
-rw-r--r--src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp2
-rw-r--r--src/core/helpers/WindowHelpers.h11
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