IVGCVSW-3268 Add Reference workload support for the new Prelu Activation layer

 * Added reference workload for the PReLU Activation layer
 * Added factory methods
 * Added validation support
 * Added Int16 support
 * Added unit tests

Change-Id: Ic950d908c5e0a335dccd2960a3ffab0f8b599876
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp
index 4467bd4..29b2c52 100644
--- a/src/backends/reference/RefWorkloadFactory.cpp
+++ b/src/backends/reference/RefWorkloadFactory.cpp
@@ -436,4 +436,14 @@
     return std::make_unique<RefDequantizeWorkload>(descriptor, info);
 }
 
+std::unique_ptr<IWorkload> RefWorkloadFactory::CreatePrelu(const PreluQueueDescriptor& descriptor,
+                                                           const WorkloadInfo& info) const
+{
+    if (IsFloat16(info))
+    {
+        return MakeWorkload<NullWorkload, NullWorkload>(descriptor, info);
+    }
+    return std::make_unique<RefPreluWorkload>(descriptor, info);
+}
+
 } // namespace armnn