TensorRT  8.2.0
NvInferLegacyDims.h
Go to the documentation of this file.
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 
61 
67 namespace nvinfer1
68 {
73 class Dims2 : public Dims
74 {
75 public:
80  : Dims{2, {}}
81  {
82  }
83 
90  Dims2(int32_t d0, int32_t d1)
91  : Dims{2, {d0, d1}}
92  {
93  }
94 };
95 
100 class DimsHW : public Dims2
101 {
102 public:
107  : Dims2()
108  {
109  }
110 
117  DimsHW(int32_t height, int32_t width)
118  : Dims2(height, width)
119  {
120  }
121 
127  int32_t& h()
128  {
129  return d[0];
130  }
131 
137  int32_t h() const
138  {
139  return d[0];
140  }
141 
147  int32_t& w()
148  {
149  return d[1];
150  }
151 
157  int32_t w() const
158  {
159  return d[1];
160  }
161 };
162 
167 class Dims3 : public Dims
168 {
169 public:
174  : Dims{3, {}}
175  {
176  }
177 
185  Dims3(int32_t d0, int32_t d1, int32_t d2)
186  : Dims{3, {d0, d1, d2}}
187  {
188  }
189 };
190 
195 class Dims4 : public Dims
196 {
197 public:
202  : Dims{4, {}}
203  {
204  }
205 
214  Dims4(int32_t d0, int32_t d1, int32_t d2, int32_t d3)
215  : Dims{4, {d0, d1, d2, d3}}
216  {
217  }
218 };
219 
220 } // namespace nvinfer1
221 
222 #endif // NV_INFER_LEGCY_DIMS_H
nvinfer1::Dims3::Dims3
Dims3()
Construct an empty Dims3 object.
Definition: NvInferLegacyDims.h:173
nvinfer1::Dims4::Dims4
Dims4()
Construct an empty Dims4 object.
Definition: NvInferLegacyDims.h:201
nvinfer1::Dims32
Definition: NvInferRuntimeCommon.h:189
nvinfer1::DimsHW
Descriptor for two-dimensional spatial data.
Definition: NvInferLegacyDims.h:100
nvinfer1::DimsHW::DimsHW
DimsHW(int32_t height, int32_t width)
Construct a DimsHW given height and width.
Definition: NvInferLegacyDims.h:117
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:137
nvinfer1::Dims3::Dims3
Dims3(int32_t d0, int32_t d1, int32_t d2)
Construct a Dims3 from 3 elements.
Definition: NvInferLegacyDims.h:185
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:214
nvinfer1::Dims2::Dims2
Dims2(int32_t d0, int32_t d1)
Construct a Dims2 from 2 elements.
Definition: NvInferLegacyDims.h:90
nvinfer1::DimsHW::h
int32_t & h()
Get the height.
Definition: NvInferLegacyDims.h:127
nvinfer1::DimsHW::w
int32_t & w()
Get the width.
Definition: NvInferLegacyDims.h:147
NvInferRuntimeCommon.h
nvinfer1::Dims3
Descriptor for three-dimensional data.
Definition: NvInferLegacyDims.h:167
nvinfer1::Dims2
Descriptor for two-dimensional data.
Definition: NvInferLegacyDims.h:73
nvinfer1::DimsHW::DimsHW
DimsHW()
Construct an empty DimsHW object.
Definition: NvInferLegacyDims.h:106
nvinfer1::Dims4
Descriptor for four-dimensional data.
Definition: NvInferLegacyDims.h:195
nvinfer1::DimsHW::w
int32_t w() const
Get the width.
Definition: NvInferLegacyDims.h:157
nvinfer1::Dims2::Dims2
Dims2()
Construct an empty Dims2 object.
Definition: NvInferLegacyDims.h:79