IVGCVSW-6088 Add Sin and Log to ElementWiseUnary

!armnn:5755

Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I82dc434ee9bfff452ec6c27527a5b3f91ebfe2ea
diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp
index 7751131..3d573b1 100644
--- a/1.2/HalPolicy.cpp
+++ b/1.2/HalPolicy.cpp
@@ -77,6 +77,8 @@
             return ConvertComparison(operation, model, data, ComparisonOperation::LessOrEqual);
         case V1_2::OperationType::LOCAL_RESPONSE_NORMALIZATION:
             return ConvertLocalResponseNormalization(operation, model, data);
+        case V1_2::OperationType::LOG:
+            return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Log);
         case V1_2::OperationType::LOGISTIC:
             return ConvertLogistic(operation, model, data);
         case V1_2::OperationType::LOG_SOFTMAX:
@@ -127,24 +129,26 @@
             return ConvertResize(operation, model, data, ResizeMethod::NearestNeighbor);
         case V1_2::OperationType::RSQRT:
             return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Rsqrt);
-        case V1_2::OperationType::SQRT:
-            return ConvertSqrt(operation, model, data);
-        case V1_2::OperationType::SQUEEZE:
-            return ConvertSqueeze(operation, model, data);
-        case V1_2::OperationType::STRIDED_SLICE:
-            return ConvertStridedSlice(operation, model, data);
-        case V1_2::OperationType::TRANSPOSE:
-            return ConvertTranspose(operation, model, data);
-        case V1_2::OperationType::TRANSPOSE_CONV_2D:
-            return ConvertTransposeConv2d(operation, model, data);
+        case V1_2::OperationType::SIN:
+            return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Sin);
         case V1_2::OperationType::SOFTMAX:
             return ConvertSoftmax(operation, model, data);
         case V1_2::OperationType::SPACE_TO_BATCH_ND  :
             return ConvertSpaceToBatchNd(operation, model, data);
         case V1_2::OperationType::SPACE_TO_DEPTH:
             return ConvertSpaceToDepth(operation, model, data);
+        case V1_2::OperationType::SQRT:
+            return ConvertSqrt(operation, model, data);
+        case V1_2::OperationType::SQUEEZE:
+            return ConvertSqueeze(operation, model, data);
+        case V1_2::OperationType::STRIDED_SLICE:
+            return ConvertStridedSlice(operation, model, data);
         case V1_2::OperationType::SUB:
             return ConvertSub(operation, model, data);
+        case V1_2::OperationType::TRANSPOSE:
+            return ConvertTranspose(operation, model, data);
+        case V1_2::OperationType::TRANSPOSE_CONV_2D:
+            return ConvertTransposeConv2d(operation, model, data);
         case V1_2::OperationType::TANH:
             return ConvertTanH(operation, model, data);
         default:
diff --git a/1.3/HalPolicy.cpp b/1.3/HalPolicy.cpp
index bf80c81..9ecae2f 100644
--- a/1.3/HalPolicy.cpp
+++ b/1.3/HalPolicy.cpp
@@ -83,6 +83,8 @@
             return ConvertComparison(operation, model, data, ComparisonOperation::LessOrEqual);
         case V1_3::OperationType::LOCAL_RESPONSE_NORMALIZATION:
             return ConvertLocalResponseNormalization(operation, model, data);
+        case V1_3::OperationType::LOG:
+            return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Log);
         case V1_3::OperationType::LOGICAL_AND:
             return ConvertLogicalBinary(operation, model, data, LogicalBinaryOperation::LogicalAnd);
         case V1_3::OperationType::LOGICAL_NOT:
@@ -143,24 +145,26 @@
             return ConvertResize(operation, model, data, ResizeMethod::NearestNeighbor);
         case V1_3::OperationType::RSQRT:
             return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Rsqrt);
-        case V1_3::OperationType::SQRT:
-            return ConvertSqrt(operation, model, data);
-        case V1_3::OperationType::SQUEEZE:
-            return ConvertSqueeze(operation, model, data);
-        case V1_3::OperationType::STRIDED_SLICE:
-            return ConvertStridedSlice(operation, model, data);
-        case V1_3::OperationType::TRANSPOSE:
-            return ConvertTranspose(operation, model, data);
-        case V1_3::OperationType::TRANSPOSE_CONV_2D:
-            return ConvertTransposeConv2d(operation, model, data);
+        case V1_3::OperationType::SIN:
+            return ConvertElementwiseUnary(operation, model, data, UnaryOperation::Sin);
         case V1_3::OperationType::SOFTMAX:
             return ConvertSoftmax(operation, model, data);
         case V1_3::OperationType::SPACE_TO_BATCH_ND  :
             return ConvertSpaceToBatchNd(operation, model, data);
         case V1_3::OperationType::SPACE_TO_DEPTH:
             return ConvertSpaceToDepth(operation, model, data);
+        case V1_3::OperationType::SQRT:
+            return ConvertSqrt(operation, model, data);
+        case V1_3::OperationType::SQUEEZE:
+            return ConvertSqueeze(operation, model, data);
+        case V1_3::OperationType::STRIDED_SLICE:
+            return ConvertStridedSlice(operation, model, data);
         case V1_3::OperationType::SUB:
             return ConvertSub(operation, model, data);
+        case V1_3::OperationType::TRANSPOSE:
+            return ConvertTranspose(operation, model, data);
+        case V1_3::OperationType::TRANSPOSE_CONV_2D:
+            return ConvertTransposeConv2d(operation, model, data);
         case V1_3::OperationType::TANH:
             return ConvertTanH(operation, model, data);
         default:
diff --git a/NnapiSupport.txt b/NnapiSupport.txt
index 10837a2..df95a23 100644
--- a/NnapiSupport.txt
+++ b/NnapiSupport.txt
@@ -44,6 +44,7 @@
 LESS                         (BOOL8, FLOAT32, FLOAT16, INT32, QUANT8_ASYMM, QUANT8_ASYMM_SIGNED)
 LESS_EQUAL                   (BOOL8, FLOAT32, FLOAT16, INT32, QUANT8_ASYMM, QUANT8_ASYMM_SIGNED)
 LOCAL_RESPONSE_NORMALIZATION (FLOAT32)
+LOG                          (FLOAT32, FLOAT16)
 LOGICAL_AND                  (BOOL8)
 LOGICAL_NOT                  (BOOL8)
 LOGICAL_OR                   (BOOL8)
@@ -73,6 +74,7 @@
 RESIZE_BILINEAR              (FLOAT32, FLOAT16, QUANT8_ASYMM)
 RESIZE_NEAREST_NEIGHBOR      (FLOAT32, FLOAT16, QUANT8_ASYMM)
 RSQRT                        (FLOAT32, FLOAT16)
+SIN                          (FLOAT32, FLOAT16)
 SOFTMAX                      (FLOAT32, QUANT8_ASYMM, QUANT8_ASYMM_SIGNED)
 SPACE_TO_BATCH_ND            (FLOAT32, FLOAT16, QUANT8_ASYMM, QUANT8_ASYMM_SIGNED)
 SPACE_TO_DEPTH               (FLOAT32, FLOAT16, QUANT8_ASYMM, QUANT8_ASYMM_SIGNED)