rs_core_math.rsh revision 0ec1635641a2075c9d2349219632650401f88881
129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Copyright (C) 2014 The Android Open Source Project
329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Licensed under the Apache License, Version 2.0 (the "License");
529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * you may not use this file except in compliance with the License.
629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * You may obtain a copy of the License at
729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *      http://www.apache.org/licenses/LICENSE-2.0
929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
1029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Unless required by applicable law or agreed to in writing, software
1129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * distributed under the License is distributed on an "AS IS" BASIS,
1229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * See the License for the specific language governing permissions and
1429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * limitations under the License.
1529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
1629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
1729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#ifndef __rs_core_math_rsh__
1829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#define __rs_core_math_rsh__
1929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
2029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
2129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float2 to float2
2229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
2329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
2429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
2529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))convert_float2(float2);
2629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
2729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
2829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
2929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
3029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float3 to float3
3129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
3229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
3329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
3429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))convert_float3(float3);
3529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
3629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
3729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
3829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
3929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float4 to float4
4029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
4129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
4229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
4329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))convert_float4(float4);
4429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
4529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
4629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
4729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
4829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double2 to float2
4929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
5029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
5129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
5229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))convert_float2(double2);
5329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
5429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
5529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
5629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
5729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double3 to float3
5829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
5929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
6029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
6129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))convert_float3(double3);
6229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
6329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
6429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
6529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
6629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double4 to float4
6729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
6829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
6929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
7029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))convert_float4(double4);
7129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
7229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
7329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
7429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
7529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char2 to float2
7629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
7729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
7829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
7929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))convert_float2(char2);
8029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
8129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
8229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
8329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
8429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char3 to float3
8529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
8629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
8729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
8829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))convert_float3(char3);
8929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
9029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
9129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
9229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
9329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char4 to float4
9429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
9529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
9629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
9729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))convert_float4(char4);
9829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
9929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
10029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
10129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
10229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar2 to float2
10329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
10429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
10529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
10629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))convert_float2(uchar2);
10729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
10829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
10929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
11029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
11129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar3 to float3
11229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
11329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
11429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
11529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))convert_float3(uchar3);
11629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
11729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
11829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
11929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
12029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar4 to float4
12129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
12229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
12329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
12429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))convert_float4(uchar4);
12529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
12629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
12729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
12829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
12929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short2 to float2
13029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
13129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
13229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
13329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))convert_float2(short2);
13429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
13529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
13629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
13729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
13829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short3 to float3
13929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
14029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
14129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
14229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))convert_float3(short3);
14329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
14429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
14529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
14629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
14729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short4 to float4
14829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
14929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
15029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
15129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))convert_float4(short4);
15229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
15329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
15429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
15529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
15629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort2 to float2
15729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
15829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
15929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
16029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))convert_float2(ushort2);
16129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
16229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
16329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
16429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
16529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort3 to float3
16629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
16729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
16829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
16929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))convert_float3(ushort3);
17029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
17129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
17229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
17329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
17429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort4 to float4
17529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
17629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
17729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
17829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))convert_float4(ushort4);
17929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
18029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
18129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
18229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
18329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int2 to float2
18429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
18529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
18629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
18729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))convert_float2(int2);
18829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
18929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
19029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
19129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
19229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int3 to float3
19329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
19429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
19529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
19629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))convert_float3(int3);
19729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
19829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
19929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
20029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
20129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int4 to float4
20229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
20329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
20429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
20529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))convert_float4(int4);
20629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
20729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
20829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
20929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
21029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint2 to float2
21129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
21229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
21329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
21429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))convert_float2(uint2);
21529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
21629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
21729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
21829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
21929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint3 to float3
22029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
22129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
22229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
22329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))convert_float3(uint3);
22429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
22529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
22629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
22729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
22829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint4 to float4
22929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
23029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
23129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
23229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))convert_float4(uint4);
23329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
23429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
23529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
23629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
23729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long2 to float2
23829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
23929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
24029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
24129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))convert_float2(long2);
24229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
24329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
24429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
24529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
24629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long3 to float3
24729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
24829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
24929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
25029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))convert_float3(long3);
25129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
25229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
25329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
25429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
25529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long4 to float4
25629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
25729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
25829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
25929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))convert_float4(long4);
26029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
26129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
26229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
26329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
26429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong2 to float2
26529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
26629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
26729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
26829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))convert_float2(ulong2);
26929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
27029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
27129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
27229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
27329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong3 to float3
27429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
27529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
27629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
27729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))convert_float3(ulong3);
27829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
27929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
28029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
28129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
28229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong4 to float4
28329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
28429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
28529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
28629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))convert_float4(ulong4);
28729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
28829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
28929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
29029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
29129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float2 to double2
29229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
29329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
29429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
29529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(float2);
29629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
29729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
29829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
29929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
30029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float3 to double3
30129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
30229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
30329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
30429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(float3);
30529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
30629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
30729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
30829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
30929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float4 to double4
31029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
31129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
31229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
31329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(float4);
31429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
31529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
31629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
31729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
31829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double2 to double2
31929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
32029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
32129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
32229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(double2);
32329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
32429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
32529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
32629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
32729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double3 to double3
32829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
32929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
33029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
33129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(double3);
33229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
33329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
33429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
33529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
33629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double4 to double4
33729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
33829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
33929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
34029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(double4);
34129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
34229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
34329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
34429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
34529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char2 to double2
34629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
34729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
34829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
34929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(char2);
35029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
35129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
35229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
35329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
35429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char3 to double3
35529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
35629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
35729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
35829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(char3);
35929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
36029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
36129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
36229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
36329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char4 to double4
36429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
36529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
36629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
36729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(char4);
36829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
36929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
37029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
37129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
37229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar2 to double2
37329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
37429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
37529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
37629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(uchar2);
37729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
37829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
37929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
38029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
38129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar3 to double3
38229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
38329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
38429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
38529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(uchar3);
38629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
38729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
38829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
38929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
39029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar4 to double4
39129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
39229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
39329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
39429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(uchar4);
39529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
39629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
39729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
39829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
39929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short2 to double2
40029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
40129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
40229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
40329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(short2);
40429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
40529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
40629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
40729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
40829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short3 to double3
40929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
41029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
41129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
41229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(short3);
41329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
41429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
41529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
41629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
41729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short4 to double4
41829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
41929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
42029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
42129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(short4);
42229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
42329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
42429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
42529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
42629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort2 to double2
42729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
42829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
42929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
43029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(ushort2);
43129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
43229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
43329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
43429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
43529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort3 to double3
43629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
43729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
43829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
43929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(ushort3);
44029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
44129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
44229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
44329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
44429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort4 to double4
44529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
44629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
44729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
44829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(ushort4);
44929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
45029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
45129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
45229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
45329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int2 to double2
45429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
45529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
45629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
45729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(int2);
45829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
45929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
46029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
46129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
46229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int3 to double3
46329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
46429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
46529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
46629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(int3);
46729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
46829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
46929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
47029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
47129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int4 to double4
47229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
47329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
47429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
47529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(int4);
47629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
47729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
47829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
47929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
48029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint2 to double2
48129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
48229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
48329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
48429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(uint2);
48529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
48629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
48729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
48829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
48929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint3 to double3
49029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
49129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
49229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
49329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(uint3);
49429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
49529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
49629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
49729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
49829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint4 to double4
49929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
50029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
50129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
50229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(uint4);
50329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
50429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
50529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
50629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
50729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long2 to double2
50829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
50929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
51029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
51129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(long2);
51229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
51329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
51429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
51529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
51629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long3 to double3
51729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
51829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
51929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
52029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(long3);
52129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
52229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
52329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
52429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
52529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long4 to double4
52629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
52729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
52829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
52929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(long4);
53029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
53129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
53229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
53329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
53429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong2 to double2
53529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
53629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
53729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
53829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(ulong2);
53929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
54029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
54129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
54229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
54329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong3 to double3
54429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
54529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
54629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
54729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(ulong3);
54829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
54929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
55029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
55129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
55229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong4 to double4
55329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
55429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
55529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
55629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(ulong4);
55729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
55829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
55929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
56029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
56129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float2 to char2
56229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
56329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
56429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
56529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(float2);
56629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
56729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
56829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
56929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
57029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float3 to char3
57129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
57229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
57329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
57429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(float3);
57529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
57629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
57729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
57829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
57929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float4 to char4
58029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
58129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
58229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
58329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(float4);
58429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
58529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
58629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
58729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
58829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double2 to char2
58929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
59029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
59129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
59229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(double2);
59329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
59429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
59529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
59629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
59729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double3 to char3
59829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
59929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
60029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
60129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(double3);
60229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
60329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
60429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
60529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
60629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double4 to char4
60729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
60829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
60929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
61029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(double4);
61129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
61229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
61329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
61429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
61529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char2 to char2
61629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
61729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
61829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
61929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(char2);
62029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
62129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
62229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
62329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
62429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char3 to char3
62529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
62629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
62729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
62829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(char3);
62929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
63029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
63129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
63229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
63329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char4 to char4
63429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
63529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
63629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
63729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(char4);
63829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
63929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
64029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
64129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
64229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar2 to char2
64329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
64429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
64529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
64629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(uchar2);
64729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
64829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
64929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
65029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
65129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar3 to char3
65229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
65329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
65429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
65529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(uchar3);
65629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
65729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
65829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
65929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
66029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar4 to char4
66129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
66229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
66329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
66429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(uchar4);
66529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
66629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
66729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
66829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
66929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short2 to char2
67029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
67129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
67229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
67329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(short2);
67429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
67529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
67629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
67729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
67829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short3 to char3
67929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
68029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
68129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
68229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(short3);
68329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
68429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
68529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
68629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
68729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short4 to char4
68829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
68929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
69029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
69129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(short4);
69229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
69329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
69429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
69529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
69629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort2 to char2
69729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
69829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
69929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
70029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(ushort2);
70129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
70229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
70329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
70429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
70529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort3 to char3
70629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
70729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
70829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
70929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(ushort3);
71029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
71129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
71229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
71329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
71429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort4 to char4
71529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
71629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
71729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
71829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(ushort4);
71929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
72029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
72129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
72229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
72329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int2 to char2
72429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
72529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
72629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
72729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(int2);
72829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
72929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
73029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
73129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
73229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int3 to char3
73329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
73429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
73529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
73629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(int3);
73729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
73829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
73929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
74029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
74129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int4 to char4
74229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
74329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
74429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
74529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(int4);
74629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
74729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
74829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
74929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
75029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint2 to char2
75129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
75229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
75329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
75429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(uint2);
75529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
75629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
75729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
75829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
75929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint3 to char3
76029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
76129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
76229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
76329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(uint3);
76429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
76529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
76629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
76729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
76829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint4 to char4
76929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
77029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
77129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
77229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(uint4);
77329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
77429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
77529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
77629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
77729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long2 to char2
77829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
77929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
78029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
78129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(long2);
78229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
78329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
78429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
78529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
78629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long3 to char3
78729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
78829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
78929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
79029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(long3);
79129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
79229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
79329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
79429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
79529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long4 to char4
79629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
79729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
79829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
79929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(long4);
80029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
80129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
80229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
80329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
80429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong2 to char2
80529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
80629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
80729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
80829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(ulong2);
80929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
81029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
81129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
81229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
81329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong3 to char3
81429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
81529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
81629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
81729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(ulong3);
81829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
81929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
82029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
82129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
82229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong4 to char4
82329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
82429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
82529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
82629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(ulong4);
82729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
82829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
82929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
83029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
83129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float2 to uchar2
83229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
83329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
83429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
83529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(float2);
83629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
83729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
83829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
83929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
84029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float3 to uchar3
84129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
84229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
84329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
84429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(float3);
84529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
84629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
84729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
84829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
84929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float4 to uchar4
85029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
85129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
85229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
85329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(float4);
85429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
85529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
85629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
85729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
85829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double2 to uchar2
85929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
86029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
86129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
86229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(double2);
86329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
86429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
86529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
86629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
86729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double3 to uchar3
86829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
86929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
87029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
87129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(double3);
87229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
87329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
87429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
87529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
87629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double4 to uchar4
87729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
87829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
87929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
88029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(double4);
88129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
88229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
88329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
88429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
88529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char2 to uchar2
88629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
88729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
88829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
88929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(char2);
89029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
89129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
89229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
89329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
89429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char3 to uchar3
89529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
89629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
89729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
89829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(char3);
89929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
90029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
90129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
90229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
90329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char4 to uchar4
90429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
90529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
90629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
90729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(char4);
90829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
90929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
91029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
91129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
91229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar2 to uchar2
91329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
91429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
91529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
91629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(uchar2);
91729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
91829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
91929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
92029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
92129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar3 to uchar3
92229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
92329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
92429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
92529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(uchar3);
92629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
92729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
92829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
92929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
93029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar4 to uchar4
93129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
93229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
93329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
93429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(uchar4);
93529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
93629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
93729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
93829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
93929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short2 to uchar2
94029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
94129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
94229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
94329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(short2);
94429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
94529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
94629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
94729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
94829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short3 to uchar3
94929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
95029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
95129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
95229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(short3);
95329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
95429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
95529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
95629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
95729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short4 to uchar4
95829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
95929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
96029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
96129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(short4);
96229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
96329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
96429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
96529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
96629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort2 to uchar2
96729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
96829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
96929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
97029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(ushort2);
97129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
97229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
97329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
97429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
97529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort3 to uchar3
97629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
97729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
97829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
97929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(ushort3);
98029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
98129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
98229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
98329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
98429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort4 to uchar4
98529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
98629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
98729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
98829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(ushort4);
98929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
99029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
99129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
99229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
99329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int2 to uchar2
99429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
99529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
99629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
99729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(int2);
99829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
99929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
100029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
100129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
100229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int3 to uchar3
100329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
100429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
100529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
100629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(int3);
100729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
100829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
100929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
101029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
101129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int4 to uchar4
101229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
101329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
101429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
101529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(int4);
101629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
101729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
101829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
101929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
102029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint2 to uchar2
102129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
102229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
102329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
102429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(uint2);
102529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
102629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
102729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
102829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
102929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint3 to uchar3
103029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
103129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
103229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
103329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(uint3);
103429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
103529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
103629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
103729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
103829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint4 to uchar4
103929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
104029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
104129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
104229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(uint4);
104329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
104429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
104529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
104629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
104729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long2 to uchar2
104829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
104929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
105029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
105129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(long2);
105229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
105329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
105429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
105529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
105629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long3 to uchar3
105729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
105829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
105929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
106029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(long3);
106129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
106229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
106329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
106429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
106529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long4 to uchar4
106629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
106729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
106829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
106929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(long4);
107029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
107129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
107229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
107329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
107429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong2 to uchar2
107529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
107629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
107729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
107829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(ulong2);
107929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
108029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
108129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
108229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
108329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong3 to uchar3
108429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
108529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
108629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
108729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(ulong3);
108829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
108929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
109029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
109129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
109229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong4 to uchar4
109329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
109429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
109529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
109629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(ulong4);
109729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
109829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
109929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
110029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
110129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float2 to short2
110229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
110329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
110429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
110529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(float2);
110629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
110729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
110829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
110929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
111029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float3 to short3
111129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
111229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
111329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
111429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(float3);
111529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
111629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
111729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
111829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
111929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float4 to short4
112029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
112129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
112229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
112329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(float4);
112429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
112529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
112629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
112729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
112829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double2 to short2
112929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
113029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
113129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
113229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(double2);
113329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
113429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
113529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
113629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
113729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double3 to short3
113829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
113929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
114029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
114129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(double3);
114229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
114329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
114429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
114529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
114629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double4 to short4
114729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
114829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
114929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
115029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(double4);
115129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
115229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
115329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
115429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
115529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char2 to short2
115629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
115729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
115829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
115929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(char2);
116029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
116129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
116229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
116329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
116429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char3 to short3
116529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
116629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
116729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
116829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(char3);
116929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
117029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
117129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
117229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
117329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char4 to short4
117429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
117529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
117629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
117729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(char4);
117829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
117929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
118029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
118129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
118229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar2 to short2
118329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
118429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
118529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
118629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(uchar2);
118729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
118829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
118929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
119029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
119129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar3 to short3
119229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
119329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
119429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
119529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(uchar3);
119629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
119729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
119829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
119929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
120029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar4 to short4
120129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
120229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
120329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
120429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(uchar4);
120529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
120629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
120729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
120829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
120929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short2 to short2
121029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
121129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
121229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
121329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(short2);
121429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
121529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
121629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
121729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
121829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short3 to short3
121929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
122029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
122129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
122229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(short3);
122329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
122429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
122529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
122629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
122729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short4 to short4
122829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
122929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
123029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
123129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(short4);
123229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
123329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
123429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
123529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
123629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort2 to short2
123729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
123829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
123929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
124029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(ushort2);
124129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
124229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
124329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
124429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
124529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort3 to short3
124629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
124729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
124829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
124929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(ushort3);
125029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
125129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
125229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
125329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
125429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort4 to short4
125529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
125629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
125729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
125829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(ushort4);
125929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
126029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
126129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
126229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
126329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int2 to short2
126429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
126529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
126629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
126729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(int2);
126829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
126929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
127029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
127129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
127229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int3 to short3
127329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
127429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
127529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
127629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(int3);
127729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
127829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
127929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
128029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
128129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int4 to short4
128229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
128329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
128429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
128529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(int4);
128629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
128729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
128829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
128929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
129029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint2 to short2
129129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
129229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
129329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
129429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(uint2);
129529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
129629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
129729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
129829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
129929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint3 to short3
130029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
130129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
130229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
130329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(uint3);
130429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
130529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
130629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
130729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
130829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint4 to short4
130929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
131029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
131129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
131229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(uint4);
131329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
131429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
131529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
131629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
131729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long2 to short2
131829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
131929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
132029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
132129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(long2);
132229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
132329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
132429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
132529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
132629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long3 to short3
132729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
132829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
132929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
133029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(long3);
133129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
133229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
133329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
133429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
133529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long4 to short4
133629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
133729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
133829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
133929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(long4);
134029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
134129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
134229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
134329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
134429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong2 to short2
134529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
134629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
134729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
134829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(ulong2);
134929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
135029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
135129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
135229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
135329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong3 to short3
135429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
135529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
135629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
135729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(ulong3);
135829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
135929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
136029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
136129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
136229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong4 to short4
136329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
136429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
136529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
136629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(ulong4);
136729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
136829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
136929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
137029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
137129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float2 to ushort2
137229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
137329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
137429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
137529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(float2);
137629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
137729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
137829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
137929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
138029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float3 to ushort3
138129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
138229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
138329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
138429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(float3);
138529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
138629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
138729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
138829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
138929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float4 to ushort4
139029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
139129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
139229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
139329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(float4);
139429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
139529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
139629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
139729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
139829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double2 to ushort2
139929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
140029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
140129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
140229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(double2);
140329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
140429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
140529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
140629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
140729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double3 to ushort3
140829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
140929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
141029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
141129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(double3);
141229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
141329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
141429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
141529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
141629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double4 to ushort4
141729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
141829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
141929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
142029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(double4);
142129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
142229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
142329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
142429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
142529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char2 to ushort2
142629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
142729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
142829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
142929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(char2);
143029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
143129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
143229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
143329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
143429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char3 to ushort3
143529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
143629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
143729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
143829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(char3);
143929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
144029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
144129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
144229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
144329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char4 to ushort4
144429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
144529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
144629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
144729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(char4);
144829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
144929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
145029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
145129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
145229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar2 to ushort2
145329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
145429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
145529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
145629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(uchar2);
145729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
145829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
145929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
146029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
146129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar3 to ushort3
146229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
146329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
146429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
146529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(uchar3);
146629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
146729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
146829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
146929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
147029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar4 to ushort4
147129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
147229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
147329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
147429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(uchar4);
147529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
147629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
147729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
147829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
147929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short2 to ushort2
148029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
148129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
148229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
148329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(short2);
148429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
148529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
148629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
148729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
148829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short3 to ushort3
148929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
149029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
149129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
149229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(short3);
149329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
149429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
149529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
149629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
149729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short4 to ushort4
149829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
149929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
150029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
150129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(short4);
150229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
150329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
150429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
150529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
150629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort2 to ushort2
150729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
150829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
150929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
151029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(ushort2);
151129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
151229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
151329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
151429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
151529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort3 to ushort3
151629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
151729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
151829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
151929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(ushort3);
152029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
152129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
152229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
152329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
152429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort4 to ushort4
152529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
152629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
152729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
152829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(ushort4);
152929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
153029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
153129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
153229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
153329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int2 to ushort2
153429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
153529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
153629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
153729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(int2);
153829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
153929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
154029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
154129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
154229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int3 to ushort3
154329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
154429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
154529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
154629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(int3);
154729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
154829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
154929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
155029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
155129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int4 to ushort4
155229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
155329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
155429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
155529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(int4);
155629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
155729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
155829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
155929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
156029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint2 to ushort2
156129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
156229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
156329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
156429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(uint2);
156529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
156629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
156729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
156829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
156929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint3 to ushort3
157029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
157129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
157229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
157329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(uint3);
157429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
157529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
157629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
157729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
157829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint4 to ushort4
157929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
158029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
158129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
158229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(uint4);
158329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
158429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
158529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
158629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
158729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long2 to ushort2
158829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
158929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
159029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
159129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(long2);
159229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
159329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
159429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
159529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
159629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long3 to ushort3
159729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
159829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
159929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
160029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(long3);
160129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
160229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
160329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
160429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
160529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long4 to ushort4
160629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
160729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
160829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
160929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(long4);
161029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
161129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
161229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
161329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
161429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong2 to ushort2
161529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
161629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
161729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
161829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(ulong2);
161929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
162029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
162129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
162229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
162329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong3 to ushort3
162429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
162529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
162629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
162729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(ulong3);
162829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
162929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
163029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
163129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
163229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong4 to ushort4
163329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
163429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
163529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
163629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(ulong4);
163729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
163829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
163929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
164029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
164129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float2 to int2
164229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
164329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
164429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
164529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(float2);
164629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
164729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
164829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
164929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
165029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float3 to int3
165129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
165229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
165329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
165429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(float3);
165529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
165629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
165729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
165829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
165929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float4 to int4
166029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
166129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
166229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
166329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(float4);
166429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
166529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
166629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
166729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
166829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double2 to int2
166929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
167029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
167129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
167229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(double2);
167329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
167429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
167529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
167629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
167729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double3 to int3
167829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
167929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
168029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
168129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(double3);
168229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
168329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
168429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
168529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
168629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double4 to int4
168729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
168829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
168929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
169029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(double4);
169129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
169229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
169329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
169429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
169529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char2 to int2
169629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
169729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
169829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
169929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(char2);
170029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
170129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
170229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
170329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
170429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char3 to int3
170529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
170629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
170729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
170829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(char3);
170929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
171029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
171129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
171229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
171329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char4 to int4
171429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
171529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
171629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
171729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(char4);
171829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
171929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
172029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
172129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
172229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar2 to int2
172329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
172429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
172529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
172629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(uchar2);
172729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
172829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
172929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
173029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
173129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar3 to int3
173229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
173329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
173429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
173529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(uchar3);
173629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
173729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
173829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
173929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
174029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar4 to int4
174129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
174229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
174329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
174429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(uchar4);
174529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
174629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
174729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
174829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
174929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short2 to int2
175029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
175129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
175229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
175329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(short2);
175429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
175529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
175629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
175729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
175829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short3 to int3
175929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
176029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
176129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
176229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(short3);
176329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
176429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
176529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
176629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
176729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short4 to int4
176829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
176929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
177029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
177129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(short4);
177229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
177329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
177429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
177529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
177629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort2 to int2
177729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
177829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
177929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
178029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(ushort2);
178129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
178229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
178329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
178429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
178529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort3 to int3
178629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
178729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
178829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
178929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(ushort3);
179029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
179129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
179229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
179329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
179429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort4 to int4
179529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
179629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
179729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
179829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(ushort4);
179929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
180029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
180129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
180229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
180329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int2 to int2
180429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
180529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
180629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
180729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(int2);
180829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
180929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
181029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
181129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
181229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int3 to int3
181329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
181429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
181529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
181629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(int3);
181729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
181829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
181929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
182029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
182129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int4 to int4
182229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
182329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
182429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
182529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(int4);
182629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
182729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
182829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
182929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
183029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint2 to int2
183129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
183229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
183329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
183429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(uint2);
183529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
183629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
183729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
183829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
183929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint3 to int3
184029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
184129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
184229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
184329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(uint3);
184429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
184529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
184629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
184729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
184829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint4 to int4
184929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
185029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
185129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
185229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(uint4);
185329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
185429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
185529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
185629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
185729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long2 to int2
185829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
185929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
186029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
186129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(long2);
186229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
186329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
186429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
186529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
186629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long3 to int3
186729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
186829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
186929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
187029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(long3);
187129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
187229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
187329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
187429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
187529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long4 to int4
187629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
187729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
187829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
187929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(long4);
188029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
188129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
188229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
188329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
188429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong2 to int2
188529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
188629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
188729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
188829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(ulong2);
188929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
189029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
189129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
189229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
189329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong3 to int3
189429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
189529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
189629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
189729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(ulong3);
189829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
189929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
190029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
190129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
190229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong4 to int4
190329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
190429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
190529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
190629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(ulong4);
190729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
190829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
190929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
191029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
191129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float2 to uint2
191229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
191329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
191429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
191529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(float2);
191629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
191729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
191829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
191929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
192029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float3 to uint3
192129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
192229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
192329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
192429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(float3);
192529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
192629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
192729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
192829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
192929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float4 to uint4
193029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
193129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
193229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
193329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(float4);
193429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
193529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
193629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
193729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
193829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double2 to uint2
193929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
194029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
194129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
194229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(double2);
194329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
194429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
194529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
194629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
194729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double3 to uint3
194829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
194929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
195029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
195129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(double3);
195229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
195329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
195429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
195529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
195629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double4 to uint4
195729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
195829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
195929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
196029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(double4);
196129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
196229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
196329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
196429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
196529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char2 to uint2
196629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
196729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
196829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
196929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(char2);
197029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
197129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
197229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
197329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
197429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char3 to uint3
197529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
197629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
197729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
197829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(char3);
197929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
198029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
198129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
198229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
198329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char4 to uint4
198429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
198529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
198629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
198729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(char4);
198829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
198929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
199029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
199129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
199229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar2 to uint2
199329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
199429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
199529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
199629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(uchar2);
199729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
199829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
199929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
200029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
200129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar3 to uint3
200229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
200329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
200429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
200529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(uchar3);
200629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
200729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
200829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
200929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
201029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar4 to uint4
201129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
201229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
201329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
201429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(uchar4);
201529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
201629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
201729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
201829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
201929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short2 to uint2
202029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
202129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
202229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
202329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(short2);
202429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
202529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
202629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
202729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
202829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short3 to uint3
202929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
203029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
203129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
203229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(short3);
203329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
203429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
203529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
203629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
203729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short4 to uint4
203829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
203929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
204029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
204129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(short4);
204229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
204329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
204429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
204529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
204629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort2 to uint2
204729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
204829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
204929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
205029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(ushort2);
205129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
205229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
205329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
205429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
205529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort3 to uint3
205629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
205729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
205829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
205929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(ushort3);
206029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
206129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
206229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
206329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
206429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort4 to uint4
206529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
206629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
206729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
206829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(ushort4);
206929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
207029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
207129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
207229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
207329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int2 to uint2
207429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
207529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
207629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
207729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(int2);
207829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
207929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
208029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
208129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
208229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int3 to uint3
208329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
208429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
208529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
208629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(int3);
208729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
208829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
208929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
209029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
209129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int4 to uint4
209229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
209329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
209429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
209529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(int4);
209629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
209729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
209829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
209929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
210029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint2 to uint2
210129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
210229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
210329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
210429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(uint2);
210529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
210629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
210729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
210829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
210929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint3 to uint3
211029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
211129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
211229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
211329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(uint3);
211429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
211529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
211629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
211729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
211829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint4 to uint4
211929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
212029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
212129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
212229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(uint4);
212329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
212429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
212529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
212629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
212729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long2 to uint2
212829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
212929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
213029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
213129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(long2);
213229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
213329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
213429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
213529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
213629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long3 to uint3
213729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
213829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
213929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
214029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(long3);
214129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
214229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
214329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
214429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
214529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long4 to uint4
214629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
214729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
214829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
214929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(long4);
215029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
215129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
215229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
215329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
215429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong2 to uint2
215529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
215629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
215729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
215829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(ulong2);
215929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
216029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
216129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
216229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
216329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong3 to uint3
216429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
216529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
216629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
216729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(ulong3);
216829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
216929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
217029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
217129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
217229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong4 to uint4
217329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
217429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
217529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
217629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(ulong4);
217729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
217829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
217929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
218029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
218129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float2 to long2
218229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
218329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
218429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
218529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))convert_long2(float2);
218629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
218729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
218829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
218929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
219029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float3 to long3
219129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
219229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
219329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
219429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))convert_long3(float3);
219529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
219629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
219729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
219829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
219929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float4 to long4
220029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
220129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
220229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
220329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))convert_long4(float4);
220429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
220529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
220629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
220729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
220829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double2 to long2
220929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
221029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
221129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
221229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))convert_long2(double2);
221329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
221429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
221529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
221629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
221729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double3 to long3
221829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
221929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
222029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
222129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))convert_long3(double3);
222229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
222329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
222429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
222529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
222629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double4 to long4
222729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
222829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
222929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
223029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))convert_long4(double4);
223129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
223229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
223329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
223429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
223529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char2 to long2
223629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
223729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
223829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
223929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))convert_long2(char2);
224029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
224129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
224229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
224329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
224429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char3 to long3
224529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
224629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
224729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
224829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))convert_long3(char3);
224929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
225029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
225129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
225229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
225329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char4 to long4
225429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
225529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
225629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
225729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))convert_long4(char4);
225829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
225929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
226029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
226129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
226229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar2 to long2
226329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
226429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
226529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
226629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))convert_long2(uchar2);
226729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
226829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
226929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
227029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
227129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar3 to long3
227229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
227329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
227429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
227529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))convert_long3(uchar3);
227629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
227729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
227829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
227929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
228029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar4 to long4
228129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
228229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
228329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
228429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))convert_long4(uchar4);
228529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
228629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
228729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
228829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
228929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short2 to long2
229029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
229129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
229229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
229329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))convert_long2(short2);
229429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
229529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
229629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
229729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
229829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short3 to long3
229929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
230029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
230129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
230229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))convert_long3(short3);
230329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
230429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
230529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
230629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
230729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short4 to long4
230829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
230929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
231029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
231129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))convert_long4(short4);
231229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
231329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
231429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
231529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
231629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort2 to long2
231729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
231829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
231929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
232029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))convert_long2(ushort2);
232129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
232229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
232329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
232429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
232529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort3 to long3
232629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
232729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
232829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
232929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))convert_long3(ushort3);
233029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
233129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
233229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
233329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
233429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort4 to long4
233529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
233629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
233729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
233829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))convert_long4(ushort4);
233929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
234029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
234129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
234229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
234329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int2 to long2
234429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
234529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
234629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
234729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))convert_long2(int2);
234829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
234929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
235029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
235129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
235229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int3 to long3
235329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
235429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
235529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
235629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))convert_long3(int3);
235729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
235829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
235929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
236029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
236129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int4 to long4
236229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
236329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
236429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
236529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))convert_long4(int4);
236629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
236729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
236829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
236929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
237029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint2 to long2
237129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
237229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
237329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
237429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))convert_long2(uint2);
237529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
237629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
237729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
237829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
237929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint3 to long3
238029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
238129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
238229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
238329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))convert_long3(uint3);
238429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
238529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
238629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
238729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
238829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint4 to long4
238929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
239029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
239129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
239229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))convert_long4(uint4);
239329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
239429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
239529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
239629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
239729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long2 to long2
239829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
239929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
240029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
240129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))convert_long2(long2);
240229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
240329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
240429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
240529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
240629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long3 to long3
240729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
240829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
240929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
241029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))convert_long3(long3);
241129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
241229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
241329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
241429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
241529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long4 to long4
241629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
241729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
241829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
241929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))convert_long4(long4);
242029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
242129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
242229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
242329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
242429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong2 to long2
242529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
242629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
242729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
242829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))convert_long2(ulong2);
242929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
243029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
243129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
243229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
243329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong3 to long3
243429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
243529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
243629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
243729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))convert_long3(ulong3);
243829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
243929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
244029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
244129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
244229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong4 to long4
244329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
244429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
244529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
244629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))convert_long4(ulong4);
244729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
244829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
244929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
245029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
245129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float2 to ulong2
245229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
245329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
245429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
245529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))convert_ulong2(float2);
245629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
245729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
245829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
245929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
246029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float3 to ulong3
246129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
246229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
246329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
246429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))convert_ulong3(float3);
246529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
246629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
246729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
246829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
246929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from float4 to ulong4
247029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
247129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
247229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
247329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))convert_ulong4(float4);
247429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
247529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
247629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
247729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
247829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double2 to ulong2
247929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
248029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
248129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
248229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))convert_ulong2(double2);
248329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
248429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
248529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
248629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
248729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double3 to ulong3
248829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
248929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
249029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
249129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))convert_ulong3(double3);
249229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
249329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
249429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
249529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
249629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from double4 to ulong4
249729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
249829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
249929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
250029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))convert_ulong4(double4);
250129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
250229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
250329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
250429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
250529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char2 to ulong2
250629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
250729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
250829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
250929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))convert_ulong2(char2);
251029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
251129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
251229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
251329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
251429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char3 to ulong3
251529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
251629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
251729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
251829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))convert_ulong3(char3);
251929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
252029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
252129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
252229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
252329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from char4 to ulong4
252429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
252529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
252629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
252729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))convert_ulong4(char4);
252829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
252929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
253029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
253129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
253229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar2 to ulong2
253329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
253429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
253529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
253629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))convert_ulong2(uchar2);
253729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
253829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
253929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
254029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
254129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar3 to ulong3
254229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
254329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
254429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
254529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))convert_ulong3(uchar3);
254629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
254729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
254829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
254929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
255029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uchar4 to ulong4
255129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
255229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
255329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
255429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))convert_ulong4(uchar4);
255529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
255629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
255729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
255829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
255929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short2 to ulong2
256029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
256129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
256229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
256329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))convert_ulong2(short2);
256429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
256529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
256629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
256729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
256829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short3 to ulong3
256929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
257029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
257129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
257229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))convert_ulong3(short3);
257329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
257429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
257529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
257629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
257729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from short4 to ulong4
257829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
257929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
258029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
258129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))convert_ulong4(short4);
258229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
258329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
258429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
258529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
258629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort2 to ulong2
258729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
258829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
258929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
259029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))convert_ulong2(ushort2);
259129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
259229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
259329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
259429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
259529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort3 to ulong3
259629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
259729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
259829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
259929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))convert_ulong3(ushort3);
260029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
260129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
260229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
260329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
260429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ushort4 to ulong4
260529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
260629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
260729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
260829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))convert_ulong4(ushort4);
260929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
261029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
261129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
261229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
261329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int2 to ulong2
261429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
261529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
261629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
261729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))convert_ulong2(int2);
261829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
261929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
262029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
262129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
262229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int3 to ulong3
262329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
262429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
262529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
262629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))convert_ulong3(int3);
262729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
262829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
262929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
263029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
263129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from int4 to ulong4
263229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
263329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
263429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
263529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))convert_ulong4(int4);
263629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
263729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
263829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
263929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
264029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint2 to ulong2
264129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
264229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
264329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
264429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))convert_ulong2(uint2);
264529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
264629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
264729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
264829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
264929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint3 to ulong3
265029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
265129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
265229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
265329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))convert_ulong3(uint3);
265429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
265529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
265629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
265729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
265829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from uint4 to ulong4
265929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
266029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
266129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
266229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))convert_ulong4(uint4);
266329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
266429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
266529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
266629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
266729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long2 to ulong2
266829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
266929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
267029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
267129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))convert_ulong2(long2);
267229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
267329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
267429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
267529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
267629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long3 to ulong3
267729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
267829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
267929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
268029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))convert_ulong3(long3);
268129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
268229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
268329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
268429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
268529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from long4 to ulong4
268629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
268729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
268829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
268929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))convert_ulong4(long4);
269029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
269129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
269229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
269329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
269429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong2 to ulong2
269529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
269629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
269729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
269829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))convert_ulong2(ulong2);
269929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
270029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
270129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
270229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
270329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong3 to ulong3
270429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
270529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
270629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
270729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))convert_ulong3(ulong3);
270829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
270929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
271029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
271129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
271229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Component wise conversion from ulong4 to ulong4
271329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
271429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
271529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
271629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))convert_ulong4(ulong4);
271729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
271829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
271929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
272029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
272129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acos
272229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
272329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
272429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
272529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))acos(float);
272629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
272729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
272829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
272929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
273029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acos
273129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
273229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
273329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
273429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))acos(float2);
273529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
273629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
273729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
273829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
273929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acos
274029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
274129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
274229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
274329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))acos(float3);
274429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
274529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
274629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
274729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
274829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acos
274929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
275029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
275129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
275229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))acos(float4);
275329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
275429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
275529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
275629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
275729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acosh
275829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
275929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
276029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
276129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))acosh(float);
276229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
276329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
276429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
276529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
276629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acosh
276729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
276829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
276929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
277029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))acosh(float2);
277129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
277229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
277329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
277429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
277529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acosh
277629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
277729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
277829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
277929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))acosh(float3);
278029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
278129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
278229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
278329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
278429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acosh
278529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
278629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
278729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
278829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))acosh(float4);
278929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
279029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
279129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
279229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
279329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acospi
279429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
279529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
279629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
279729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))acospi(float);
279829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
279929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
280029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
280129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
280229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acospi
280329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
280429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
280529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
280629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))acospi(float2);
280729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
280829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
280929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
281029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
281129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acospi
281229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
281329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
281429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
281529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))acospi(float3);
281629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
281729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
281829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
281929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
282029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * acospi
282129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
282229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
282329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
282429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))acospi(float4);
282529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
282629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
282729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
282829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
282929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * asin
283029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
283129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
283229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
283329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))asin(float);
283429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
283529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
283629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
283729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
283829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * asin
283929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
284029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
284129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
284229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))asin(float2);
284329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
284429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
284529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
284629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
284729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * asin
284829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
284929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
285029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
285129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))asin(float3);
285229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
285329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
285429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
285529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
285629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * asin
285729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
285829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
285929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
286029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))asin(float4);
286129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
286229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
286329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
286429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
286529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * asinh
286629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
286729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
286829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
286929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))asinh(float);
287029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
287129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
287229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
287329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
287429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * asinh
287529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
287629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
287729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
287829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))asinh(float2);
287929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
288029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
288129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
288229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
288329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * asinh
288429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
288529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
288629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
288729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))asinh(float3);
288829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
288929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
289029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
289129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
289229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * asinh
289329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
289429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
289529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
289629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))asinh(float4);
289729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
289829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
289929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
290029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
290129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse sine divided by PI.
290229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
290329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
290429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
290529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))asinpi(float);
290629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
290729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
290829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
290929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
291029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse sine divided by PI.
291129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
291229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
291329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
291429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))asinpi(float2);
291529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
291629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
291729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
291829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
291929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse sine divided by PI.
292029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
292129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
292229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
292329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))asinpi(float3);
292429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
292529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
292629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
292729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
292829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse sine divided by PI.
292929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
293029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
293129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
293229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))asinpi(float4);
293329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
293429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
293529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
293629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
293729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent.
293829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
293929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
294029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
294129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))atan(float);
294229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
294329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
294429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
294529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
294629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent.
294729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
294829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
294929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
295029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))atan(float2);
295129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
295229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
295329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
295429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
295529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent.
295629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
295729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
295829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
295929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))atan(float3);
296029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
296129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
296229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
296329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
296429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent.
296529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
296629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
296729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
296829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))atan(float4);
296929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
297029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
297129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
297229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
297329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent of y / x.
297429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
297529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
297629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
297729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))atan2(float y, float x);
297829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
297929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
298029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
298129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
298229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent of y / x.
298329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
298429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
298529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
298629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))atan2(float2 y, float2 x);
298729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
298829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
298929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
299029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
299129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent of y / x.
299229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
299329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
299429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
299529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))atan2(float3 y, float3 x);
299629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
299729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
299829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
299929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
300029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent of y / x.
300129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
300229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
300329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
300429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))atan2(float4 y, float4 x);
300529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
300629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
300729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
300829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
300929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse hyperbolic tangent.
301029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
301129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
301229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
301329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))atanh(float);
301429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
301529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
301629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
301729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
301829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse hyperbolic tangent.
301929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
302029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
302129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
302229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))atanh(float2);
302329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
302429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
302529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
302629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
302729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse hyperbolic tangent.
302829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
302929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
303029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
303129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))atanh(float3);
303229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
303329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
303429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
303529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
303629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse hyperbolic tangent.
303729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
303829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
303929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
304029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))atanh(float4);
304129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
304229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
304329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
304429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
304529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent divided by PI.
304629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
304729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
304829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
304929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))atanpi(float);
305029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
305129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
305229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
305329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
305429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent divided by PI.
305529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
305629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
305729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
305829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))atanpi(float2);
305929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
306029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
306129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
306229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
306329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent divided by PI.
306429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
306529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
306629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
306729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))atanpi(float3);
306829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
306929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
307029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
307129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
307229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent divided by PI.
307329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
307429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
307529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
307629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))atanpi(float4);
307729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
307829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
307929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
308029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
308129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent of y / x, divided by PI.
308229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
308329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
308429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
308529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))atan2pi(float y, float x);
308629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
308729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
308829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
308929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
309029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent of y / x, divided by PI.
309129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
309229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
309329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
309429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))atan2pi(float2 y, float2 x);
309529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
309629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
309729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
309829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
309929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent of y / x, divided by PI.
310029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
310129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
310229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
310329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))atan2pi(float3 y, float3 x);
310429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
310529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
310629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
310729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
310829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the inverse tangent of y / x, divided by PI.
310929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
311029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
311129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
311229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))atan2pi(float4 y, float4 x);
311329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
311429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
311529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
311629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
311729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cube root.
311829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
311929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
312029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
312129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))cbrt(float);
312229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
312329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
312429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
312529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
312629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cube root.
312729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
312829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
312929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
313029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))cbrt(float2);
313129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
313229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
313329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
313429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
313529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cube root.
313629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
313729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
313829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
313929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))cbrt(float3);
314029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
314129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
314229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
314329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
314429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cube root.
314529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
314629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
314729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
314829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))cbrt(float4);
314929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
315029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
315129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
315229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
315329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the smallest integer not less than a value.
315429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
315529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
315629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
315729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))ceil(float);
315829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
315929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
316029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
316129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
316229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the smallest integer not less than a value.
316329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
316429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
316529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
316629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))ceil(float2);
316729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
316829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
316929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
317029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
317129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the smallest integer not less than a value.
317229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
317329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
317429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
317529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))ceil(float3);
317629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
317729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
317829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
317929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
318029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the smallest integer not less than a value.
318129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
318229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
318329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
318429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))ceil(float4);
318529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
318629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
318729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
318829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
318929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Copy the sign bit from y to x.
319029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
319129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
319229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
319329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))copysign(float x, float y);
319429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
319529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
319629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
319729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
319829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Copy the sign bit from y to x.
319929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
320029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
320129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
320229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))copysign(float2 x, float2 y);
320329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
320429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
320529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
320629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
320729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Copy the sign bit from y to x.
320829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
320929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
321029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
321129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))copysign(float3 x, float3 y);
321229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
321329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
321429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
321529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
321629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Copy the sign bit from y to x.
321729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
321829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
321929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
322029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))copysign(float4 x, float4 y);
322129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
322229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
322329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
322429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
322529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cosine.
322629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
322729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
322829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
322929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))cos(float);
323029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
323129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
323229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
323329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
323429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cosine.
323529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
323629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
323729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
323829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))cos(float2);
323929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
324029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
324129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
324229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
324329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cosine.
324429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
324529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
324629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
324729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))cos(float3);
324829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
324929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
325029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
325129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
325229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cosine.
325329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
325429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
325529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
325629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))cos(float4);
325729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
325829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
325929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
326029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
326129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hypebolic cosine.
326229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
326329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
326429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
326529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))cosh(float);
326629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
326729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
326829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
326929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
327029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hypebolic cosine.
327129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
327229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
327329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
327429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))cosh(float2);
327529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
327629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
327729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
327829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
327929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hypebolic cosine.
328029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
328129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
328229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
328329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))cosh(float3);
328429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
328529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
328629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
328729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
328829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hypebolic cosine.
328929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
329029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
329129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
329229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))cosh(float4);
329329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
329429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
329529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
329629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
329729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cosine of the value * PI.
329829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
329929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
330029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
330129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))cospi(float);
330229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
330329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
330429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
330529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
330629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cosine of the value * PI.
330729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
330829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
330929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
331029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))cospi(float2);
331129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
331229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
331329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
331429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
331529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cosine of the value * PI.
331629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
331729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
331829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
331929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))cospi(float3);
332029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
332129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
332229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
332329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
332429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the cosine of the value * PI.
332529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
332629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
332729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
332829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))cospi(float4);
332929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
333029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
333129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
333229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
333329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the complementary error function.
333429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
333529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
333629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
333729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))erfc(float);
333829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
333929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
334029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
334129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
334229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the complementary error function.
334329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
334429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
334529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
334629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))erfc(float2);
334729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
334829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
334929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
335029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
335129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the complementary error function.
335229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
335329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
335429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
335529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))erfc(float3);
335629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
335729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
335829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
335929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
336029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the complementary error function.
336129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
336229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
336329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
336429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))erfc(float4);
336529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
336629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
336729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
336829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
336929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the error function.
337029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
337129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
337229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
337329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))erf(float);
337429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
337529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
337629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
337729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
337829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the error function.
337929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
338029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
338129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
338229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))erf(float2);
338329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
338429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
338529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
338629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
338729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the error function.
338829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
338929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
339029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
339129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))erf(float3);
339229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
339329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
339429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
339529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
339629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the error function.
339729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
339829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
339929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
340029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))erf(float4);
340129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
340229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
340329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
340429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
340529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return e ^ value.
340629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
340729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
340829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
340929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))exp(float);
341029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
341129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
341229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
341329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
341429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return e ^ value.
341529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
341629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
341729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
341829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))exp(float2);
341929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
342029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
342129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
342229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
342329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return e ^ value.
342429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
342529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
342629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
342729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))exp(float3);
342829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
342929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
343029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
343129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
343229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return e ^ value.
343329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
343429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
343529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
343629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))exp(float4);
343729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
343829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
343929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
344029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
344129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return 2 ^ value.
344229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
344329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
344429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
344529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))exp2(float);
344629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
344729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
344829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
344929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
345029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return 2 ^ value.
345129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
345229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
345329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
345429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))exp2(float2);
345529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
345629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
345729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
345829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
345929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return 2 ^ value.
346029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
346129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
346229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
346329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))exp2(float3);
346429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
346529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
346629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
346729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
346829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return 2 ^ value.
346929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
347029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
347129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
347229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))exp2(float4);
347329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
347429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
347529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
347629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
347729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return 10 ^ value.
347829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
347929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
348029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
348129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))exp10(float);
348229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
348329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
348429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
348529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
348629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return 10 ^ value.
348729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
348829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
348929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
349029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))exp10(float2);
349129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
349229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
349329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
349429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
349529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return 10 ^ value.
349629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
349729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
349829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
349929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))exp10(float3);
350029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
350129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
350229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
350329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
350429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return 10 ^ value.
350529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
350629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
350729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
350829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))exp10(float4);
350929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
351029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
351129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
351229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
351329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (e ^ value) - 1.
351429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
351529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
351629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
351729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))expm1(float);
351829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
351929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
352029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
352129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
352229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (e ^ value) - 1.
352329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
352429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
352529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
352629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))expm1(float2);
352729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
352829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
352929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
353029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
353129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (e ^ value) - 1.
353229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
353329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
353429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
353529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))expm1(float3);
353629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
353729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
353829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
353929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
354029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (e ^ value) - 1.
354129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
354229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
354329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
354429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))expm1(float4);
354529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
354629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
354729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
354829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
354929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
355029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
355129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
355229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
355329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fabs(float);
355429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
355529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
355629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
355729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
355829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
355929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
356029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
356129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
356229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))fabs(float2);
356329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
356429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
356529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
356629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
356729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
356829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
356929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
357029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
357129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))fabs(float3);
357229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
357329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
357429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
357529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
357629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
357729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
357829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
357929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
358029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))fabs(float4);
358129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
358229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
358329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
358429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
358529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the positive difference between two values.
358629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
358729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
358829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
358929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fdim(float, float);
359029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
359129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
359229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
359329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
359429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the positive difference between two values.
359529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
359629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
359729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
359829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))fdim(float2, float2);
359929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
360029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
360129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
360229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
360329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the positive difference between two values.
360429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
360529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
360629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
360729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))fdim(float3, float3);
360829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
360929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
361029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
361129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
361229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the positive difference between two values.
361329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
361429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
361529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
361629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))fdim(float4, float4);
361729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
361829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
361929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
362029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
362129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the smallest integer not greater than a value.
362229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
362329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
362429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
362529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))floor(float);
362629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
362729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
362829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
362929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
363029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the smallest integer not greater than a value.
363129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
363229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
363329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
363429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))floor(float2);
363529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
363629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
363729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
363829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
363929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the smallest integer not greater than a value.
364029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
364129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
364229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
364329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))floor(float3);
364429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
364529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
364629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
364729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
364829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the smallest integer not greater than a value.
364929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
365029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
365129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
365229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))floor(float4);
365329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
365429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
365529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
365629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
365729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (a * b) + c.
365829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
365929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
366029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
366129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fma(float a, float b, float c);
366229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
366329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
366429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
366529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
366629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (a * b) + c.
366729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
366829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
366929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
367029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))fma(float2 a, float2 b, float2 c);
367129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
367229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
367329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
367429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
367529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (a * b) + c.
367629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
367729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
367829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
367929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))fma(float3 a, float3 b, float3 c);
368029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
368129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
368229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
368329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
368429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (a * b) + c.
368529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
368629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
368729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
368829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))fma(float4 a, float4 b, float4 c);
368929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
369029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
369129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
369229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
369329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x < y ? y : x)
369429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
369529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
369629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
369729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fmax(float x, float y);
369829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
369929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
370029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
370129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
370229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x < y ? y : x)
370329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
370429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
370529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
370629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))fmax(float2 x, float2 y);
370729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
370829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
370929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
371029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
371129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x < y ? y : x)
371229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
371329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
371429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
371529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))fmax(float3 x, float3 y);
371629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
371729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
371829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
371929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
372029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x < y ? y : x)
372129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
372229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
372329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
372429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))fmax(float4 x, float4 y);
372529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
372629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
372729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
372829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
372929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x < y ? y : x)
373029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
373129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
373229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
373329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fmax(float x, float y);
373429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
373529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
373629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
373729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
373829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x < y ? y : x)
373929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
374029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
374129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
374229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))fmax(float2 x, float y);
374329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
374429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
374529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
374629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
374729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x < y ? y : x)
374829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
374929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
375029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
375129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))fmax(float3 x, float y);
375229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
375329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
375429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
375529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
375629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x < y ? y : x)
375729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
375829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
375929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
376029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))fmax(float4 x, float y);
376129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
376229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
376329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
376429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
376529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x > y ? y : x)
376629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
376729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
376829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
376929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fmin(float x, float y);
377029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
377129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
377229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
377329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
377429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x > y ? y : x)
377529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
377629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
377729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
377829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))fmin(float2 x, float2 y);
377929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
378029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
378129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
378229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
378329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x > y ? y : x)
378429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
378529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
378629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
378729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))fmin(float3 x, float3 y);
378829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
378929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
379029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
379129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
379229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x > y ? y : x)
379329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
379429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
379529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
379629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))fmin(float4 x, float4 y);
379729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
379829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
379929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
380029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
380129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x > y ? y : x)
380229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
380329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
380429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
380529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fmin(float x, float y);
380629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
380729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
380829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
380929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
381029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x > y ? y : x)
381129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
381229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
381329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
381429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))fmin(float2 x, float y);
381529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
381629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
381729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
381829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
381929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x > y ? y : x)
382029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
382129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
382229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
382329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))fmin(float3 x, float y);
382429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
382529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
382629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
382729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
382829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x > y ? y : x)
382929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
383029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
383129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
383229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))fmin(float4 x, float y);
383329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
383429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
383529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
383629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
383729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the remainder from x / y
383829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
383929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
384029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
384129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fmod(float x, float y);
384229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
384329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
384429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
384529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
384629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the remainder from x / y
384729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
384829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
384929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
385029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))fmod(float2 x, float2 y);
385129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
385229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
385329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
385429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
385529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the remainder from x / y
385629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
385729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
385829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
385929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))fmod(float3 x, float3 y);
386029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
386129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
386229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
386329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
386429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the remainder from x / y
386529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
386629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
386729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
386829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))fmod(float4 x, float4 y);
386929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
387029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
387129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
387229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
387329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return fractional part of v
387429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
387529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param iptr  iptr[0] will be set to the floor of the input value.
387629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
387729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
387829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
387929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fract(float v, float *iptr);
388029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
388129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
388229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
388329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
388429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return fractional part of v
388529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
388629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param iptr  iptr[0] will be set to the floor of the input value.
388729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
388829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
388929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
389029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))fract(float2 v, float2 *iptr);
389129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
389229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
389329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
389429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
389529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return fractional part of v
389629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
389729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param iptr  iptr[0] will be set to the floor of the input value.
389829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
389929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
390029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
390129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))fract(float3 v, float3 *iptr);
390229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
390329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
390429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
390529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
390629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return fractional part of v
390729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
390829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param iptr  iptr[0] will be set to the floor of the input value.
390929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
391029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
391129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
391229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))fract(float4 v, float4 *iptr);
391329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
391429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
391529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
391629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
391729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return fractional part of v
391829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
391929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
392029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
392129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic float __attribute__((const, overloadable))fract(float v) {
392229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams float unused;
392329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return fract(v, &unused);
392429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
392529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
392629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
392729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
392829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
392929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return fractional part of v
393029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
393129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
393229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
393329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic float2 __attribute__((const, overloadable))fract(float2 v) {
393429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams float2 unused;
393529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return fract(v, &unused);
393629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
393729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
393829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
393929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
394029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
394129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return fractional part of v
394229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
394329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
394429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
394529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic float3 __attribute__((const, overloadable))fract(float3 v) {
394629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams float3 unused;
394729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return fract(v, &unused);
394829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
394929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
395029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
395129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
395229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
395329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return fractional part of v
395429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
395529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
395629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
395729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic float4 __attribute__((const, overloadable))fract(float4 v) {
395829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams float4 unused;
395929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return fract(v, &unused);
396029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
396129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
396229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
396329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
396429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
396529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the mantissa and place the exponent into iptr[0]
396629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
396729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param v Supports float, float2, float3, float4.
396829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
396929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
397029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
397129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))frexp(float v, int *iptr);
397229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
397329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
397429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
397529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
397629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the mantissa and place the exponent into iptr[0]
397729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
397829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param v Supports float, float2, float3, float4.
397929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
398029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
398129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
398229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))frexp(float2 v, int2 *iptr);
398329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
398429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
398529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
398629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
398729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the mantissa and place the exponent into iptr[0]
398829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
398929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param v Supports float, float2, float3, float4.
399029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
399129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
399229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
399329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))frexp(float3 v, int3 *iptr);
399429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
399529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
399629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
399729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
399829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the mantissa and place the exponent into iptr[0]
399929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
400029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param v Supports float, float2, float3, float4.
400129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
400229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
400329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
400429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))frexp(float4 v, int4 *iptr);
400529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
400629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
400729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
400829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
400929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return sqrt(x*x + y*y)
401029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
401129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
401229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
401329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))hypot(float x, float y);
401429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
401529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
401629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
401729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
401829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return sqrt(x*x + y*y)
401929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
402029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
402129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
402229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))hypot(float2 x, float2 y);
402329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
402429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
402529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
402629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
402729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return sqrt(x*x + y*y)
402829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
402929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
403029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
403129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))hypot(float3 x, float3 y);
403229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
403329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
403429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
403529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
403629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return sqrt(x*x + y*y)
403729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
403829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
403929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
404029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))hypot(float4 x, float4 y);
404129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
404229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
404329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
404429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
404529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the integer exponent of a value
404629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
404729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
404829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
404929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int __attribute__((const, overloadable))ilogb(float);
405029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
405129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
405229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
405329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
405429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the integer exponent of a value
405529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
405629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
405729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
405829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))ilogb(float2);
405929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
406029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
406129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
406229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
406329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the integer exponent of a value
406429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
406529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
406629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
406729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))ilogb(float3);
406829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
406929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
407029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
407129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
407229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the integer exponent of a value
407329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
407429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
407529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
407629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))ilogb(float4);
407729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
407829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
407929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
408029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
408129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
408229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
408329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
408429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
408529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))ilogb(float, int);
408629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
408729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
408829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
408929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
409029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
409129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
409229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
409329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
409429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))ilogb(float2, int2);
409529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
409629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
409729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
409829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
409929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
410029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
410129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
410229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
410329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))ilogb(float3, int3);
410429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
410529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
410629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
410729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
410829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
410929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
411029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
411129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
411229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))ilogb(float4, int4);
411329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
411429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
411529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
411629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
411729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
411829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
411929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
412029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
412129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))ilogb(float, int);
412229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
412329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
412429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
412529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
412629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
412729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
412829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
412929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
413029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))ilogb(float2, int);
413129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
413229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
413329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
413429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
413529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
413629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
413729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
413829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
413929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))ilogb(float3, int);
414029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
414129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
414229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
414329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
414429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
414529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
414629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
414729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
414829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))ilogb(float4, int);
414929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
415029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
415129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
415229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
415329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
415429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
415529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param x Supports 1,2,3,4 components
415629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param y Supports single component or matching vector.
415729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
415829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
415929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
416029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))ldexp(float x, int y);
416129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
416229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
416329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
416429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
416529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
416629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
416729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param x Supports 1,2,3,4 components
416829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param y Supports single component or matching vector.
416929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
417029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
417129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
417229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))ldexp(float2 x, int2 y);
417329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
417429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
417529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
417629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
417729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
417829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
417929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param x Supports 1,2,3,4 components
418029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param y Supports single component or matching vector.
418129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
418229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
418329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
418429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))ldexp(float3 x, int3 y);
418529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
418629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
418729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
418829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
418929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
419029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
419129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param x Supports 1,2,3,4 components
419229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param y Supports single component or matching vector.
419329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
419429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
419529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
419629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))ldexp(float4 x, int4 y);
419729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
419829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
419929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
420029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
420129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
420229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
420329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param x Supports 1,2,3,4 components
420429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param y Supports single component or matching vector.
420529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
420629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
420729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
420829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))ldexp(float2 x, int y);
420929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
421029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
421129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
421229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
421329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
421429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
421529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param x Supports 1,2,3,4 components
421629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param y Supports single component or matching vector.
421729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
421829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
421929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
422029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))ldexp(float3 x, int y);
422129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
422229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
422329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
422429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
422529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (x * 2^y)
422629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
422729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param x Supports 1,2,3,4 components
422829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param y Supports single component or matching vector.
422929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
423029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
423129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
423229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))ldexp(float4 x, int y);
423329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
423429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
423529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
423629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
423729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the log gamma and sign
423829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
423929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
424029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
424129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))lgamma(float x);
424229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
424329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
424429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
424529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
424629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the log gamma and sign
424729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
424829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
424929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
425029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))lgamma(float2 x);
425129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
425229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
425329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
425429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
425529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the log gamma and sign
425629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
425729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
425829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
425929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))lgamma(float3 x);
426029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
426129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
426229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
426329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
426429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the log gamma and sign
426529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
426629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
426729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
426829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))lgamma(float4 x);
426929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
427029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
427129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
427229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
427329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the log gamma and sign
427429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
427529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
427629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
427729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))lgamma(float x, int *y);
427829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
427929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
428029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
428129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
428229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the log gamma and sign
428329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
428429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
428529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
428629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))lgamma(float2 x, int2 *y);
428729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
428829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
428929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
429029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
429129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the log gamma and sign
429229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
429329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
429429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
429529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))lgamma(float3 x, int3 *y);
429629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
429729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
429829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
429929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
430029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the log gamma and sign
430129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
430229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
430329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
430429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))lgamma(float4 x, int4 *y);
430529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
430629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
430729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
430829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
430929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the natural logarithm.
431029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
431129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
431229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
431329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))log(float x);
431429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
431529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
431629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
431729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
431829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the natural logarithm.
431929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
432029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
432129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
432229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))log(float2 x);
432329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
432429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
432529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
432629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
432729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the natural logarithm.
432829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
432929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
433029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
433129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))log(float3 x);
433229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
433329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
433429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
433529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
433629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the natural logarithm.
433729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
433829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
433929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
434029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))log(float4 x);
434129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
434229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
434329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
434429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
434529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the base 2 logarithm.
434629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
434729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
434829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
434929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))log2(float x);
435029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
435129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
435229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
435329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
435429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the base 2 logarithm.
435529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
435629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
435729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
435829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))log2(float2 x);
435929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
436029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
436129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
436229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
436329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the base 2 logarithm.
436429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
436529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
436629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
436729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))log2(float3 x);
436829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
436929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
437029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
437129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
437229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the base 2 logarithm.
437329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
437429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
437529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
437629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))log2(float4 x);
437729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
437829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
437929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
438029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
438129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the base 10 logarithm.
438229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
438329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
438429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
438529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))log10(float x);
438629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
438729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
438829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
438929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
439029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the base 10 logarithm.
439129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
439229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
439329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
439429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))log10(float2 x);
439529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
439629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
439729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
439829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
439929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the base 10 logarithm.
440029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
440129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
440229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
440329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))log10(float3 x);
440429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
440529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
440629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
440729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
440829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the base 10 logarithm.
440929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
441029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
441129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
441229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))log10(float4 x);
441329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
441429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
441529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
441629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
441729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the natural logarithm of (v + 1.0f)
441829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
441929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
442029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
442129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))log1p(float x);
442229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
442329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
442429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
442529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
442629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the natural logarithm of (v + 1.0f)
442729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
442829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
442929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
443029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))log1p(float2 x);
443129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
443229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
443329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
443429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
443529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the natural logarithm of (v + 1.0f)
443629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
443729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
443829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
443929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))log1p(float3 x);
444029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
444129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
444229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
444329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
444429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the natural logarithm of (v + 1.0f)
444529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
444629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
444729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
444829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))log1p(float4 x);
444929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
445029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
445129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
445229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
445329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the exponent of the value.
445429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
445529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
445629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
445729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))logb(float x);
445829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
445929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
446029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
446129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
446229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the exponent of the value.
446329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
446429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
446529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
446629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))logb(float2 x);
446729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
446829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
446929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
447029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
447129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the exponent of the value.
447229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
447329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
447429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
447529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))logb(float3 x);
447629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
447729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
447829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
447929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
448029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the exponent of the value.
448129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
448229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
448329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
448429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))logb(float4 x);
448529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
448629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
448729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
448829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
448929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute (a * b) + c
449029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
449129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
449229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
449329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))mad(float a, float b, float c);
449429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
449529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
449629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
449729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
449829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute (a * b) + c
449929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
450029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
450129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
450229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))mad(float2 a, float2 b, float2 c);
450329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
450429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
450529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
450629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
450729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute (a * b) + c
450829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
450929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
451029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
451129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))mad(float3 a, float3 b, float3 c);
451229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
451329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
451429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
451529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
451629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute (a * b) + c
451729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
451829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
451929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
452029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))mad(float4 a, float4 b, float4 c);
452129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
452229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
452329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
452429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
452529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the integral and fractional components of a number.
452629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
452729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param x Source value
452829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param iret iret[0] will be set to the integral portion of the number.
452929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @return The floating point portion of the value.
453029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
453129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
453229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
453329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))modf(float x, float *iret);
453429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
453529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
453629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
453729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
453829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the integral and fractional components of a number.
453929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
454029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param x Source value
454129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param iret iret[0] will be set to the integral portion of the number.
454229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @return The floating point portion of the value.
454329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
454429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
454529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
454629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))modf(float2 x, float2 *iret);
454729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
454829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
454929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
455029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
455129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the integral and fractional components of a number.
455229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
455329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param x Source value
455429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param iret iret[0] will be set to the integral portion of the number.
455529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @return The floating point portion of the value.
455629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
455729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
455829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
455929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))modf(float3 x, float3 *iret);
456029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
456129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
456229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
456329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
456429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the integral and fractional components of a number.
456529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
456629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param x Source value
456729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param iret iret[0] will be set to the integral portion of the number.
456829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @return The floating point portion of the value.
456929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
457029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
457129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
457229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))modf(float4 x, float4 *iret);
457329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
457429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
457529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
457629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
457729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * generate a nan
457829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
457929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
458029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
458129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))nan(uint);
458229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
458329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
458429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
458529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
458629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the next floating point number from x towards y.
458729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
458829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
458929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
459029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))nextafter(float x, float y);
459129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
459229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
459329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
459429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
459529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the next floating point number from x towards y.
459629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
459729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
459829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
459929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))nextafter(float2 x, float2 y);
460029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
460129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
460229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
460329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
460429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the next floating point number from x towards y.
460529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
460629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
460729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
460829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))nextafter(float3 x, float3 y);
460929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
461029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
461129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
461229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
461329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the next floating point number from x towards y.
461429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
461529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
461629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
461729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))nextafter(float4 x, float4 y);
461829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
461929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
462029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
462129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
462229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
462329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
462429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
462529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
462629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))pow(float x, float y);
462729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
462829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
462929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
463029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
463129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
463229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
463329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
463429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
463529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))pow(float2 x, float2 y);
463629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
463729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
463829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
463929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
464029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
464129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
464229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
464329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
464429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))pow(float3 x, float3 y);
464529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
464629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
464729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
464829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
464929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
465029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
465129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
465229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
465329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))pow(float4 x, float4 y);
465429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
465529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
465629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
465729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
465829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
465929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
466029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
466129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
466229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))pown(float x, int y);
466329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
466429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
466529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
466629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
466729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
466829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
466929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
467029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
467129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))pown(float2 x, int2 y);
467229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
467329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
467429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
467529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
467629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
467729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
467829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
467929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
468029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))pown(float3 x, int3 y);
468129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
468229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
468329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
468429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
468529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
468629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
468729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
468829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
468929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))pown(float4 x, int4 y);
469029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
469129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
469229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
469329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
469429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
469529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * y must be > 0
469629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
469729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
469829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
469929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))powr(float x, float y);
470029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
470129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
470229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
470329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
470429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
470529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * y must be > 0
470629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
470729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
470829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
470929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))powr(float2 x, float2 y);
471029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
471129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
471229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
471329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
471429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
471529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * y must be > 0
471629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
471729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
471829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
471929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))powr(float3 x, float3 y);
472029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
472129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
472229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
472329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
472429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return x ^ y.
472529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * y must be > 0
472629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
472729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
472829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
472929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))powr(float4 x, float4 y);
473029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
473129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
473229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
473329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
473429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return round x/y to the nearest integer then compute the remander.
473529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
473629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
473729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
473829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))remainder(float x, float y);
473929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
474029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
474129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
474229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
474329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return round x/y to the nearest integer then compute the remander.
474429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
474529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
474629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
474729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))remainder(float2 x, float2 y);
474829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
474929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
475029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
475129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
475229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return round x/y to the nearest integer then compute the remander.
475329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
475429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
475529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
475629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))remainder(float3 x, float3 y);
475729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
475829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
475929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
476029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
476129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return round x/y to the nearest integer then compute the remander.
476229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
476329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
476429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
476529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))remainder(float4 x, float4 y);
476629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
476729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
476829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
476929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
477029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * todo
477129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
477229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
477329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
477429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))remquo(float, float, int *);
477529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
477629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
477729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
477829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
477929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * todo
478029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
478129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
478229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
478329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))remquo(float2, float2, int2 *);
478429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
478529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
478629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
478729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
478829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * todo
478929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
479029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
479129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
479229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))remquo(float3, float3, int3 *);
479329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
479429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
479529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
479629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
479729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * todo
479829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
479929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
480029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
480129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))remquo(float4, float4, int4 *);
480229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
480329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
480429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
480529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
480629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Round to the nearest integral value.
480729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
480829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
480929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
481029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))rint(float);
481129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
481229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
481329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
481429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
481529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Round to the nearest integral value.
481629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
481729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
481829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
481929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))rint(float2);
482029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
482129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
482229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
482329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
482429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Round to the nearest integral value.
482529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
482629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
482729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
482829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))rint(float3);
482929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
483029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
483129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
483229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
483329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Round to the nearest integral value.
483429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
483529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
483629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
483729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))rint(float4);
483829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
483929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
484029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
484129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
484229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the Nth root of a value.
484329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
484429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
484529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
484629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))rootn(float v, int n);
484729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
484829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
484929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
485029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
485129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the Nth root of a value.
485229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
485329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
485429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
485529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))rootn(float2 v, int2 n);
485629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
485729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
485829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
485929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
486029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the Nth root of a value.
486129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
486229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
486329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
486429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))rootn(float3 v, int3 n);
486529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
486629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
486729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
486829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
486929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the Nth root of a value.
487029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
487129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
487229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
487329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))rootn(float4 v, int4 n);
487429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
487529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
487629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
487729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
487829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Round to the nearest integral value.  Half values are rounded away from zero.
487929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
488029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
488129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
488229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))round(float);
488329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
488429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
488529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
488629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
488729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Round to the nearest integral value.  Half values are rounded away from zero.
488829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
488929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
489029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
489129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))round(float2);
489229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
489329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
489429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
489529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
489629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Round to the nearest integral value.  Half values are rounded away from zero.
489729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
489829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
489929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
490029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))round(float3);
490129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
490229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
490329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
490429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
490529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Round to the nearest integral value.  Half values are rounded away from zero.
490629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
490729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
490829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
490929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))round(float4);
491029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
491129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
491229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
491329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
491429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (1 / sqrt(value)).
491529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
491629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
491729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
491829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))rsqrt(float);
491929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
492029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
492129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
492229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
492329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (1 / sqrt(value)).
492429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
492529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
492629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
492729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))rsqrt(float2);
492829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
492929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
493029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
493129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
493229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (1 / sqrt(value)).
493329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
493429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
493529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
493629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))rsqrt(float3);
493729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
493829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
493929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
494029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
494129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return (1 / sqrt(value)).
494229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
494329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
494429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
494529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))rsqrt(float4);
494629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
494729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
494829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
494929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
495029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the square root of a value.
495129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
495229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
495329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
495429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))sqrt(float);
495529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
495629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
495729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
495829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
495929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the square root of a value.
496029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
496129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
496229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
496329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))sqrt(float2);
496429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
496529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
496629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
496729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
496829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the square root of a value.
496929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
497029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
497129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
497229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))sqrt(float3);
497329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
497429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
497529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
497629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
497729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the square root of a value.
497829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
497929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
498029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
498129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))sqrt(float4);
498229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
498329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
498429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
498529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
498629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sine of a value specified in radians.
498729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
498829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
498929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
499029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))sin(float);
499129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
499229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
499329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
499429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
499529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sine of a value specified in radians.
499629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
499729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
499829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
499929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))sin(float2);
500029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
500129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
500229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
500329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
500429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sine of a value specified in radians.
500529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
500629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
500729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
500829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))sin(float3);
500929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
501029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
501129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
501229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
501329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sine of a value specified in radians.
501429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
501529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
501629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
501729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))sin(float4);
501829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
501929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
502029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
502129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
502229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sine and cosine of a value.
502329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
502429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @return sine
502529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param v The incoming value in radians
502629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param *cosptr cosptr[0] will be set to the cosine value.
502729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
502829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
502929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
503029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))sincos(float v, float *cosptr);
503129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
503229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
503329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
503429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
503529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sine and cosine of a value.
503629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
503729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @return sine
503829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param v The incoming value in radians
503929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param *cosptr cosptr[0] will be set to the cosine value.
504029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
504129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
504229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
504329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))sincos(float2 v, float2 *cosptr);
504429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
504529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
504629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
504729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
504829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sine and cosine of a value.
504929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
505029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @return sine
505129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param v The incoming value in radians
505229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param *cosptr cosptr[0] will be set to the cosine value.
505329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
505429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
505529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
505629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))sincos(float3 v, float3 *cosptr);
505729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
505829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
505929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
506029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
506129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sine and cosine of a value.
506229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
506329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @return sine
506429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param v The incoming value in radians
506529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param *cosptr cosptr[0] will be set to the cosine value.
506629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
506729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
506829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
506929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))sincos(float4 v, float4 *cosptr);
507029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
507129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
507229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
507329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
507429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hyperbolic sine of a value specified in radians.
507529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
507629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
507729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
507829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))sinh(float);
507929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
508029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
508129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
508229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
508329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hyperbolic sine of a value specified in radians.
508429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
508529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
508629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
508729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))sinh(float2);
508829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
508929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
509029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
509129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
509229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hyperbolic sine of a value specified in radians.
509329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
509429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
509529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
509629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))sinh(float3);
509729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
509829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
509929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
510029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
510129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hyperbolic sine of a value specified in radians.
510229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
510329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
510429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
510529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))sinh(float4);
510629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
510729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
510829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
510929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
511029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sin(v * PI).
511129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
511229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
511329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
511429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))sinpi(float);
511529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
511629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
511729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
511829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
511929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sin(v * PI).
512029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
512129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
512229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
512329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))sinpi(float2);
512429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
512529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
512629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
512729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
512829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sin(v * PI).
512929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
513029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
513129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
513229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))sinpi(float3);
513329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
513429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
513529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
513629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
513729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sin(v * PI).
513829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
513929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
514029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
514129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))sinpi(float4);
514229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
514329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
514429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
514529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
514629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the tangent of a value.
514729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
514829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
514929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
515029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))tan(float);
515129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
515229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
515329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
515429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
515529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the tangent of a value.
515629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
515729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
515829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
515929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))tan(float2);
516029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
516129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
516229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
516329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
516429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the tangent of a value.
516529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
516629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
516729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
516829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))tan(float3);
516929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
517029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
517129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
517229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
517329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the tangent of a value.
517429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
517529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
517629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
517729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))tan(float4);
517829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
517929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
518029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
518129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
518229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hyperbolic tangent of a value.
518329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
518429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
518529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
518629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))tanh(float);
518729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
518829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
518929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
519029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
519129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hyperbolic tangent of a value.
519229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
519329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
519429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
519529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))tanh(float2);
519629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
519729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
519829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
519929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
520029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hyperbolic tangent of a value.
520129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
520229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
520329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
520429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))tanh(float3);
520529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
520629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
520729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
520829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
520929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the hyperbolic tangent of a value.
521029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
521129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
521229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
521329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))tanh(float4);
521429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
521529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
521629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
521729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
521829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return tan(v * PI)
521929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
522029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
522129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
522229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))tanpi(float);
522329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
522429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
522529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
522629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
522729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return tan(v * PI)
522829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
522929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
523029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
523129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))tanpi(float2);
523229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
523329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
523429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
523529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
523629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return tan(v * PI)
523729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
523829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
523929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
524029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))tanpi(float3);
524129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
524229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
524329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
524429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
524529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return tan(v * PI)
524629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
524729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
524829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
524929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))tanpi(float4);
525029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
525129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
525229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
525329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
525429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the gamma function of a value.
525529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
525629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
525729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
525829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))tgamma(float);
525929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
526029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
526129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
526229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
526329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the gamma function of a value.
526429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
526529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
526629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
526729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))tgamma(float2);
526829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
526929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
527029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
527129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
527229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the gamma function of a value.
527329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
527429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
527529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
527629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))tgamma(float3);
527729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
527829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
527929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
528029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
528129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the gamma function of a value.
528229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
528329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
528429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
528529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))tgamma(float4);
528629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
528729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
528829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
528929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
529029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * ound to integral using truncation.
529129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
529229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
529329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
529429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))trunc(float);
529529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
529629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
529729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
529829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
529929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * ound to integral using truncation.
530029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
530129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
530229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
530329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))trunc(float2);
530429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
530529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
530629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
530729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
530829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * ound to integral using truncation.
530929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
531029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
531129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
531229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))trunc(float3);
531329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
531429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
531529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
531629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
531729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * ound to integral using truncation.
531829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
531929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
532029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
532129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))trunc(float4);
532229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
532329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
532429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
532529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
532629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
532729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
532829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
532929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
533029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar __attribute__((const, overloadable))abs(char value);
533129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
533229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
533329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
533429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
533529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
533629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
533729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
533829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
533929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))abs(char2 value);
534029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
534129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
534229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
534329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
534429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
534529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
534629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
534729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
534829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))abs(char3 value);
534929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
535029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
535129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
535229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
535329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
535429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
535529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
535629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
535729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))abs(char4 value);
535829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
535929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
536029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
536129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
536229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
536329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
536429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
536529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
536629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort __attribute__((const, overloadable))abs(short value);
536729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
536829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
536929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
537029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
537129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
537229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
537329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
537429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
537529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))abs(short2 value);
537629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
537729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
537829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
537929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
538029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
538129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
538229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
538329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
538429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))abs(short3 value);
538529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
538629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
538729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
538829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
538929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
539029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
539129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
539229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
539329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))abs(short4 value);
539429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
539529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
539629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
539729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
539829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
539929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
540029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
540129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
540229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint __attribute__((const, overloadable))abs(int value);
540329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
540429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
540529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
540629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
540729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
540829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
540929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
541029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
541129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))abs(int2 value);
541229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
541329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
541429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
541529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
541629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
541729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
541829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
541929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
542029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))abs(int3 value);
542129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
542229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
542329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
542429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
542529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the absolute value of a value.
542629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
542729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
542829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
542929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))abs(int4 value);
543029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
543129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
543229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
543329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
543429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
543529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
543629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
543729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
543829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char __attribute__((const, overloadable))clz(char value);
543929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
544029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
544129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
544229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
544329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
544429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
544529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
544629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
544729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))clz(char2 value);
544829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
544929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
545029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
545129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
545229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
545329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
545429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
545529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
545629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))clz(char3 value);
545729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
545829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
545929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
546029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
546129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
546229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
546329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
546429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
546529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))clz(char4 value);
546629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
546729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
546829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
546929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
547029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
547129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
547229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
547329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
547429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar __attribute__((const, overloadable))clz(uchar value);
547529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
547629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
547729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
547829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
547929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
548029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
548129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
548229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
548329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))clz(uchar2 value);
548429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
548529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
548629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
548729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
548829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
548929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
549029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
549129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
549229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))clz(uchar3 value);
549329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
549429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
549529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
549629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
549729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
549829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
549929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
550029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
550129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))clz(uchar4 value);
550229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
550329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
550429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
550529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
550629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
550729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
550829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
550929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
551029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short __attribute__((const, overloadable))clz(short value);
551129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
551229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
551329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
551429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
551529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
551629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
551729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
551829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
551929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))clz(short2 value);
552029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
552129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
552229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
552329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
552429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
552529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
552629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
552729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
552829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))clz(short3 value);
552929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
553029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
553129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
553229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
553329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
553429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
553529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
553629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
553729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))clz(short4 value);
553829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
553929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
554029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
554129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
554229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
554329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
554429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
554529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
554629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort __attribute__((const, overloadable))clz(ushort value);
554729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
554829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
554929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
555029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
555129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
555229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
555329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
555429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
555529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))clz(ushort2 value);
555629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
555729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
555829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
555929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
556029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
556129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
556229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
556329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
556429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))clz(ushort3 value);
556529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
556629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
556729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
556829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
556929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
557029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
557129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
557229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
557329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))clz(ushort4 value);
557429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
557529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
557629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
557729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
557829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
557929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
558029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
558129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
558229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int __attribute__((const, overloadable))clz(int value);
558329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
558429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
558529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
558629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
558729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
558829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
558929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
559029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
559129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))clz(int2 value);
559229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
559329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
559429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
559529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
559629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
559729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
559829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
559929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
560029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))clz(int3 value);
560129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
560229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
560329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
560429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
560529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
560629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
560729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
560829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
560929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))clz(int4 value);
561029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
561129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
561229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
561329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
561429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
561529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
561629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
561729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
561829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint __attribute__((const, overloadable))clz(uint value);
561929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
562029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
562129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
562229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
562329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
562429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
562529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
562629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
562729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))clz(uint2 value);
562829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
562929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
563029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
563129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
563229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
563329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
563429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
563529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
563629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))clz(uint3 value);
563729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
563829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
563929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
564029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
564129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the number of leading 0-bits in a value.
564229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
564329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
564429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
564529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))clz(uint4 value);
564629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
564729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
564829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
564929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
565029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
565129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
565229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
565329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
565429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))min(float, float);
565529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
565629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
565729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
565829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
565929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
566029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
566129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
566229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
566329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))min(float2, float2);
566429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
566529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
566629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
566729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
566829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
566929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
567029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
567129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
567229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))min(float3, float3);
567329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
567429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
567529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
567629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
567729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
567829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
567929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
568029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
568129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))min(float4, float4);
568229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
568329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
568429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
568529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
568629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
568729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
568829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
568929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
569029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic char __attribute__((const, overloadable))min(char v1, char v2) {
569129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 < v2 ? v1 : v2);
569229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
569329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
569429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
569529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
569629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
569729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
569829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
569929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
570029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
570129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uchar __attribute__((const, overloadable))min(uchar v1, uchar v2) {
570229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 < v2 ? v1 : v2);
570329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
570429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
570529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
570629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
570729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
570829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
570929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
571029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
571129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
571229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic short __attribute__((const, overloadable))min(short v1, short v2) {
571329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 < v2 ? v1 : v2);
571429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
571529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
571629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
571729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
571829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
571929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
572029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
572129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
572229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
572329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic ushort __attribute__((const, overloadable))min(ushort v1, ushort v2) {
572429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 < v2 ? v1 : v2);
572529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
572629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
572729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
572829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
572929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
573029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
573129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
573229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
573329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
573429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic int __attribute__((const, overloadable))min(int v1, int v2) {
573529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 < v2 ? v1 : v2);
573629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
573729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
573829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
573929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
574029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
574129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
574229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
574329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
574429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
574529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uint __attribute__((const, overloadable))min(uint v1, uint v2) {
574629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 < v2 ? v1 : v2);
574729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
574829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
574929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
575029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
575129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
575229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
575329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
575429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
575529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
575629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic char2 __attribute__((const, overloadable))min(char2 v1, char2 v2) {
575729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams char2 tmp;
575829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
575929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
576029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
576129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
576229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
576329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
576429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
576529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
576629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
576729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
576829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
576929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
577029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uchar2 __attribute__((const, overloadable))min(uchar2 v1, uchar2 v2) {
577129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uchar2 tmp;
577229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
577329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
577429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
577529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
577629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
577729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
577829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
577929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
578029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
578129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
578229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
578329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
578429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic short2 __attribute__((const, overloadable))min(short2 v1, short2 v2) {
578529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams short2 tmp;
578629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
578729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
578829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
578929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
579029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
579129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
579229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
579329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
579429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
579529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
579629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
579729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
579829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic ushort2 __attribute__((const, overloadable))min(ushort2 v1, ushort2 v2) {
579929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams ushort2 tmp;
580029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
580129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
580229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
580329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
580429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
580529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
580629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
580729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
580829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
580929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
581029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
581129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
581229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic int2 __attribute__((const, overloadable))min(int2 v1, int2 v2) {
581329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams int2 tmp;
581429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
581529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
581629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
581729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
581829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
581929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
582029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
582129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
582229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
582329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
582429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
582529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
582629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uint2 __attribute__((const, overloadable))min(uint2 v1, uint2 v2) {
582729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uint2 tmp;
582829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
582929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
583029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
583129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
583229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
583329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
583429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
583529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
583629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
583729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
583829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
583929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
584029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic char3 __attribute__((const, overloadable))min(char3 v1, char3 v2) {
584129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams char3 tmp;
584229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
584329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
584429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
584529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
584629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
584729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
584829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
584929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
585029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
585129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
585229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
585329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
585429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
585529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uchar3 __attribute__((const, overloadable))min(uchar3 v1, uchar3 v2) {
585629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uchar3 tmp;
585729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
585829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
585929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
586029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
586129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
586229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
586329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
586429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
586529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
586629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
586729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
586829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
586929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
587029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic short3 __attribute__((const, overloadable))min(short3 v1, short3 v2) {
587129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams short3 tmp;
587229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
587329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
587429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
587529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
587629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
587729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
587829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
587929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
588029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
588129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
588229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
588329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
588429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
588529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic ushort3 __attribute__((const, overloadable))min(ushort3 v1, ushort3 v2) {
588629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams ushort3 tmp;
588729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
588829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
588929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
589029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
589129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
589229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
589329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
589429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
589529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
589629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
589729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
589829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
589929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
590029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic int3 __attribute__((const, overloadable))min(int3 v1, int3 v2) {
590129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams int3 tmp;
590229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
590329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
590429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
590529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
590629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
590729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
590829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
590929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
591029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
591129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
591229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
591329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
591429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
591529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uint3 __attribute__((const, overloadable))min(uint3 v1, uint3 v2) {
591629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uint3 tmp;
591729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
591829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
591929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
592029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
592129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
592229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
592329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
592429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
592529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
592629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
592729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
592829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
592929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
593029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic char4 __attribute__((const, overloadable))min(char4 v1, char4 v2) {
593129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams char4 tmp;
593229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
593329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
593429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
593529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w < v2.w ? v1.w : v2.w);
593629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
593729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
593829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
593929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
594029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
594129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
594229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
594329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
594429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
594529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
594629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uchar4 __attribute__((const, overloadable))min(uchar4 v1, uchar4 v2) {
594729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uchar4 tmp;
594829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
594929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
595029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
595129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w < v2.w ? v1.w : v2.w);
595229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
595329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
595429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
595529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
595629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
595729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
595829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
595929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
596029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
596129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
596229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic short4 __attribute__((const, overloadable))min(short4 v1, short4 v2) {
596329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams short4 tmp;
596429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
596529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
596629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
596729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w < v2.w ? v1.w : v2.w);
596829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
596929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
597029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
597129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
597229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
597329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
597429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
597529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
597629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
597729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
597829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic ushort4 __attribute__((const, overloadable))min(ushort4 v1, ushort4 v2) {
597929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams ushort4 tmp;
598029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
598129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
598229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
598329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w < v2.w ? v1.w : v2.w);
598429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
598529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
598629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
598729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
598829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
598929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
599029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
599129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
599229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
599329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
599429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic int4 __attribute__((const, overloadable))min(int4 v1, int4 v2) {
599529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams int4 tmp;
599629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
599729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
599829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
599929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w < v2.w ? v1.w : v2.w);
600029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
600129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
600229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
600329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
600429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
600529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
600629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
600729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
600829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
600929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
601029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uint4 __attribute__((const, overloadable))min(uint4 v1, uint4 v2) {
601129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uint4 tmp;
601229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x < v2.x ? v1.x : v2.x);
601329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y < v2.y ? v1.y : v2.y);
601429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z < v2.z ? v1.z : v2.z);
601529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w < v2.w ? v1.w : v2.w);
601629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
601729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
601829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
601929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
602029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
602129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
602229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
602329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
602429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
602529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
602629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char __attribute__((const, overloadable))min(char v1, char v2);
602729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
602829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
602929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
603029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
603129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
603229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
603329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
603429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
603529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))min(char2 v1, char2 v2);
603629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
603729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
603829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
603929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
604029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
604129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
604229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
604329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
604429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))min(char3 v1, char3 v2);
604529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
604629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
604729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
604829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
604929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
605029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
605129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
605229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
605329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))min(char4 v1, char4 v2);
605429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
605529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
605629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
605729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
605829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
605929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
606029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
606129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
606229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar __attribute__((const, overloadable))min(uchar v1, uchar v2);
606329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
606429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
606529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
606629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
606729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
606829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
606929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
607029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
607129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))min(uchar2 v1, uchar2 v2);
607229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
607329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
607429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
607529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
607629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
607729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
607829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
607929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
608029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))min(uchar3 v1, uchar3 v2);
608129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
608229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
608329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
608429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
608529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
608629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
608729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
608829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
608929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))min(uchar4 v1, uchar4 v2);
609029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
609129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
609229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
609329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
609429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
609529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
609629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
609729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
609829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short __attribute__((const, overloadable))min(short v1, short v2);
609929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
610029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
610129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
610229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
610329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
610429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
610529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
610629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
610729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))min(short2 v1, short2 v2);
610829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
610929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
611029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
611129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
611229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
611329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
611429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
611529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
611629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))min(short3 v1, short3 v2);
611729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
611829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
611929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
612029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
612129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
612229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
612329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
612429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
612529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))min(short4 v1, short4 v2);
612629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
612729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
612829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
612929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
613029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
613129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
613229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
613329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
613429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort __attribute__((const, overloadable))min(ushort v1, ushort v2);
613529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
613629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
613729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
613829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
613929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
614029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
614129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
614229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
614329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))min(ushort2 v1, ushort2 v2);
614429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
614529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
614629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
614729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
614829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
614929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
615029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
615129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
615229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))min(ushort3 v1, ushort3 v2);
615329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
615429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
615529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
615629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
615729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
615829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
615929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
616029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
616129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))min(ushort4 v1, ushort4 v2);
616229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
616329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
616429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
616529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
616629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
616729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
616829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
616929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
617029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int __attribute__((const, overloadable))min(int v1, int v2);
617129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
617229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
617329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
617429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
617529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
617629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
617729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
617829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
617929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))min(int2 v1, int2 v2);
618029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
618129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
618229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
618329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
618429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
618529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
618629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
618729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
618829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))min(int3 v1, int3 v2);
618929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
619029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
619129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
619229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
619329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
619429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
619529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
619629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
619729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))min(int4 v1, int4 v2);
619829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
619929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
620029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
620129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
620229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
620329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
620429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
620529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
620629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint __attribute__((const, overloadable))min(uint v1, uint v2);
620729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
620829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
620929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
621029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
621129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
621229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
621329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
621429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
621529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))min(uint2 v1, uint2 v2);
621629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
621729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
621829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
621929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
622029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
622129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
622229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
622329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
622429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))min(uint3 v1, uint3 v2);
622529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
622629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
622729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
622829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
622929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
623029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
623129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
623229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
623329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))min(uint4 v1, uint4 v2);
623429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
623529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
623629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
623729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
623829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
623929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
624029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
624129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
624229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long __attribute__((const, overloadable))min(long v1, long v2);
624329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
624429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
624529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
624629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
624729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
624829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
624929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
625029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
625129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))min(long2 v1, long2 v2);
625229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
625329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
625429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
625529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
625629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
625729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
625829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
625929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
626029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))min(long3 v1, long3 v2);
626129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
626229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
626329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
626429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
626529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
626629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
626729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
626829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
626929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))min(long4 v1, long4 v2);
627029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
627129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
627229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
627329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
627429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
627529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
627629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
627729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
627829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong __attribute__((const, overloadable))min(ulong v1, ulong v2);
627929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
628029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
628129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
628229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
628329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
628429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
628529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
628629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
628729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))min(ulong2 v1, ulong2 v2);
628829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
628929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
629029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
629129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
629229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
629329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
629429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
629529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
629629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))min(ulong3 v1, ulong3 v2);
629729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
629829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
629929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
630029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
630129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the minimum value from two arguments
630229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
630329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
630429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
630529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))min(ulong4 v1, ulong4 v2);
630629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
630729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
630829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
630929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
631029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
631129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
631229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
631329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
631429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))max(float, float);
631529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
631629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
631729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
631829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
631929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
632029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
632129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
632229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
632329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))max(float2, float2);
632429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
632529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
632629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
632729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
632829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
632929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
633029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
633129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
633229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))max(float3, float3);
633329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
633429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
633529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
633629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
633729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
633829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
633929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
634029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
634129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))max(float4, float4);
634229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
634329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
634429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
634529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
634629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
634729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
634829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
634929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
635029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic char __attribute__((const, overloadable))max(char v1, char v2) {
635129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 > v2 ? v1 : v2);
635229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
635329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
635429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
635529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
635629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
635729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
635829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
635929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
636029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
636129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uchar __attribute__((const, overloadable))max(uchar v1, uchar v2) {
636229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 > v2 ? v1 : v2);
636329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
636429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
636529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
636629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
636729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
636829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
636929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
637029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
637129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
637229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic short __attribute__((const, overloadable))max(short v1, short v2) {
637329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 > v2 ? v1 : v2);
637429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
637529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
637629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
637729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
637829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
637929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
638029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
638129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
638229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
638329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic ushort __attribute__((const, overloadable))max(ushort v1, ushort v2) {
638429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 > v2 ? v1 : v2);
638529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
638629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
638729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
638829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
638929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
639029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
639129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
639229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
639329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
639429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic int __attribute__((const, overloadable))max(int v1, int v2) {
639529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 > v2 ? v1 : v2);
639629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
639729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
639829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
639929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
640029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
640129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
640229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
640329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
640429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
640529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uint __attribute__((const, overloadable))max(uint v1, uint v2) {
640629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return (v1 > v2 ? v1 : v2);
640729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
640829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
640929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
641029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
641129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
641229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
641329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
641429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
641529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
641629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic char2 __attribute__((const, overloadable))max(char2 v1, char2 v2) {
641729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams char2 tmp;
641829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
641929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
642029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
642129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
642229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
642329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
642429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
642529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
642629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
642729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
642829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
642929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
643029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uchar2 __attribute__((const, overloadable))max(uchar2 v1, uchar2 v2) {
643129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uchar2 tmp;
643229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
643329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
643429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
643529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
643629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
643729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
643829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
643929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
644029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
644129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
644229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
644329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
644429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic short2 __attribute__((const, overloadable))max(short2 v1, short2 v2) {
644529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams short2 tmp;
644629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
644729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
644829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
644929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
645029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
645129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
645229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
645329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
645429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
645529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
645629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
645729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
645829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic ushort2 __attribute__((const, overloadable))max(ushort2 v1, ushort2 v2) {
645929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams ushort2 tmp;
646029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
646129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
646229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
646329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
646429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
646529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
646629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
646729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
646829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
646929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
647029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
647129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
647229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic int2 __attribute__((const, overloadable))max(int2 v1, int2 v2) {
647329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams int2 tmp;
647429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
647529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
647629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
647729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
647829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
647929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
648029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
648129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
648229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
648329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
648429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
648529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
648629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uint2 __attribute__((const, overloadable))max(uint2 v1, uint2 v2) {
648729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uint2 tmp;
648829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
648929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
649029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
649129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
649229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
649329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
649429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
649529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
649629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
649729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
649829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
649929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
650029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic char3 __attribute__((const, overloadable))max(char3 v1, char3 v2) {
650129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams char3 tmp;
650229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
650329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
650429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
650529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
650629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
650729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
650829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
650929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
651029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
651129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
651229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
651329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
651429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
651529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uchar3 __attribute__((const, overloadable))max(uchar3 v1, uchar3 v2) {
651629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uchar3 tmp;
651729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
651829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
651929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
652029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
652129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
652229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
652329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
652429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
652529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
652629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
652729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
652829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
652929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
653029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic short3 __attribute__((const, overloadable))max(short3 v1, short3 v2) {
653129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams short3 tmp;
653229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
653329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
653429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
653529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
653629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
653729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
653829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
653929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
654029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
654129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
654229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
654329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
654429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
654529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic ushort3 __attribute__((const, overloadable))max(ushort3 v1, ushort3 v2) {
654629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams ushort3 tmp;
654729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
654829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
654929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
655029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
655129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
655229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
655329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
655429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
655529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
655629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
655729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
655829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
655929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
656029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic int3 __attribute__((const, overloadable))max(int3 v1, int3 v2) {
656129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams int3 tmp;
656229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
656329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
656429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
656529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
656629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
656729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
656829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
656929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
657029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
657129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
657229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
657329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
657429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
657529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uint3 __attribute__((const, overloadable))max(uint3 v1, uint3 v2) {
657629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uint3 tmp;
657729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
657829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
657929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
658029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
658129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
658229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
658329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
658429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
658529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
658629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
658729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
658829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
658929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
659029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic char4 __attribute__((const, overloadable))max(char4 v1, char4 v2) {
659129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams char4 tmp;
659229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
659329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
659429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
659529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w > v2.w ? v1.w : v2.w);
659629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
659729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
659829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
659929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
660029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
660129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
660229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
660329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
660429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
660529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
660629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uchar4 __attribute__((const, overloadable))max(uchar4 v1, uchar4 v2) {
660729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uchar4 tmp;
660829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
660929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
661029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
661129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w > v2.w ? v1.w : v2.w);
661229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
661329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
661429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
661529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
661629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
661729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
661829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
661929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
662029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
662129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
662229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic short4 __attribute__((const, overloadable))max(short4 v1, short4 v2) {
662329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams short4 tmp;
662429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
662529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
662629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
662729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w > v2.w ? v1.w : v2.w);
662829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
662929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
663029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
663129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
663229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
663329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
663429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
663529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
663629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
663729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
663829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic ushort4 __attribute__((const, overloadable))max(ushort4 v1, ushort4 v2) {
663929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams ushort4 tmp;
664029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
664129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
664229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
664329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w > v2.w ? v1.w : v2.w);
664429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
664529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
664629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
664729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
664829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
664929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
665029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
665129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
665229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
665329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
665429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic int4 __attribute__((const, overloadable))max(int4 v1, int4 v2) {
665529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams int4 tmp;
665629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
665729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
665829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
665929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w > v2.w ? v1.w : v2.w);
666029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
666129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
666229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
666329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
666429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
666529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
666629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
666729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
666829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19
666929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
667029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsstatic uint4 __attribute__((const, overloadable))max(uint4 v1, uint4 v2) {
667129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams uint4 tmp;
667229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.x = (v1.x > v2.x ? v1.x : v2.x);
667329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.y = (v1.y > v2.y ? v1.y : v2.y);
667429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.z = (v1.z > v2.z ? v1.z : v2.z);
667529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams tmp.w = (v1.w > v2.w ? v1.w : v2.w);
667629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp;
667729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams}
667829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
667929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
668029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
668129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
668229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
668329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
668429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
668529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
668629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char __attribute__((const, overloadable))max(char v1, char v2);
668729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
668829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
668929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
669029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
669129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
669229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
669329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
669429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
669529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))max(char2 v1, char2 v2);
669629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
669729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
669829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
669929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
670029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
670129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
670229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
670329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
670429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))max(char3 v1, char3 v2);
670529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
670629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
670729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
670829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
670929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
671029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
671129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
671229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
671329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))max(char4 v1, char4 v2);
671429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
671529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
671629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
671729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
671829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
671929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
672029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
672129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
672229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar __attribute__((const, overloadable))max(uchar v1, uchar v2);
672329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
672429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
672529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
672629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
672729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
672829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
672929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
673029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
673129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))max(uchar2 v1, uchar2 v2);
673229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
673329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
673429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
673529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
673629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
673729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
673829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
673929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
674029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))max(uchar3 v1, uchar3 v2);
674129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
674229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
674329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
674429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
674529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
674629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
674729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
674829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
674929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))max(uchar4 v1, uchar4 v2);
675029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
675129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
675229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
675329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
675429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
675529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
675629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
675729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
675829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short __attribute__((const, overloadable))max(short v1, short v2);
675929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
676029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
676129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
676229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
676329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
676429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
676529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
676629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
676729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))max(short2 v1, short2 v2);
676829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
676929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
677029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
677129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
677229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
677329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
677429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
677529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
677629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))max(short3 v1, short3 v2);
677729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
677829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
677929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
678029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
678129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
678229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
678329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
678429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
678529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))max(short4 v1, short4 v2);
678629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
678729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
678829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
678929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
679029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
679129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
679229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
679329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
679429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort __attribute__((const, overloadable))max(ushort v1, ushort v2);
679529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
679629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
679729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
679829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
679929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
680029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
680129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
680229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
680329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))max(ushort2 v1, ushort2 v2);
680429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
680529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
680629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
680729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
680829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
680929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
681029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
681129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
681229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))max(ushort3 v1, ushort3 v2);
681329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
681429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
681529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
681629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
681729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
681829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
681929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
682029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
682129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))max(ushort4 v1, ushort4 v2);
682229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
682329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
682429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
682529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
682629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
682729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
682829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
682929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
683029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int __attribute__((const, overloadable))max(int v1, int v2);
683129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
683229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
683329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
683429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
683529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
683629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
683729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
683829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
683929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))max(int2 v1, int2 v2);
684029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
684129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
684229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
684329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
684429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
684529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
684629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
684729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
684829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))max(int3 v1, int3 v2);
684929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
685029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
685129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
685229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
685329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
685429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
685529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
685629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
685729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))max(int4 v1, int4 v2);
685829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
685929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
686029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
686129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
686229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
686329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
686429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
686529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
686629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint __attribute__((const, overloadable))max(uint v1, uint v2);
686729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
686829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
686929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
687029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
687129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
687229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
687329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
687429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
687529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))max(uint2 v1, uint2 v2);
687629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
687729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
687829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
687929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
688029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
688129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
688229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
688329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
688429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))max(uint3 v1, uint3 v2);
688529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
688629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
688729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
688829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
688929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
689029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
689129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
689229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
689329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))max(uint4 v1, uint4 v2);
689429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
689529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
689629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
689729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
689829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
689929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
690029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
690129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
690229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long __attribute__((const, overloadable))max(long v1, long v2);
690329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
690429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
690529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
690629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
690729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
690829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
690929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
691029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
691129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))max(long2 v1, long2 v2);
691229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
691329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
691429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
691529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
691629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
691729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
691829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
691929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
692029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))max(long3 v1, long3 v2);
692129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
692229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
692329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
692429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
692529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
692629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
692729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
692829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
692929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))max(long4 v1, long4 v2);
693029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
693129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
693229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
693329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
693429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
693529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
693629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
693729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
693829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong __attribute__((const, overloadable))max(ulong v1, ulong v2);
693929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
694029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
694129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
694229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
694329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
694429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
694529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
694629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
694729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))max(ulong2 v1, ulong2 v2);
694829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
694929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
695029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
695129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
695229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
695329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
695429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
695529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
695629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))max(ulong3 v1, ulong3 v2);
695729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
695829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
695929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 20))
696029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
696129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments
696229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
696329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 20 and newer.
696429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
696529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))max(ulong4 v1, ulong4 v2);
696629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
696729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
696829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
696929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
697029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
697129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
697229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
697329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
697429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
697529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
697629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
697729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
697829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))clamp(float value, float min_value, float max_value);
697929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
698029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
698129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
698229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
698329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
698429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
698529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
698629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
698729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
698829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
698929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
699029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
699129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))clamp(float2 value, float2 min_value, float2 max_value);
699229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
699329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
699429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
699529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
699629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
699729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
699829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
699929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
700029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
700129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
700229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
700329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
700429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))clamp(float3 value, float3 min_value, float3 max_value);
700529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
700629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
700729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
700829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
700929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
701029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
701129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
701229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
701329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
701429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
701529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
701629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
701729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))clamp(float4 value, float4 min_value, float4 max_value);
701829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
701929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
702029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
702129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
702229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
702329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
702429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
702529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
702629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
702729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
702829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
702929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
703029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))clamp(float value, float min_value, float max_value);
703129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
703229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
703329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
703429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
703529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
703629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
703729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
703829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
703929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
704029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
704129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
704229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
704329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))clamp(float2 value, float min_value, float max_value);
704429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
704529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
704629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
704729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
704829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
704929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
705029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
705129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
705229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
705329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
705429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
705529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
705629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))clamp(float3 value, float min_value, float max_value);
705729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
705829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
705929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
706029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
706129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
706229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
706329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
706429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
706529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
706629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
706729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
706829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
706929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))clamp(float4 value, float min_value, float max_value);
707029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
707129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
707229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
707329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
707429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
707529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
707629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
707729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
707829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
707929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
708029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
708129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
708229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char __attribute__((const, overloadable))clamp(char value, char min_value, char max_value);
708329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
708429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
708529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
708629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
708729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
708829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
708929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
709029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
709129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
709229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
709329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
709429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
709529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))clamp(char2 value, char2 min_value, char2 max_value);
709629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
709729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
709829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
709929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
710029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
710129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
710229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
710329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
710429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
710529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
710629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
710729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
710829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))clamp(char3 value, char3 min_value, char3 max_value);
710929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
711029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
711129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
711229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
711329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
711429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
711529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
711629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
711729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
711829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
711929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
712029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
712129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))clamp(char4 value, char4 min_value, char4 max_value);
712229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
712329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
712429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
712529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
712629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
712729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
712829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
712929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
713029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
713129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
713229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
713329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
713429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar __attribute__((const, overloadable))clamp(uchar value, uchar min_value, uchar max_value);
713529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
713629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
713729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
713829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
713929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
714029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
714129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
714229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
714329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
714429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
714529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
714629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
714729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))clamp(uchar2 value, uchar2 min_value, uchar2 max_value);
714829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
714929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
715029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
715129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
715229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
715329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
715429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
715529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
715629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
715729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
715829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
715929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
716029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))clamp(uchar3 value, uchar3 min_value, uchar3 max_value);
716129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
716229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
716329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
716429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
716529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
716629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
716729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
716829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
716929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
717029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
717129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
717229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
717329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))clamp(uchar4 value, uchar4 min_value, uchar4 max_value);
717429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
717529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
717629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
717729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
717829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
717929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
718029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
718129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
718229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
718329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
718429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
718529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
718629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short __attribute__((const, overloadable))clamp(short value, short min_value, short max_value);
718729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
718829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
718929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
719029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
719129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
719229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
719329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
719429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
719529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
719629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
719729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
719829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
719929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))clamp(short2 value, short2 min_value, short2 max_value);
720029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
720129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
720229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
720329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
720429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
720529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
720629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
720729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
720829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
720929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
721029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
721129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
721229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))clamp(short3 value, short3 min_value, short3 max_value);
721329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
721429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
721529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
721629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
721729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
721829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
721929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
722029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
722129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
722229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
722329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
722429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
722529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))clamp(short4 value, short4 min_value, short4 max_value);
722629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
722729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
722829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
722929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
723029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
723129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
723229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
723329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
723429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
723529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
723629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
723729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
723829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort __attribute__((const, overloadable))clamp(ushort value, ushort min_value, ushort max_value);
723929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
724029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
724129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
724229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
724329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
724429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
724529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
724629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
724729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
724829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
724929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
725029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
725129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))clamp(ushort2 value, ushort2 min_value, ushort2 max_value);
725229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
725329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
725429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
725529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
725629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
725729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
725829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
725929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
726029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
726129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
726229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
726329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
726429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))clamp(ushort3 value, ushort3 min_value, ushort3 max_value);
726529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
726629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
726729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
726829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
726929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
727029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
727129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
727229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
727329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
727429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
727529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
727629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
727729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))clamp(ushort4 value, ushort4 min_value, ushort4 max_value);
727829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
727929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
728029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
728129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
728229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
728329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
728429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
728529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
728629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
728729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
728829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
728929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
729029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int __attribute__((const, overloadable))clamp(int value, int min_value, int max_value);
729129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
729229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
729329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
729429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
729529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
729629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
729729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
729829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
729929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
730029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
730129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
730229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
730329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))clamp(int2 value, int2 min_value, int2 max_value);
730429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
730529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
730629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
730729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
730829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
730929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
731029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
731129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
731229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
731329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
731429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
731529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
731629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))clamp(int3 value, int3 min_value, int3 max_value);
731729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
731829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
731929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
732029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
732129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
732229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
732329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
732429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
732529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
732629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
732729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
732829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
732929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))clamp(int4 value, int4 min_value, int4 max_value);
733029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
733129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
733229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
733329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
733429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
733529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
733629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
733729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
733829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
733929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
734029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
734129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
734229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint __attribute__((const, overloadable))clamp(uint value, uint min_value, uint max_value);
734329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
734429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
734529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
734629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
734729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
734829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
734929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
735029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
735129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
735229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
735329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
735429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
735529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))clamp(uint2 value, uint2 min_value, uint2 max_value);
735629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
735729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
735829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
735929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
736029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
736129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
736229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
736329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
736429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
736529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
736629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
736729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
736829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))clamp(uint3 value, uint3 min_value, uint3 max_value);
736929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
737029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
737129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
737229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
737329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
737429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
737529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
737629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
737729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
737829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
737929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
738029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
738129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))clamp(uint4 value, uint4 min_value, uint4 max_value);
738229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
738329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
738429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
738529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
738629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
738729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
738829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
738929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
739029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
739129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
739229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
739329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
739429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long __attribute__((const, overloadable))clamp(long value, long min_value, long max_value);
739529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
739629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
739729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
739829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
739929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
740029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
740129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
740229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
740329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
740429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
740529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
740629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
740729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))clamp(long2 value, long2 min_value, long2 max_value);
740829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
740929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
741029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
741129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
741229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
741329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
741429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
741529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
741629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
741729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
741829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
741929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
742029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))clamp(long3 value, long3 min_value, long3 max_value);
742129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
742229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
742329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
742429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
742529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
742629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
742729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
742829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
742929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
743029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
743129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
743229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
743329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))clamp(long4 value, long4 min_value, long4 max_value);
743429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
743529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
743629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
743729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
743829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
743929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
744029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
744129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
744229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
744329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
744429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
744529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
744629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong __attribute__((const, overloadable))clamp(ulong value, ulong min_value, ulong max_value);
744729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
744829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
744929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
745029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
745129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
745229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
745329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
745429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
745529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
745629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
745729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
745829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
745929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))clamp(ulong2 value, ulong2 min_value, ulong2 max_value);
746029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
746129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
746229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
746329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
746429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
746529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
746629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
746729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
746829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
746929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
747029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
747129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
747229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))clamp(ulong3 value, ulong3 min_value, ulong3 max_value);
747329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
747429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
747529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
747629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
747729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
747829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
747929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
748029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
748129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
748229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
748329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
748429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
748529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))clamp(ulong4 value, ulong4 min_value, ulong4 max_value);
748629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
748729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
748829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
748929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
749029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
749129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
749229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
749329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
749429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
749529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
749629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
749729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
749829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char __attribute__((const, overloadable))clamp(char value, char min_value, char max_value);
749929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
750029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
750129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
750229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
750329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
750429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
750529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
750629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
750729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
750829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
750929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
751029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
751129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char2 __attribute__((const, overloadable))clamp(char2 value, char min_value, char max_value);
751229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
751329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
751429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
751529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
751629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
751729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
751829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
751929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
752029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
752129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
752229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
752329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
752429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char3 __attribute__((const, overloadable))clamp(char3 value, char min_value, char max_value);
752529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
752629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
752729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
752829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
752929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
753029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
753129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
753229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
753329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
753429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
753529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
753629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
753729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern char4 __attribute__((const, overloadable))clamp(char4 value, char min_value, char max_value);
753829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
753929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
754029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
754129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
754229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
754329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
754429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
754529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
754629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
754729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
754829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
754929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
755029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar __attribute__((const, overloadable))clamp(uchar value, uchar min_value, uchar max_value);
755129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
755229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
755329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
755429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
755529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
755629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
755729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
755829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
755929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
756029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
756129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
756229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
756329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar2 __attribute__((const, overloadable))clamp(uchar2 value, uchar min_value, uchar max_value);
756429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
756529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
756629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
756729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
756829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
756929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
757029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
757129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
757229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
757329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
757429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
757529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
757629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar3 __attribute__((const, overloadable))clamp(uchar3 value, uchar min_value, uchar max_value);
757729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
757829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
757929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
758029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
758129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
758229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
758329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
758429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
758529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
758629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
758729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
758829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
758929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uchar4 __attribute__((const, overloadable))clamp(uchar4 value, uchar min_value, uchar max_value);
759029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
759129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
759229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
759329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
759429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
759529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
759629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
759729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
759829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
759929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
760029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
760129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
760229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short __attribute__((const, overloadable))clamp(short value, short min_value, short max_value);
760329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
760429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
760529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
760629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
760729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
760829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
760929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
761029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
761129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
761229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
761329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
761429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
761529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short2 __attribute__((const, overloadable))clamp(short2 value, short min_value, short max_value);
761629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
761729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
761829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
761929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
762029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
762129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
762229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
762329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
762429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
762529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
762629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
762729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
762829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short3 __attribute__((const, overloadable))clamp(short3 value, short min_value, short max_value);
762929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
763029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
763129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
763229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
763329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
763429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
763529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
763629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
763729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
763829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
763929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
764029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
764129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern short4 __attribute__((const, overloadable))clamp(short4 value, short min_value, short max_value);
764229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
764329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
764429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
764529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
764629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
764729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
764829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
764929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
765029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
765129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
765229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
765329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
765429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort __attribute__((const, overloadable))clamp(ushort value, ushort min_value, ushort max_value);
765529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
765629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
765729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
765829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
765929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
766029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
766129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
766229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
766329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
766429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
766529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
766629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
766729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort2 __attribute__((const, overloadable))clamp(ushort2 value, ushort min_value, ushort max_value);
766829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
766929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
767029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
767129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
767229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
767329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
767429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
767529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
767629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
767729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
767829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
767929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
768029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort3 __attribute__((const, overloadable))clamp(ushort3 value, ushort min_value, ushort max_value);
768129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
768229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
768329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
768429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
768529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
768629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
768729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
768829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
768929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
769029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
769129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
769229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
769329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ushort4 __attribute__((const, overloadable))clamp(ushort4 value, ushort min_value, ushort max_value);
769429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
769529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
769629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
769729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
769829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
769929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
770029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
770129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
770229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
770329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
770429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
770529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
770629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int __attribute__((const, overloadable))clamp(int value, int min_value, int max_value);
770729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
770829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
770929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
771029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
771129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
771229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
771329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
771429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
771529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
771629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
771729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
771829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
771929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int2 __attribute__((const, overloadable))clamp(int2 value, int min_value, int max_value);
772029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
772129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
772229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
772329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
772429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
772529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
772629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
772729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
772829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
772929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
773029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
773129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
773229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int3 __attribute__((const, overloadable))clamp(int3 value, int min_value, int max_value);
773329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
773429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
773529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
773629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
773729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
773829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
773929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
774029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
774129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
774229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
774329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
774429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
774529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern int4 __attribute__((const, overloadable))clamp(int4 value, int min_value, int max_value);
774629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
774729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
774829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
774929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
775029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
775129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
775229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
775329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
775429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
775529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
775629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
775729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
775829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint __attribute__((const, overloadable))clamp(uint value, uint min_value, uint max_value);
775929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
776029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
776129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
776229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
776329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
776429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
776529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
776629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
776729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
776829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
776929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
777029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
777129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint2 __attribute__((const, overloadable))clamp(uint2 value, uint min_value, uint max_value);
777229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
777329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
777429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
777529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
777629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
777729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
777829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
777929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
778029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
778129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
778229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
778329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
778429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint3 __attribute__((const, overloadable))clamp(uint3 value, uint min_value, uint max_value);
778529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
778629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
778729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
778829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
778929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
779029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
779129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
779229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
779329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
779429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
779529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
779629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
779729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern uint4 __attribute__((const, overloadable))clamp(uint4 value, uint min_value, uint max_value);
779829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
779929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
780029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
780129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
780229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
780329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
780429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
780529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
780629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
780729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
780829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
780929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
781029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long __attribute__((const, overloadable))clamp(long value, long min_value, long max_value);
781129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
781229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
781329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
781429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
781529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
781629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
781729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
781829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
781929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
782029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
782129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
782229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
782329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long2 __attribute__((const, overloadable))clamp(long2 value, long min_value, long max_value);
782429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
782529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
782629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
782729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
782829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
782929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
783029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
783129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
783229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
783329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
783429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
783529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
783629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long3 __attribute__((const, overloadable))clamp(long3 value, long min_value, long max_value);
783729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
783829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
783929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
784029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
784129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
784229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
784329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
784429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
784529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
784629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
784729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
784829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
784929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern long4 __attribute__((const, overloadable))clamp(long4 value, long min_value, long max_value);
785029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
785129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
785229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
785329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
785429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
785529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
785629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
785729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
785829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
785929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
786029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
786129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
786229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong __attribute__((const, overloadable))clamp(ulong value, ulong min_value, ulong max_value);
786329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
786429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
786529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
786629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
786729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
786829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
786929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
787029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
787129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
787229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
787329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
787429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
787529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong2 __attribute__((const, overloadable))clamp(ulong2 value, ulong min_value, ulong max_value);
787629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
787729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
787829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
787929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
788029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
788129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
788229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
788329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
788429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
788529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
788629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
788729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
788829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong3 __attribute__((const, overloadable))clamp(ulong3 value, ulong min_value, ulong max_value);
788929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
789029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
789129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 19))
789229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
789329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Clamp a value to a specified high and low bound.
789429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
789529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param amount value to be clamped.  Supports 1,2,3,4 components
789629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param min_value Lower bound, must be scalar or matching vector.
789729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * @param max_value High bound, must match type of low
789829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
789929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 19 and newer.
790029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
790129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern ulong4 __attribute__((const, overloadable))clamp(ulong4 value, ulong min_value, ulong max_value);
790229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
790329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
790429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
790529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
790629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Convert from radians to degrees.
790729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
790829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
790929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
791029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))degrees(float value);
791129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
791229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
791329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
791429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
791529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Convert from radians to degrees.
791629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
791729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
791829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
791929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))degrees(float2 value);
792029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
792129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
792229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
792329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
792429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Convert from radians to degrees.
792529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
792629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
792729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
792829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))degrees(float3 value);
792929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
793029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
793129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
793229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
793329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Convert from radians to degrees.
793429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
793529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
793629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
793729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))degrees(float4 value);
793829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
793929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
794029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
794129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
794229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return start + ((stop - start) * amount)
794329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
794429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
794529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
794629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))mix(float start, float stop, float amount);
794729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
794829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
794929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
795029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
795129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return start + ((stop - start) * amount)
795229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
795329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
795429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
795529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))mix(float2 start, float2 stop, float2 amount);
795629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
795729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
795829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
795929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
796029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return start + ((stop - start) * amount)
796129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
796229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
796329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
796429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))mix(float3 start, float3 stop, float3 amount);
796529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
796629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
796729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
796829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
796929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return start + ((stop - start) * amount)
797029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
797129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
797229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
797329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))mix(float4 start, float4 stop, float4 amount);
797429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
797529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
797629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
797729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
797829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return start + ((stop - start) * amount)
797929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
798029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
798129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
798229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))mix(float start, float stop, float amount);
798329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
798429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
798529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
798629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
798729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return start + ((stop - start) * amount)
798829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
798929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
799029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
799129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))mix(float2 start, float2 stop, float amount);
799229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
799329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
799429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
799529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
799629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return start + ((stop - start) * amount)
799729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
799829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
799929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
800029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))mix(float3 start, float3 stop, float amount);
800129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
800229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
800329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
800429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
800529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return start + ((stop - start) * amount)
800629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
800729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
800829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
800929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))mix(float4 start, float4 stop, float amount);
801029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
801129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
801229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
801329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
801429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Convert from degrees to radians.
801529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
801629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
801729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
801829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))radians(float value);
801929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
802029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
802129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
802229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
802329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Convert from degrees to radians.
802429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
802529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
802629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
802729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))radians(float2 value);
802829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
802929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
803029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
803129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
803229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Convert from degrees to radians.
803329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
803429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
803529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
803629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))radians(float3 value);
803729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
803829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
803929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
804029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
804129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Convert from degrees to radians.
804229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
804329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
804429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
804529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))radians(float4 value);
804629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
804729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
804829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
804929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
805029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * if (v < edge)
805129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 0.f;
805229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else
805329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 1.f;
805429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
805529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
805629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
805729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))step(float edge, float v);
805829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
805929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
806029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
806129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
806229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * if (v < edge)
806329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 0.f;
806429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else
806529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 1.f;
806629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
806729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
806829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
806929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))step(float2 edge, float2 v);
807029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
807129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
807229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
807329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
807429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * if (v < edge)
807529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 0.f;
807629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else
807729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 1.f;
807829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
807929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
808029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
808129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))step(float3 edge, float3 v);
808229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
808329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
808429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
808529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
808629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * if (v < edge)
808729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 0.f;
808829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else
808929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 1.f;
809029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
809129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
809229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
809329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))step(float4 edge, float4 v);
809429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
809529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
809629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
809729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
809829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * if (v < edge)
809929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 0.f;
810029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else
810129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 1.f;
810229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
810329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
810429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
810529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))step(float2 edge, float v);
810629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
810729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
810829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
810929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
811029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * if (v < edge)
811129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 0.f;
811229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else
811329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 1.f;
811429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
811529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
811629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
811729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))step(float3 edge, float v);
811829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
811929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
812029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
812129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
812229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * if (v < edge)
812329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 0.f;
812429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else
812529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * return 1.f;
812629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
812729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
812829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
812929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))step(float4 edge, float v);
813029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
813129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
81320ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 20))
81330ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet/*
81340ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * if (v < edge)
81350ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * return 0.f;
81360ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * else
81370ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * return 1.f;
81380ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet *
81390ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * Supported by API versions 20 and newer.
81400ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet */
81410ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))step(float edge, float2 v);
81420ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet#endif
81430ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet
81440ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 20))
81450ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet/*
81460ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * if (v < edge)
81470ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * return 0.f;
81480ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * else
81490ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * return 1.f;
81500ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet *
81510ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * Supported by API versions 20 and newer.
81520ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet */
81530ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))step(float edge, float3 v);
81540ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet#endif
81550ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet
81560ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 20))
81570ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet/*
81580ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * if (v < edge)
81590ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * return 0.f;
81600ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * else
81610ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * return 1.f;
81620ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet *
81630ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * Supported by API versions 20 and newer.
81640ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet */
81650ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))step(float edge, float4 v);
81660ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet#endif
81670ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet
816829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
816929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
817029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sign of a value.
817129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
817229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * if (v < 0) return -1.f;
817329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else if (v > 0) return 1.f;
817429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else return 0.f;
817529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
817629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
817729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
817829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))sign(float v);
817929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
818029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
818129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
818229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
818329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sign of a value.
818429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
818529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * if (v < 0) return -1.f;
818629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else if (v > 0) return 1.f;
818729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else return 0.f;
818829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
818929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
819029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
819129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))sign(float2 v);
819229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
819329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
819429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
819529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
819629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sign of a value.
819729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
819829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * if (v < 0) return -1.f;
819929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else if (v > 0) return 1.f;
820029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else return 0.f;
820129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
820229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
820329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
820429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))sign(float3 v);
820529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
820629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
820729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
820829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
820929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the sign of a value.
821029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
821129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * if (v < 0) return -1.f;
821229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else if (v > 0) return 1.f;
821329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * else return 0.f;
821429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
821529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
821629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
821729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))sign(float4 v);
821829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
821929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
822029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
822129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
822229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the cross product of two vectors.
822329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
822429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
822529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
822629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))cross(float3 lhs, float3 rhs);
822729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
822829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
822929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
823029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
823129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the cross product of two vectors.
823229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
823329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
823429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
823529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))cross(float4 lhs, float4 rhs);
823629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
823729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
823829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
823929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
824029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the dot product of two vectors.
824129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
824229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
824329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
824429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))dot(float lhs, float rhs);
824529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
824629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
824729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
824829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
824929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the dot product of two vectors.
825029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
825129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
825229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
825329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))dot(float2 lhs, float2 rhs);
825429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
825529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
825629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
825729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
825829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the dot product of two vectors.
825929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
826029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
826129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
826229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))dot(float3 lhs, float3 rhs);
826329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
826429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
826529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
826629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
826729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the dot product of two vectors.
826829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
826929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
827029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
827129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))dot(float4 lhs, float4 rhs);
827229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
827329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
827429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
827529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
827629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the length of a vector.
827729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
827829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
827929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
828029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))length(float v);
828129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
828229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
828329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
828429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
828529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the length of a vector.
828629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
828729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
828829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
828929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))length(float2 v);
829029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
829129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
829229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
829329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
829429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the length of a vector.
829529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
829629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
829729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
829829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))length(float3 v);
829929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
830029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
830129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
830229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
830329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the length of a vector.
830429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
830529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
830629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
830729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))length(float4 v);
830829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
830929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
831029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
831129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
831229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the distance between two points.
831329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
831429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
831529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
831629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))distance(float lhs, float rhs);
831729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
831829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
831929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
832029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
832129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the distance between two points.
832229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
832329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
832429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
832529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))distance(float2 lhs, float2 rhs);
832629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
832729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
832829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
832929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
833029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the distance between two points.
833129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
833229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
833329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
833429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))distance(float3 lhs, float3 rhs);
833529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
833629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
833729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
833829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
833929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the distance between two points.
834029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
834129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
834229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
834329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))distance(float4 lhs, float4 rhs);
834429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
834529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
834629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
834729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
834829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Normalize a vector.
834929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
835029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
835129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
835229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))normalize(float v);
835329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
835429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
835529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
835629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
835729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Normalize a vector.
835829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
835929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
836029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
836129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))normalize(float2 v);
836229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
836329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
836429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
836529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
836629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Normalize a vector.
836729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
836829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
836929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
837029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))normalize(float3 v);
837129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
837229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
837329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9))
837429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
837529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Normalize a vector.
837629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
837729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer.
837829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
837929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))normalize(float4 v);
838029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
838129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
838229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
838329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
838429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate reciprocal of a value.
838529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
838629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
838729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
838829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))half_recip(float v);
838929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
839029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
839129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
839229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
839329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate reciprocal of a value.
839429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
839529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
839629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
839729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))half_recip(float2 v);
839829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
839929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
840029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
840129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
840229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate reciprocal of a value.
840329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
840429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
840529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
840629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))half_recip(float3 v);
840729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
840829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
840929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
841029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
841129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate reciprocal of a value.
841229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
841329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
841429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
841529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))half_recip(float4 v);
841629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
841729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
841829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
841929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
842029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate square root of a value.
842129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
842229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
842329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
842429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))half_sqrt(float v);
842529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
842629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
842729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
842829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
842929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate square root of a value.
843029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
843129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
843229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
843329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))half_sqrt(float2 v);
843429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
843529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
843629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
843729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
843829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate square root of a value.
843929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
844029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
844129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
844229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))half_sqrt(float3 v);
844329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
844429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
844529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
844629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
844729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate square root of a value.
844829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
844929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
845029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
845129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))half_sqrt(float4 v);
845229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
845329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
845429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
845529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
845629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate value of (1.f / sqrt(value)).
845729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
845829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
845929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
846029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))half_rsqrt(float v);
846129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
846229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
846329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
846429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
846529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate value of (1.f / sqrt(value)).
846629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
846729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
846829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
846929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))half_rsqrt(float2 v);
847029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
847129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
847229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
847329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
847429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate value of (1.f / sqrt(value)).
847529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
847629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
847729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
847829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))half_rsqrt(float3 v);
847929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
848029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
848129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
848229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
848329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the approximate value of (1.f / sqrt(value)).
848429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
848529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
848629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
848729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))half_rsqrt(float4 v);
848829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
848929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
849029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
849129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
849229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the approximate length of a vector.
849329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
849429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
849529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
849629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fast_length(float v);
849729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
849829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
849929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
850029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
850129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the approximate length of a vector.
850229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
850329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
850429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
850529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fast_length(float2 v);
850629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
850729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
850829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
850929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
851029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the approximate length of a vector.
851129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
851229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
851329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
851429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fast_length(float3 v);
851529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
851629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
851729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
851829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
851929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the approximate length of a vector.
852029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
852129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
852229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
852329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fast_length(float4 v);
852429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
852529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
852629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
852729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
852829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the approximate distance between two points.
852929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
853029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
853129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
853229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fast_distance(float lhs, float rhs);
853329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
853429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
853529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
853629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
853729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the approximate distance between two points.
853829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
853929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
854029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
854129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fast_distance(float2 lhs, float2 rhs);
854229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
854329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
854429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
854529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
854629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the approximate distance between two points.
854729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
854829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
854929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
855029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fast_distance(float3 lhs, float3 rhs);
855129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
855229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
855329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
855429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
855529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Compute the approximate distance between two points.
855629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
855729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
855829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
855929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fast_distance(float4 lhs, float4 rhs);
856029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
856129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
856229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
856329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
856429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Approximately normalize a vector.
856529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
856629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
856729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
856829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))fast_normalize(float v);
856929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
857029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
857129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
857229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
857329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Approximately normalize a vector.
857429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
857529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
857629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
857729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))fast_normalize(float2 v);
857829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
857929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
858029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
858129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
858229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Approximately normalize a vector.
858329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
858429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
858529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
858629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))fast_normalize(float3 v);
858729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
858829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
858929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 17))
859029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
859129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Approximately normalize a vector.
859229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
859329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 17 and newer.
859429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
859529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))fast_normalize(float4 v);
859629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
859729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
859829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
859929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
860029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp
860129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -86.f to 86.f
860229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
860329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
860429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
860529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
860629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))native_exp(float v);
860729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
860829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
860929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
861029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
861129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp
861229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -86.f to 86.f
861329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
861429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
861529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
861629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
861729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))native_exp(float2 v);
861829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
861929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
862029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
862129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
862229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp
862329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -86.f to 86.f
862429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
862529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
862629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
862729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
862829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))native_exp(float3 v);
862929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
863029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
863129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
863229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
863329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp
863429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -86.f to 86.f
863529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
863629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
863729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
863829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
863929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))native_exp(float4 v);
864029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
864129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
864229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
864329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
864429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp2
864529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -125.f to 125.f
864629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
864729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
864829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
864929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
865029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))native_exp2(float v);
865129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
865229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
865329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
865429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
865529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp2
865629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -125.f to 125.f
865729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
865829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
865929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
866029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
866129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))native_exp2(float2 v);
866229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
866329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
866429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
866529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
866629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp2
866729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -125.f to 125.f
866829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
866929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
867029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
867129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
867229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))native_exp2(float3 v);
867329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
867429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
867529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
867629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
867729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp2
867829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -125.f to 125.f
867929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
868029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
868129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
868229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
868329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))native_exp2(float4 v);
868429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
868529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
868629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
868729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
868829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp10
868929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -37.f to 37.f
869029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
869129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
869229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
869329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
869429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))native_exp10(float v);
869529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
869629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
869729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
869829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
869929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp10
870029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -37.f to 37.f
870129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
870229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
870329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
870429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
870529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))native_exp10(float2 v);
870629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
870729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
870829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
870929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
871029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp10
871129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -37.f to 37.f
871229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
871329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
871429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
871529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
871629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))native_exp10(float3 v);
871729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
871829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
871929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
872029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
872129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate exp10
872229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * valid for inputs -37.f to 37.f
872329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Max 8192 ulps of error
872429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
872529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
872629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
872729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))native_exp10(float4 v);
872829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
872929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
873029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
873129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
873229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log
873329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
873429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
873529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
873629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))native_log(float v);
873729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
873829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
873929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
874029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
874129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log
874229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
874329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
874429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
874529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))native_log(float2 v);
874629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
874729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
874829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
874929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
875029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log
875129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
875229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
875329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
875429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))native_log(float3 v);
875529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
875629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
875729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
875829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
875929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log
876029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
876129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
876229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
876329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))native_log(float4 v);
876429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
876529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
876629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
876729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
876829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log2
876929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
877029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
877129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
877229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))native_log2(float v);
877329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
877429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
877529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
877629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
877729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log2
877829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
877929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
878029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
878129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))native_log2(float2 v);
878229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
878329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
878429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
878529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
878629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log2
878729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
878829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
878929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
879029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))native_log2(float3 v);
879129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
879229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
879329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
879429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
879529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log2
879629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
879729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
879829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
879929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))native_log2(float4 v);
880029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
880129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
880229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
880329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
880429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log10
880529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
880629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
880729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
880829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))native_log10(float v);
880929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
881029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
881129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
881229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
881329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log10
881429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
881529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
881629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
881729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))native_log10(float2 v);
881829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
881929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
882029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
882129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
882229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log10
882329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
882429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
882529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
882629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))native_log10(float3 v);
882729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
882829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
882929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
883029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
883129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate log10
883229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
883329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
883429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
883529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))native_log10(float4 v);
883629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
883729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
883829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
883929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
884029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate v ^ y
884129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
884229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
884329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
884429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float __attribute__((const, overloadable))native_powr(float v, float y);
884529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
884629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
884729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
884829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
884929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate v ^ y
885029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
885129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
885229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
885329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float2 __attribute__((const, overloadable))native_powr(float2 v, float2 y);
885429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
885529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
885629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
885729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
885829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate v ^ y
885929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
886029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
886129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
886229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float3 __attribute__((const, overloadable))native_powr(float3 v, float3 y);
886329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
886429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
886529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18))
886629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/*
886729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Fast approximate v ^ y
886829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams *
886929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 18 and newer.
887029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */
887129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Samsextern float4 __attribute__((const, overloadable))native_powr(float4 v, float4 y);
887229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif
887329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams
887429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif // __rs_core_math_rsh__
8875