IVGCVSW-5131 Add support for REDUCE_SUM, REDUCE_MIN and REDUCE_MAX

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ib88544dd6adc3d6a0d2f4c0b395e05b89bc8ad3e
diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp
index 557b78c..7d45688 100644
--- a/1.2/HalPolicy.cpp
+++ b/1.2/HalPolicy.cpp
@@ -86,7 +86,7 @@
         case V1_2::OperationType::MAXIMUM:
             return ConvertMaximum(operation, model, data);
         case V1_2::OperationType::MEAN:
-            return ConvertMean(operation, model, data);
+            return ConvertReduce(operation, model, data, ReduceOperation::Mean);
         case V1_2::OperationType::MINIMUM:
             return ConvertMinimum(operation, model, data);
         case V1_2::OperationType::MUL:
@@ -105,6 +105,12 @@
             return ConvertQuantize(operation, model, data);
         case V1_2::OperationType::QUANTIZED_16BIT_LSTM:
             return ConvertQuantized16BitLstm(operation, model, data);
+        case V1_2::OperationType::REDUCE_MAX:
+            return ConvertReduce(operation, model, data, ReduceOperation::Max);
+        case V1_2::OperationType::REDUCE_MIN:
+            return ConvertReduce(operation, model, data, ReduceOperation::Min);
+        case V1_2::OperationType::REDUCE_SUM:
+            return ConvertReduce(operation, model, data, ReduceOperation::Sum);
         case V1_2::OperationType::RELU:
             return ConvertReLu(operation, model, data);
         case V1_2::OperationType::RELU1:
@@ -306,10 +312,11 @@
     return ::ConvertMaximum<hal_1_2::HalPolicy>(operation, model, data);
 }
 
-bool HalPolicy::ConvertMean(const Operation& operation, const Model& model, ConversionData& data)
+bool HalPolicy::ConvertReduce(const Operation& operation, const Model& model, ConversionData& data,
+                              ReduceOperation reduceOperation)
 {
-    ALOGV("hal_1_2::HalPolicy::ConvertMean()");
-    return ::ConvertMean<hal_1_2::HalPolicy>(operation, model, data);
+    ALOGV("hal_1_2::HalPolicy::ConvertReduce()");
+    return ::ConvertReduce<hal_1_2::HalPolicy>(operation, model, data, reduceOperation);
 }
 
 bool HalPolicy::ConvertMinimum(const Operation& operation, const Model& model, ConversionData& data)