MatchLib
nvhls_types.h
1 /*
2  * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License")
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #ifndef HLS_TYPEDEF_H
17 #define HLS_TYPEDEF_H
18 #include <nvhls_int.h>
19 
20 // Use the following when using NVUINT with template parameters
35 #define NVUINTW(width) typename nvhls::nvhls_t<width>::nvuint_t
36 
51 #define NVINTW(width) typename nvhls::nvhls_t<width>::nvint_t
52 
53 // Use the following when using NVUINT with constant parameters
66 #define NVUINTC(width) nvhls::nvhls_t<width>::nvuint_t
67 
79 #define NVINTC(width) nvhls::nvhls_t<width>::nvint_t
80 
81 // Fixed width Unsigned INT types
82 typedef nvhls::nvhls_t<1>::nvuint_t NVUINT1;
83 typedef nvhls::nvhls_t<2>::nvuint_t NVUINT2;
84 typedef nvhls::nvhls_t<3>::nvuint_t NVUINT3;
85 typedef nvhls::nvhls_t<4>::nvuint_t NVUINT4;
86 typedef nvhls::nvhls_t<5>::nvuint_t NVUINT5;
87 typedef nvhls::nvhls_t<6>::nvuint_t NVUINT6;
88 typedef nvhls::nvhls_t<7>::nvuint_t NVUINT7;
89 typedef nvhls::nvhls_t<8>::nvuint_t NVUINT8;
90 typedef nvhls::nvhls_t<9>::nvuint_t NVUINT9;
91 typedef nvhls::nvhls_t<10>::nvuint_t NVUINT10;
92 typedef nvhls::nvhls_t<11>::nvuint_t NVUINT11;
93 typedef nvhls::nvhls_t<12>::nvuint_t NVUINT12;
94 typedef nvhls::nvhls_t<13>::nvuint_t NVUINT13;
95 typedef nvhls::nvhls_t<14>::nvuint_t NVUINT14;
96 typedef nvhls::nvhls_t<15>::nvuint_t NVUINT15;
97 typedef nvhls::nvhls_t<16>::nvuint_t NVUINT16;
98 typedef nvhls::nvhls_t<17>::nvuint_t NVUINT17;
99 typedef nvhls::nvhls_t<18>::nvuint_t NVUINT18;
100 typedef nvhls::nvhls_t<19>::nvuint_t NVUINT19;
101 typedef nvhls::nvhls_t<20>::nvuint_t NVUINT20;
102 typedef nvhls::nvhls_t<21>::nvuint_t NVUINT21;
103 typedef nvhls::nvhls_t<22>::nvuint_t NVUINT22;
104 typedef nvhls::nvhls_t<23>::nvuint_t NVUINT23;
105 typedef nvhls::nvhls_t<24>::nvuint_t NVUINT24;
106 typedef nvhls::nvhls_t<25>::nvuint_t NVUINT25;
107 typedef nvhls::nvhls_t<26>::nvuint_t NVUINT26;
108 typedef nvhls::nvhls_t<27>::nvuint_t NVUINT27;
109 typedef nvhls::nvhls_t<28>::nvuint_t NVUINT28;
110 typedef nvhls::nvhls_t<29>::nvuint_t NVUINT29;
111 typedef nvhls::nvhls_t<30>::nvuint_t NVUINT30;
112 typedef nvhls::nvhls_t<31>::nvuint_t NVUINT31;
113 typedef nvhls::nvhls_t<32>::nvuint_t NVUINT32;
114 typedef nvhls::nvhls_t<33>::nvuint_t NVUINT33;
115 typedef nvhls::nvhls_t<34>::nvuint_t NVUINT34;
116 typedef nvhls::nvhls_t<35>::nvuint_t NVUINT35;
117 typedef nvhls::nvhls_t<36>::nvuint_t NVUINT36;
118 typedef nvhls::nvhls_t<37>::nvuint_t NVUINT37;
119 typedef nvhls::nvhls_t<38>::nvuint_t NVUINT38;
120 typedef nvhls::nvhls_t<39>::nvuint_t NVUINT39;
121 typedef nvhls::nvhls_t<40>::nvuint_t NVUINT40;
122 typedef nvhls::nvhls_t<41>::nvuint_t NVUINT41;
123 typedef nvhls::nvhls_t<42>::nvuint_t NVUINT42;
124 typedef nvhls::nvhls_t<43>::nvuint_t NVUINT43;
125 typedef nvhls::nvhls_t<44>::nvuint_t NVUINT44;
126 typedef nvhls::nvhls_t<45>::nvuint_t NVUINT45;
127 typedef nvhls::nvhls_t<46>::nvuint_t NVUINT46;
128 typedef nvhls::nvhls_t<47>::nvuint_t NVUINT47;
129 typedef nvhls::nvhls_t<48>::nvuint_t NVUINT48;
130 typedef nvhls::nvhls_t<49>::nvuint_t NVUINT49;
131 typedef nvhls::nvhls_t<50>::nvuint_t NVUINT50;
132 typedef nvhls::nvhls_t<51>::nvuint_t NVUINT51;
133 typedef nvhls::nvhls_t<52>::nvuint_t NVUINT52;
134 typedef nvhls::nvhls_t<53>::nvuint_t NVUINT53;
135 typedef nvhls::nvhls_t<54>::nvuint_t NVUINT54;
136 typedef nvhls::nvhls_t<55>::nvuint_t NVUINT55;
137 typedef nvhls::nvhls_t<56>::nvuint_t NVUINT56;
138 typedef nvhls::nvhls_t<57>::nvuint_t NVUINT57;
139 typedef nvhls::nvhls_t<58>::nvuint_t NVUINT58;
140 typedef nvhls::nvhls_t<59>::nvuint_t NVUINT59;
141 typedef nvhls::nvhls_t<60>::nvuint_t NVUINT60;
142 typedef nvhls::nvhls_t<61>::nvuint_t NVUINT61;
143 typedef nvhls::nvhls_t<62>::nvuint_t NVUINT62;
144 typedef nvhls::nvhls_t<63>::nvuint_t NVUINT63;
145 typedef nvhls::nvhls_t<64>::nvuint_t NVUINT64;
146 typedef nvhls::nvhls_t<128>::nvuint_t NVUINT128;
147 
148 // Fixed width Signed INT types
149 typedef nvhls::nvhls_t<1>::nvint_t NVINT1;
150 typedef nvhls::nvhls_t<2>::nvint_t NVINT2;
151 typedef nvhls::nvhls_t<3>::nvint_t NVINT3;
152 typedef nvhls::nvhls_t<4>::nvint_t NVINT4;
153 typedef nvhls::nvhls_t<5>::nvint_t NVINT5;
154 typedef nvhls::nvhls_t<6>::nvint_t NVINT6;
155 typedef nvhls::nvhls_t<7>::nvint_t NVINT7;
156 typedef nvhls::nvhls_t<8>::nvint_t NVINT8;
157 typedef nvhls::nvhls_t<9>::nvint_t NVINT9;
158 typedef nvhls::nvhls_t<10>::nvint_t NVINT10;
159 typedef nvhls::nvhls_t<11>::nvint_t NVINT11;
160 typedef nvhls::nvhls_t<12>::nvint_t NVINT12;
161 typedef nvhls::nvhls_t<13>::nvint_t NVINT13;
162 typedef nvhls::nvhls_t<14>::nvint_t NVINT14;
163 typedef nvhls::nvhls_t<15>::nvint_t NVINT15;
164 typedef nvhls::nvhls_t<16>::nvint_t NVINT16;
165 typedef nvhls::nvhls_t<17>::nvint_t NVINT17;
166 typedef nvhls::nvhls_t<18>::nvint_t NVINT18;
167 typedef nvhls::nvhls_t<19>::nvint_t NVINT19;
168 typedef nvhls::nvhls_t<20>::nvint_t NVINT20;
169 typedef nvhls::nvhls_t<21>::nvint_t NVINT21;
170 typedef nvhls::nvhls_t<22>::nvint_t NVINT22;
171 typedef nvhls::nvhls_t<23>::nvint_t NVINT23;
172 typedef nvhls::nvhls_t<24>::nvint_t NVINT24;
173 typedef nvhls::nvhls_t<25>::nvint_t NVINT25;
174 typedef nvhls::nvhls_t<26>::nvint_t NVINT26;
175 typedef nvhls::nvhls_t<27>::nvint_t NVINT27;
176 typedef nvhls::nvhls_t<28>::nvint_t NVINT28;
177 typedef nvhls::nvhls_t<29>::nvint_t NVINT29;
178 typedef nvhls::nvhls_t<30>::nvint_t NVINT30;
179 typedef nvhls::nvhls_t<31>::nvint_t NVINT31;
180 typedef nvhls::nvhls_t<32>::nvint_t NVINT32;
181 typedef nvhls::nvhls_t<33>::nvint_t NVINT33;
182 typedef nvhls::nvhls_t<34>::nvint_t NVINT34;
183 typedef nvhls::nvhls_t<35>::nvint_t NVINT35;
184 typedef nvhls::nvhls_t<36>::nvint_t NVINT36;
185 typedef nvhls::nvhls_t<37>::nvint_t NVINT37;
186 typedef nvhls::nvhls_t<38>::nvint_t NVINT38;
187 typedef nvhls::nvhls_t<39>::nvint_t NVINT39;
188 typedef nvhls::nvhls_t<40>::nvint_t NVINT40;
189 typedef nvhls::nvhls_t<41>::nvint_t NVINT41;
190 typedef nvhls::nvhls_t<42>::nvint_t NVINT42;
191 typedef nvhls::nvhls_t<43>::nvint_t NVINT43;
192 typedef nvhls::nvhls_t<44>::nvint_t NVINT44;
193 typedef nvhls::nvhls_t<45>::nvint_t NVINT45;
194 typedef nvhls::nvhls_t<46>::nvint_t NVINT46;
195 typedef nvhls::nvhls_t<47>::nvint_t NVINT47;
196 typedef nvhls::nvhls_t<48>::nvint_t NVINT48;
197 typedef nvhls::nvhls_t<49>::nvint_t NVINT49;
198 typedef nvhls::nvhls_t<50>::nvint_t NVINT50;
199 typedef nvhls::nvhls_t<51>::nvint_t NVINT51;
200 typedef nvhls::nvhls_t<52>::nvint_t NVINT52;
201 typedef nvhls::nvhls_t<53>::nvint_t NVINT53;
202 typedef nvhls::nvhls_t<54>::nvint_t NVINT54;
203 typedef nvhls::nvhls_t<55>::nvint_t NVINT55;
204 typedef nvhls::nvhls_t<56>::nvint_t NVINT56;
205 typedef nvhls::nvhls_t<57>::nvint_t NVINT57;
206 typedef nvhls::nvhls_t<58>::nvint_t NVINT58;
207 typedef nvhls::nvhls_t<59>::nvint_t NVINT59;
208 typedef nvhls::nvhls_t<60>::nvint_t NVINT60;
209 typedef nvhls::nvhls_t<61>::nvint_t NVINT61;
210 typedef nvhls::nvhls_t<62>::nvint_t NVINT62;
211 typedef nvhls::nvhls_t<63>::nvint_t NVINT63;
212 typedef nvhls::nvhls_t<64>::nvint_t NVINT64;
213 typedef nvhls::nvhls_t<128>::nvint_t NVINT128;
214 
215 #endif
Definition of vendor agnostic integer data types.
Definition: nvhls_int.h:336