Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / tests / unit / builders / builder_test.hpp
1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4
5 #include <string.h>
6 #include <ie_builders.hpp>
7 #include <blob_factory.hpp>
8
9 #include "tests_common.hpp"
10
11
12 class BuilderTestCommon : public TestsCommon {
13 public:
14     InferenceEngine::Blob::Ptr generateBlob(InferenceEngine::Precision precision,
15                                             InferenceEngine::SizeVector dims, InferenceEngine::Layout layout) {
16         InferenceEngine::Blob::Ptr blob = make_blob_with_precision(InferenceEngine::TensorDesc(precision, dims, layout));
17         blob->allocate();
18         fill_data(blob);
19         return blob;
20     }
21
22     template<class T>
23     InferenceEngine::Blob::Ptr generateBlob(InferenceEngine::Precision precision,
24                                             InferenceEngine::SizeVector dims, InferenceEngine::Layout layout,
25                                             std::vector<T> data) {
26         auto blob = generateBlob(precision, dims, layout);
27         auto *blbData = blob->buffer().as<T *>();
28         for (size_t i = 0; i < data.size(); i++) {
29             blbData[i] = data[i];
30         }
31         return blob;
32     }
33 };