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