[nnpkg-run] templatize randomData and introduce unnamed namespace (#9000)
author이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 <sg5.lee@samsung.com>
Mon, 18 Nov 2019 07:06:48 +0000 (16:06 +0900)
committer이한종/On-Device Lab(SR)/Engineer/삼성전자 <hanjoung.lee@samsung.com>
Mon, 18 Nov 2019 07:06:48 +0000 (16:06 +0900)
It is a preparation step to support qint8 input/output.
It templatize randomData and introduce unnamed namespace.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
tests/tools/nnpackage_run/src/nnpackage_run.cc

index f2a5277..d6e71bc 100644 (file)
@@ -37,6 +37,9 @@
     }                                \
   } while (0)
 
+namespace
+{
+
 uint64_t NowMicros()
 {
   auto time_point = std::chrono::high_resolution_clock::now();
@@ -56,14 +59,16 @@ uint64_t num_elems(const nnfw_tensorinfo *ti)
   return n;
 }
 
-std::vector<float> randomData(RandomGenerator &randgen, uint64_t size)
+template <class T> std::vector<T> randomData(RandomGenerator &randgen, uint64_t size)
 {
-  std::vector<float> vec(size);
+  std::vector<T> vec(size);
   for (uint64_t i = 0; i < size; i++)
-    vec[i] = randgen.generate<float>();
+    vec[i] = randgen.generate<T>();
   return vec;
 }
 
+} // unnamed namespace
+
 static const char *h5_value_grpname = "value";
 
 NNFW_STATUS resolve_op_backend(nnfw_session *session)
@@ -213,7 +218,7 @@ int main(const int argc, char **argv)
       nnfw_tensorinfo ti;
       NNPR_ENSURE_STATUS(nnfw_input_tensorinfo(session, i, &ti));
       auto input_num_elements = num_elems(&ti);
-      inputs[i] = randomData(randgen, input_num_elements);
+      inputs[i] = randomData<float>(randgen, input_num_elements);
       NNPR_ENSURE_STATUS(nnfw_set_input(session, i, NNFW_TYPE_TENSOR_FLOAT32, inputs[i].data(),
                                         sizeof(float) * input_num_elements));
       NNPR_ENSURE_STATUS(nnfw_set_input_layout(session, i, NNFW_LAYOUT_CHANNELS_LAST));