Add support for ERF operator to reference model

Signed-off-by: Won Jeon <won.jeon@arm.com>
Change-Id: Ib42b867287b83a183a0d0fb1f1eb29974f58fae4
diff --git a/reference_model/src/operators.cc b/reference_model/src/operators.cc
index a0b5013..5796129 100644
--- a/reference_model/src/operators.cc
+++ b/reference_model/src/operators.cc
@@ -580,6 +580,37 @@
         return tosa_status_valid;
     }
 
+    tosa_status_t tosa_run_erf(tosa_tensor_t client_input, tosa_tensor_t client_output)
+    {
+        // Create operator attributes
+        TosaNoneAttribute attr;
+
+        // Create tensors
+        tosa::TosaSerializationTensor* input = translate_client_tensor(client_input, "input");
+        tosa::TosaSerializationTensor* output = translate_client_tensor(client_output, "output");
+
+        // Create operator
+        auto op = new tosa::TosaSerializationOperator(tosa::Op::Op_ERF, tosa::Attribute::Attribute_NONE, &attr,
+                                                      { input->GetName() }, { output->GetName() });
+
+        // Create a tosa single-op basic block
+        tosa::TosaSerializationBasicBlock block("erf", "main", { op }, { input, output }, { input->GetName() },
+                                                { output->GetName() });
+
+        // Setup model
+        TosaReference::ModelRunnerImpl runner;
+        TOSA_RETURN_ON_GRAPH_STATUS_ERROR(runner.initialize(block));
+        TOSA_RETURN_ON_ERROR(runner.setInput(input->GetName(), client_input.data, client_input.size));
+
+        // Execute
+        TOSA_RETURN_ON_GRAPH_STATUS_ERROR(runner.run());
+
+        // Extract outputs
+        TOSA_RETURN_ON_ERROR(runner.getOutput(output->GetName(), client_output.data, client_output.size));
+
+        return tosa_status_valid;
+    }
+
     tosa_status_t tosa_run_add(tosa_tensor_t client_input1, tosa_tensor_t client_input2, tosa_tensor_t client_output)
     {
         // Create operator attributes
@@ -2324,4 +2355,4 @@
         return tosa_status_valid;
     }
 
-}    // extern "C"
\ No newline at end of file
+}    // extern "C"