xref: /aosp_15_r20/external/deqp/framework/common/tcuVectorType.hpp (revision 35238bce31c2a825756842865a792f8cf7f89930)
1 #ifndef _TCUVECTORTYPE_HPP
2 #define _TCUVECTORTYPE_HPP
3 /*-------------------------------------------------------------------------
4  * drawElements Quality Program Tester Core
5  * ----------------------------------------
6  *
7  * Copyright 2014 The Android Open Source Project
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  *//*!
22  * \file
23  * \brief Vector type forward declarations.
24  *
25  * This header should be included instead of tcuVector.h if only vector
26  * type name is required. Especially headers should avoid including full
27  * Vector<T> implementation.
28  *//*--------------------------------------------------------------------*/
29 
30 #include "tcuDefs.hpp"
31 #include "tcuFloat.hpp"
32 
33 namespace tcu
34 {
35 
36 template <typename T, int Size>
37 class Vector;
38 
39 typedef Vector<float, 1> Vec1;
40 typedef Vector<float, 2> Vec2;
41 typedef Vector<float, 3> Vec3;
42 typedef Vector<float, 4> Vec4;
43 
44 typedef Vector<tcu::Float16, 1> F16Vec1;
45 typedef Vector<tcu::Float16, 2> F16Vec2;
46 typedef Vector<tcu::Float16, 3> F16Vec3;
47 typedef Vector<tcu::Float16, 4> F16Vec4;
48 
49 typedef Vector<int, 1> IVec1;
50 typedef Vector<int, 2> IVec2;
51 typedef Vector<int, 3> IVec3;
52 typedef Vector<int, 4> IVec4;
53 
54 typedef Vector<uint32_t, 1> UVec1;
55 typedef Vector<uint32_t, 2> UVec2;
56 typedef Vector<uint32_t, 3> UVec3;
57 typedef Vector<uint32_t, 4> UVec4;
58 
59 typedef Vector<int64_t, 1> I64Vec1;
60 typedef Vector<int64_t, 2> I64Vec2;
61 typedef Vector<int64_t, 3> I64Vec3;
62 typedef Vector<int64_t, 4> I64Vec4;
63 
64 typedef Vector<uint64_t, 1> U64Vec1;
65 typedef Vector<uint64_t, 2> U64Vec2;
66 typedef Vector<uint64_t, 3> U64Vec3;
67 typedef Vector<uint64_t, 4> U64Vec4;
68 
69 typedef Vector<bool, 1> BVec1;
70 typedef Vector<bool, 2> BVec2;
71 typedef Vector<bool, 3> BVec3;
72 typedef Vector<bool, 4> BVec4;
73 
74 typedef Vector<double, 2> DVec2;
75 typedef Vector<double, 3> DVec3;
76 typedef Vector<double, 4> DVec4;
77 
78 } // namespace tcu
79 
80 #endif // _TCUVECTORTYPE_HPP
81