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>
diff --git a/src/runtime/NEON/functions/NEReductionOperation.cpp b/src/runtime/NEON/functions/NEReductionOperation.cpp
index bb27b5d..3ec8ef1 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 @@
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 @@
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);
}
}