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.3/HalPolicy.cpp b/1.3/HalPolicy.cpp
index 9333759..9a9f2ac 100644
--- a/1.3/HalPolicy.cpp
+++ b/1.3/HalPolicy.cpp
@@ -98,7 +98,7 @@
         case V1_3::OperationType::MAXIMUM:
             return ConvertMaximum(operation, model, data);
         case V1_3::OperationType::MEAN:
-            return ConvertMean(operation, model, data);
+            return ConvertReduce(operation, model, data, ReduceOperation::Mean);
         case V1_3::OperationType::MINIMUM:
             return ConvertMinimum(operation, model, data);
         case V1_3::OperationType::MUL:
@@ -121,6 +121,12 @@
             return ConvertQuantized16BitLstm(operation, model, data);
         case V1_3::OperationType::RANK:
             return ConvertRank(operation, model, data);
+        case V1_3::OperationType::REDUCE_MAX:
+            return ConvertReduce(operation, model, data, ReduceOperation::Max);
+        case V1_3::OperationType::REDUCE_MIN:
+            return ConvertReduce(operation, model, data, ReduceOperation::Min);
+        case V1_3::OperationType::REDUCE_SUM:
+            return ConvertReduce(operation, model, data, ReduceOperation::Sum);
         case V1_3::OperationType::RELU:
             return ConvertReLu(operation, model, data);
         case V1_3::OperationType::RELU1:
@@ -359,10 +365,11 @@
     return ::ConvertMaximum<hal_1_3::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_3::HalPolicy::ConvertMean()");
-    return ::ConvertMean<hal_1_3::HalPolicy>(operation, model, data);
+    ALOGV("hal_1_3::HalPolicy::ConvertReduce()");
+    return ::ConvertReduce<hal_1_3::HalPolicy>(operation, model, data, reduceOperation);
 }
 
 bool HalPolicy::ConvertMinimum(const Operation& operation, const Model& model, ConversionData& data)