COMPMID-2282: Implement SIN operator for CL

Change-Id: I9f67d2b0ccfddaecb0f26bab2b04b87212495502
Reviewed-on: https://review.mlplatform.org/c/1156
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/tests/validation/fixtures/ElementWiseUnaryFixture.h b/tests/validation/fixtures/ElementWiseUnaryFixture.h
index 37da3b1..7837b08 100644
--- a/tests/validation/fixtures/ElementWiseUnaryFixture.h
+++ b/tests/validation/fixtures/ElementWiseUnaryFixture.h
@@ -98,6 +98,12 @@
                 library->fill(tensor, distribution, i);
                 break;
             }
+            case ElementWiseUnary::SIN:
+            {
+                std::uniform_real_distribution<> distribution(100.0f, -100.0f);
+                library->fill(tensor, distribution, i);
+                break;
+            }
             default:
                 ARM_COMPUTE_ERROR("Not implemented");
         }
@@ -202,6 +208,17 @@
         ElementWiseUnaryValidationFixture<TensorType, AccessorType, FunctionType, T>::setup(shape, data_type, ElementWiseUnary::ABS);
     }
 };
+
+template <typename TensorType, typename AccessorType, typename FunctionType, typename T>
+class SinValidationFixture : public ElementWiseUnaryValidationFixture<TensorType, AccessorType, FunctionType, T>
+{
+public:
+    template <typename...>
+    void setup(const TensorShape &shape, DataType data_type)
+    {
+        ElementWiseUnaryValidationFixture<TensorType, AccessorType, FunctionType, T>::setup(shape, data_type, ElementWiseUnary::SIN);
+    }
+};
 } // namespace validation
 } // namespace test
 } // namespace arm_compute