Thanks to visit codestin.com
Credit goes to clang.llvm.org

clang 22.0.0git
hlsl_basic_types.h
Go to the documentation of this file.
1//===----- hlsl_basic_types.h - HLSL definitions for basic types ----------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef _HLSL_HLSL_BASIC_TYPES_H_
10#define _HLSL_HLSL_BASIC_TYPES_H_
11
12namespace hlsl {
13// built-in scalar data types:
14
15/// \typedef template<typename Ty, int Size> using vector = Ty
16/// __attribute__((ext_vector_type(Size)))
17///
18/// \tparam Ty The base type of the vector may be any builtin integral or
19/// floating point type.
20/// \tparam Size The size of the vector may be any value between 1 and 4.
21
22#ifdef __HLSL_ENABLE_16_BIT
23// 16-bit integer.
24typedef unsigned short uint16_t;
25typedef short int16_t;
26
27// 16-bit floating point.
28typedef half float16_t;
29#endif
30
31// 32-bit integer.
32typedef int int32_t;
33
34// unsigned 32-bit integer.
35typedef unsigned int uint;
36typedef unsigned int uint32_t;
37
38// 32-bit floating point.
39typedef float float32_t;
40
41// 64-bit integer.
42typedef unsigned long uint64_t;
43typedef long int64_t;
44
45// 64-bit floating point
46typedef double float64_t;
47
48// built-in vector data types:
49
50#ifdef __HLSL_ENABLE_16_BIT
51typedef vector<int16_t, 1> int16_t1;
52typedef vector<int16_t, 2> int16_t2;
53typedef vector<int16_t, 3> int16_t3;
54typedef vector<int16_t, 4> int16_t4;
55typedef vector<uint16_t, 1> uint16_t1;
56typedef vector<uint16_t, 2> uint16_t2;
57typedef vector<uint16_t, 3> uint16_t3;
58typedef vector<uint16_t, 4> uint16_t4;
59#endif
60typedef vector<bool, 1> bool1;
61typedef vector<bool, 2> bool2;
62typedef vector<bool, 3> bool3;
63typedef vector<bool, 4> bool4;
64typedef vector<int, 1> int1;
65typedef vector<int, 2> int2;
66typedef vector<int, 3> int3;
67typedef vector<int, 4> int4;
68typedef vector<uint, 1> uint1;
69typedef vector<uint, 2> uint2;
70typedef vector<uint, 3> uint3;
71typedef vector<uint, 4> uint4;
72typedef vector<int32_t, 1> int32_t1;
73typedef vector<int32_t, 2> int32_t2;
74typedef vector<int32_t, 3> int32_t3;
75typedef vector<int32_t, 4> int32_t4;
76typedef vector<uint32_t, 1> uint32_t1;
77typedef vector<uint32_t, 2> uint32_t2;
78typedef vector<uint32_t, 3> uint32_t3;
79typedef vector<uint32_t, 4> uint32_t4;
80typedef vector<int64_t, 1> int64_t1;
81typedef vector<int64_t, 2> int64_t2;
82typedef vector<int64_t, 3> int64_t3;
83typedef vector<int64_t, 4> int64_t4;
84typedef vector<uint64_t, 1> uint64_t1;
85typedef vector<uint64_t, 2> uint64_t2;
86typedef vector<uint64_t, 3> uint64_t3;
87typedef vector<uint64_t, 4> uint64_t4;
88
89typedef vector<half, 1> half1;
90typedef vector<half, 2> half2;
91typedef vector<half, 3> half3;
92typedef vector<half, 4> half4;
93typedef vector<float, 1> float1;
94typedef vector<float, 2> float2;
95typedef vector<float, 3> float3;
96typedef vector<float, 4> float4;
97typedef vector<double, 1> double1;
98typedef vector<double, 2> double2;
99typedef vector<double, 3> double3;
100typedef vector<double, 4> double4;
101
102#ifdef __HLSL_ENABLE_16_BIT
103typedef vector<float16_t, 1> float16_t1;
104typedef vector<float16_t, 2> float16_t2;
105typedef vector<float16_t, 3> float16_t3;
106typedef vector<float16_t, 4> float16_t4;
107#endif
108
109typedef vector<float32_t, 1> float32_t1;
110typedef vector<float32_t, 2> float32_t2;
111typedef vector<float32_t, 3> float32_t3;
112typedef vector<float32_t, 4> float32_t4;
113typedef vector<float64_t, 1> float64_t1;
114typedef vector<float64_t, 2> float64_t2;
115typedef vector<float64_t, 3> float64_t3;
116typedef vector<float64_t, 4> float64_t4;
117
118#ifdef __HLSL_ENABLE_16_BIT
119typedef matrix<int16_t, 1, 1> int16_t1x1;
120typedef matrix<int16_t, 1, 2> int16_t1x2;
121typedef matrix<int16_t, 1, 3> int16_t1x3;
122typedef matrix<int16_t, 1, 4> int16_t1x4;
123typedef matrix<int16_t, 2, 1> int16_t2x1;
124typedef matrix<int16_t, 2, 2> int16_t2x2;
125typedef matrix<int16_t, 2, 3> int16_t2x3;
126typedef matrix<int16_t, 2, 4> int16_t2x4;
127typedef matrix<int16_t, 3, 1> int16_t3x1;
128typedef matrix<int16_t, 3, 2> int16_t3x2;
129typedef matrix<int16_t, 3, 3> int16_t3x3;
130typedef matrix<int16_t, 3, 4> int16_t3x4;
131typedef matrix<int16_t, 4, 1> int16_t4x1;
132typedef matrix<int16_t, 4, 2> int16_t4x2;
133typedef matrix<int16_t, 4, 3> int16_t4x3;
134typedef matrix<int16_t, 4, 4> int16_t4x4;
135typedef matrix<uint16_t, 1, 1> uint16_t1x1;
136typedef matrix<uint16_t, 1, 2> uint16_t1x2;
137typedef matrix<uint16_t, 1, 3> uint16_t1x3;
138typedef matrix<uint16_t, 1, 4> uint16_t1x4;
139typedef matrix<uint16_t, 2, 1> uint16_t2x1;
140typedef matrix<uint16_t, 2, 2> uint16_t2x2;
141typedef matrix<uint16_t, 2, 3> uint16_t2x3;
142typedef matrix<uint16_t, 2, 4> uint16_t2x4;
143typedef matrix<uint16_t, 3, 1> uint16_t3x1;
144typedef matrix<uint16_t, 3, 2> uint16_t3x2;
145typedef matrix<uint16_t, 3, 3> uint16_t3x3;
146typedef matrix<uint16_t, 3, 4> uint16_t3x4;
147typedef matrix<uint16_t, 4, 1> uint16_t4x1;
148typedef matrix<uint16_t, 4, 2> uint16_t4x2;
149typedef matrix<uint16_t, 4, 3> uint16_t4x3;
150typedef matrix<uint16_t, 4, 4> uint16_t4x4;
151#endif
152
153typedef matrix<int, 1, 1> int1x1;
154typedef matrix<int, 1, 2> int1x2;
155typedef matrix<int, 1, 3> int1x3;
156typedef matrix<int, 1, 4> int1x4;
157typedef matrix<int, 2, 1> int2x1;
158typedef matrix<int, 2, 2> int2x2;
159typedef matrix<int, 2, 3> int2x3;
160typedef matrix<int, 2, 4> int2x4;
161typedef matrix<int, 3, 1> int3x1;
162typedef matrix<int, 3, 2> int3x2;
163typedef matrix<int, 3, 3> int3x3;
164typedef matrix<int, 3, 4> int3x4;
165typedef matrix<int, 4, 1> int4x1;
166typedef matrix<int, 4, 2> int4x2;
167typedef matrix<int, 4, 3> int4x3;
168typedef matrix<int, 4, 4> int4x4;
169typedef matrix<uint, 1, 1> uint1x1;
170typedef matrix<uint, 1, 2> uint1x2;
171typedef matrix<uint, 1, 3> uint1x3;
172typedef matrix<uint, 1, 4> uint1x4;
173typedef matrix<uint, 2, 1> uint2x1;
174typedef matrix<uint, 2, 2> uint2x2;
175typedef matrix<uint, 2, 3> uint2x3;
176typedef matrix<uint, 2, 4> uint2x4;
177typedef matrix<uint, 3, 1> uint3x1;
178typedef matrix<uint, 3, 2> uint3x2;
179typedef matrix<uint, 3, 3> uint3x3;
180typedef matrix<uint, 3, 4> uint3x4;
181typedef matrix<uint, 4, 1> uint4x1;
182typedef matrix<uint, 4, 2> uint4x2;
183typedef matrix<uint, 4, 3> uint4x3;
184typedef matrix<uint, 4, 4> uint4x4;
185typedef matrix<int32_t, 1, 1> int32_t1x1;
186typedef matrix<int32_t, 1, 2> int32_t1x2;
187typedef matrix<int32_t, 1, 3> int32_t1x3;
188typedef matrix<int32_t, 1, 4> int32_t1x4;
189typedef matrix<int32_t, 2, 1> int32_t2x1;
190typedef matrix<int32_t, 2, 2> int32_t2x2;
191typedef matrix<int32_t, 2, 3> int32_t2x3;
192typedef matrix<int32_t, 2, 4> int32_t2x4;
193typedef matrix<int32_t, 3, 1> int32_t3x1;
194typedef matrix<int32_t, 3, 2> int32_t3x2;
195typedef matrix<int32_t, 3, 3> int32_t3x3;
196typedef matrix<int32_t, 3, 4> int32_t3x4;
197typedef matrix<int32_t, 4, 1> int32_t4x1;
198typedef matrix<int32_t, 4, 2> int32_t4x2;
199typedef matrix<int32_t, 4, 3> int32_t4x3;
200typedef matrix<int32_t, 4, 4> int32_t4x4;
201typedef matrix<uint32_t, 1, 1> uint32_t1x1;
202typedef matrix<uint32_t, 1, 2> uint32_t1x2;
203typedef matrix<uint32_t, 1, 3> uint32_t1x3;
204typedef matrix<uint32_t, 1, 4> uint32_t1x4;
205typedef matrix<uint32_t, 2, 1> uint32_t2x1;
206typedef matrix<uint32_t, 2, 2> uint32_t2x2;
207typedef matrix<uint32_t, 2, 3> uint32_t2x3;
208typedef matrix<uint32_t, 2, 4> uint32_t2x4;
209typedef matrix<uint32_t, 3, 1> uint32_t3x1;
210typedef matrix<uint32_t, 3, 2> uint32_t3x2;
211typedef matrix<uint32_t, 3, 3> uint32_t3x3;
212typedef matrix<uint32_t, 3, 4> uint32_t3x4;
213typedef matrix<uint32_t, 4, 1> uint32_t4x1;
214typedef matrix<uint32_t, 4, 2> uint32_t4x2;
215typedef matrix<uint32_t, 4, 3> uint32_t4x3;
216typedef matrix<uint32_t, 4, 4> uint32_t4x4;
217typedef matrix<int64_t, 1, 1> int64_t1x1;
218typedef matrix<int64_t, 1, 2> int64_t1x2;
219typedef matrix<int64_t, 1, 3> int64_t1x3;
220typedef matrix<int64_t, 1, 4> int64_t1x4;
221typedef matrix<int64_t, 2, 1> int64_t2x1;
222typedef matrix<int64_t, 2, 2> int64_t2x2;
223typedef matrix<int64_t, 2, 3> int64_t2x3;
224typedef matrix<int64_t, 2, 4> int64_t2x4;
225typedef matrix<int64_t, 3, 1> int64_t3x1;
226typedef matrix<int64_t, 3, 2> int64_t3x2;
227typedef matrix<int64_t, 3, 3> int64_t3x3;
228typedef matrix<int64_t, 3, 4> int64_t3x4;
229typedef matrix<int64_t, 4, 1> int64_t4x1;
230typedef matrix<int64_t, 4, 2> int64_t4x2;
231typedef matrix<int64_t, 4, 3> int64_t4x3;
232typedef matrix<int64_t, 4, 4> int64_t4x4;
233typedef matrix<uint64_t, 1, 1> uint64_t1x1;
234typedef matrix<uint64_t, 1, 2> uint64_t1x2;
235typedef matrix<uint64_t, 1, 3> uint64_t1x3;
236typedef matrix<uint64_t, 1, 4> uint64_t1x4;
237typedef matrix<uint64_t, 2, 1> uint64_t2x1;
238typedef matrix<uint64_t, 2, 2> uint64_t2x2;
239typedef matrix<uint64_t, 2, 3> uint64_t2x3;
240typedef matrix<uint64_t, 2, 4> uint64_t2x4;
241typedef matrix<uint64_t, 3, 1> uint64_t3x1;
242typedef matrix<uint64_t, 3, 2> uint64_t3x2;
243typedef matrix<uint64_t, 3, 3> uint64_t3x3;
244typedef matrix<uint64_t, 3, 4> uint64_t3x4;
245typedef matrix<uint64_t, 4, 1> uint64_t4x1;
246typedef matrix<uint64_t, 4, 2> uint64_t4x2;
247typedef matrix<uint64_t, 4, 3> uint64_t4x3;
248typedef matrix<uint64_t, 4, 4> uint64_t4x4;
249
250typedef matrix<half, 1, 1> half1x1;
251typedef matrix<half, 1, 2> half1x2;
252typedef matrix<half, 1, 3> half1x3;
253typedef matrix<half, 1, 4> half1x4;
254typedef matrix<half, 2, 1> half2x1;
255typedef matrix<half, 2, 2> half2x2;
256typedef matrix<half, 2, 3> half2x3;
257typedef matrix<half, 2, 4> half2x4;
258typedef matrix<half, 3, 1> half3x1;
259typedef matrix<half, 3, 2> half3x2;
260typedef matrix<half, 3, 3> half3x3;
261typedef matrix<half, 3, 4> half3x4;
262typedef matrix<half, 4, 1> half4x1;
263typedef matrix<half, 4, 2> half4x2;
264typedef matrix<half, 4, 3> half4x3;
265typedef matrix<half, 4, 4> half4x4;
266typedef matrix<float, 1, 1> float1x1;
267typedef matrix<float, 1, 2> float1x2;
268typedef matrix<float, 1, 3> float1x3;
269typedef matrix<float, 1, 4> float1x4;
270typedef matrix<float, 2, 1> float2x1;
271typedef matrix<float, 2, 2> float2x2;
272typedef matrix<float, 2, 3> float2x3;
273typedef matrix<float, 2, 4> float2x4;
274typedef matrix<float, 3, 1> float3x1;
275typedef matrix<float, 3, 2> float3x2;
276typedef matrix<float, 3, 3> float3x3;
277typedef matrix<float, 3, 4> float3x4;
278typedef matrix<float, 4, 1> float4x1;
279typedef matrix<float, 4, 2> float4x2;
280typedef matrix<float, 4, 3> float4x3;
281typedef matrix<float, 4, 4> float4x4;
282typedef matrix<double, 1, 1> double1x1;
283typedef matrix<double, 1, 2> double1x2;
284typedef matrix<double, 1, 3> double1x3;
285typedef matrix<double, 1, 4> double1x4;
286typedef matrix<double, 2, 1> double2x1;
287typedef matrix<double, 2, 2> double2x2;
288typedef matrix<double, 2, 3> double2x3;
289typedef matrix<double, 2, 4> double2x4;
290typedef matrix<double, 3, 1> double3x1;
291typedef matrix<double, 3, 2> double3x2;
292typedef matrix<double, 3, 3> double3x3;
293typedef matrix<double, 3, 4> double3x4;
294typedef matrix<double, 4, 1> double4x1;
295typedef matrix<double, 4, 2> double4x2;
296typedef matrix<double, 4, 3> double4x3;
297typedef matrix<double, 4, 4> double4x4;
298
299#ifdef __HLSL_ENABLE_16_BIT
300typedef matrix<float16_t, 1, 1> float16_t1x1;
301typedef matrix<float16_t, 1, 2> float16_t1x2;
302typedef matrix<float16_t, 1, 3> float16_t1x3;
303typedef matrix<float16_t, 1, 4> float16_t1x4;
304typedef matrix<float16_t, 2, 1> float16_t2x1;
305typedef matrix<float16_t, 2, 2> float16_t2x2;
306typedef matrix<float16_t, 2, 3> float16_t2x3;
307typedef matrix<float16_t, 2, 4> float16_t2x4;
308typedef matrix<float16_t, 3, 1> float16_t3x1;
309typedef matrix<float16_t, 3, 2> float16_t3x2;
310typedef matrix<float16_t, 3, 3> float16_t3x3;
311typedef matrix<float16_t, 3, 4> float16_t3x4;
312typedef matrix<float16_t, 4, 1> float16_t4x1;
313typedef matrix<float16_t, 4, 2> float16_t4x2;
314typedef matrix<float16_t, 4, 3> float16_t4x3;
315typedef matrix<float16_t, 4, 4> float16_t4x4;
316#endif
317
318typedef matrix<float32_t, 1, 1> float32_t1x1;
319typedef matrix<float32_t, 1, 2> float32_t1x2;
320typedef matrix<float32_t, 1, 3> float32_t1x3;
321typedef matrix<float32_t, 1, 4> float32_t1x4;
322typedef matrix<float32_t, 2, 1> float32_t2x1;
323typedef matrix<float32_t, 2, 2> float32_t2x2;
324typedef matrix<float32_t, 2, 3> float32_t2x3;
325typedef matrix<float32_t, 2, 4> float32_t2x4;
326typedef matrix<float32_t, 3, 1> float32_t3x1;
327typedef matrix<float32_t, 3, 2> float32_t3x2;
328typedef matrix<float32_t, 3, 3> float32_t3x3;
329typedef matrix<float32_t, 3, 4> float32_t3x4;
330typedef matrix<float32_t, 4, 1> float32_t4x1;
331typedef matrix<float32_t, 4, 2> float32_t4x2;
332typedef matrix<float32_t, 4, 3> float32_t4x3;
333typedef matrix<float32_t, 4, 4> float32_t4x4;
334typedef matrix<float64_t, 1, 1> float64_t1x1;
335typedef matrix<float64_t, 1, 2> float64_t1x2;
336typedef matrix<float64_t, 1, 3> float64_t1x3;
337typedef matrix<float64_t, 1, 4> float64_t1x4;
338typedef matrix<float64_t, 2, 1> float64_t2x1;
339typedef matrix<float64_t, 2, 2> float64_t2x2;
340typedef matrix<float64_t, 2, 3> float64_t2x3;
341typedef matrix<float64_t, 2, 4> float64_t2x4;
342typedef matrix<float64_t, 3, 1> float64_t3x1;
343typedef matrix<float64_t, 3, 2> float64_t3x2;
344typedef matrix<float64_t, 3, 3> float64_t3x3;
345typedef matrix<float64_t, 3, 4> float64_t3x4;
346typedef matrix<float64_t, 4, 1> float64_t4x1;
347typedef matrix<float64_t, 4, 2> float64_t4x2;
348typedef matrix<float64_t, 4, 3> float64_t4x3;
349typedef matrix<float64_t, 4, 4> float64_t4x4;
350
351} // namespace hlsl
352
353#endif //_HLSL_HLSL_BASIC_TYPES_H_
matrix< float32_t, 4, 4 > float32_t4x4
matrix< int64_t, 1, 1 > int64_t1x1
matrix< int, 4, 3 > int4x3
matrix< float64_t, 2, 2 > float64_t2x2
matrix< double, 4, 3 > double4x3
matrix< double, 3, 3 > double3x3
matrix< float, 2, 1 > float2x1
matrix< float32_t, 1, 2 > float32_t1x2
unsigned int uint
An unsigned 32-bit integer.
matrix< uint32_t, 4, 2 > uint32_t4x2
matrix< uint32_t, 4, 3 > uint32_t4x3
double float64_t
matrix< int32_t, 3, 2 > int32_t3x2
matrix< int32_t, 3, 3 > int32_t3x3
matrix< uint64_t, 3, 4 > uint64_t3x4
vector< half, 4 > half4
matrix< half, 1, 3 > half1x3
matrix< float, 4, 4 > float4x4
matrix< uint32_t, 1, 2 > uint32_t1x2
matrix< float64_t, 1, 1 > float64_t1x1
matrix< float, 3, 1 > float3x1
matrix< double, 2, 3 > double2x3
vector< int32_t, 1 > int32_t1
matrix< float32_t, 3, 4 > float32_t3x4
matrix< uint, 2, 3 > uint2x3
matrix< uint64_t, 2, 3 > uint64_t2x3
matrix< uint32_t, 1, 3 > uint32_t1x3
vector< float64_t, 4 > float64_t4
vector< half, 2 > half2
matrix< int, 3, 1 > int3x1
matrix< uint64_t, 1, 2 > uint64_t1x2
vector< float64_t, 3 > float64_t3
matrix< half, 4, 3 > half4x3
matrix< double, 3, 2 > double3x2
matrix< float, 1, 4 > float1x4
matrix< float32_t, 3, 2 > float32_t3x2
matrix< uint64_t, 4, 2 > uint64_t4x2
vector< float32_t, 3 > float32_t3
matrix< uint, 3, 4 > uint3x4
matrix< half, 3, 2 > half3x2
matrix< int64_t, 4, 4 > int64_t4x4
matrix< uint32_t, 3, 4 > uint32_t3x4
matrix< uint, 1, 3 > uint1x3
vector< uint, 2 > uint2
vector< int, 3 > int3
matrix< uint32_t, 3, 1 > uint32_t3x1
vector< uint64_t, 2 > uint64_t2
matrix< float32_t, 3, 1 > float32_t3x1
matrix< int, 3, 2 > int3x2
matrix< float, 3, 2 > float3x2
matrix< float, 1, 3 > float1x3
vector< uint64_t, 1 > uint64_t1
matrix< float, 3, 4 > float3x4
matrix< int32_t, 4, 1 > int32_t4x1
vector< float32_t, 1 > float32_t1
matrix< half, 1, 1 > half1x1
matrix< uint, 3, 3 > uint3x3
matrix< float32_t, 1, 3 > float32_t1x3
vector< float, 4 > float4
matrix< uint32_t, 1, 4 > uint32_t1x4
matrix< float32_t, 2, 3 > float32_t2x3
matrix< uint, 4, 1 > uint4x1
matrix< uint64_t, 3, 1 > uint64_t3x1
matrix< double, 4, 2 > double4x2
vector< int64_t, 4 > int64_t4
matrix< uint64_t, 1, 1 > uint64_t1x1
matrix< int32_t, 1, 3 > int32_t1x3
matrix< int32_t, 4, 2 > int32_t4x2
unsigned long uint64_t
vector< uint, 1 > uint1
matrix< int, 4, 1 > int4x1
vector< uint32_t, 1 > uint32_t1
matrix< float32_t, 3, 3 > float32_t3x3
matrix< float64_t, 3, 3 > float64_t3x3
vector< uint32_t, 3 > uint32_t3
vector< uint64_t, 3 > uint64_t3
matrix< int64_t, 1, 3 > int64_t1x3
matrix< int, 2, 3 > int2x3
matrix< double, 2, 1 > double2x1
matrix< uint32_t, 4, 4 > uint32_t4x4
matrix< int64_t, 3, 1 > int64_t3x1
matrix< half, 4, 4 > half4x4
matrix< double, 2, 2 > double2x2
vector< bool, 4 > bool4
matrix< int, 4, 4 > int4x4
matrix< uint64_t, 2, 2 > uint64_t2x2
matrix< int64_t, 4, 3 > int64_t4x3
matrix< int64_t, 3, 4 > int64_t3x4
matrix< float64_t, 1, 3 > float64_t1x3
long int64_t
matrix< double, 3, 1 > double3x1
matrix< int64_t, 4, 1 > int64_t4x1
matrix< double, 1, 2 > double1x2
matrix< float32_t, 1, 1 > float32_t1x1
vector< int64_t, 3 > int64_t3
matrix< float32_t, 2, 2 > float32_t2x2
vector< int, 4 > int4
matrix< int, 2, 1 > int2x1
matrix< int64_t, 3, 3 > int64_t3x3
matrix< int64_t, 2, 1 > int64_t2x1
matrix< uint, 1, 4 > uint1x4
vector< bool, 3 > bool3
matrix< int, 1, 1 > int1x1
matrix< uint, 2, 2 > uint2x2
matrix< uint64_t, 1, 3 > uint64_t1x3
matrix< int32_t, 4, 4 > int32_t4x4
vector< float64_t, 1 > float64_t1
matrix< uint32_t, 3, 2 > uint32_t3x2
matrix< float32_t, 2, 1 > float32_t2x1
vector< uint64_t, 4 > uint64_t4
matrix< float, 1, 1 > float1x1
vector< bool, 1 > bool1
matrix< int, 1, 3 > int1x3
matrix< uint32_t, 2, 4 > uint32_t2x4
matrix< uint64_t, 2, 1 > uint64_t2x1
matrix< int64_t, 1, 4 > int64_t1x4
matrix< half, 2, 1 > half2x1
matrix< float, 4, 2 > float4x2
matrix< uint64_t, 4, 3 > uint64_t4x3
matrix< double, 4, 1 > double4x1
matrix< float, 1, 2 > float1x2
matrix< uint, 3, 1 > uint3x1
vector< int32_t, 2 > int32_t2
matrix< int32_t, 1, 1 > int32_t1x1
matrix< int32_t, 2, 2 > int32_t2x2
matrix< float64_t, 3, 4 > float64_t3x4
matrix< uint, 2, 4 > uint2x4
vector< double, 3 > double3
vector< float, 2 > float2
matrix< int, 1, 4 > int1x4
matrix< half, 1, 4 > half1x4
matrix< uint, 1, 1 > uint1x1
matrix< half, 4, 1 > half4x1
vector< double, 1 > double1
matrix< uint, 4, 2 > uint4x2
vector< float, 3 > float3
matrix< int64_t, 1, 2 > int64_t1x2
matrix< half, 4, 2 > half4x2
matrix< int64_t, 2, 2 > int64_t2x2
vector< int64_t, 2 > int64_t2
matrix< int32_t, 1, 4 > int32_t1x4
matrix< int, 3, 3 > int3x3
matrix< int32_t, 2, 1 > int32_t2x1
matrix< uint32_t, 3, 3 > uint32_t3x3
matrix< int64_t, 2, 3 > int64_t2x3
matrix< double, 2, 4 > double2x4
matrix< uint64_t, 3, 3 > uint64_t3x3
vector< half, 1 > half1
matrix< uint, 3, 2 > uint3x2
vector< float32_t, 2 > float32_t2
vector< uint, 3 > uint3
vector< int64_t, 1 > int64_t1
matrix< float64_t, 3, 1 > float64_t3x1
matrix< uint, 2, 1 > uint2x1
matrix< uint64_t, 1, 4 > uint64_t1x4
vector< uint32_t, 2 > uint32_t2
vector< int32_t, 4 > int32_t4
matrix< float32_t, 4, 2 > float32_t4x2
matrix< float64_t, 1, 2 > float64_t1x2
matrix< uint64_t, 4, 4 > uint64_t4x4
matrix< float64_t, 2, 1 > float64_t2x1
matrix< int32_t, 1, 2 > int32_t1x2
matrix< half, 3, 1 > half3x1
matrix< int32_t, 2, 3 > int32_t2x3
vector< double, 4 > double4
matrix< int32_t, 4, 3 > int32_t4x3
vector< double, 2 > double2
matrix< half, 1, 2 > half1x2
vector< bool, 2 > bool2
matrix< float32_t, 2, 4 > float32_t2x4
vector< int, 2 > int2
matrix< float64_t, 4, 2 > float64_t4x2
matrix< half, 2, 4 > half2x4
matrix< float, 2, 3 > float2x3
matrix< int64_t, 2, 4 > int64_t2x4
unsigned int uint32_t
matrix< double, 1, 3 > double1x3
matrix< double, 4, 4 > double4x4
vector< uint, 4 > uint4
vector< half, 3 > half3
matrix< float64_t, 3, 2 > float64_t3x2
matrix< half, 2, 2 > half2x2
vector< float32_t, 4 > float32_t4
matrix< float32_t, 4, 3 > float32_t4x3
matrix< float, 2, 4 > float2x4
matrix< float, 4, 3 > float4x3
matrix< float32_t, 4, 1 > float32_t4x1
vector< int, 1 > int1
vector< float64_t, 2 > float64_t2
matrix< float, 3, 3 > float3x3
matrix< int32_t, 3, 1 > int32_t3x1
matrix< uint32_t, 1, 1 > uint32_t1x1
float float32_t
vector< float, 1 > float1
matrix< int32_t, 3, 4 > int32_t3x4
vector< uint32_t, 4 > uint32_t4
matrix< uint, 4, 4 > uint4x4
matrix< half, 3, 4 > half3x4
vector< int32_t, 3 > int32_t3
matrix< uint64_t, 3, 2 > uint64_t3x2
matrix< uint, 4, 3 > uint4x3
matrix< float64_t, 4, 3 > float64_t4x3
matrix< uint64_t, 2, 4 > uint64_t2x4
matrix< float64_t, 4, 4 > float64_t4x4
matrix< int32_t, 2, 4 > int32_t2x4
matrix< double, 3, 4 > double3x4
matrix< int, 2, 2 > int2x2
matrix< float, 4, 1 > float4x1
matrix< float, 2, 2 > float2x2
matrix< uint32_t, 4, 1 > uint32_t4x1
matrix< double, 1, 1 > double1x1
matrix< double, 1, 4 > double1x4
matrix< uint64_t, 4, 1 > uint64_t4x1
matrix< uint32_t, 2, 1 > uint32_t2x1
matrix< float64_t, 1, 4 > float64_t1x4
matrix< int, 3, 4 > int3x4
matrix< uint, 1, 2 > uint1x2
matrix< int, 1, 2 > int1x2
matrix< float32_t, 1, 4 > float32_t1x4
matrix< uint32_t, 2, 2 > uint32_t2x2
matrix< int, 4, 2 > int4x2
matrix< int64_t, 3, 2 > int64_t3x2
matrix< float64_t, 2, 3 > float64_t2x3
matrix< half, 3, 3 > half3x3
matrix< int64_t, 4, 2 > int64_t4x2
matrix< float64_t, 2, 4 > float64_t2x4
matrix< uint32_t, 2, 3 > uint32_t2x3
matrix< float64_t, 4, 1 > float64_t4x1
matrix< half, 2, 3 > half2x3
matrix< int, 2, 4 > int2x4