aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/NEON/functions/NEReductionOperation.cpp
diff options
context:
space:
mode:
authorManuel Bottini <manuel.bottini@arm.com>2019-01-14 15:14:43 +0000
committerManuel Bottini <manuel.bottini@arm.com>2019-01-23 14:11:17 +0000
commit1d4f3853dfd16f55338d772ad757db0ee8710d78 (patch)
tree344a48b5d296fef0e05d345d342ba0733f8db7a2 /src/runtime/NEON/functions/NEReductionOperation.cpp
parent734151d20bef56cbedce2ae67945f42cb4e265c8 (diff)
downloadComputeLibrary-1d4f3853dfd16f55338d772ad757db0ee8710d78.tar.gz
COMPMID-1760: NEON: Implement Prod
Change-Id: I8062f4ca5ef5cf1a8183ac0834f240bbaf8f695d Reviewed-on: https://review.mlplatform.org/541 Reviewed-by: Pablo Marquez <pablo.tello@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/runtime/NEON/functions/NEReductionOperation.cpp')
-rw-r--r--src/runtime/NEON/functions/NEReductionOperation.cpp18
1 files changed, 4 insertions, 14 deletions
diff --git a/src/runtime/NEON/functions/NEReductionOperation.cpp b/src/runtime/NEON/functions/NEReductionOperation.cpp
index bb27b5d47a..3ec8ef145e 100644
--- a/src/runtime/NEON/functions/NEReductionOperation.cpp
+++ b/src/runtime/NEON/functions/NEReductionOperation.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,16 +50,6 @@ size_t reduction_window_split_dimension(unsigned int axis)
ARM_COMPUTE_ERROR("Unsupported reduction axis");
}
}
-BorderMode reduction_operation_border_mode(ReductionOperation op)
-{
- switch(op)
- {
- case ReductionOperation::SUM_SQUARE:
- return BorderMode::CONSTANT;
- default:
- return BorderMode::CONSTANT;
- }
-}
} // namespace
NEReductionOperation::NEReductionOperation()
@@ -86,9 +76,9 @@ void NEReductionOperation::configure(ITensor *input, ITensor *output, unsigned i
if(axis == 0)
{
// Configure fill border kernel
- BorderSize fill_border_size = _reduction_kernel.border_size();
- BorderMode fill_border_mode = reduction_operation_border_mode(op);
- _fill_border_kernel.configure(input, fill_border_size, fill_border_mode, PixelValue(static_cast<float>(0.f)));
+ const BorderSize fill_border_size = _reduction_kernel.border_size();
+ const PixelValue pixelValue = PixelValue((op == ReductionOperation::PROD) ? 1 : 0, input->info()->data_type(), input->info()->quantization_info());
+ _fill_border_kernel.configure(input, fill_border_size, BorderMode::CONSTANT, pixelValue);
}
}