TensorRT  8.0.0
NvInferLegacyDims.h
1 /*
2  * Copyright 1993-2021 NVIDIA Corporation. All rights reserved.
3  *
4  * NOTICE TO LICENSEE:
5  *
6  * This source code and/or documentation ("Licensed Deliverables") are
7  * subject to NVIDIA intellectual property rights under U.S. and
8  * international Copyright laws.
9  *
10  * These Licensed Deliverables contained herein is PROPRIETARY and
11  * CONFIDENTIAL to NVIDIA and is being provided under the terms and
12  * conditions of a form of NVIDIA software license agreement by and
13  * between NVIDIA and Licensee ("License Agreement") or electronically
14  * accepted by Licensee. Notwithstanding any terms or conditions to
15  * the contrary in the License Agreement, reproduction or disclosure
16  * of the Licensed Deliverables to any third party without the express
17  * written consent of NVIDIA is prohibited.
18  *
19  * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
20  * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
21  * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
22  * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
23  * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
24  * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
25  * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
26  * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
27  * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
28  * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
29  * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
30  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
31  * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
32  * OF THESE LICENSED DELIVERABLES.
33  *
34  * U.S. Government End Users. These Licensed Deliverables are a
35  * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
36  * 1995), consisting of "commercial computer software" and "commercial
37  * computer software documentation" as such terms are used in 48
38  * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
39  * only as a commercial end item. Consistent with 48 C.F.R.12.212 and
40  * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
41  * U.S. Government End Users acquire the Licensed Deliverables with
42  * only those rights set forth herein.
43  *
44  * Any use of the Licensed Deliverables in individual and commercial
45  * software must include, in the user documentation and internal
46  * comments to the code, the above Disclaimer and U.S. Government End
47  * Users Notice.
48  */
49 
50 #ifndef NV_INFER_LEGACY_DIMS_H
51 #define NV_INFER_LEGACY_DIMS_H
52 
53 #include "NvInferRuntimeCommon.h"
54 
55 namespace nvinfer1
56 {
61 class Dims2 : public Dims
62 {
63 public:
68  {
69  nbDims = 2;
70  for (int32_t i = 0; i < MAX_DIMS; ++i)
71  {
72  d[i] = 0;
73  }
74  }
75 
82  Dims2(int32_t d0, int32_t d1)
83  {
84  nbDims = 2;
85  d[0] = d0;
86  d[1] = d1;
87  for (int32_t i = nbDims; i < MAX_DIMS; ++i)
88  {
89  d[i] = 0;
90  }
91  }
92 };
93 
98 class DimsHW : public Dims2
99 {
100 public:
105  : Dims2()
106  {
107  }
108 
115  DimsHW(int32_t height, int32_t width)
116  : Dims2(height, width)
117  {
118  }
119 
125  int32_t& h()
126  {
127  return d[0];
128  }
129 
135  int32_t h() const
136  {
137  return d[0];
138  }
139 
145  int32_t& w()
146  {
147  return d[1];
148  }
149 
155  int32_t w() const
156  {
157  return d[1];
158  }
159 };
160 
165 class Dims3 : public Dims
166 {
167 public:
172  {
173  nbDims = 3;
174  for (int32_t i = 0; i < MAX_DIMS; ++i)
175  {
176  d[i] = 0;
177  }
178  }
179 
187  Dims3(int32_t d0, int32_t d1, int32_t d2)
188  {
189  nbDims = 3;
190  d[0] = d0;
191  d[1] = d1;
192  d[2] = d2;
193  for (int32_t i = nbDims; i < MAX_DIMS; ++i)
194  {
195  d[i] = 0;
196  }
197  }
198 };
199 
204 class Dims4 : public Dims
205 {
206 public:
211  {
212  nbDims = 4;
213  for (int32_t i = 0; i < MAX_DIMS; ++i)
214  {
215  d[i] = 0;
216  }
217  }
218 
227  Dims4(int32_t d0, int32_t d1, int32_t d2, int32_t d3)
228  {
229  nbDims = 4;
230  d[0] = d0;
231  d[1] = d1;
232  d[2] = d2;
233  d[3] = d3;
234  for (int32_t i = nbDims; i < MAX_DIMS; ++i)
235  {
236  d[i] = 0;
237  }
238  }
239 };
240 
241 } // namespace nvinfer1
242 
243 #endif // NV_INFER_LEGCY_DIMS_H
nvinfer1::Dims3::Dims3
Dims3()
Construct an empty Dims3 object.
Definition: NvInferLegacyDims.h:171
nvinfer1::Dims4::Dims4
Dims4()
Construct an empty Dims4 object.
Definition: NvInferLegacyDims.h:210
nvinfer1::Dims32
Definition: NvInferRuntimeCommon.h:189
nvinfer1::DimsHW
Descriptor for two-dimensional spatial data.
Definition: NvInferLegacyDims.h:98
nvinfer1::DimsHW::DimsHW
DimsHW(int32_t height, int32_t width)
Construct a DimsHW given height and width.
Definition: NvInferLegacyDims.h:115
nvinfer1::Dims32::d
int32_t d[MAX_DIMS]
The extent of each dimension.
Definition: NvInferRuntimeCommon.h:197
nvinfer1
The TensorRT API version 1 namespace.
nvinfer1::DimsHW::h
int32_t h() const
Get the height.
Definition: NvInferLegacyDims.h:135
nvinfer1::Dims3::Dims3
Dims3(int32_t d0, int32_t d1, int32_t d2)
Construct a Dims3 from 3 elements.
Definition: NvInferLegacyDims.h:187
nvinfer1::Dims32::nbDims
int32_t nbDims
The number of dimensions.
Definition: NvInferRuntimeCommon.h:195
nvinfer1::Dims4::Dims4
Dims4(int32_t d0, int32_t d1, int32_t d2, int32_t d3)
Construct a Dims4 from 4 elements.
Definition: NvInferLegacyDims.h:227
nvinfer1::Dims2::Dims2
Dims2(int32_t d0, int32_t d1)
Construct a Dims2 from 2 elements.
Definition: NvInferLegacyDims.h:82
nvinfer1::DimsHW::h
int32_t & h()
Get the height.
Definition: NvInferLegacyDims.h:125
nvinfer1::DimsHW::w
int32_t & w()
Get the width.
Definition: NvInferLegacyDims.h:145
NvInferRuntimeCommon.h
nvinfer1::Dims3
Descriptor for three-dimensional data.
Definition: NvInferLegacyDims.h:165
nvinfer1::Dims2
Descriptor for two-dimensional data.
Definition: NvInferLegacyDims.h:61
nvinfer1::Dims32::MAX_DIMS
static constexpr int32_t MAX_DIMS
The maximum number of dimensions supported for a tensor.
Definition: NvInferRuntimeCommon.h:193
nvinfer1::DimsHW::DimsHW
DimsHW()
Construct an empty DimsHW object.
Definition: NvInferLegacyDims.h:104
nvinfer1::Dims4
Descriptor for four-dimensional data.
Definition: NvInferLegacyDims.h:204
nvinfer1::DimsHW::w
int32_t w() const
Get the width.
Definition: NvInferLegacyDims.h:155
nvinfer1::Dims2::Dims2
Dims2()
Construct an empty Dims2 object.
Definition: NvInferLegacyDims.h:67