-// Copyright (C) 2018 Intel Corporation
+// Copyright (C) 2018-2019 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
MKLDNNDims() = default;
explicit MKLDNNDims(const InferenceEngine::SizeVector& size) {
- dims = std::vector<int>(size.begin(), size.end());
+ dims = std::vector<ptrdiff_t>(size.begin(), size.end());
}
- explicit MKLDNNDims(const std::vector<int>& dim) {
+ explicit MKLDNNDims(const std::vector<ptrdiff_t>& dim) {
dims = dim;
}
MKLDNNDims(const mkldnn_dims_t dnn_dims, int dnn_ndims) {
- dims = std::vector<int>(dnn_dims, dnn_dims + dnn_ndims);
+ dims = std::vector<ptrdiff_t>(dnn_dims, dnn_dims + dnn_ndims);
}
- explicit MKLDNNDims(std::initializer_list<int> ilist) : dims(ilist) {}
+ explicit MKLDNNDims(std::initializer_list<ptrdiff_t> ilist) : dims(ilist) {}
explicit MKLDNNDims(std::initializer_list<size_t > ilist) : dims(ilist.begin(), ilist.end()) {}
InferenceEngine::SizeVector ToSizeVector() const {
return dims.size();
}
- int size() const {
+ ptrdiff_t size() const {
return size(0);
}
- int size(int start) const {
- int size = 1;
+ ptrdiff_t size(int start) const {
+ ptrdiff_t size = 1;
for (int i = start; i < dims.size(); i++) {
size *= dims[i];
return dims;
}
- bool operator == (const MKLDNNDims& rhs) {
+ bool operator == (const MKLDNNDims& rhs) const {
if (dims.size() != rhs.dims.size()) {
return false;
}
return std::equal(rhs.dims.begin(), rhs.dims.end(), dims.begin());
}
- bool operator != (const MKLDNNDims& rhs) {
+ bool operator != (const MKLDNNDims& rhs) const {
return !(*this == rhs);
}
- int& operator[](int idx) {
+ ptrdiff_t& operator[](int idx) {
return dims[idx];
}
- int operator[](int idx) const {
+ ptrdiff_t operator[](int idx) const {
return dims[idx];
}
private:
- std::vector<int> dims;
+ std::vector<ptrdiff_t> dims;
};
} // namespace MKLDNNPlugin