COMPMID-424 - Implemented reference implementation and tests (NEON and CL) for TableLookup

Change-Id: I53098ee750ab07fe64e9e2af8df91954d64017f5
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/79411
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Steven Niu <steven.niu@arm.com>
diff --git a/tests/validation/Reference.h b/tests/validation/Reference.h
index 37a072b..902d04d 100644
--- a/tests/validation/Reference.h
+++ b/tests/validation/Reference.h
@@ -27,6 +27,7 @@
 #include "RawTensor.h"
 #include "Types.h"
 
+#include <map>
 #include <vector>
 
 namespace arm_compute
@@ -251,6 +252,16 @@
      */
     static RawTensor compute_reference_fixed_point_pixel_wise_multiplication(const TensorShape &shape, DataType dt_in0, DataType dt_in1, DataType dt_out, float scale, int fixed_point_position,
                                                                              ConvertPolicy convert_policy, RoundingPolicy rounding_policy);
+    /** Compute reference Table Lookup.
+     *
+     * @param[in] shape    Shape of the input and output tensors.
+     * @param[in] dt_inout Data type of input/output tensor.
+     * @param[in] lut      Input lookup table.
+     *
+     * @return Computed raw tensor.
+     */
+    template <typename T>
+    static RawTensor compute_reference_table_lookup(const TensorShape &shape, DataType dt_inout, std::map<T, T> &lut);
     /** Compute reference threshold.
      *
      * @param[in] shape       Shape of the input and output tensors.