9#ifndef _HLSL_HLSL_BASIC_TYPES_H_
10#define _HLSL_HLSL_BASIC_TYPES_H_
22#ifdef __HLSL_ENABLE_16_BIT
24typedef unsigned short uint16_t;
28typedef half float16_t;
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;
64typedef vector<int, 1>
int1;
65typedef vector<int, 2>
int2;
66typedef vector<int, 3>
int3;
67typedef vector<int, 4>
int4;
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;
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;
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;
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
matrix< int32_t, 3, 2 > int32_t3x2
matrix< int32_t, 3, 3 > int32_t3x3
matrix< uint64_t, 3, 4 > uint64_t3x4
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
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
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
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
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
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
matrix< int, 2, 1 > int2x1
matrix< int64_t, 3, 3 > int64_t3x3
matrix< int64_t, 2, 1 > int64_t2x1
matrix< uint, 1, 4 > uint1x4
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
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
matrix< uint, 3, 2 > uint3x2
vector< float32_t, 2 > float32_t2
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
matrix< float32_t, 2, 4 > float32_t2x4
matrix< float64_t, 4, 2 > float64_t4x2
matrix< half, 2, 4 > half2x4
matrix< float, 2, 3 > float2x3
matrix< int64_t, 2, 4 > int64_t2x4
matrix< double, 1, 3 > double1x3
matrix< double, 4, 4 > double4x4
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< float64_t, 2 > float64_t2
matrix< float, 3, 3 > float3x3
matrix< int32_t, 3, 1 > int32_t3x1
matrix< uint32_t, 1, 1 > uint32_t1x1
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