1be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2291330fbaf7486a1cea33de7dd26c18e57c71391Stephen Hines * Copyright (C) 2016 The Android Open Source Project
3be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
4be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Licensed under the Apache License, Version 2.0 (the "License");
5be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * you may not use this file except in compliance with the License.
6be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * You may obtain a copy of the License at
7be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
8be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *      http://www.apache.org/licenses/LICENSE-2.0
9be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
10be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Unless required by applicable law or agreed to in writing, software
11be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * distributed under the License is distributed on an "AS IS" BASIS,
12be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * See the License for the specific language governing permissions and
14be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * limitations under the License.
15be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
16be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
174a73004df5231d188c41267fee17c566ae7c3631Jean-Luc Brouillet// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
18be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
19be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * rs_convert.rsh: Conversion Functions
21be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
22f166ab62f7adae7d574c12e8f7373fe3993b7205Brian Carlstrom * The functions below convert from a numerical vector type to another, or from one color
236386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * representation to another.
24be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
254a73004df5231d188c41267fee17c566ae7c3631Jean-Luc Brouillet
26be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#ifndef RENDERSCRIPT_RS_CONVERT_RSH
27be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#define RENDERSCRIPT_RS_CONVERT_RSH
28be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
29be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
3020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * convert: Convert numerical vectors
31be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
326386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Converts a vector from one numerical type to another.  The conversion are done entry per entry.
33be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
346386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * E.g calling a = convert_short3(b); is equivalent to doing
3520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * a.x = (short)b.x; a.y = (short)b.y; a.z = (short)b.z;.
36be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
3720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * Converting floating point values to integer types truncates.
3820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
3920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * Converting numbers too large to fit the destination type yields undefined results.
40be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * For example, converting a float that contains 1.0e18 to a short is undefined.
41be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Use clamp() to avoid this.
42be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
43be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))
44be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float2(float2 v);
45be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
46be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))
47be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float3(float3 v);
48be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
49be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))
50be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float4(float4 v);
51be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
52be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))
53be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float2(char2 v);
54be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
55be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))
56be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float3(char3 v);
57be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
58be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))
59be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float4(char4 v);
60be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
61be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))
62be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float2(uchar2 v);
63be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
64be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))
65be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float3(uchar3 v);
66be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
67be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))
68be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float4(uchar4 v);
69be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
70be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))
71be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float2(short2 v);
72be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
73be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))
74be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float3(short3 v);
75be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
76be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))
77be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float4(short4 v);
78be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
79be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))
80be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float2(ushort2 v);
81be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
82be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))
83be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float3(ushort3 v);
84be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
85be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))
86be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float4(ushort4 v);
87be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
88be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))
89be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float2(int2 v);
90be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
91be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))
92be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float3(int3 v);
93be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
94be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))
95be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float4(int4 v);
96be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
97be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))
98be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float2(uint2 v);
99be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
100be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))
101be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float3(uint3 v);
102be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
103be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))
104be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float4(uint4 v);
105be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
106be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))
107be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char2(float2 v);
108be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
109be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))
110be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char3(float3 v);
111be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
112be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))
113be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char4(float4 v);
114be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
115be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))
116be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char2(char2 v);
117be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
118be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))
119be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char3(char3 v);
120be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
121be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))
122be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char4(char4 v);
123be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
124be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))
125be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char2(uchar2 v);
126be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
127be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))
128be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char3(uchar3 v);
129be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
130be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))
131be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char4(uchar4 v);
132be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
133be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))
134be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char2(short2 v);
135be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
136be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))
137be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char3(short3 v);
138be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
139be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))
140be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char4(short4 v);
141be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
142be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))
143be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char2(ushort2 v);
144be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
145be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))
146be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char3(ushort3 v);
147be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
148be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))
149be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char4(ushort4 v);
150be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
151be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))
152be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char2(int2 v);
153be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
154be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))
155be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char3(int3 v);
156be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
157be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))
158be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char4(int4 v);
159be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
160be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))
161be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char2(uint2 v);
162be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
163be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))
164be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char3(uint3 v);
165be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
166be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))
167be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char4(uint4 v);
168be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
169be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))
170be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar2(float2 v);
171be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
172be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))
173be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar3(float3 v);
174be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
175be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
176be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar4(float4 v);
177be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
178be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))
179be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar2(char2 v);
180be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
181be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))
182be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar3(char3 v);
183be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
184be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
185be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar4(char4 v);
186be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
187be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))
188be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar2(uchar2 v);
189be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
190be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))
191be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar3(uchar3 v);
192be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
193be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
194be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar4(uchar4 v);
195be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
196be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))
197be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar2(short2 v);
198be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
199be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))
200be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar3(short3 v);
201be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
202be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
203be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar4(short4 v);
204be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
205be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))
206be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar2(ushort2 v);
207be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
208be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))
209be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar3(ushort3 v);
210be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
211be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
212be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar4(ushort4 v);
213be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
214be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))
215be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar2(int2 v);
216be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
217be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))
218be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar3(int3 v);
219be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
220be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
221be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar4(int4 v);
222be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
223be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))
224be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar2(uint2 v);
225be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
226be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))
227be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar3(uint3 v);
228be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
229be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
230be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar4(uint4 v);
231be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
232be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))
233be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short2(float2 v);
234be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
235be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))
236be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short3(float3 v);
237be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
238be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))
239be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short4(float4 v);
240be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
241be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))
242be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short2(char2 v);
243be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
244be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))
245be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short3(char3 v);
246be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
247be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))
248be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short4(char4 v);
249be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
250be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))
251be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short2(uchar2 v);
252be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
253be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))
254be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short3(uchar3 v);
255be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
256be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))
257be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short4(uchar4 v);
258be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
259be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))
260be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short2(short2 v);
261be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
262be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))
263be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short3(short3 v);
264be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
265be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))
266be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short4(short4 v);
267be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
268be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))
269be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short2(ushort2 v);
270be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
271be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))
272be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short3(ushort3 v);
273be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
274be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))
275be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short4(ushort4 v);
276be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
277be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))
278be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short2(int2 v);
279be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
280be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))
281be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short3(int3 v);
282be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
283be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))
284be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short4(int4 v);
285be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
286be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))
287be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short2(uint2 v);
288be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
289be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))
290be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short3(uint3 v);
291be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
292be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))
293be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short4(uint4 v);
294be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
295be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))
296be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort2(float2 v);
297be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
298be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))
299be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort3(float3 v);
300be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
301be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))
302be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort4(float4 v);
303be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
304be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))
305be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort2(char2 v);
306be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
307be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))
308be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort3(char3 v);
309be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
310be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))
311be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort4(char4 v);
312be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
313be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))
314be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort2(uchar2 v);
315be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
316be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))
317be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort3(uchar3 v);
318be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
319be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))
320be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort4(uchar4 v);
321be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
322be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))
323be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort2(short2 v);
324be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
325be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))
326be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort3(short3 v);
327be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
328be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))
329be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort4(short4 v);
330be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
331be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))
332be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort2(ushort2 v);
333be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
334be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))
335be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort3(ushort3 v);
336be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
337be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))
338be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort4(ushort4 v);
339be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
340be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))
341be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort2(int2 v);
342be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
343be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))
344be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort3(int3 v);
345be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
346be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))
347be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort4(int4 v);
348be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
349be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))
350be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort2(uint2 v);
351be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
352be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))
353be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort3(uint3 v);
354be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
355be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))
356be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort4(uint4 v);
357be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
358be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))
359be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int2(float2 v);
360be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
361be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))
362be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int3(float3 v);
363be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
364be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))
365be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int4(float4 v);
366be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
367be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))
368be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int2(char2 v);
369be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
370be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))
371be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int3(char3 v);
372be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
373be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))
374be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int4(char4 v);
375be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
376be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))
377be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int2(uchar2 v);
378be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
379be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))
380be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int3(uchar3 v);
381be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
382be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))
383be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int4(uchar4 v);
384be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
385be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))
386be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int2(short2 v);
387be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
388be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))
389be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int3(short3 v);
390be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
391be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))
392be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int4(short4 v);
393be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
394be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))
395be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int2(ushort2 v);
396be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
397be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))
398be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int3(ushort3 v);
399be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
400be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))
401be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int4(ushort4 v);
402be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
403be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))
404be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int2(int2 v);
405be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
406be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))
407be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int3(int3 v);
408be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
409be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))
410be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int4(int4 v);
411be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
412be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))
413be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int2(uint2 v);
414be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
415be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))
416be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int3(uint3 v);
417be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
418be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))
419be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int4(uint4 v);
420be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
421be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))
422be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint2(float2 v);
423be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
424be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))
425be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint3(float3 v);
426be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
427be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))
428be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint4(float4 v);
429be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
430be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))
431be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint2(char2 v);
432be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
433be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))
434be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint3(char3 v);
435be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
436be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))
437be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint4(char4 v);
438be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
439be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))
440be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint2(uchar2 v);
441be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
442be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))
443be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint3(uchar3 v);
444be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
445be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))
446be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint4(uchar4 v);
447be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
448be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))
449be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint2(short2 v);
450be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
451be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))
452be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint3(short3 v);
453be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
454be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))
455be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint4(short4 v);
456be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
457be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))
458be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint2(ushort2 v);
459be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
460be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))
461be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint3(ushort3 v);
462be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
463be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))
464be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint4(ushort4 v);
465be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
466be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))
467be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint2(int2 v);
468be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
469be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))
470be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint3(int3 v);
471be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
472be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))
473be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint4(int4 v);
474be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
475be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))
476be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint2(uint2 v);
477be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
478be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))
479be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint3(uint3 v);
480be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
481be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))
482be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint4(uint4 v);
483be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
484be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
485be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double2 __attribute__((const, overloadable))
486be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double2(double2 v);
487be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
488be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
489be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
490be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double3 __attribute__((const, overloadable))
491be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double3(double3 v);
492be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
493be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
494be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
495be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double4 __attribute__((const, overloadable))
496be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double4(double4 v);
497be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
498be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
499be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
500be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double2 __attribute__((const, overloadable))
501be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double2(long2 v);
502be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
503be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
504be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
505be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double3 __attribute__((const, overloadable))
506be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double3(long3 v);
507be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
508be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
509be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
510be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double4 __attribute__((const, overloadable))
511be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double4(long4 v);
512be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
513be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
514be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
515be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double2 __attribute__((const, overloadable))
516be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double2(ulong2 v);
517be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
518be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
519be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
520be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double3 __attribute__((const, overloadable))
521be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double3(ulong3 v);
522be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
523be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
524be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
525be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double4 __attribute__((const, overloadable))
526be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double4(ulong4 v);
527be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
528be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
529be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
530be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))
531be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long2(double2 v);
532be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
533be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
534be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
535be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))
536be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long3(double3 v);
537be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
538be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
539be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
540be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))
541be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long4(double4 v);
542be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
543be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
544be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
545be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))
546be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long2(long2 v);
547be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
548be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
549be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
550be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))
551be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long3(long3 v);
552be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
553be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
554be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
555be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))
556be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long4(long4 v);
557be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
558be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
559be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
560be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))
561be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long2(ulong2 v);
562be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
563be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
564be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
565be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))
566be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long3(ulong3 v);
567be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
568be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
569be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
570be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))
571be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long4(ulong4 v);
572be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
573be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
574be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
575be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))
576be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong2(double2 v);
577be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
578be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
579be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
580be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))
581be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong3(double3 v);
582be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
583be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
584be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
585be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))
586be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong4(double4 v);
587be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
588be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
589be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
590be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))
591be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong2(long2 v);
592be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
593be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
594be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
595be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))
596be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong3(long3 v);
597be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
598be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
599be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
600be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))
601be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong4(long4 v);
602be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
603be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
604be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
605be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))
606be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong2(ulong2 v);
607be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
608be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
609be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
610be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))
611be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong3(ulong3 v);
612be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
613be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
614be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
615be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))
616be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong4(ulong4 v);
617be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
618be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
619be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
620be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))
621be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float2(double2 v);
622be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
623be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
624be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
625be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))
626be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float3(double3 v);
627be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
628be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
629be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
630be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))
631be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float4(double4 v);
632be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
633be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
634be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
635be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))
636be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float2(long2 v);
637be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
638be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
639be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
640be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))
641be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float3(long3 v);
642be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
643be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
644be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
645be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))
646be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float4(long4 v);
647be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
648be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
649be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
650be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))
651be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float2(ulong2 v);
652be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
653be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
654be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
655be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))
656be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float3(ulong3 v);
657be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
658be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
659be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
660be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))
661be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_float4(ulong4 v);
662be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
663be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
664be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
665be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))
666be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char2(double2 v);
667be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
668be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
669be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
670be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))
671be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char3(double3 v);
672be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
673be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
674be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
675be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))
676be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char4(double4 v);
677be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
678be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
679be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
680be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))
681be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char2(long2 v);
682be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
683be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
684be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
685be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))
686be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char3(long3 v);
687be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
688be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
689be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
690be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))
691be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char4(long4 v);
692be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
693be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
694be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
695be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))
696be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char2(ulong2 v);
697be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
698be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
699be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
700be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))
701be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char3(ulong3 v);
702be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
703be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
704be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
705be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))
706be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_char4(ulong4 v);
707be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
708be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
709be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
710be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))
711be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar2(double2 v);
712be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
713be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
714be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
715be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))
716be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar3(double3 v);
717be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
718be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
719be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
720be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
721be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar4(double4 v);
722be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
723be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
724be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
725be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))
726be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar2(long2 v);
727be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
728be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
729be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
730be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))
731be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar3(long3 v);
732be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
733be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
734be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
735be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
736be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar4(long4 v);
737be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
738be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
739be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
740be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))
741be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar2(ulong2 v);
742be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
743be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
744be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
745be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))
746be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar3(ulong3 v);
747be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
748be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
749be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
750be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
751be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uchar4(ulong4 v);
752be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
753be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
754be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
755be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))
756be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short2(double2 v);
757be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
758be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
759be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
760be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))
761be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short3(double3 v);
762be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
763be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
764be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
765be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))
766be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short4(double4 v);
767be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
768be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
769be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
770be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))
771be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short2(long2 v);
772be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
773be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
774be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
775be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))
776be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short3(long3 v);
777be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
778be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
779be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
780be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))
781be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short4(long4 v);
782be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
783be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
784be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
785be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))
786be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short2(ulong2 v);
787be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
788be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
789be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
790be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))
791be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short3(ulong3 v);
792be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
793be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
794be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
795be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))
796be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_short4(ulong4 v);
797be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
798be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
799be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
800be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))
801be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort2(double2 v);
802be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
803be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
804be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
805be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))
806be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort3(double3 v);
807be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
808be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
809be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
810be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))
811be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort4(double4 v);
812be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
813be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
814be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
815be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))
816be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort2(long2 v);
817be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
818be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
819be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
820be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))
821be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort3(long3 v);
822be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
823be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
824be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
825be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))
826be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort4(long4 v);
827be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
828be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
829be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
830be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))
831be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort2(ulong2 v);
832be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
833be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
834be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
835be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))
836be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort3(ulong3 v);
837be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
838be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
839be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
840be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))
841be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ushort4(ulong4 v);
842be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
843be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
844be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
845be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))
846be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int2(double2 v);
847be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
848be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
849be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
850be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))
851be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int3(double3 v);
852be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
853be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
854be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
855be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))
856be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int4(double4 v);
857be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
858be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
859be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
860be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))
861be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int2(long2 v);
862be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
863be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
864be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
865be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))
866be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int3(long3 v);
867be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
868be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
869be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
870be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))
871be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int4(long4 v);
872be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
873be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
874be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
875be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))
876be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int2(ulong2 v);
877be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
878be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
879be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
880be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))
881be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int3(ulong3 v);
882be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
883be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
884be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
885be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))
886be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_int4(ulong4 v);
887be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
888be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
889be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
890be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))
891be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint2(double2 v);
892be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
893be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
894be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
895be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))
896be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint3(double3 v);
897be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
898be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
899be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
900be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))
901be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint4(double4 v);
902be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
903be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
904be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
905be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))
906be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint2(long2 v);
907be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
908be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
909be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
910be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))
911be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint3(long3 v);
912be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
913be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
914be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
915be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))
916be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint4(long4 v);
917be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
918be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
919be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
920be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))
921be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint2(ulong2 v);
922be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
923be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
924be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
925be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))
926be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint3(ulong3 v);
927be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
928be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
929be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
930be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))
931be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_uint4(ulong4 v);
932be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
933be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
934be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
935be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double2 __attribute__((const, overloadable))
936be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double2(float2 v);
937be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
938be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
939be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
940be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double3 __attribute__((const, overloadable))
941be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double3(float3 v);
942be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
943be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
944be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
945be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double4 __attribute__((const, overloadable))
946be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double4(float4 v);
947be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
948be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
949be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
950be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double2 __attribute__((const, overloadable))
951be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double2(char2 v);
952be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
953be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
954be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
955be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double3 __attribute__((const, overloadable))
956be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double3(char3 v);
957be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
958be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
959be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
960be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double4 __attribute__((const, overloadable))
961be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double4(char4 v);
962be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
963be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
964be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
965be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double2 __attribute__((const, overloadable))
966be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double2(uchar2 v);
967be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
968be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
969be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
970be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double3 __attribute__((const, overloadable))
971be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double3(uchar3 v);
972be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
973be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
974be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
975be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double4 __attribute__((const, overloadable))
976be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double4(uchar4 v);
977be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
978be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
979be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
980be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double2 __attribute__((const, overloadable))
981be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double2(short2 v);
982be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
983be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
984be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
985be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double3 __attribute__((const, overloadable))
986be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double3(short3 v);
987be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
988be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
989be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
990be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double4 __attribute__((const, overloadable))
991be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double4(short4 v);
992be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
993be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
994be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
995be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double2 __attribute__((const, overloadable))
996be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double2(ushort2 v);
997be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
998be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
999be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1000be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double3 __attribute__((const, overloadable))
1001be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double3(ushort3 v);
1002be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1003be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1004be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1005be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double4 __attribute__((const, overloadable))
1006be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double4(ushort4 v);
1007be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1008be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1009be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1010be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double2 __attribute__((const, overloadable))
1011be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double2(int2 v);
1012be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1013be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1014be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1015be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double3 __attribute__((const, overloadable))
1016be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double3(int3 v);
1017be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1018be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1019be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1020be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double4 __attribute__((const, overloadable))
1021be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double4(int4 v);
1022be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1023be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1024be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1025be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double2 __attribute__((const, overloadable))
1026be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double2(uint2 v);
1027be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1028be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1029be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1030be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double3 __attribute__((const, overloadable))
1031be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double3(uint3 v);
1032be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1033be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1034be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1035be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern double4 __attribute__((const, overloadable))
1036be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_double4(uint4 v);
1037be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1038be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1039be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1040be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))
1041be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long2(float2 v);
1042be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1043be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1044be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1045be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))
1046be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long3(float3 v);
1047be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1048be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1049be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1050be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))
1051be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long4(float4 v);
1052be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1053be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1054be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1055be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))
1056be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long2(char2 v);
1057be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1058be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1059be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1060be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))
1061be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long3(char3 v);
1062be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1063be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1064be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1065be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))
1066be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long4(char4 v);
1067be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1068be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1069be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1070be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))
1071be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long2(uchar2 v);
1072be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1073be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1074be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1075be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))
1076be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long3(uchar3 v);
1077be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1078be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1079be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1080be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))
1081be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long4(uchar4 v);
1082be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1083be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1084be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1085be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))
1086be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long2(short2 v);
1087be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1088be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1089be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1090be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))
1091be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long3(short3 v);
1092be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1093be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1094be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1095be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))
1096be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long4(short4 v);
1097be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1098be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1099be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1100be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))
1101be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long2(ushort2 v);
1102be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1103be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1104be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1105be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))
1106be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long3(ushort3 v);
1107be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1108be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1109be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1110be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))
1111be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long4(ushort4 v);
1112be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1113be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1114be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1115be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))
1116be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long2(int2 v);
1117be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1118be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1119be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1120be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))
1121be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long3(int3 v);
1122be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1123be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1124be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1125be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))
1126be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long4(int4 v);
1127be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1128be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1129be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1130be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))
1131be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long2(uint2 v);
1132be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1133be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1134be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1135be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))
1136be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long3(uint3 v);
1137be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1138be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1139be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1140be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))
1141be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_long4(uint4 v);
1142be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1143be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1144be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1145be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))
1146be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong2(float2 v);
1147be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1148be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1149be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1150be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))
1151be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong3(float3 v);
1152be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1153be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1154be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1155be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))
1156be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong4(float4 v);
1157be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1158be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1159be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1160be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))
1161be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong2(char2 v);
1162be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1163be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1164be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1165be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))
1166be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong3(char3 v);
1167be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1168be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1169be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1170be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))
1171be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong4(char4 v);
1172be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1173be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1174be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1175be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))
1176be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong2(uchar2 v);
1177be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1178be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1179be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1180be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))
1181be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong3(uchar3 v);
1182be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1183be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1184be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1185be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))
1186be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong4(uchar4 v);
1187be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1188be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1189be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1190be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))
1191be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong2(short2 v);
1192be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1193be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1194be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1195be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))
1196be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong3(short3 v);
1197be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1198be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1199be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1200be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))
1201be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong4(short4 v);
1202be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1203be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1204be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1205be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))
1206be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong2(ushort2 v);
1207be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1208be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1209be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1210be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))
1211be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong3(ushort3 v);
1212be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1213be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1214be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1215be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))
1216be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong4(ushort4 v);
1217be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1218be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1219be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1220be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))
1221be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong2(int2 v);
1222be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1223be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1224be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1225be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))
1226be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong3(int3 v);
1227be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1228be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1229be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1230be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))
1231be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong4(int4 v);
1232be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1233be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1234be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1235be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))
1236be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong2(uint2 v);
1237be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1238be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1239be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1240be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))
1241be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong3(uint3 v);
1242be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1243be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1244be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 21))
1245be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))
1246be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    convert_ulong4(uint4 v);
1247be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
1248be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1249d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
12507c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainarextern half2 __attribute__((const, overloadable))
12517c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar    convert_half2(half2 v);
12527c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar#endif
12537c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar
12547c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
12557c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainarextern half3 __attribute__((const, overloadable))
12567c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar    convert_half3(half3 v);
12577c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar#endif
12587c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar
12597c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
12607c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainarextern half4 __attribute__((const, overloadable))
12617c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar    convert_half4(half4 v);
12627c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar#endif
12637c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar
12647c314dfce8f11e4b5b78589ba46606a63f11678ePirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1265586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern float2 __attribute__((const, overloadable))
1266586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_float2(half2 v);
1267586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1268586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1269d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1270586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern float3 __attribute__((const, overloadable))
1271586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_float3(half3 v);
1272586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1273586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1274d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1275586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern float4 __attribute__((const, overloadable))
1276586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_float4(half4 v);
1277586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1278586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1279d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1280586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern double2 __attribute__((const, overloadable))
1281586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_double2(half2 v);
1282586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1283586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1284d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1285586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern double3 __attribute__((const, overloadable))
1286586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_double3(half3 v);
1287586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1288586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1289d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1290586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern double4 __attribute__((const, overloadable))
1291586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_double4(half4 v);
1292586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1293586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1294d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1295586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern char2 __attribute__((const, overloadable))
1296586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_char2(half2 v);
1297586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1298586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1299d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1300586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern char3 __attribute__((const, overloadable))
1301586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_char3(half3 v);
1302586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1303586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1304d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1305586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern char4 __attribute__((const, overloadable))
1306586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_char4(half4 v);
1307586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1308586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1309d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1310586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern uchar2 __attribute__((const, overloadable))
1311586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_uchar2(half2 v);
1312586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1313586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1314d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1315586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern uchar3 __attribute__((const, overloadable))
1316586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_uchar3(half3 v);
1317586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1318586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1319d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1320586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern uchar4 __attribute__((const, overloadable))
1321586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_uchar4(half4 v);
1322586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1323586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1324d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1325586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern short2 __attribute__((const, overloadable))
1326586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_short2(half2 v);
1327586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1328586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1329d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1330586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern short3 __attribute__((const, overloadable))
1331586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_short3(half3 v);
1332586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1333586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1334d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1335586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern short4 __attribute__((const, overloadable))
1336586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_short4(half4 v);
1337586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1338586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1339d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1340586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern ushort2 __attribute__((const, overloadable))
1341586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_ushort2(half2 v);
1342586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1343586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1344d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1345586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern ushort3 __attribute__((const, overloadable))
1346586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_ushort3(half3 v);
1347586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1348586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1349d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1350586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern ushort4 __attribute__((const, overloadable))
1351586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_ushort4(half4 v);
1352586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1353586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1354d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1355586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern int2 __attribute__((const, overloadable))
1356586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_int2(half2 v);
1357586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1358586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1359d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1360586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern int3 __attribute__((const, overloadable))
1361586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_int3(half3 v);
1362586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1363586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1364d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1365586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern int4 __attribute__((const, overloadable))
1366586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_int4(half4 v);
1367586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1368586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1369d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1370586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern uint2 __attribute__((const, overloadable))
1371586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_uint2(half2 v);
1372586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1373586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1374d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1375586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern uint3 __attribute__((const, overloadable))
1376586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_uint3(half3 v);
1377586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1378586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1379d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1380586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern uint4 __attribute__((const, overloadable))
1381586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_uint4(half4 v);
1382586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1383586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1384d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1385586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern long2 __attribute__((const, overloadable))
1386586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_long2(half2 v);
1387586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1388586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1389d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1390586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern long3 __attribute__((const, overloadable))
1391586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_long3(half3 v);
1392586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1393586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1394d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1395586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern long4 __attribute__((const, overloadable))
1396586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_long4(half4 v);
1397586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1398586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1399d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1400586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern ulong2 __attribute__((const, overloadable))
1401586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_ulong2(half2 v);
1402586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1403586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1404d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1405586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern ulong3 __attribute__((const, overloadable))
1406586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_ulong3(half3 v);
1407586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1408586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1409d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1410586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern ulong4 __attribute__((const, overloadable))
1411586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_ulong4(half4 v);
1412586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1413586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1414d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1415586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half2 __attribute__((const, overloadable))
1416586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half2(float2 v);
1417586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1418586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1419d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1420586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half3 __attribute__((const, overloadable))
1421586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half3(float3 v);
1422586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1423586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1424d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1425586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half4 __attribute__((const, overloadable))
1426586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half4(float4 v);
1427586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1428586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1429d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1430586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half2 __attribute__((const, overloadable))
1431586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half2(double2 v);
1432586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1433586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1434d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1435586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half3 __attribute__((const, overloadable))
1436586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half3(double3 v);
1437586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1438586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1439d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1440586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half4 __attribute__((const, overloadable))
1441586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half4(double4 v);
1442586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1443586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1444d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1445586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half2 __attribute__((const, overloadable))
1446586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half2(char2 v);
1447586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1448586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1449d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1450586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half3 __attribute__((const, overloadable))
1451586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half3(char3 v);
1452586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1453586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1454d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1455586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half4 __attribute__((const, overloadable))
1456586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half4(char4 v);
1457586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1458586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1459d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1460586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half2 __attribute__((const, overloadable))
1461586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half2(uchar2 v);
1462586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1463586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1464d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1465586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half3 __attribute__((const, overloadable))
1466586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half3(uchar3 v);
1467586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1468586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1469d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1470586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half4 __attribute__((const, overloadable))
1471586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half4(uchar4 v);
1472586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1473586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1474d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1475586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half2 __attribute__((const, overloadable))
1476586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half2(short2 v);
1477586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1478586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1479d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1480586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half3 __attribute__((const, overloadable))
1481586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half3(short3 v);
1482586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1483586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1484d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1485586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half4 __attribute__((const, overloadable))
1486586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half4(short4 v);
1487586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1488586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1489d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1490586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half2 __attribute__((const, overloadable))
1491586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half2(ushort2 v);
1492586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1493586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1494d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1495586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half3 __attribute__((const, overloadable))
1496586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half3(ushort3 v);
1497586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1498586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1499d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1500586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half4 __attribute__((const, overloadable))
1501586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half4(ushort4 v);
1502586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1503586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1504d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1505586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half2 __attribute__((const, overloadable))
1506586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half2(int2 v);
1507586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1508586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1509d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1510586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half3 __attribute__((const, overloadable))
1511586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half3(int3 v);
1512586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1513586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1514d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1515586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half4 __attribute__((const, overloadable))
1516586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half4(int4 v);
1517586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1518586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1519d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1520586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half2 __attribute__((const, overloadable))
1521586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half2(uint2 v);
1522586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1523586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1524d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1525586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half3 __attribute__((const, overloadable))
1526586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half3(uint3 v);
1527586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1528586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1529d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1530586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half4 __attribute__((const, overloadable))
1531586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half4(uint4 v);
1532586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1533586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1534d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1535586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half2 __attribute__((const, overloadable))
1536586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half2(long2 v);
1537586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1538586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1539d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1540586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half3 __attribute__((const, overloadable))
1541586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half3(long3 v);
1542586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1543586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1544d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1545586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half4 __attribute__((const, overloadable))
1546586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half4(long4 v);
1547586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1548586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1549d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1550586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half2 __attribute__((const, overloadable))
1551586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half2(ulong2 v);
1552586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1553586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1554d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1555586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half3 __attribute__((const, overloadable))
1556586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half3(ulong3 v);
1557586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1558586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1559d46cf8ecf171e3cb27a394f6db8dc4fbdf6272b3Pirama Arumuga Nainar#if (defined(RS_VERSION) && (RS_VERSION >= 24))
1560586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainarextern half4 __attribute__((const, overloadable))
1561586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar    convert_half4(ulong4 v);
1562586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar#endif
1563586539cd7d8b1e92cd6c9c31220be56969482ad6Pirama Arumuga Nainar
1564be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
156520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * rsPackColorTo8888: Create a uchar4 RGBA from floats
156620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
156767923a9e829d89522bb5338a6d635d807a7ee59bJean-Luc Brouillet * Packs three or four floating point RGBA values into a uchar4.
156867923a9e829d89522bb5338a6d635d807a7ee59bJean-Luc Brouillet *
1569ffc1710c382168e74386ef87d0101de65aca91b0Jean-Luc Brouillet * The input values are typically between 0.0f and 1.0f inclusive.  For input values outside
157067923a9e829d89522bb5338a6d635d807a7ee59bJean-Luc Brouillet * of this range, the resulting outputs will be clamped to be between 0 and 255.  As this
157167923a9e829d89522bb5338a6d635d807a7ee59bJean-Luc Brouillet * clamping may be done after the input is multiplied by 255.f and converted to an integer,
1572ffc1710c382168e74386ef87d0101de65aca91b0Jean-Luc Brouillet * input numbers greater than INT_MAX/255.f or less than INT_MIN/255.f result in
157367923a9e829d89522bb5338a6d635d807a7ee59bJean-Luc Brouillet * undefined behavior.
1574be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
15756386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * If the alpha component is not specified, it is assumed to be 1.0, i.e. the result will
15766386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * have an alpha set to 255.
157720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
157820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * Parameters:
157920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *   r: Red component.
158020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *   g: Green component.
158120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *   b: Blue component.
158220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *   a: Alpha component.
158320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *   color: Vector of 3 or 4 floats containing the R, G, B, and A values.
1584be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
1585be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
1586be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsPackColorTo8888(float r, float g, float b);
1587be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1588be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
1589be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsPackColorTo8888(float r, float g, float b, float a);
1590be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1591be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
1592be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsPackColorTo8888(float3 color);
1593be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1594be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
1595be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsPackColorTo8888(float4 color);
1596be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1597be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
159820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * rsUnpackColor8888: Create a float4 RGBA from uchar4
159920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
16006386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Unpacks a uchar4 color to float4.  The resulting floats will be between 0.0 and 1.0 inclusive.
1601be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
1602be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const))
1603be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsUnpackColor8888(uchar4 c);
1604be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1605be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
160620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * rsYuvToRGBA: Convert a YUV value to RGBA
160720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
160820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * Converts a color from a YUV representation to RGBA.
160920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
161020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * We currently don't provide a function to do the reverse conversion.
161120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
161220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * Parameters:
16136386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   y: Luminance component.
16146386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   u: U chrominance component.
16156386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   v: V chrominance component.
1616be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
1617be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))
1618be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsYuvToRGBA_float4(uchar y, uchar u, uchar v);
1619be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1620be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))
1621be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsYuvToRGBA_uchar4(uchar y, uchar u, uchar v);
1622be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
1623be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif // RENDERSCRIPT_RS_CONVERT_RSH
1624