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 17963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet// Don't edit this file! It is auto-generated by frameworks/rs/api/gen_runtime. 18963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet 1929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#ifndef __rs_core_math_rsh__ 2029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#define __rs_core_math_rsh__ 2129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 2229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 23963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 2429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 2529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 2629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 27963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar __attribute__((const, overloadable))abs(char value); 2829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 2929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 3129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 32963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 3329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 3529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 36963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))abs(char2 value); 3729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 3829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 4029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 41963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 4229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 4429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 45963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))abs(char3 value); 4629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 4729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 4929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 50963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 5129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 5329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 54963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))abs(char4 value); 5529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 5629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 5829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 59963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 6029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 6229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 63963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort __attribute__((const, overloadable))abs(short value); 6429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 6529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 6729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 68963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 6929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 7129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 72963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))abs(short2 value); 7329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 7429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 7629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 77963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 7829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 8029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 81963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))abs(short3 value); 8229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 8329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 8529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 86963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 8729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 8929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 90963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))abs(short4 value); 9129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 9229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 9429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 95963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 9629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 9829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 99963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint __attribute__((const, overloadable))abs(int value); 10029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 10129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 10229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 10329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 104963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 10529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 10629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 10729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 108963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))abs(int2 value); 10929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 11029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 11129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 11229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 113963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 11429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 11529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 11629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 117963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))abs(int3 value); 11829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 11929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 12029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 12129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 122963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 12329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 12429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 12529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 126963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))abs(int4 value); 12729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 12829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 12929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 13029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 131963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acos 13229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 13329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 13429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 135bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float __attribute__((const, overloadable))acos(float v); 13629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 13729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 13829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 13929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 140963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acos 14129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 14229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 14329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 144bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))acos(float2 v); 14529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 14629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 14729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 14829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 149963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acos 15029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 15129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 15229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 153bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))acos(float3 v); 15429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 15529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 15629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 15729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 158963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acos 15929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 16029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 16129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 162bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))acos(float4 v); 16329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 16429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 16529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 16629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 167963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acosh 16829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 16929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 17029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 171963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))acosh(float); 17229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 17329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 17429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 17529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 176963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acosh 17729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 17829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 17929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 180963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))acosh(float2); 18129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 18229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 18329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 18429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 185963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acosh 18629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 18729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 18829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 189963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))acosh(float3); 19029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 19129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 19229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 19329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 194963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acosh 19529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 19629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 19729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 198963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))acosh(float4); 19929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 20029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 20129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 20229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 203963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acospi 20429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 20529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 20629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 207bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float __attribute__((const, overloadable))acospi(float v); 20829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 20929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 21029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 21129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 212963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acospi 21329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 21429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 21529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 216bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))acospi(float2 v); 21729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 21829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 21929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 22029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 221963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acospi 22229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 22329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 22429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 225bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))acospi(float3 v); 22629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 22729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 22829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 22929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 230963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * acospi 23129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 23229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 23329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 234bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))acospi(float4 v); 23529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 23629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 23729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 23829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 239963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * asin 24029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 24129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 24229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 243bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float __attribute__((const, overloadable))asin(float v); 24429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 24529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 24629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 24729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 248963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * asin 24929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 25029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 25129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 252bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))asin(float2 v); 25329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 25429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 25529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 25629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 257963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * asin 25829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 25929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 26029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 261bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))asin(float3 v); 26229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 26329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 26429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 26529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 266963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * asin 26729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 26829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 26929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 270bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))asin(float4 v); 27129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 27229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 27329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 27429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 275963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * asinh 27629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 27729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 27829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 279963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))asinh(float); 28029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 28129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 28229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 28329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 284963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * asinh 28529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 28629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 28729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 288963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))asinh(float2); 28929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 29029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 29129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 29229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 293963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * asinh 29429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 29529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 29629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 297963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))asinh(float3); 29829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 29929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 30029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 30129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 302963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * asinh 30329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 30429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 30529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 306963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))asinh(float4); 30729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 30829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 30929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 31029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 311963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse sine divided by PI. 31229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 31329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 31429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 315bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float __attribute__((const, overloadable))asinpi(float v); 31629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 31729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 31829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 31929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 320963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse sine divided by PI. 32129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 32229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 32329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 324bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))asinpi(float2 v); 32529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 32629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 32729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 32829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 329963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse sine divided by PI. 33029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 33129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 33229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 333bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))asinpi(float3 v); 33429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 33529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 33629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 33729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 338963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse sine divided by PI. 33929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 34029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 34129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 342bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))asinpi(float4 v); 34329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 34429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 34529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 34629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 347963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent. 34829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 34929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 35029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 351bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float __attribute__((const, overloadable))atan(float v); 35229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 35329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 35429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 35529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 356963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent. 35729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 35829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 35929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 360bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))atan(float2 v); 36129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 36229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 36329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 36429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 365963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent. 36629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 36729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 36829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 369bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))atan(float3 v); 37029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 37129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 37229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 37329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 374963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent. 37529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 37629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 37729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 378bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))atan(float4 v); 37929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 38029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 38129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 38229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 383963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent of y / x. 38429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 38529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 38629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 387963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))atan2(float y, float x); 38829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 38929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 39029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 39129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 392963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent of y / x. 39329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 39429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 39529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 396963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))atan2(float2 y, float2 x); 39729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 39829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 39929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 40029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 401963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent of y / x. 40229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 40329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 40429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 405963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))atan2(float3 y, float3 x); 40629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 40729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 40829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 40929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 410963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent of y / x. 41129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 41229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 41329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 414963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))atan2(float4 y, float4 x); 41529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 41629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 41729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 41829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 419963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent of y / x, divided by PI. 42029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 42129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 42229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 423963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))atan2pi(float y, float x); 42429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 42529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 42629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 42729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 428963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent of y / x, divided by PI. 42929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 43029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 43129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 432963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))atan2pi(float2 y, float2 x); 43329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 43429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 43529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 43629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 437963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent of y / x, divided by PI. 43829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 43929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 44029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 441963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))atan2pi(float3 y, float3 x); 44229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 44329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 44429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 44529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 446963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent of y / x, divided by PI. 44729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 44829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 44929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 450963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))atan2pi(float4 y, float4 x); 45129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 45229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 45329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 45429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 455963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse hyperbolic tangent. 45629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 45729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 45829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 45932c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouilletextern float __attribute__((const, overloadable))atanh(float v); 46029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 46129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 46229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 46329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 464963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse hyperbolic tangent. 46529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 46629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 46729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 46832c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))atanh(float2 v); 46929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 47029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 47129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 47229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 473963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse hyperbolic tangent. 47429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 47529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 47629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 47732c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))atanh(float3 v); 47829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 47929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 48029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 48129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 482963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse hyperbolic tangent. 48329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 48429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 48529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 48632c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))atanh(float4 v); 48729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 48829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 48929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 49029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 491963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent divided by PI. 49229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 49329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 49429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 495bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float __attribute__((const, overloadable))atanpi(float v); 49629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 49729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 49829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 49929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 500963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent divided by PI. 50129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 50229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 50329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 504bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))atanpi(float2 v); 50529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 50629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 50729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 50829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 509963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent divided by PI. 51029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 51129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 51229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 513bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))atanpi(float3 v); 51429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 51529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 51629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 51729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 518963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the inverse tangent divided by PI. 51929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 52029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 52129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 522bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))atanpi(float4 v); 52329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 52429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 52529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 52629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 527963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cube root. 52829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 52929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 53029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 531963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))cbrt(float); 53229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 53329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 53429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 53529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 536963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cube root. 53729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 53829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 53929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 540963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))cbrt(float2); 54129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 54229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 54329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 54429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 545963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cube root. 54629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 54729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 54829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 549963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))cbrt(float3); 55029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 55129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 55229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 55329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 554963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cube root. 55529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 55629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 55729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 558963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))cbrt(float4); 55929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 56029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 56129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 56229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 563963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the smallest integer not less than a value. 56429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 56529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 56629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 567963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))ceil(float); 56829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 56929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 57029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 57129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 572963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the smallest integer not less than a value. 57329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 57429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 57529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 576963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))ceil(float2); 57729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 57829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 57929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 58029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 581963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the smallest integer not less than a value. 58229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 58329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 58429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 585963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))ceil(float3); 58629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 58729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 58829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 58929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 590963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the smallest integer not less than a value. 59129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 59229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 59329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 594963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))ceil(float4); 59529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 59629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 59729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 59829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 599963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 600963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 601963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 602963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 603963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 60429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 60529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 60629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 607963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))clamp(float value, float min_value, float max_value); 60829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 60929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 61029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 61129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 612963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 613963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 614963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 615963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 616963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 61729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 61829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 61929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 620963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))clamp(float2 value, float2 min_value, float2 max_value); 62129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 62229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 62329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 62429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 625963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 626963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 627963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 628963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 629963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 63029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 63129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 63229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 633963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))clamp(float3 value, float3 min_value, float3 max_value); 63429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 63529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 63629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 63729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 638963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 639963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 640963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 641963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 642963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 64329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 64429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 64529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 646963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))clamp(float4 value, float4 min_value, float4 max_value); 64729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 64829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 64929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 65029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 651963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 652963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 653963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 654963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 655963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 65629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 65729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 65829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 659963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))clamp(float2 value, float min_value, float max_value); 66029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 66129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 66229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 66329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 664963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 665963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 666963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 667963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 668963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 66929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 67029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 67129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 672963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))clamp(float3 value, float min_value, float max_value); 67329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 67429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 67529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 67629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 677963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 678963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 679963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 680963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 681963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 68229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 68329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 68429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 685963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))clamp(float4 value, float min_value, float max_value); 68629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 68729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 688963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 68929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 690963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 69129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 692963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 693963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 694963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 695963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 696963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 69729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 698963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char __attribute__((const, overloadable))clamp(char value, char min_value, char max_value); 69929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 70029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 701963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 70229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 703963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 70429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 705963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 706963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 707963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 708963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 709963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 71029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 711963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))clamp(char2 value, char2 min_value, char2 max_value); 71229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 71329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 714963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 71529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 716963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 71729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 718963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 719963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 720963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 721963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 722963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 72329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 724963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))clamp(char3 value, char3 min_value, char3 max_value); 72529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 72629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 727963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 72829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 729963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 73029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 731963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 732963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 733963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 734963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 735963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 73629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 737963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))clamp(char4 value, char4 min_value, char4 max_value); 73829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 73929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 740963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 74129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 742963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 74329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 744963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 745963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 746963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 747963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 748963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 74929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 750963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar __attribute__((const, overloadable))clamp(uchar value, uchar min_value, uchar max_value); 75129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 75229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 753963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 75429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 755963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 75629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 757963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 758963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 759963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 760963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 761963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 76229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 763963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))clamp(uchar2 value, uchar2 min_value, uchar2 max_value); 76429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 76529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 766963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 76729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 768963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 76929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 770963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 771963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 772963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 773963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 774963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 77529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 776963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))clamp(uchar3 value, uchar3 min_value, uchar3 max_value); 77729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 77829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 779963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 78029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 781963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 78229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 783963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 784963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 785963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 786963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 787963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 78829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 789963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))clamp(uchar4 value, uchar4 min_value, uchar4 max_value); 79029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 79129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 792963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 79329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 794963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 79529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 796963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 797963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 798963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 799963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 800963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 80129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 802963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short __attribute__((const, overloadable))clamp(short value, short min_value, short max_value); 80329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 80429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 805963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 80629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 807963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 80829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 809963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 810963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 811963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 812963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 813963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 81429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 815963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))clamp(short2 value, short2 min_value, short2 max_value); 81629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 81729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 818963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 81929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 820963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 82129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 822963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 823963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 824963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 825963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 826963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 82729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 828963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))clamp(short3 value, short3 min_value, short3 max_value); 82929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 83029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 831963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 83229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 833963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 83429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 835963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 836963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 837963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 838963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 839963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 84029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 841963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))clamp(short4 value, short4 min_value, short4 max_value); 84229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 84329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 844963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 84529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 846963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 84729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 848963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 849963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 850963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 851963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 852963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 85329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 854963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort __attribute__((const, overloadable))clamp(ushort value, ushort min_value, ushort max_value); 85529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 85629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 857963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 85829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 859963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 86029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 861963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 862963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 863963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 864963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 865963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 86629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 867963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))clamp(ushort2 value, ushort2 min_value, ushort2 max_value); 86829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 86929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 870963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 87129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 872963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 87329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 874963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 875963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 876963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 877963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 878963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 87929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 880963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))clamp(ushort3 value, ushort3 min_value, ushort3 max_value); 88129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 88229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 883963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 88429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 885963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 88629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 887963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 888963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 889963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 890963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 891963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 89229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 893963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))clamp(ushort4 value, ushort4 min_value, ushort4 max_value); 89429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 89529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 896963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 89729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 898963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 89929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 900963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 901963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 902963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 90329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 904963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 90529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 906963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int __attribute__((const, overloadable))clamp(int value, int min_value, int max_value); 90729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 90829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 909963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 91029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 911963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 91229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 913963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 914963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 915963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 916963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 917963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 91829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 919963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))clamp(int2 value, int2 min_value, int2 max_value); 92029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 92129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 922963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 92329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 924963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 92529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 926963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 927963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 928963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 929963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 930963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 93129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 932963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))clamp(int3 value, int3 min_value, int3 max_value); 93329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 93429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 935963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 93629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 937963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 93829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 939963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 940963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 941963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 942963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 943963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 94429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 945963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))clamp(int4 value, int4 min_value, int4 max_value); 94629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 94729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 948963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 94929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 950963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 95129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 952963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 953963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 954963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 955963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 956963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 95729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 958963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint __attribute__((const, overloadable))clamp(uint value, uint min_value, uint max_value); 95929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 96029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 961963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 96229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 963963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 96429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 965963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 966963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 967963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 968963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 969963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 97029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 971963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))clamp(uint2 value, uint2 min_value, uint2 max_value); 97229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 97329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 974963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 97529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 976963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 97729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 978963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 979963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 980963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 981963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 982963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 98329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 984963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))clamp(uint3 value, uint3 min_value, uint3 max_value); 98529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 98629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 987963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 98829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 989963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 99029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 991963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 992963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 993963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 994963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 995963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 99629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 997963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))clamp(uint4 value, uint4 min_value, uint4 max_value); 99829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 99929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1000963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 100129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1002963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 100329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1004963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1005963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1006963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1007963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1008963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 100929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1010963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long __attribute__((const, overloadable))clamp(long value, long min_value, long max_value); 101129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 101229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1013963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 101429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1015963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 101629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1017963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1018963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1019963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1020963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1021963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 102229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1023963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))clamp(long2 value, long2 min_value, long2 max_value); 102429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 102529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1026963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 102729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1028963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 102929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1030963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1031963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1032963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1033963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1034963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 103529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1036963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))clamp(long3 value, long3 min_value, long3 max_value); 103729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 103829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1039963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 104029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1041963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 104229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1043963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1044963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1045963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1046963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1047963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 104829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1049963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))clamp(long4 value, long4 min_value, long4 max_value); 105029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 105129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1052963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 105329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1054963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 105529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1056963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1057963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1058963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1059963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1060963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 106129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1062963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong __attribute__((const, overloadable))clamp(ulong value, ulong min_value, ulong max_value); 106329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 106429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1065963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 106629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1067963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 106829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1069963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1070963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1071963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1072963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1073963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 107429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1075963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))clamp(ulong2 value, ulong2 min_value, ulong2 max_value); 107629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 107729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1078963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 107929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1080963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 108129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1082963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1083963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1084963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1085963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1086963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 108729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1088963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))clamp(ulong3 value, ulong3 min_value, ulong3 max_value); 108929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 109029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1091963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 109229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1093963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 109429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1095963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1096963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1097963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1098963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1099963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 110029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1101963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))clamp(ulong4 value, ulong4 min_value, ulong4 max_value); 110229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 110329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1104963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 110529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1106963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 110729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1108963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1109963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1110963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1111963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1112963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 111329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1114963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))clamp(char2 value, char min_value, char max_value); 111529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 111629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1117963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 111829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1119963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 112029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1121963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1122963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1123963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1124963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1125963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 112629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1127963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))clamp(char3 value, char min_value, char max_value); 112829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 112929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1130963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 113129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1132963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 113329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1134963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1135963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1136963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1137963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1138963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 113929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1140963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))clamp(char4 value, char min_value, char max_value); 114129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 114229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1143963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 114429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1145963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 114629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1147963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1148963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1149963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1150963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1151963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 115229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1153963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))clamp(uchar2 value, uchar min_value, uchar max_value); 115429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 115529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1156963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 115729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1158963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 115929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1160963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1161963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1162963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1163963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1164963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 116529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1166963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))clamp(uchar3 value, uchar min_value, uchar max_value); 116729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 116829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1169963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 117029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1171963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 117229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1173963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1174963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1175963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1176963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1177963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 117829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1179963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))clamp(uchar4 value, uchar min_value, uchar max_value); 118029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 118129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1182963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 118329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1184963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 118529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1186963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1187963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1188963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1189963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1190963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 119129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1192963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))clamp(short2 value, short min_value, short max_value); 119329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 119429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1195963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 119629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1197963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 119829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1199963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1200963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1201963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1202963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1203963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 120429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1205963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))clamp(short3 value, short min_value, short max_value); 120629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 120729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1208963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 120929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1210963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 121129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1212963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1213963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1214963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1215963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1216963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 121729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1218963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))clamp(short4 value, short min_value, short max_value); 121929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 122029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1221963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 122229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1223963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 122429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1225963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1226963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1227963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1228963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1229963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 123029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1231963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))clamp(ushort2 value, ushort min_value, ushort max_value); 123229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 123329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1234963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 123529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1236963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 123729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1238963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1239963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1240963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1241963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1242963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 124329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1244963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))clamp(ushort3 value, ushort min_value, ushort max_value); 124529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 124629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1247963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 124829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1249963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 125029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1251963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1252963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1253963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1254963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1255963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 125629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1257963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))clamp(ushort4 value, ushort min_value, ushort max_value); 125829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 125929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1260963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 126129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1262963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 126329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1264963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1265963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1266963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1267963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1268963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 126929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1270963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))clamp(int2 value, int min_value, int max_value); 127129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 127229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1273963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 127429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1275963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 127629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1277963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1278963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1279963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1280963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1281963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 128229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1283963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))clamp(int3 value, int min_value, int max_value); 128429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 128529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1286963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 128729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1288963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 128929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1290963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1291963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1292963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1293963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1294963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 129529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1296963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))clamp(int4 value, int min_value, int max_value); 129729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 129829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1299963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 130029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1301963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 130229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1303963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1304963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1305963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1306963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1307963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 130829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1309963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))clamp(uint2 value, uint min_value, uint max_value); 131029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 131129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1312963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 131329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1314963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 131529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1316963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1317963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1318963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1319963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1320963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 132129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1322963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))clamp(uint3 value, uint min_value, uint max_value); 132329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 132429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1325963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 132629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1327963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 132829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1329963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1330963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1331963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1332963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1333963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 133429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1335963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))clamp(uint4 value, uint min_value, uint max_value); 133629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 133729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1338963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 133929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1340963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 134129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1342963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1343963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1344963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1345963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1346963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 134729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1348963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))clamp(long2 value, long min_value, long max_value); 134929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 135029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1351963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 135229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1353963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 135429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1355963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1356963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1357963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1358963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1359963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 136029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1361963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))clamp(long3 value, long min_value, long max_value); 136229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 136329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1364963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 136529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1366963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 136729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1368963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1369963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1370963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1371963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1372963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 137329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1374963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))clamp(long4 value, long min_value, long max_value); 137529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 137629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1377963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 137829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1379963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 138029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1381963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1382963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1383963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1384963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1385963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 138629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1387963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))clamp(ulong2 value, ulong min_value, ulong max_value); 138829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 138929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1390963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 139129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1392963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 139329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1394963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1395963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1396963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1397963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1398963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 139929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1400963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))clamp(ulong3 value, ulong min_value, ulong max_value); 140129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 140229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 1403963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 19)) 140429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1405963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Clamp a value to a specified high and low bound. 140629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 1407963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param amount value to be clamped. Supports 1,2,3,4 components 1408963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param min_value Lower bound, must be scalar or matching vector. 1409963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param max_value High bound, must match type of low 1410963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 1411963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 19 and newer. 141229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1413963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))clamp(ulong4 value, ulong min_value, ulong max_value); 141429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 141529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 141629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 141729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1418963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 141929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 142029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 142129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1422963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char __attribute__((const, overloadable))clz(char value); 142329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 142429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 142529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 142629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1427963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 142829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 142929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 143029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1431963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))clz(char2 value); 143229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 143329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 143429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 143529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1436963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 143729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 143829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 143929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1440963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))clz(char3 value); 144129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 144229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 144329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 144429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1445963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 144629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 144729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 144829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1449963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))clz(char4 value); 145029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 145129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 145229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 145329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1454963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 145529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 145629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 145729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1458963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar __attribute__((const, overloadable))clz(uchar value); 145929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 146029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 146129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 146229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1463963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 146429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 146529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 146629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1467963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))clz(uchar2 value); 146829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 146929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 147029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 147129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1472963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 147329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 147429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 147529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1476963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))clz(uchar3 value); 147729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 147829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 147929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 148029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1481963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 148229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 148329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 148429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1485963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))clz(uchar4 value); 148629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 148729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 148829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 148929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1490963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 149129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 149229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 149329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1494963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short __attribute__((const, overloadable))clz(short value); 149529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 149629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 149729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 149829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1499963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 150029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 150129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 150229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1503963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))clz(short2 value); 150429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 150529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 150629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 150729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1508963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 150929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 151029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 151129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1512963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))clz(short3 value); 151329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 151429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 151529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 151629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1517963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 151829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 151929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 152029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1521963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))clz(short4 value); 152229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 152329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 152429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 152529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1526963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 152729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 152829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 152929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1530963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort __attribute__((const, overloadable))clz(ushort value); 153129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 153229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 153329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 153429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1535963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 153629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 153729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 153829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1539963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))clz(ushort2 value); 154029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 154129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 154229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 154329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1544963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 154529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 154629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 154729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1548963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))clz(ushort3 value); 154929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 155029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 155129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 155229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1553963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 155429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 155529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 155629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1557963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))clz(ushort4 value); 155829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 155929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 156029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 156129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1562963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 156329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 156429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 156529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1566963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int __attribute__((const, overloadable))clz(int value); 156729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 156829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 156929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 157029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1571963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 157229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 157329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 157429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1575963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))clz(int2 value); 157629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 157729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 157829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 157929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1580963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 158129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 158229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 158329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1584963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))clz(int3 value); 158529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 158629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 158729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 158829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1589963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 159029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 159129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 159229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1593963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))clz(int4 value); 159429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 159529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 159629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 159729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1598963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 159929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 160029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 160129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1602963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint __attribute__((const, overloadable))clz(uint value); 160329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 160429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 160529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 160629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1607963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 160829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 160929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 161029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1611963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))clz(uint2 value); 161229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 161329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 161429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 161529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1616963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 161729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 161829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 161929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1620963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))clz(uint3 value); 162129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 162229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 162329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 162429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1625963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the number of leading 0-bits in a value. 162629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 162729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 162829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1629963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))clz(uint4 value); 163029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 163129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 163229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 163329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1634963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from float2 to float2 163529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 163629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 163729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1638bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))convert_float2(float2 v); 163929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 164029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 164129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 164229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1643963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from float3 to float3 164429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 164529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 164629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1647bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))convert_float3(float3 v); 164829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 164929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 165029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 165129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1652963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from float4 to float4 165329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 165429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 165529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1656bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))convert_float4(float4 v); 165729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 165829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 165929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 166029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1661963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from char2 to float2 166229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 166329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 166429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1665bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))convert_float2(char2 v); 166629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 166729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 166829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 166929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1670963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from char3 to float3 167129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 167229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 167329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1674bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))convert_float3(char3 v); 167529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 167629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 167729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 167829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1679963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from char4 to float4 168029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 168129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 168229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1683bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))convert_float4(char4 v); 168429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 168529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 168629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 168729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1688963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uchar2 to float2 168929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 169029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 169129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1692bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))convert_float2(uchar2 v); 169329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 169429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 169529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 169629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1697963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uchar3 to float3 169829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 169929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 170029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1701bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))convert_float3(uchar3 v); 170229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 170329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 170429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 170529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1706963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uchar4 to float4 170729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 170829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 170929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1710bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))convert_float4(uchar4 v); 171129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 171229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 171329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 171429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1715963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from short2 to float2 171629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 171729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 171829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1719bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))convert_float2(short2 v); 172029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 172129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 172229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 172329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1724963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from short3 to float3 172529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 172629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 172729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1728bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))convert_float3(short3 v); 172929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 173029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 173129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 173229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1733963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from short4 to float4 173429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 173529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 173629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1737bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))convert_float4(short4 v); 173829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 173929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 174029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 174129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1742963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ushort2 to float2 174329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 174429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 174529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1746bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))convert_float2(ushort2 v); 174729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 174829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 174929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 175029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1751963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ushort3 to float3 175229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 175329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 175429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1755bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))convert_float3(ushort3 v); 175629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 175729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 175829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 175929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1760963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ushort4 to float4 176129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 176229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 176329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1764bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))convert_float4(ushort4 v); 176529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 176629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 176729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 176829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1769963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from int2 to float2 177029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 177129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 177229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1773bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))convert_float2(int2 v); 177429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 177529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 177629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 177729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1778963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from int3 to float3 177929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 178029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 178129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1782bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))convert_float3(int3 v); 178329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 178429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 178529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 178629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1787963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from int4 to float4 178829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 178929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 179029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1791bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))convert_float4(int4 v); 179229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 179329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 179429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 179529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1796963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uint2 to float2 179729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 179829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 179929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1800bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))convert_float2(uint2 v); 180129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 180229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 180329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 180429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1805963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uint3 to float3 180629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 180729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 180829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1809bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))convert_float3(uint3 v); 181029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 181129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 181229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 181329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1814963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uint4 to float4 181529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 181629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 181729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1818bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))convert_float4(uint4 v); 181929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 182029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 182129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 182229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1823564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float2 to char2 182429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 182529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 182629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1827564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(float2 v); 182829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 182929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 183029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 183129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1832564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float3 to char3 183329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 183429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 183529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1836564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(float3 v); 183729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 183829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 183929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 184029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1841564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float4 to char4 184229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 184329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 184429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1845564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(float4 v); 184629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 184729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 184829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 184929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1850564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char2 to char2 185129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 185229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 185329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1854564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(char2 v); 185529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 185629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 185729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 185829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1859564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char3 to char3 186029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 186129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 186229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1863564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(char3 v); 186429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 186529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 186629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 186729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1868564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char4 to char4 186929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 187029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 187129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1872564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(char4 v); 187329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 187429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 187529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 187629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1877564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar2 to char2 187829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 187929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 188029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1881564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(uchar2 v); 188229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 188329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 188429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 188529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1886564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar3 to char3 188729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 188829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 188929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1890564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(uchar3 v); 189129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 189229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 189329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 189429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1895564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar4 to char4 189629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 189729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 189829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1899564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(uchar4 v); 190029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 190129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 190229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 190329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1904564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short2 to char2 190529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 190629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 190729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1908564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(short2 v); 190929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 191029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 191129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 191229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1913564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short3 to char3 191429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 191529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 191629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1917564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(short3 v); 191829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 191929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 192029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 192129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1922564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short4 to char4 192329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 192429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 192529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1926564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(short4 v); 192729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 192829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 192929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 193029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1931564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort2 to char2 193229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 193329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 193429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1935564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(ushort2 v); 193629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 193729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 193829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 193929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1940564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort3 to char3 194129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 194229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 194329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1944564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(ushort3 v); 194529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 194629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 194729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 194829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1949564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort4 to char4 195029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 195129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 195229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1953564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(ushort4 v); 195429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 195529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 195629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 195729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1958564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int2 to char2 195929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 196029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 196129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1962564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(int2 v); 196329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 196429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 196529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 196629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1967564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int3 to char3 196829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 196929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 197029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1971564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(int3 v); 197229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 197329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 197429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 197529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1976564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int4 to char4 197729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 197829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 197929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1980564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(int4 v); 198129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 198229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 198329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 198429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1985564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint2 to char2 198629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 198729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 198829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1989564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(uint2 v); 199029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 199129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 199229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 199329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 1994564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint3 to char3 199529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 199629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 199729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 1998564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(uint3 v); 199929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 200029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 200129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 200229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2003564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint4 to char4 200429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 200529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 200629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2007564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(uint4 v); 200829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 200929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 201029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 201129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2012564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float2 to uchar2 201329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 201429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 201529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2016564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(float2 v); 201729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 201829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 201929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 202029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2021564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float3 to uchar3 202229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 202329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 202429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2025564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(float3 v); 202629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 202729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 202829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 202929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2030564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float4 to uchar4 203129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 203229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 203329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2034564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(float4 v); 203529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 203629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 203729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 203829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2039564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char2 to uchar2 204029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 204129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 204229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2043564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(char2 v); 204429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 204529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 204629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 204729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2048564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char3 to uchar3 204929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 205029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 205129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2052564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(char3 v); 205329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 205429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 205529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 205629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2057564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char4 to uchar4 205829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 205929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 206029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2061564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(char4 v); 206229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 206329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 206429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 206529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2066564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar2 to uchar2 206729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 206829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 206929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2070564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(uchar2 v); 207129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 207229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 207329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 207429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2075564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar3 to uchar3 207629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 207729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 207829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2079564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(uchar3 v); 208029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 208129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 208229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 208329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2084564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar4 to uchar4 208529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 208629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 208729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2088564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(uchar4 v); 208929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 209029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 209129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 209229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2093564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short2 to uchar2 209429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 209529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 209629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2097564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(short2 v); 209829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 209929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 210029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 210129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2102564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short3 to uchar3 210329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 210429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 210529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2106564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(short3 v); 210729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 210829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 210929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 211029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2111564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short4 to uchar4 211229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 211329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 211429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2115564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(short4 v); 211629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 211729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 211829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 211929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2120564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort2 to uchar2 212129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 212229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 212329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2124564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(ushort2 v); 212529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 212629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 212729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 212829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2129564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort3 to uchar3 213029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 213129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 213229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2133564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(ushort3 v); 213429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 213529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 213629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 213729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2138564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort4 to uchar4 213929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 214029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 214129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2142564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(ushort4 v); 214329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 214429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 214529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 214629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2147564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int2 to uchar2 214829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 214929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 215029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2151564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(int2 v); 215229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 215329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 215429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 215529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2156564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int3 to uchar3 215729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 215829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 215929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2160564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(int3 v); 216129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 216229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 216329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 216429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2165564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int4 to uchar4 216629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 216729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 216829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2169564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(int4 v); 217029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 217129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 217229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 217329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2174564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint2 to uchar2 217529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 217629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 217729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2178564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(uint2 v); 217929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 218029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 218129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 218229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2183564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint3 to uchar3 218429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 218529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 218629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2187564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(uint3 v); 218829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 218929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 219029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 219129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2192564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint4 to uchar4 219329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 219429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 219529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2196564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(uint4 v); 219729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 219829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 219929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 220029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2201564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float2 to short2 220229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 220329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 220429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2205564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(float2 v); 220629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 220729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 220829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 220929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2210564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float3 to short3 221129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 221229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 221329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2214564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(float3 v); 221529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 221629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 221729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 221829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2219564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float4 to short4 222029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 222129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 222229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2223564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(float4 v); 222429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 222529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 222629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 222729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2228564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char2 to short2 222929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 223029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 223129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2232564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(char2 v); 223329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 223429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 223529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 223629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2237564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char3 to short3 223829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 223929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 224029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2241564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(char3 v); 224229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 224329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 224429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 224529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2246564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char4 to short4 224729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 224829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 224929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2250564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(char4 v); 225129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 225229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 225329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 225429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2255564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar2 to short2 225629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 225729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 225829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2259564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(uchar2 v); 226029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 226129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 226229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 226329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2264564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar3 to short3 226529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 226629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 226729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2268564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(uchar3 v); 226929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 227029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 227129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 227229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2273564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar4 to short4 227429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 227529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 227629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2277564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(uchar4 v); 227829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 227929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 228029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 228129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2282564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short2 to short2 228329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 228429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 228529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2286564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(short2 v); 228729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 228829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 228929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 229029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2291564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short3 to short3 229229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 229329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 229429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2295564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(short3 v); 229629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 229729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 229829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 229929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2300564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short4 to short4 230129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 230229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 230329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2304564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(short4 v); 230529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 230629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 230729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 230829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2309564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort2 to short2 231029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 231129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 231229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2313564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(ushort2 v); 231429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 231529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 231629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 231729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2318564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort3 to short3 231929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 232029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 232129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2322564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(ushort3 v); 232329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 232429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 232529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 232629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2327564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort4 to short4 232829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 232929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 233029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2331564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(ushort4 v); 233229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 233329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 233429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 233529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2336564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int2 to short2 233729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 233829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 233929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2340564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(int2 v); 234129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 234229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 234329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 234429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2345564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int3 to short3 234629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 234729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 234829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2349564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(int3 v); 235029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 235129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 235229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 235329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2354564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int4 to short4 235529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 235629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 235729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2358564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(int4 v); 235929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 236029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 236129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 236229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2363564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint2 to short2 236429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 236529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 236629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2367564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(uint2 v); 236829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 236929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 237029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 237129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2372564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint3 to short3 237329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 237429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 237529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2376564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(uint3 v); 237729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 237829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 237929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 238029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2381564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint4 to short4 238229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 238329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 238429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2385564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(uint4 v); 238629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 238729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 238829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 238929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2390564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float2 to ushort2 239129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 239229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 239329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2394564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(float2 v); 239529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 239629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 239729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 239829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2399564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float3 to ushort3 240029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 240129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 240229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2403564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(float3 v); 240429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 240529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 240629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 240729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2408564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float4 to ushort4 240929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 241029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 241129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2412564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(float4 v); 241329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 241429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 241529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 241629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2417564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char2 to ushort2 241829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 241929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 242029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2421564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(char2 v); 242229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 242329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 242429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 242529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2426564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char3 to ushort3 242729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 242829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 242929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2430564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(char3 v); 243129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 243229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 243329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 243429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2435564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char4 to ushort4 243629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 243729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 243829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2439564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(char4 v); 244029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 244129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 244229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 244329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2444564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar2 to ushort2 244529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 244629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 244729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2448564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(uchar2 v); 244929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 245029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 245129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 245229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2453564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar3 to ushort3 245429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 245529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 245629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2457564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(uchar3 v); 245829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 245929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 246029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 246129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2462564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar4 to ushort4 246329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 246429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 246529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2466564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(uchar4 v); 246729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 246829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 246929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 247029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2471564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short2 to ushort2 247229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 247329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 247429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2475564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(short2 v); 247629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 247729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 247829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 247929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2480564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short3 to ushort3 248129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 248229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 248329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2484564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(short3 v); 248529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 248629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 248729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 248829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2489564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short4 to ushort4 249029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 249129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 249229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2493564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(short4 v); 249429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 249529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 249629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 249729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2498564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort2 to ushort2 249929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 250029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 250129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2502564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(ushort2 v); 250329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 250429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 250529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 250629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2507564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort3 to ushort3 250829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 250929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 251029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2511564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(ushort3 v); 251229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 251329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 251429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 251529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2516564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort4 to ushort4 251729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 251829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 251929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2520564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(ushort4 v); 252129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 252229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 252329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 252429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2525564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int2 to ushort2 252629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 252729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 252829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2529564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(int2 v); 253029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 253129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 253229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 253329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2534564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int3 to ushort3 253529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 253629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 253729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2538564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(int3 v); 253929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 254029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 254129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 254229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2543564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int4 to ushort4 254429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 254529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 254629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2547564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(int4 v); 254829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 254929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 255029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 255129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2552564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint2 to ushort2 255329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 255429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 255529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2556564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(uint2 v); 255729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 255829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 255929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 256029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2561564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint3 to ushort3 256229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 256329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 256429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2565564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(uint3 v); 256629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 256729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 256829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 256929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2570564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint4 to ushort4 257129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 257229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 257329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2574564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(uint4 v); 257529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 257629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 257729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 257829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2579564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float2 to int2 258029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 258129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 258229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2583564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(float2 v); 258429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 258529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 258629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 258729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2588564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float3 to int3 258929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 259029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 259129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2592564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(float3 v); 259329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 259429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 259529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 259629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2597564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float4 to int4 259829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 259929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 260029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2601564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(float4 v); 260229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 260329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 260429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 260529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2606564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char2 to int2 260729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 260829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 260929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2610564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(char2 v); 261129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 261229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 261329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 261429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2615564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char3 to int3 261629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 261729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 261829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2619564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(char3 v); 262029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 262129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 262229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 262329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2624564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char4 to int4 262529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 262629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 262729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2628564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(char4 v); 262929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 263029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 263129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 263229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2633564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar2 to int2 263429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 263529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 263629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2637564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(uchar2 v); 263829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 263929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 264029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 264129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2642564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar3 to int3 264329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 264429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 264529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2646564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(uchar3 v); 264729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 264829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 264929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 265029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2651564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar4 to int4 265229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 265329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 265429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2655564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(uchar4 v); 265629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 265729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 265829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 265929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2660564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short2 to int2 266129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 266229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 266329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2664564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(short2 v); 266529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 266629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 266729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 266829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2669564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short3 to int3 267029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 267129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 267229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2673564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(short3 v); 267429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 267529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 267629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 267729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2678564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short4 to int4 267929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 268029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 268129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2682564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(short4 v); 268329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 268429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 268529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 268629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2687564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort2 to int2 268829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 268929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 269029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2691564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(ushort2 v); 269229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 269329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 269429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 269529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2696564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort3 to int3 269729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 269829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 269929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2700564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(ushort3 v); 270129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 270229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 270329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 270429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2705564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort4 to int4 270629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 270729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 270829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2709564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(ushort4 v); 271029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 271129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 271229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 271329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2714564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int2 to int2 271529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 271629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 271729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2718564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(int2 v); 271929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 272029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 272129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 272229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2723564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int3 to int3 272429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 272529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 272629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2727564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(int3 v); 272829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 272929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 273029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 273129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2732564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int4 to int4 273329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 273429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 273529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2736564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(int4 v); 273729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 273829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 273929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 274029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2741564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint2 to int2 274229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 274329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 274429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2745564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(uint2 v); 274629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 274729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 274829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 274929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2750564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint3 to int3 275129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 275229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 275329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2754564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(uint3 v); 275529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 275629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 275729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 275829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2759564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint4 to int4 276029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 276129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 276229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2763564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(uint4 v); 276429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 276529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 276629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 276729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2768564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float2 to uint2 276929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 277029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 277129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2772564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(float2 v); 277329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 277429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 277529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 277629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2777564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float3 to uint3 277829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 277929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 278029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2781564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(float3 v); 278229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 278329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 278429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 278529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2786564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from float4 to uint4 278729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 278829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 278929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2790564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(float4 v); 279129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 279229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 279329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 279429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2795564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char2 to uint2 279629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 279729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 279829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2799564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(char2 v); 280029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 280129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 280229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 280329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2804564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char3 to uint3 280529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 280629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 280729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2808564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(char3 v); 280929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 281029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 281129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 281229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2813564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from char4 to uint4 281429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 281529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 281629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2817564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(char4 v); 281829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 281929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 282029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 282129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2822564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar2 to uint2 282329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 282429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 282529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2826564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(uchar2 v); 282729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 282829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 282929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 283029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2831564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar3 to uint3 283229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 283329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 283429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2835564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(uchar3 v); 283629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 283729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 283829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 283929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2840564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar4 to uint4 284129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 284229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 284329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2844564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(uchar4 v); 284529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 284629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 284729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 284829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2849564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short2 to uint2 285029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 285129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 285229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2853564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(short2 v); 285429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 285529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 285629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 285729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2858564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short3 to uint3 285929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 286029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 286129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2862564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(short3 v); 286329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 286429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 286529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 286629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2867564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short4 to uint4 286829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 286929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 287029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2871564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(short4 v); 287229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 287329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 287429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 287529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2876564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort2 to uint2 287729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 287829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 287929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2880564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(ushort2 v); 288129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 288229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 288329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 288429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2885564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort3 to uint3 288629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 288729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 288829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2889564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(ushort3 v); 289029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 289129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 289229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 289329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2894564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort4 to uint4 289529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 289629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 289729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2898564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(ushort4 v); 289929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 290029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 290129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 290229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2903564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int2 to uint2 290429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 290529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 290629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2907564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(int2 v); 290829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 290929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 291029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 291129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2912564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int3 to uint3 291329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 291429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 291529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2916564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(int3 v); 291729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 291829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 291929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 292029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2921564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int4 to uint4 292229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 292329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 292429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2925564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(int4 v); 292629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 292729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 292829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 292929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2930564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint2 to uint2 293129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 293229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 293329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2934564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(uint2 v); 293529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 293629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 293729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 293829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2939564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint3 to uint3 294029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 294129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 294229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2943564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(uint3 v); 294429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 294529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 294629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 294729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 2948564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint4 to uint4 294929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 295029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 295129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 2952564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(uint4 v); 295329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 295429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 2955aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 295629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 295746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double2 to double2 295829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 2959aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 296029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 296146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double2 __attribute__((const, overloadable))convert_double2(double2 v); 296229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 296329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 2964aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 296529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 296646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double3 to double3 296729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 2968aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 296929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 297046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double3 __attribute__((const, overloadable))convert_double3(double3 v); 297129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 297229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 2973aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 297429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 297546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double4 to double4 297629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 2977aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 297829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 297946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double4 __attribute__((const, overloadable))convert_double4(double4 v); 298029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 298129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 2982aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 298329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 298446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long2 to double2 298529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 2986aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 298729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 298846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double2 __attribute__((const, overloadable))convert_double2(long2 v); 298929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 299029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 2991aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 299229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 299346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long3 to double3 299429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 2995aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 299629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 299746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double3 __attribute__((const, overloadable))convert_double3(long3 v); 299829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 299929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3000aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 300129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 300246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long4 to double4 300329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3004aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 300529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 300646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double4 __attribute__((const, overloadable))convert_double4(long4 v); 300729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 300829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3009aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 301029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 301146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong2 to double2 301229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3013aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 301429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 301546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double2 __attribute__((const, overloadable))convert_double2(ulong2 v); 301629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 301729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3018aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 301929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 302046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong3 to double3 302129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3022aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 302329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 302446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double3 __attribute__((const, overloadable))convert_double3(ulong3 v); 302529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 302629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3027aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 302829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 302946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong4 to double4 303029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3031aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 303229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 303346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double4 __attribute__((const, overloadable))convert_double4(ulong4 v); 303429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 303529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3036aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 303729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 303846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double2 to long2 303929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3040aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 304129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 304246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern long2 __attribute__((const, overloadable))convert_long2(double2 v); 304329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 304429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3045aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 304629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 304746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double3 to long3 304829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3049aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 305029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 305146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern long3 __attribute__((const, overloadable))convert_long3(double3 v); 305229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 305329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3054aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 305529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 305646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double4 to long4 305729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3058aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 305929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 306046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern long4 __attribute__((const, overloadable))convert_long4(double4 v); 306129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 306229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3063aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 306429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 306546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long2 to long2 306629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3067aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 306829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 306946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern long2 __attribute__((const, overloadable))convert_long2(long2 v); 307029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 307129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3072aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 307329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 307446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long3 to long3 307529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3076aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 307729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 307846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern long3 __attribute__((const, overloadable))convert_long3(long3 v); 307929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 308029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3081aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 308229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 308346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long4 to long4 308429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3085aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 308629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 308746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern long4 __attribute__((const, overloadable))convert_long4(long4 v); 308829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 308929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3090aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 309129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 309246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong2 to long2 309329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3094aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 309529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 309646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern long2 __attribute__((const, overloadable))convert_long2(ulong2 v); 309729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 309829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3099aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 310029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 310146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong3 to long3 310229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3103aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 310429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 310546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern long3 __attribute__((const, overloadable))convert_long3(ulong3 v); 310629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 310729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3108aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 310929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 311046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong4 to long4 311129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3112aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 311329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 311446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern long4 __attribute__((const, overloadable))convert_long4(ulong4 v); 311546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 311646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3117aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 311846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 311946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double2 to ulong2 312046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3121aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 312246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 312346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))convert_ulong2(double2 v); 312446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 312546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3126aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 312746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 312846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double3 to ulong3 312946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3130aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 313146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 313246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))convert_ulong3(double3 v); 313346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 313446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3135aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 313646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 313746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double4 to ulong4 313846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3139aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 314046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 314146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))convert_ulong4(double4 v); 314246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 314346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3144aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 314546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 314646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long2 to ulong2 314746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3148aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 314946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 315046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))convert_ulong2(long2 v); 315146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 315246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3153aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 315446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 315546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long3 to ulong3 315646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3157aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 315846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 315946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))convert_ulong3(long3 v); 316046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 316146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3162aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 316346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 316446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long4 to ulong4 316546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3166aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 316746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 316846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))convert_ulong4(long4 v); 316946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 317046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3171aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 317246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 317346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong2 to ulong2 317446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3175aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 317646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 317746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))convert_ulong2(ulong2 v); 317846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 317946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3180aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 318146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 318246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong3 to ulong3 318346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3184aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 318546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 318646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))convert_ulong3(ulong3 v); 318746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 318846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3189aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 319046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 319146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong4 to ulong4 319246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3193aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 319446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 319546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))convert_ulong4(ulong4 v); 319646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 319746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3198aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 319946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 320046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double2 to float2 320146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3202aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 320346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 320446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern float2 __attribute__((const, overloadable))convert_float2(double2 v); 320546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 320646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3207aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 320846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 320946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double3 to float3 321046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3211aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 321246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 321346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern float3 __attribute__((const, overloadable))convert_float3(double3 v); 321446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 321546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3216aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 321746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 321846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from double4 to float4 321946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3220aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 322146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 322246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern float4 __attribute__((const, overloadable))convert_float4(double4 v); 322346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 322446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3225aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 322646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 322746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long2 to float2 322846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3229aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 323046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 323146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern float2 __attribute__((const, overloadable))convert_float2(long2 v); 323246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 323346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3234aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 323546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 323646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long3 to float3 323746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3238aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 323946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 324046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern float3 __attribute__((const, overloadable))convert_float3(long3 v); 324146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 324246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3243aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 324446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 324546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from long4 to float4 324646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3247aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 324846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 324946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern float4 __attribute__((const, overloadable))convert_float4(long4 v); 325046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 325146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3252aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 325346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 325446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong2 to float2 325546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3256aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 325746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 325846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern float2 __attribute__((const, overloadable))convert_float2(ulong2 v); 325946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 326046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3261aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 326246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 326346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong3 to float3 326446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3265aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 326646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 326746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern float3 __attribute__((const, overloadable))convert_float3(ulong3 v); 326846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet#endif 326946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet 3270aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 327146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet/* 327246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from ulong4 to float4 327346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * 3274aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 327546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet */ 327646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern float4 __attribute__((const, overloadable))convert_float4(ulong4 v); 327729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 327829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3279aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 328029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3281564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double2 to char2 328229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3283aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 328429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3285564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(double2 v); 328629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 328729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3288aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 328929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3290564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double3 to char3 329129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3292aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 329329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3294564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(double3 v); 329529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 329629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3297aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 329829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3299564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double4 to char4 330029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3301aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 330229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3303564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(double4 v); 330429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 330529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3306aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 330729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3308564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long2 to char2 330929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3310aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 331129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3312564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(long2 v); 331329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 331429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3315aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 331629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3317564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long3 to char3 331829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3319aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 332029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3321564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(long3 v); 332229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 332329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3324aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 332529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3326564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long4 to char4 332729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3328aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 332929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3330564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(long4 v); 333129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 333229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3333aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 333429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3335564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong2 to char2 333629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3337aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 333829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3339564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char2 __attribute__((const, overloadable))convert_char2(ulong2 v); 334029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 334129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3342aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 334329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3344564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong3 to char3 334529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3346aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 334729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3348564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char3 __attribute__((const, overloadable))convert_char3(ulong3 v); 334929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 335029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3351aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 335229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3353564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong4 to char4 335429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3355aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 335629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3357564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern char4 __attribute__((const, overloadable))convert_char4(ulong4 v); 335829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 335929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3360aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 336129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3362564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double2 to uchar2 336329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3364aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 336529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3366564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(double2 v); 336729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 336829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3369aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 337029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3371564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double3 to uchar3 337229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3373aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 337429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3375564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(double3 v); 337629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 337729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3378aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 337929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3380564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double4 to uchar4 338129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3382aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 338329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3384564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(double4 v); 338529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 338629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3387aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 338829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3389564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long2 to uchar2 339029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3391aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 339229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3393564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(long2 v); 339429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 339529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3396aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 339729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3398564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long3 to uchar3 339929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3400aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 340129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3402564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(long3 v); 340329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 340429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3405aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 340629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3407564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long4 to uchar4 340829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3409aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 341029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3411564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(long4 v); 341229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 341329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3414aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 341529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3416564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong2 to uchar2 341729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3418aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 341929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3420564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar2 __attribute__((const, overloadable))convert_uchar2(ulong2 v); 342129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 342229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3423aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 342429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3425564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong3 to uchar3 342629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3427aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 342829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3429564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar3 __attribute__((const, overloadable))convert_uchar3(ulong3 v); 343029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 343129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3432aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 343329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3434564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong4 to uchar4 343529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3436aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 343729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3438564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uchar4 __attribute__((const, overloadable))convert_uchar4(ulong4 v); 343929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 344029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3441aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 344229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3443564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double2 to short2 344429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3445aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 344629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3447564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(double2 v); 344829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 344929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3450aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 345129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3452564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double3 to short3 345329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3454aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 345529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3456564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(double3 v); 345729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 345829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3459aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 346029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3461564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double4 to short4 346229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3463aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 346429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3465564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(double4 v); 346629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 346729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3468aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 346929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3470564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long2 to short2 347129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3472aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 347329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3474564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(long2 v); 347529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 347629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3477aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 347829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3479564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long3 to short3 348029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3481aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 348229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3483564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(long3 v); 348429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 348529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3486aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 348729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3488564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long4 to short4 348929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3490aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 349129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3492564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(long4 v); 349329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 349429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3495aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 349629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3497564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong2 to short2 349829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3499aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 350029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3501564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short2 __attribute__((const, overloadable))convert_short2(ulong2 v); 350229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 350329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3504aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 350529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3506564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong3 to short3 350729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3508aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 350929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3510564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short3 __attribute__((const, overloadable))convert_short3(ulong3 v); 351129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 351229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3513aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 351429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3515564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong4 to short4 351629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3517aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 351829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3519564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern short4 __attribute__((const, overloadable))convert_short4(ulong4 v); 352029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 352129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3522aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 352329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3524564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double2 to ushort2 352529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3526aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 352729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3528564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(double2 v); 352929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 353029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3531aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 353229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3533564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double3 to ushort3 353429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3535aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 353629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3537564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(double3 v); 353829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 353929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3540aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 354129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3542564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double4 to ushort4 354329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3544aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 354529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3546564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(double4 v); 354729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 354829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3549aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 355029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3551564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long2 to ushort2 355229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3553aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 355429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3555564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(long2 v); 355629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 355729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3558aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 355929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3560564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long3 to ushort3 356129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3562aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 356329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3564564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(long3 v); 356529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 356629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3567aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 356829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3569564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long4 to ushort4 357029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3571aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 357229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3573564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(long4 v); 357429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 357529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3576aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 357729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3578564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong2 to ushort2 357929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3580aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 358129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3582564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort2 __attribute__((const, overloadable))convert_ushort2(ulong2 v); 358329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 358429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3585aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 358629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3587564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong3 to ushort3 358829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3589aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 359029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3591564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort3 __attribute__((const, overloadable))convert_ushort3(ulong3 v); 359229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 359329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3594aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 359529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3596564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong4 to ushort4 359729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3598aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 359929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3600564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern ushort4 __attribute__((const, overloadable))convert_ushort4(ulong4 v); 360129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 360229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3603aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 3604564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams/* 3605564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double2 to int2 3606564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * 3607aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 3608564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams */ 3609564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int2 __attribute__((const, overloadable))convert_int2(double2 v); 3610564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams#endif 3611564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams 3612aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 3613564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams/* 3614564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double3 to int3 3615564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * 3616aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 3617564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams */ 3618564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int3 __attribute__((const, overloadable))convert_int3(double3 v); 3619564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams#endif 3620564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams 3621aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 3622564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams/* 3623564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double4 to int4 3624564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * 3625aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 3626564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams */ 3627564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern int4 __attribute__((const, overloadable))convert_int4(double4 v); 3628564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams#endif 3629564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams 3630aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 363129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3632963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from long2 to int2 363329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3634aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 363529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3636bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))convert_int2(long2 v); 363729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 363829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3639aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 364029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3641963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from long3 to int3 364229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3643aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 364429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3645bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))convert_int3(long3 v); 364629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 364729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3648aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 364929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3650963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from long4 to int4 365129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3652aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 365329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3654bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))convert_int4(long4 v); 365529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 365629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3657aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 365829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3659963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ulong2 to int2 366029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3661aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 366229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3663bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))convert_int2(ulong2 v); 366429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 366529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3666aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 366729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3668963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ulong3 to int3 366929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3670aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 367129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3672bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))convert_int3(ulong3 v); 367329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 367429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3675aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 367629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3677963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ulong4 to int4 367829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3679aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 368029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3681bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))convert_int4(ulong4 v); 368229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 368329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3684aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 368529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3686564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double2 to uint2 368729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3688aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 368929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3690564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(double2 v); 369129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 369229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3693aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 369429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3695564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double3 to uint3 369629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3697aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 369829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3699564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(double3 v); 370029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 370129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3702aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 370329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3704564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from double4 to uint4 370529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3706aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 370729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3708564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(double4 v); 370929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 371029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3711aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 371229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3713564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long2 to uint2 371429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3715aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 371629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3717564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(long2 v); 371829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 371929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3720aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 372129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3722564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long3 to uint3 372329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3724aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 372529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3726564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(long3 v); 372729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 372829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3729aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 373029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3731564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from long4 to uint4 373229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3733aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 373429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3735564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(long4 v); 373629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 373729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3738aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 373929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3740564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong2 to uint2 374129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3742aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 374329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3744564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint2 __attribute__((const, overloadable))convert_uint2(ulong2 v); 374529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 374629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3747aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 374829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3749564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong3 to uint3 3750564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * 3751aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 3752564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams */ 3753564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint3 __attribute__((const, overloadable))convert_uint3(ulong3 v); 3754564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams#endif 3755564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams 3756aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 3757564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams/* 3758564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ulong4 to uint4 3759564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * 3760aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 3761564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams */ 3762564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern uint4 __attribute__((const, overloadable))convert_uint4(ulong4 v); 3763564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams#endif 3764564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams 3765aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 3766564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams/* 376746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from float2 to double2 3768564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * 3769aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 3770564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams */ 377146ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double2 __attribute__((const, overloadable))convert_double2(float2 v); 3772564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams#endif 3773564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams 3774aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 3775564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams/* 377646ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from float3 to double3 3777564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * 3778aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 3779564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams */ 378046ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double3 __attribute__((const, overloadable))convert_double3(float3 v); 3781564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams#endif 3782564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams 3783aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 3784564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams/* 378546ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from float4 to double4 3786564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * 3787aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 3788564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams */ 378946ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double4 __attribute__((const, overloadable))convert_double4(float4 v); 3790564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams#endif 3791564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams 3792aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 3793564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams/* 379446ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from char2 to double2 3795564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * 3796aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 3797564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams */ 379846ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double2 __attribute__((const, overloadable))convert_double2(char2 v); 3799564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams#endif 3800564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams 3801aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 3802564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams/* 380346ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from char3 to double3 3804564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * 3805aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 3806564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams */ 380746ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouilletextern double3 __attribute__((const, overloadable))convert_double3(char3 v); 3808564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams#endif 3809564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams 3810aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 3811564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams/* 381246ebc97e1ba04766f23296574ebde52102fbd4beJean-Luc Brouillet * Component wise conversion from char4 to double4 381329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3814aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 381529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3816564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(char4 v); 381729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 381829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3819aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 382029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3821564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar2 to double2 382229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3823aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 382429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3825564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(uchar2 v); 382629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 382729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3828aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 382929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3830564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar3 to double3 383129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3832aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 383329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3834564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(uchar3 v); 383529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 383629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3837aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 383829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3839564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uchar4 to double4 384029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3841aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 384229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3843564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(uchar4 v); 384429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 384529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3846aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 384729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3848564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short2 to double2 384929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3850aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 385129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3852564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(short2 v); 385329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 385429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3855aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 385629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3857564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short3 to double3 385829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3859aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 386029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3861564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(short3 v); 386229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 386329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3864aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 386529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3866564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from short4 to double4 386729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3868aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 386929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3870564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(short4 v); 387129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 387229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3873aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 387429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3875564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort2 to double2 387629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3877aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 387829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3879564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(ushort2 v); 388029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 388129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3882aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 388329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3884564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort3 to double3 388529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3886aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 388729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3888564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(ushort3 v); 388929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 389029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3891aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 389229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3893564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from ushort4 to double4 389429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3895aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 389629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3897564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(ushort4 v); 389829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 389929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3900aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 390129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3902564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int2 to double2 390329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3904aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 390529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3906564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(int2 v); 390729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 390829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3909aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 391029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3911564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int3 to double3 391229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3913aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 391429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3915564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(int3 v); 391629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 391729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3918aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 391929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3920564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from int4 to double4 392129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3922aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 392329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3924564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(int4 v); 392529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 392629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3927aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 392829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3929564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint2 to double2 393029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3931aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 393229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3933564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double2 __attribute__((const, overloadable))convert_double2(uint2 v); 393429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 393529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3936aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 393729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3938564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint3 to double3 393929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3940aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 394129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3942564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double3 __attribute__((const, overloadable))convert_double3(uint3 v); 394329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 394429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3945aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 394629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3947564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Sams * Component wise conversion from uint4 to double4 394829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3949aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 395029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3951564a4004e6db0f4477ac4657b9bdf13b1205c953Jason Samsextern double4 __attribute__((const, overloadable))convert_double4(uint4 v); 395229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 395329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3954aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 395529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3956963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from float2 to long2 395729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3958aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 395929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3960bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))convert_long2(float2 v); 396129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 396229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3963aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 396429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3965963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from float3 to long3 396629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3967aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 396829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3969bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))convert_long3(float3 v); 397029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 397129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3972aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 397329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3974963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from float4 to long4 397529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3976aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 397729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3978bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))convert_long4(float4 v); 397929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 398029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3981aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 398229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3983963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from char2 to long2 398429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3985aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 398629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3987bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))convert_long2(char2 v); 398829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 398929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3990aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 399129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 3992963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from char3 to long3 399329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 3994aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 399529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 3996bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))convert_long3(char3 v); 399729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 399829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 3999aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 400029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4001963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from char4 to long4 400229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4003aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 400429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4005bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))convert_long4(char4 v); 400629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 400729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4008aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 400929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4010963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uchar2 to long2 401129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4012aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 401329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4014bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))convert_long2(uchar2 v); 401529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 401629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4017aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 401829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4019963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uchar3 to long3 402029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4021aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 402229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4023bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))convert_long3(uchar3 v); 402429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 402529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4026aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 402729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4028963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uchar4 to long4 402929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4030aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 403129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4032bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))convert_long4(uchar4 v); 403329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 403429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4035aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 403629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4037963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from short2 to long2 403829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4039aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 404029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4041bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))convert_long2(short2 v); 404229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 404329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4044aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 404529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4046963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from short3 to long3 404729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4048aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 404929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4050bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))convert_long3(short3 v); 405129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 405229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4053aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 405429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4055963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from short4 to long4 405629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4057aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 405829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4059bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))convert_long4(short4 v); 406029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 406129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4062aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 406329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4064963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ushort2 to long2 406529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4066aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 406729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4068bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))convert_long2(ushort2 v); 406929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 407029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4071aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 407229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4073963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ushort3 to long3 407429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4075aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 407629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4077bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))convert_long3(ushort3 v); 407829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 407929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4080aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 408129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4082963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ushort4 to long4 408329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4084aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 408529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4086bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))convert_long4(ushort4 v); 408729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 408829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4089aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 409029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4091963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from int2 to long2 409229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4093aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 409429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4095bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))convert_long2(int2 v); 409629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 409729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4098aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 409929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4100963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from int3 to long3 410129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4102aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 410329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4104bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))convert_long3(int3 v); 410529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 410629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4107aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 410829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4109963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from int4 to long4 411029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4111aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 411229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4113bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))convert_long4(int4 v); 411429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 411529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4116aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 411729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4118963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uint2 to long2 411929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4120aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 412129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4122bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))convert_long2(uint2 v); 412329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 412429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4125aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 412629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4127963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uint3 to long3 412829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4129aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 413029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4131bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))convert_long3(uint3 v); 413229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 413329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4134aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 413529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4136963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uint4 to long4 413729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4138aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 413929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4140bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))convert_long4(uint4 v); 414129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 414229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4143aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 414429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4145963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from float2 to ulong2 414629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4147aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 414829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4149bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))convert_ulong2(float2 v); 415029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 415129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4152aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 415329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4154963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from float3 to ulong3 415529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4156aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 415729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4158bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))convert_ulong3(float3 v); 415929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 416029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4161aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 416229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4163963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from float4 to ulong4 416429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4165aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 416629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4167bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))convert_ulong4(float4 v); 416829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 416929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4170aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 417129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4172963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from char2 to ulong2 417329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4174aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 417529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4176bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))convert_ulong2(char2 v); 417729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 417829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4179aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 418029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4181963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from char3 to ulong3 418229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4183aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 418429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4185bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))convert_ulong3(char3 v); 418629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 418729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4188aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 418929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4190963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from char4 to ulong4 419129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4192aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 419329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4194bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))convert_ulong4(char4 v); 419529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 419629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4197aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 419829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4199963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uchar2 to ulong2 420029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4201aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 420229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4203bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))convert_ulong2(uchar2 v); 420429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 420529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4206aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 420729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4208963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uchar3 to ulong3 420929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4210aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 421129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4212bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))convert_ulong3(uchar3 v); 421329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 421429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4215aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 421629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4217963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uchar4 to ulong4 421829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4219aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 422029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4221bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))convert_ulong4(uchar4 v); 422229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 422329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4224aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 422529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4226963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from short2 to ulong2 422729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4228aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 422929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4230bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))convert_ulong2(short2 v); 423129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 423229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4233aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 423429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4235963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from short3 to ulong3 423629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4237aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 423829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4239bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))convert_ulong3(short3 v); 424029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 424129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4242aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 424329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4244963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from short4 to ulong4 424529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4246aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 424729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4248bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))convert_ulong4(short4 v); 424929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 425029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4251aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 425229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4253963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ushort2 to ulong2 425429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4255aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 425629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4257bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))convert_ulong2(ushort2 v); 425829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 425929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4260aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 426129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4262963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ushort3 to ulong3 426329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4264aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 426529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4266bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))convert_ulong3(ushort3 v); 426729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 426829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4269aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 427029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4271963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from ushort4 to ulong4 427229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4273aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 427429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4275bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))convert_ulong4(ushort4 v); 427629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 427729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4278aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 427929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4280963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from int2 to ulong2 428129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4282aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 428329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4284bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))convert_ulong2(int2 v); 428529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 428629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4287aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 428829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4289963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from int3 to ulong3 429029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4291aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 429229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4293bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))convert_ulong3(int3 v); 429429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 429529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4296aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 429729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4298963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from int4 to ulong4 429929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4300aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 430129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4302bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))convert_ulong4(int4 v); 430329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 430429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4305aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 430629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4307963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uint2 to ulong2 430829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4309aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 431029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4311bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))convert_ulong2(uint2 v); 431229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 431329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4314aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 431529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4316963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uint3 to ulong3 431729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4318aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 431929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4320bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))convert_ulong3(uint3 v); 432129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 432229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4323aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 432429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4325963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Component wise conversion from uint4 to ulong4 432629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4327aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 432829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4329bcd5b9af756d10317faf54fa3742f89dfacef152Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))convert_ulong4(uint4 v); 433029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 433129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 433229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 433329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4334963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Copy the sign bit from y to x. 433529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 433629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 433729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4338963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))copysign(float x, float y); 433929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 434029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 434129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 434229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4343963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Copy the sign bit from y to x. 434429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 434529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 434629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4347963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))copysign(float2 x, float2 y); 434829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 434929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 435029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 435129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4352963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Copy the sign bit from y to x. 435329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 435429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 435529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4356963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))copysign(float3 x, float3 y); 435729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 435829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 435929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 436029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4361963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Copy the sign bit from y to x. 436229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 436329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 436429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4365963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))copysign(float4 x, float4 y); 436629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 436729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 436829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 436929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4370963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cosine. 437129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 437229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 437329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4374963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))cos(float); 437529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 437629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 437729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 437829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4379963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cosine. 438029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 438129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 438229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4383963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))cos(float2); 438429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 438529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 438629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 438729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4388963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cosine. 438929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 439029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 439129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4392963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))cos(float3); 439329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 439429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 439529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 439629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4397963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cosine. 439829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 439929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 440029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4401963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))cos(float4); 440229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 440329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 440429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 440529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4406963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hypebolic cosine. 440729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 440829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 440929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4410963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))cosh(float); 441129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 441229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 441329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 441429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4415963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hypebolic cosine. 441629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 441729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 441829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4419963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))cosh(float2); 442029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 442129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 442229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 442329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4424963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hypebolic cosine. 442529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 442629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 442729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4428963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))cosh(float3); 442929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 443029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 443129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 443229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4433963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hypebolic cosine. 443429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 443529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 443629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4437963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))cosh(float4); 443829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 443929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 444029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 444129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4442963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cosine of the value * PI. 444329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 444429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 444529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4446963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))cospi(float); 444729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 444829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 444929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 445029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4451963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cosine of the value * PI. 445229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 445329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 445429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4455963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))cospi(float2); 445629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 445729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 445829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 445929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4460963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cosine of the value * PI. 446129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 446229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 446329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4464963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))cospi(float3); 446529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 446629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 446729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 446829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4469963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the cosine of the value * PI. 447029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 447129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 447229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4473963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))cospi(float4); 447429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 447529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 447629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 447729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4478963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the cross product of two vectors. 447929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 448029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 448129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4482963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))cross(float3 lhs, float3 rhs); 448329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 448429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 448529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 448629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4487963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the cross product of two vectors. 448829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 448929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 449029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4491963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))cross(float4 lhs, float4 rhs); 449229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 449329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 449429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 449529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4496963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Convert from radians to degrees. 449729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 449829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 449929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4500963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))degrees(float value); 450129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 450229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 450329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 450429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4505963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Convert from radians to degrees. 450629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 450729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 450829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4509963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))degrees(float2 value); 451029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 451129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 451229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 451329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4514963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Convert from radians to degrees. 451529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 451629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 451729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4518963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))degrees(float3 value); 451929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 452029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 452129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 452229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4523963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Convert from radians to degrees. 452429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 452529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 452629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4527963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))degrees(float4 value); 452829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 452929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 453029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 453129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4532963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the distance between two points. 453329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 453429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 453529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4536963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))distance(float lhs, float rhs); 453729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 453829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 453929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 454029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4541963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the distance between two points. 454229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 454329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 454429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4545963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))distance(float2 lhs, float2 rhs); 454629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 454729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 454829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 454929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4550963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the distance between two points. 455129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 455229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 455329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4554963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))distance(float3 lhs, float3 rhs); 455529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 455629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 455729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 455829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4559963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the distance between two points. 456029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 456129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 456229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4563963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))distance(float4 lhs, float4 rhs); 456429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 456529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 456629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 456729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4568963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the dot product of two vectors. 456929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 457029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 457129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4572963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))dot(float lhs, float rhs); 457329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 457429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 457529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 457629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4577963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the dot product of two vectors. 457829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 457929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 458029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4581963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))dot(float2 lhs, float2 rhs); 458229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 458329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 458429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 458529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4586963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the dot product of two vectors. 458729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 458829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 458929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4590963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))dot(float3 lhs, float3 rhs); 459129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 459229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 459329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 459429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4595963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the dot product of two vectors. 459629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 459729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 459829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4599963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))dot(float4 lhs, float4 rhs); 460029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 460129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 460229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 460329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4604963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the error function. 460529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 460629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 460729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4608963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))erf(float); 460929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 461029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 461129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 461229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4613963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the error function. 461429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 461529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 461629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4617963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))erf(float2); 461829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 461929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 462029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 462129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4622963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the error function. 462329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 462429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 462529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4626963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))erf(float3); 462729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 462829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 462929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 463029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4631963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the error function. 463229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 463329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 463429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4635963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))erf(float4); 463629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 463729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 463829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 463929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4640963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the complementary error function. 464129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 464229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 464329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4644963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))erfc(float); 464529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 464629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 464729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 464829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4649963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the complementary error function. 465029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 465129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 465229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4653963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))erfc(float2); 465429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 465529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 465629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 465729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4658963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the complementary error function. 465929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 466029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 466129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4662963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))erfc(float3); 466329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 466429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 466529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 466629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4667963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the complementary error function. 466829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 466929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 467029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4671963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))erfc(float4); 467229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 467329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 467429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 467529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4676963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return e ^ value. 467729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 467829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 467929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4680963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))exp(float); 468129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 468229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 468329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 468429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4685963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return e ^ value. 468629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 468729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 468829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4689963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))exp(float2); 469029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 469129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 469229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 469329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4694963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return e ^ value. 469529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 469629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 469729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4698963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))exp(float3); 469929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 470029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 470129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 470229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4703963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return e ^ value. 470429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 470529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 470629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4707963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))exp(float4); 470829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 470929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 471029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 471129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4712963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return 10 ^ value. 471329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 471429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 471529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4716963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))exp10(float); 471729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 471829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 471929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 472029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4721963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return 10 ^ value. 472229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 472329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 472429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4725963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))exp10(float2); 472629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 472729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 472829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 472929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4730963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return 10 ^ value. 473129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 473229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 473329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4734963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))exp10(float3); 473529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 473629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 473729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 473829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4739963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return 10 ^ value. 474029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 474129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 474229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4743963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))exp10(float4); 474429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 474529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 474629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 474729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4748963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return 2 ^ value. 474929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 475029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 475129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4752963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))exp2(float); 475329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 475429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 475529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 475629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4757963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return 2 ^ value. 475829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 475929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 476029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4761963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))exp2(float2); 476229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 476329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 476429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 476529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4766963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return 2 ^ value. 476729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 476829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 476929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4770963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))exp2(float3); 477129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 477229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 477329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 477429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4775963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return 2 ^ value. 477629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 477729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 477829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4779963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))exp2(float4); 478029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 478129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 478229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 478329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4784963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (e ^ value) - 1. 478529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 478629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 478729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4788963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))expm1(float); 478929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 479029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 479129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 479229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4793963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (e ^ value) - 1. 479429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 479529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 479629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4797963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))expm1(float2); 479829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 479929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 480029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 480129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4802963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (e ^ value) - 1. 480329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 480429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 480529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4806963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))expm1(float3); 480729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 480829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 480929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 481029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4811963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (e ^ value) - 1. 481229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 481329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 481429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4815963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))expm1(float4); 481629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 481729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 481829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 481929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4820963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 482129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 482229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 482329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4824963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fabs(float); 482529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 482629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 482729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 482829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4829963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 483029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 483129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 483229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4833963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))fabs(float2); 483429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 483529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 483629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 483729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4838963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 483929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 484029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 484129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4842963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))fabs(float3); 484329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 484429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 484529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 484629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4847963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the absolute value of a value. 484829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 484929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 485029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4851963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))fabs(float4); 485229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 485329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4854963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 485529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4856963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the approximate distance between two points. 485729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4858963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 485929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4860963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fast_distance(float lhs, float rhs); 486129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 486229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4863963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 486429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4865963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the approximate distance between two points. 486629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4867963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 486829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4869963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fast_distance(float2 lhs, float2 rhs); 487029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 487129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4872963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 487329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4874963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the approximate distance between two points. 487529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4876963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 487729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4878963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fast_distance(float3 lhs, float3 rhs); 487929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 488029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4881963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 488229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4883963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the approximate distance between two points. 488429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4885963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 488629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4887963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fast_distance(float4 lhs, float4 rhs); 488829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 488929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4890963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 489129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4892963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the approximate length of a vector. 489329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4894963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 489529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4896963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fast_length(float v); 489729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 489829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4899963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 490029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4901963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the approximate length of a vector. 490229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4903963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 490429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4905963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fast_length(float2 v); 490629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 490729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4908963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 490929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4910963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the approximate length of a vector. 491129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4912963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 491329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4914963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fast_length(float3 v); 491529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 491629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4917963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 491829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4919963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the approximate length of a vector. 492029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4921963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 492229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4923963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fast_length(float4 v); 492429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 492529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4926963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 492729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4928963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Approximately normalize a vector. 492929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4930963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 493129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4932963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fast_normalize(float v); 493329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 493429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4935963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 493629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4937963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Approximately normalize a vector. 493829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4939963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 494029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4941963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))fast_normalize(float2 v); 494229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 494329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4944963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 494529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4946963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Approximately normalize a vector. 494729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4948963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 494929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4950963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))fast_normalize(float3 v); 495129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 495229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 4953963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 495429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4955963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Approximately normalize a vector. 495629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 4957963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 495829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4959963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))fast_normalize(float4 v); 496029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 496129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 496229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 496329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4964963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the positive difference between two values. 496529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 496629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 496729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4968963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fdim(float a, float b); 496929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 497029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 497129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 497229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4973963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the positive difference between two values. 497429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 497529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 497629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4977963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))fdim(float2 a, float2 b); 497829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 497929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 498029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 498129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4982963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the positive difference between two values. 498329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 498429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 498529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4986963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))fdim(float3 a, float3 b); 498729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 498829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 498929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 499029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 4991963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the positive difference between two values. 499229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 499329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 499429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 4995963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))fdim(float4 a, float4 b); 499629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 499729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 499829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 499929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5000963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the smallest integer not greater than a value. 500129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 500229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 500329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5004963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))floor(float); 500529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 500629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 500729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 500829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5009963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the smallest integer not greater than a value. 501029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 501129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 501229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5013963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))floor(float2); 501429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 501529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 501629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 501729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5018963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the smallest integer not greater than a value. 501929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 502029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 502129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5022963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))floor(float3); 502329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 502429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 502529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 502629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5027963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the smallest integer not greater than a value. 502829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 502929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 503029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5031963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))floor(float4); 503229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 503329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 503429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 503529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5036963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (a * b) + c. 503729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 503829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 503929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5040963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fma(float a, float b, float c); 504129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 504229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 504329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 504429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5045963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (a * b) + c. 504629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 504729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 504829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5049963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))fma(float2 a, float2 b, float2 c); 505029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 505129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 505229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 505329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5054963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (a * b) + c. 505529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 505629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 505729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5058963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))fma(float3 a, float3 b, float3 c); 505929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 506029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 506129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 506229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5063963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (a * b) + c. 506429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 506529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 506629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5067963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))fma(float4 a, float4 b, float4 c); 506829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 506929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 507029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 507129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5072963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x < y ? y : x) 507329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 507429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 507529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5076963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fmax(float x, float y); 507729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 507829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 507929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 508029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5081963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x < y ? y : x) 508229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 508329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 508429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5085963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))fmax(float2 x, float2 y); 508629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 508729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 508829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 508929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5090963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x < y ? y : x) 509129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 509229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 509329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5094963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))fmax(float3 x, float3 y); 509529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 509629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 509729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 509829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5099963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x < y ? y : x) 510029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 510129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 510229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5103963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))fmax(float4 x, float4 y); 510429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 510529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 510629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 510729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5108963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x < y ? y : x) 510929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 511029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 511129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5112963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))fmax(float2 x, float y); 511329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 511429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 511529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 511629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5117963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x < y ? y : x) 511829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 511929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 512029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5121963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))fmax(float3 x, float y); 512229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 512329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 512429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 512529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5126963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x < y ? y : x) 512729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 512829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 512929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5130963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))fmax(float4 x, float y); 513129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 513229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 513329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 513429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5135963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x > y ? y : x) 513629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 513729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 513829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5139963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fmin(float x, float y); 514029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 514129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 514229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 514329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5144963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x > y ? y : x) 514529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 514629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 514729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5148963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))fmin(float2 x, float2 y); 514929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 515029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 515129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 515229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5153963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x > y ? y : x) 515429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 515529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 515629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5157963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))fmin(float3 x, float3 y); 515829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 515929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 516029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 516129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5162963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x > y ? y : x) 516329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 516429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 516529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5166963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))fmin(float4 x, float4 y); 516729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 516829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 516929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 517029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5171963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x > y ? y : x) 517229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 517329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 517429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5175963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))fmin(float2 x, float y); 517629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 517729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 517829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 517929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5180963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x > y ? y : x) 518129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 518229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 518329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5184963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))fmin(float3 x, float y); 518529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 518629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 518729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 518829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5189963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x > y ? y : x) 519029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 519129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 519229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5193963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))fmin(float4 x, float y); 519429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 519529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 519629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 519729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5198963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the remainder from x / y 519929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 520029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 520129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5202963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))fmod(float x, float y); 520329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 520429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 520529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 520629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5207963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the remainder from x / y 520829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 520929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 521029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5211963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))fmod(float2 x, float2 y); 521229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 521329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 521429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 521529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5216963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the remainder from x / y 521729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 521829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 521929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5220963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))fmod(float3 x, float3 y); 522129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 522229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 522329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 522429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5225963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the remainder from x / y 522629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 522729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 522829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5229963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))fmod(float4 x, float4 y); 523029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 523129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 523229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 523329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5234963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return fractional part of v 5235963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5236963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param floor floor[0] will be set to the floor of the input value. 523729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 523829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 523929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 524046341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float __attribute__((overloadable))fract(float v, float* floor); 524129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 524229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 524329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 524429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5245963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return fractional part of v 5246963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5247963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param floor floor[0] will be set to the floor of the input value. 524829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 524929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 525029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 525146341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float2 __attribute__((overloadable))fract(float2 v, float2* floor); 525229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 525329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 525429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 525529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5256963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return fractional part of v 5257963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5258963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param floor floor[0] will be set to the floor of the input value. 525929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 526029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 526129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 526246341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float3 __attribute__((overloadable))fract(float3 v, float3* floor); 526329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 526429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 526529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 526629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5267963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return fractional part of v 5268963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5269963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param floor floor[0] will be set to the floor of the input value. 527029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 527129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 527229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 527346341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float4 __attribute__((overloadable))fract(float4 v, float4* floor); 527429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 527529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 527629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 527729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5278963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return fractional part of v 527929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 528029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 528129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5282963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic float __attribute__((const, overloadable))fract(float v) { 5283963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet float unused; 5284963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return fract(v, &unused); 5285963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 528629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 528729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 528829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 528929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5290963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return fractional part of v 529129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 529229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 529329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5294963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic float2 __attribute__((const, overloadable))fract(float2 v) { 5295963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet float2 unused; 5296963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return fract(v, &unused); 5297963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 529829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 529929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 530029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 530129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5302963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return fractional part of v 530329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 530429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 530529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5306963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic float3 __attribute__((const, overloadable))fract(float3 v) { 5307963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet float3 unused; 5308963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return fract(v, &unused); 5309963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 531029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 531129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 531229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 531329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5314963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return fractional part of v 531529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 531629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 531729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5318963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic float4 __attribute__((const, overloadable))fract(float4 v) { 5319963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet float4 unused; 5320963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return fract(v, &unused); 5321963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 532229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 532329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 532429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 532529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5326963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the mantissa and place the exponent into iptr[0] 5327963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5328963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param v Supports float, float2, float3, float4. 532929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 533029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 533129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 533246341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float __attribute__((overloadable))frexp(float v, int* iptr); 533329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 533429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 533529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 533629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5337963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the mantissa and place the exponent into iptr[0] 5338963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5339963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param v Supports float, float2, float3, float4. 534029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 534129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 534229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 534346341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float2 __attribute__((overloadable))frexp(float2 v, int2* iptr); 534429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 534529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 534629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 534729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5348963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the mantissa and place the exponent into iptr[0] 5349963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5350963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param v Supports float, float2, float3, float4. 535129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 535229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 535329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 535446341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float3 __attribute__((overloadable))frexp(float3 v, int3* iptr); 535529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 535629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 535729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 535829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5359963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the mantissa and place the exponent into iptr[0] 5360963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5361963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param v Supports float, float2, float3, float4. 536229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 536329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 536429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 536546341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float4 __attribute__((overloadable))frexp(float4 v, int4* iptr); 536629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 536729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5368963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 536929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5370963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate reciprocal of a value. 537129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5372963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 537329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5374963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))half_recip(float v); 537529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 537629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5377963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 537829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5379963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate reciprocal of a value. 538029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5381963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 538229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5383963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))half_recip(float2 v); 538429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 538529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5386963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 538729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5388963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate reciprocal of a value. 538929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5390963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 539129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5392963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))half_recip(float3 v); 539329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 539429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5395963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 539629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5397963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate reciprocal of a value. 539829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5399963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 540029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5401963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))half_recip(float4 v); 540229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 540329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5404963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 540529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5406963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate value of (1.f / sqrt(value)). 540729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5408963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 540929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5410963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))half_rsqrt(float v); 541129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 541229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5413963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 541429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5415963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate value of (1.f / sqrt(value)). 541629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5417963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 541829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5419963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))half_rsqrt(float2 v); 542029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 542129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5422963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 542329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5424963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate value of (1.f / sqrt(value)). 542529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5426963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 542729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5428963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))half_rsqrt(float3 v); 542929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 543029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5431963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 543229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5433963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate value of (1.f / sqrt(value)). 543429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5435963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 543629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5437963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))half_rsqrt(float4 v); 543829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 543929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5440963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 544129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5442963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate square root of a value. 544329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5444963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 544529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5446963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))half_sqrt(float v); 544729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 544829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5449963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 545029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5451963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate square root of a value. 545229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5453963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 545429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5455963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))half_sqrt(float2 v); 545629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 545729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5458963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 545929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5460963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate square root of a value. 546129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5462963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 546329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5464963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))half_sqrt(float3 v); 546529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 546629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5467963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 17)) 546829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5469963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the approximate square root of a value. 547029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5471963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 17 and newer. 547229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5473963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))half_sqrt(float4 v); 547429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 547529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 547629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 547729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5478963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return sqrt(x*x + y*y) 547929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 548029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 548129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5482963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))hypot(float x, float y); 548329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 548429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 548529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 548629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5487963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return sqrt(x*x + y*y) 548829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 548929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 549029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5491963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))hypot(float2 x, float2 y); 549229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 549329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 549429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 549529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5496963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return sqrt(x*x + y*y) 549729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 549829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 549929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5500963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))hypot(float3 x, float3 y); 550129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 550229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 550329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 550429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5505963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return sqrt(x*x + y*y) 550629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 550729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 550829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5509963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))hypot(float4 x, float4 y); 551029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 551129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 551229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 551329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5514963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the integer exponent of a value 551529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 551629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 551729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5518963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int __attribute__((const, overloadable))ilogb(float); 551929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 552029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 552129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 552229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5523963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the integer exponent of a value 552429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 552529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 552629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5527963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))ilogb(float2); 552829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 552929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 553029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 553129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5532963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the integer exponent of a value 553329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 553429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 553529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5536963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))ilogb(float3); 553729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 553829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 553929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 554029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5541963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the integer exponent of a value 554229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 554329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 554429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5545963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))ilogb(float4); 554629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 554729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 554829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 554929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5550963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x * 2^y) 5551963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5552963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param x Supports 1,2,3,4 components 5553963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param y Supports single component or matching vector. 555429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 555529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 555629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5557963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))ldexp(float x, int y); 555829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 555929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 556029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 556129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5562963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x * 2^y) 5563963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5564963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param x Supports 1,2,3,4 components 5565963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param y Supports single component or matching vector. 556629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 556729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 556829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5569963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))ldexp(float2 x, int2 y); 557029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 557129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 557229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 557329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5574963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x * 2^y) 5575963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5576963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param x Supports 1,2,3,4 components 5577963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param y Supports single component or matching vector. 557829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 557929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 558029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5581963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))ldexp(float3 x, int3 y); 558229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 558329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 558429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 558529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5586963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x * 2^y) 5587963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5588963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param x Supports 1,2,3,4 components 5589963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param y Supports single component or matching vector. 559029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 559129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 559229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5593963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))ldexp(float4 x, int4 y); 559429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 559529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 559629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 559729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5598963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x * 2^y) 5599963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5600963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param x Supports 1,2,3,4 components 5601963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param y Supports single component or matching vector. 560229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 560329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 560429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5605963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))ldexp(float2 x, int y); 560629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 560729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 560829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 560929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5610963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x * 2^y) 5611963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5612963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param x Supports 1,2,3,4 components 5613963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param y Supports single component or matching vector. 561429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 561529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 561629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5617963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))ldexp(float3 x, int y); 561829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 561929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 562029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 562129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5622963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (x * 2^y) 5623963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 5624963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param x Supports 1,2,3,4 components 5625963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param y Supports single component or matching vector. 562629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 562729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 562829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5629963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))ldexp(float4 x, int y); 563029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 563129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 563229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 563329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5634963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the length of a vector. 563529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 563629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 563729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5638963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))length(float v); 563929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 564029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 564129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 564229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5643963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the length of a vector. 564429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 564529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 564629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5647963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))length(float2 v); 564829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 564929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 565029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 565129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5652963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the length of a vector. 565329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 565429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 565529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5656963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))length(float3 v); 565729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 565829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 565929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 566029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5661963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the length of a vector. 566229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 566329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 566429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5665963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))length(float4 v); 566629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 566729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 566829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 566929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5670631b9e32336e9d3bb8a586330498f7e09c76c4f7Jean-Luc Brouillet * Return the log gamma 567129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 567229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 567329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5674963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))lgamma(float); 567529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 567629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 567729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 567829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5679631b9e32336e9d3bb8a586330498f7e09c76c4f7Jean-Luc Brouillet * Return the log gamma 568029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 568129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 568229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5683963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))lgamma(float2); 568429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 568529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 568629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 568729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5688631b9e32336e9d3bb8a586330498f7e09c76c4f7Jean-Luc Brouillet * Return the log gamma 568929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 569029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 569129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5692963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))lgamma(float3); 569329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 569429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 569529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 569629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5697631b9e32336e9d3bb8a586330498f7e09c76c4f7Jean-Luc Brouillet * Return the log gamma 569829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 569929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 570029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5701963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))lgamma(float4); 570229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 570329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 570429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 570529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5706963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the log gamma and sign 570729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 570829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 570929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 571046341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float __attribute__((overloadable))lgamma(float x, int* y); 571129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 571229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 571329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 571429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5715963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the log gamma and sign 571629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 571729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 571829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 571946341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float2 __attribute__((overloadable))lgamma(float2 x, int2* y); 572029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 572129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 572229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 572329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5724963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the log gamma and sign 572529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 572629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 572729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 572846341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float3 __attribute__((overloadable))lgamma(float3 x, int3* y); 572929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 573029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 573129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 573229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5733963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the log gamma and sign 573429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 573529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 573629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 573746341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float4 __attribute__((overloadable))lgamma(float4 x, int4* y); 573829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 573929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 574029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 574129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5742963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the natural logarithm. 574329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 574429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 574529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5746963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))log(float); 574729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 574829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 574929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 575029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5751963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the natural logarithm. 575229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 575329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 575429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5755963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))log(float2); 575629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 575729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 575829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 575929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5760963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the natural logarithm. 576129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 576229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 576329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5764963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))log(float3); 576529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 576629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 576729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 576829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5769963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the natural logarithm. 577029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 577129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 577229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5773963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))log(float4); 577429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 577529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 577629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 577729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5778963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the base 10 logarithm. 577929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 578029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 578129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5782963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))log10(float); 578329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 578429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 578529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 578629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5787963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the base 10 logarithm. 578829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 578929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 579029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5791963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))log10(float2); 579229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 579329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 579429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 579529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5796963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the base 10 logarithm. 579729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 579829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 579929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5800963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))log10(float3); 580129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 580229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5803963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 580429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5805963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the base 10 logarithm. 580629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5807963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 580829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5809963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))log10(float4); 581029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 581129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5812963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 581329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5814963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the natural logarithm of (v + 1.0f) 581529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5816963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 581729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5818963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))log1p(float); 581929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 582029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5821963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 582229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5823963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the natural logarithm of (v + 1.0f) 582429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5825963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 582629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5827963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))log1p(float2); 582829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 582929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5830963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 583129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5832963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the natural logarithm of (v + 1.0f) 583329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5834963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 583529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5836963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))log1p(float3); 583729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 583829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5839963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 584029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5841963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the natural logarithm of (v + 1.0f) 584229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5843963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 584429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5845963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))log1p(float4); 584629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 584729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5848963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 584929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5850963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the base 2 logarithm. 585129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5852963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 585329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5854963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))log2(float); 585529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 585629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5857963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 585829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5859963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the base 2 logarithm. 586029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5861963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 586229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5863963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))log2(float2); 586429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 586529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5866963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 586729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5868963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the base 2 logarithm. 586929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5870963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 587129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5872963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))log2(float3); 587329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 587429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5875963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 587629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5877963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the base 2 logarithm. 587829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5879963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 588029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5881963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))log2(float4); 588229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 588329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5884963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 588529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5886963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the exponent of the value. 588729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5888963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 588929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5890963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))logb(float); 589129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 589229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5893963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 589429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5895963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the exponent of the value. 589629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5897963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 589829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5899963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))logb(float2); 590029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 590129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5902963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 590329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5904963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the exponent of the value. 590529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5906963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 590729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5908963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))logb(float3); 590929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 591029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5911963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 591229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5913963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the exponent of the value. 591429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5915963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 591629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5917963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))logb(float4); 591829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 591929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5920963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 592129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5922963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute (a * b) + c 592329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5924963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 592529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5926963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))mad(float a, float b, float c); 592729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 592829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5929963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 593029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5931963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute (a * b) + c 593229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5933963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 593429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5935963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))mad(float2 a, float2 b, float2 c); 593629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 593729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5938963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 593929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5940963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute (a * b) + c 594129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5942963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 594329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5944963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))mad(float3 a, float3 b, float3 c); 594529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 594629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5947963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 594829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5949963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute (a * b) + c 595029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5951963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 595229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5953963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))mad(float4 a, float4 b, float4 c); 595429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 595529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5956963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 595729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5958963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 595929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5960963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 596129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5962963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))max(float, float); 596329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 596429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5965963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 596629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5967963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 596829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5969963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 597029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5971963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))max(float2, float2); 597229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 597329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5974963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 597529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5976963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 597729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5978963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 597929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5980963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))max(float3, float3); 598129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 598229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 5983963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 598429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5985963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 598629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 5987963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 598829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5989963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))max(float4, float4); 599029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 599129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 599229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 599329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 5994963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 599529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 599629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19 599729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 5998963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic char __attribute__((const, overloadable))max(char v1, char v2) { 5999963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 > v2 ? v1 : v2); 600029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams} 600129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 600229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 600329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 600429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6005963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 600629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 600729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19 600829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6009963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uchar __attribute__((const, overloadable))max(uchar v1, uchar v2) { 6010963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 > v2 ? v1 : v2); 601129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams} 601229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 601329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 601429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 601529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6016963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 601729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 601829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19 601929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6020963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic short __attribute__((const, overloadable))max(short v1, short v2) { 6021963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 > v2 ? v1 : v2); 602229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams} 602329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 602429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6025963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 602629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6027963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 602829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6029963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 603029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6031963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic ushort __attribute__((const, overloadable))max(ushort v1, ushort v2) { 6032963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 > v2 ? v1 : v2); 6033963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 603429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 603529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6036963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 603729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6038963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 603929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6040963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 604129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6042963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic int __attribute__((const, overloadable))max(int v1, int v2) { 6043963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 > v2 ? v1 : v2); 6044963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 604529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 604629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6047963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 604829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6049963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 605029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6051963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 605229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6053963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uint __attribute__((const, overloadable))max(uint v1, uint v2) { 6054963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 > v2 ? v1 : v2); 6055963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 605629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 605729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6058963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 605929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6060963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 606129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6062963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 606329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6064963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic char2 __attribute__((const, overloadable))max(char2 v1, char2 v2) { 6065963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet char2 tmp; 6066963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6067963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6068963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6069963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 607029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 607129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6072963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 607329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6074963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 607529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6076963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 607729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6078963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uchar2 __attribute__((const, overloadable))max(uchar2 v1, uchar2 v2) { 6079963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uchar2 tmp; 6080963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6081963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6082963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6083963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 608429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 608529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6086963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 608729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6088963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 608929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6090963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 609129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6092963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic short2 __attribute__((const, overloadable))max(short2 v1, short2 v2) { 6093963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet short2 tmp; 6094963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6095963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6096963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6097963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 609829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 609929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6100963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 610129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6102963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 610329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6104963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 610529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6106963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic ushort2 __attribute__((const, overloadable))max(ushort2 v1, ushort2 v2) { 6107963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet ushort2 tmp; 6108963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6109963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6110963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6111963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 611229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 611329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6114963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 611529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6116963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 611729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6118963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 611929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6120963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic int2 __attribute__((const, overloadable))max(int2 v1, int2 v2) { 6121963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet int2 tmp; 6122963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6123963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6124963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6125963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 612629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 612729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6128963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 612929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6130963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 613129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6132963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 613329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6134963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uint2 __attribute__((const, overloadable))max(uint2 v1, uint2 v2) { 6135963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uint2 tmp; 6136963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6137963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6138963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6139963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 614029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 614129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6142963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 614329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6144963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 614529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6146963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 614729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6148963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic char3 __attribute__((const, overloadable))max(char3 v1, char3 v2) { 6149963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet char3 tmp; 6150963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6151963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6152963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6153963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6154963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 615529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 615629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6157963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 615829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6159963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 616029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6161963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 616229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6163963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uchar3 __attribute__((const, overloadable))max(uchar3 v1, uchar3 v2) { 6164963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uchar3 tmp; 6165963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6166963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6167963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6168963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6169963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 617029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 617129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6172963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 617329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6174963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 617529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6176963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 617729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6178963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic short3 __attribute__((const, overloadable))max(short3 v1, short3 v2) { 6179963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet short3 tmp; 6180963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6181963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6182963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6183963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6184963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 618529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 618629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6187963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 618829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6189963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 619029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6191963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 619229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6193963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic ushort3 __attribute__((const, overloadable))max(ushort3 v1, ushort3 v2) { 6194963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet ushort3 tmp; 6195963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6196963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6197963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6198963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6199963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 620029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 620129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6202963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 620329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6204963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 620529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6206963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 620729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6208963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic int3 __attribute__((const, overloadable))max(int3 v1, int3 v2) { 6209963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet int3 tmp; 6210963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6211963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6212963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6213963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6214963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 621529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 621629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6217963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 621829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6219963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 622029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6221963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 622229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6223963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uint3 __attribute__((const, overloadable))max(uint3 v1, uint3 v2) { 6224963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uint3 tmp; 6225963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6226963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6227963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6228963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6229963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 623029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 623129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6232963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 623329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6234963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 623529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6236963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 623729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6238963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic char4 __attribute__((const, overloadable))max(char4 v1, char4 v2) { 6239963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet char4 tmp; 6240963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6241963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6242963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6243963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w > v2.w ? v1.w : v2.w); 6244963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6245963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 624629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 624729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6248963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 624929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6250963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 625129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6252963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 625329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6254963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uchar4 __attribute__((const, overloadable))max(uchar4 v1, uchar4 v2) { 6255963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uchar4 tmp; 6256963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6257963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6258963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6259963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w > v2.w ? v1.w : v2.w); 6260963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6261963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 626229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 626329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6264963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 626529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6266963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 626729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6268963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 626929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6270963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic short4 __attribute__((const, overloadable))max(short4 v1, short4 v2) { 6271963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet short4 tmp; 6272963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6273963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6274963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6275963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w > v2.w ? v1.w : v2.w); 6276963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6277963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 6278963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#endif 6279963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet 6280963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 6281963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet/* 6282963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 628329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6284963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 628529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6286963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic ushort4 __attribute__((const, overloadable))max(ushort4 v1, ushort4 v2) { 6287963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet ushort4 tmp; 6288963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6289963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6290963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6291963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w > v2.w ? v1.w : v2.w); 6292963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6293963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 629429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 629529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6296963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 629729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6298963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 629929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6300963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 630129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6302963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic int4 __attribute__((const, overloadable))max(int4 v1, int4 v2) { 6303963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet int4 tmp; 6304963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6305963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6306963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6307963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w > v2.w ? v1.w : v2.w); 6308963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6309963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 6310963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#endif 6311963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet 6312963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 6313963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet/* 6314963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 6315963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 6316963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 6317963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet */ 6318963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uint4 __attribute__((const, overloadable))max(uint4 v1, uint4 v2) { 6319963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uint4 tmp; 6320963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x > v2.x ? v1.x : v2.x); 6321963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y > v2.y ? v1.y : v2.y); 6322963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z > v2.z ? v1.z : v2.z); 6323963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w > v2.w ? v1.w : v2.w); 6324963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6325963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 632629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 632729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6328aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 632929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6330963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 633129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6332aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 633329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6334963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char __attribute__((const, overloadable))max(char v1, char v2); 633529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 633629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6337aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 633829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6339963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 634029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6341aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 634229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6343963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))max(char2 v1, char2 v2); 634429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 634529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6346aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 634729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6348963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 634929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6350aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 635129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6352963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))max(char3 v1, char3 v2); 635329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 635429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6355aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 635629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6357963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 635829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6359aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 636029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6361963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))max(char4 v1, char4 v2); 636229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 636329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6364aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 636529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6366963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 636729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6368aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 636929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6370963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar __attribute__((const, overloadable))max(uchar v1, uchar v2); 637129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 637229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6373aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 637429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6375963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 637629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6377aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 637829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6379963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))max(uchar2 v1, uchar2 v2); 638029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 638129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6382aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 638329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6384963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 638529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6386aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 638729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6388963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))max(uchar3 v1, uchar3 v2); 638929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 639029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6391aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 639229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6393963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 639429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6395aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 639629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6397963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))max(uchar4 v1, uchar4 v2); 639829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 639929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6400aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 640129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6402963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 640329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6404aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 640529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6406963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short __attribute__((const, overloadable))max(short v1, short v2); 640729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 640829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6409aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 641029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6411963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 641229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6413aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 641429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6415963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))max(short2 v1, short2 v2); 641629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 641729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6418aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 641929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6420963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 642129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6422aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 642329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6424963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))max(short3 v1, short3 v2); 642529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 642629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6427aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 642829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6429963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the maximum value from two arguments 643029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6431aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 643229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6433963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))max(short4 v1, short4 v2); 643429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 643529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6436aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 643729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 643829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 643929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6440aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 644129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6442963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort __attribute__((const, overloadable))max(ushort v1, ushort v2); 644329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 644429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6445aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 644629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 644729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 644829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6449aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 645029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6451963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))max(ushort2 v1, ushort2 v2); 645229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 645329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6454aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 645529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 645629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 645729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6458aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 645929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6460963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))max(ushort3 v1, ushort3 v2); 646129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 646229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6463aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 646429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 646529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 646629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6467aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 646829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6469963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))max(ushort4 v1, ushort4 v2); 647029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 647129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6472aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 647329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 647429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 647529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6476aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 647729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6478963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int __attribute__((const, overloadable))max(int v1, int v2); 647929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 648029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6481aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 648229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 648329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 648429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6485aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 648629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6487963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))max(int2 v1, int2 v2); 648829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 648929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6490aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 649129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 649229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 649329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6494aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 649529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6496963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))max(int3 v1, int3 v2); 649729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 649829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6499aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 650029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 650129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 650229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6503aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 650429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6505963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))max(int4 v1, int4 v2); 650629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 650729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6508aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 650929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 651029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 651129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6512aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 651329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6514963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint __attribute__((const, overloadable))max(uint v1, uint v2); 651529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 651629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6517aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 651829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 651929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 652029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6521aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 652229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6523963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))max(uint2 v1, uint2 v2); 652429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 652529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6526aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 652729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 652829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 652929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6530aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 653129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6532963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))max(uint3 v1, uint3 v2); 653329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 653429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6535aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 653629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 653729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 653829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6539aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 654029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6541963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))max(uint4 v1, uint4 v2); 654229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 654329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6544aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 654529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 654629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 654729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6548aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 654929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6550963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long __attribute__((const, overloadable))max(long v1, long v2); 655129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 655229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6553aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 655429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 655529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 655629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6557aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 655829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6559963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))max(long2 v1, long2 v2); 656029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 656129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6562aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 656329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 656429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 656529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6566aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 656729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6568963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))max(long3 v1, long3 v2); 656929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 657029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6571aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 657229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 657329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 657429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6575aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 657629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6577963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))max(long4 v1, long4 v2); 657829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 657929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6580aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 658129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 658229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 658329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6584aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 658529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6586963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong __attribute__((const, overloadable))max(ulong v1, ulong v2); 658729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 658829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6589aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 659029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 659129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 659229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6593aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 659429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6595963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))max(ulong2 v1, ulong2 v2); 659629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 659729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6598aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 659929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 660029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 660129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6602aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 660329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6604963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))max(ulong3 v1, ulong3 v2); 660529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 660629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6607aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 660829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 660929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Return the maximum value from two arguments 661029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6611aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 661229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6613963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))max(ulong4 v1, ulong4 v2); 6614963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#endif 6615963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet 6616963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 6617963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet/* 6618963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 6619963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 6620963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 6621963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet */ 6622963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))min(float, float); 6623963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#endif 6624963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet 6625963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 6626963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet/* 6627963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 6628963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 6629963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 6630963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet */ 6631963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))min(float2, float2); 6632963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#endif 6633963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet 6634963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 6635963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet/* 6636963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 6637963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 6638963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 6639963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet */ 6640963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))min(float3, float3); 6641963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#endif 6642963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet 6643963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 6644963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet/* 6645963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 6646963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 6647963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 6648963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet */ 6649963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))min(float4, float4); 665029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 665129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 665229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 665329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6654963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 665529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 665629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19 665729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6658963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic char __attribute__((const, overloadable))min(char v1, char v2) { 6659963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 < v2 ? v1 : v2); 666029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams} 666129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 666229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 666329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 666429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6665963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 666629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 666729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19 666829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6669963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uchar __attribute__((const, overloadable))min(uchar v1, uchar v2) { 6670963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 < v2 ? v1 : v2); 667129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams} 667229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 667329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 667429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 667529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6676963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 667729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 667829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19 667929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6680963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic short __attribute__((const, overloadable))min(short v1, short v2) { 6681963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 < v2 ? v1 : v2); 668229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams} 668329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 668429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 668529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 668629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6687963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 668829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 668929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19 669029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6691963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic ushort __attribute__((const, overloadable))min(ushort v1, ushort v2) { 6692963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 < v2 ? v1 : v2); 669329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams} 669429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 669529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 669629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 669729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6698963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 669929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 670029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19 670129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6702963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic int __attribute__((const, overloadable))min(int v1, int v2) { 6703963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 < v2 ? v1 : v2); 670429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams} 670529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 670629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 670729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 670829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6709963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 671029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 671129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19 671229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6713963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uint __attribute__((const, overloadable))min(uint v1, uint v2) { 6714963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return (v1 < v2 ? v1 : v2); 671529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams} 671629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 671729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 671829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 671929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6720963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 672129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 672229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19 672329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6724963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic char2 __attribute__((const, overloadable))min(char2 v1, char2 v2) { 6725963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet char2 tmp; 6726963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6727963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 672829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp; 672929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams} 673029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 673129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 673229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 673329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6734963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 673529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 673629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Suppored by API versions 9 - 19 673729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6738963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uchar2 __attribute__((const, overloadable))min(uchar2 v1, uchar2 v2) { 6739963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uchar2 tmp; 6740963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6741963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 674229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams return tmp; 674329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams} 674429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 674529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6746963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 674729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6748963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 674929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6750963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 675129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6752963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic short2 __attribute__((const, overloadable))min(short2 v1, short2 v2) { 6753963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet short2 tmp; 6754963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6755963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6756963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6757963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 675829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 675929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6760963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 676129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6762963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 676329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6764963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 676529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6766963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic ushort2 __attribute__((const, overloadable))min(ushort2 v1, ushort2 v2) { 6767963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet ushort2 tmp; 6768963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6769963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6770963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6771963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 677229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 677329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6774963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 677529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6776963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 677729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6778963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 677929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6780963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic int2 __attribute__((const, overloadable))min(int2 v1, int2 v2) { 6781963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet int2 tmp; 6782963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6783963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6784963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6785963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 678629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 678729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6788963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 678929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6790963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 679129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6792963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 679329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6794963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uint2 __attribute__((const, overloadable))min(uint2 v1, uint2 v2) { 6795963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uint2 tmp; 6796963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6797963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6798963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6799963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 680029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 680129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6802963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 680329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6804963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 680529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6806963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 680729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6808963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic char3 __attribute__((const, overloadable))min(char3 v1, char3 v2) { 6809963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet char3 tmp; 6810963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6811963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6812963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6813963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6814963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 681529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 681629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6817963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 681829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6819963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 682029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6821963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 682229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6823963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uchar3 __attribute__((const, overloadable))min(uchar3 v1, uchar3 v2) { 6824963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uchar3 tmp; 6825963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6826963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6827963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6828963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6829963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 683029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 683129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6832963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 683329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6834963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 683529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6836963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 683729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6838963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic short3 __attribute__((const, overloadable))min(short3 v1, short3 v2) { 6839963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet short3 tmp; 6840963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6841963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6842963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6843963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6844963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 684529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 684629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6847963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 684829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6849963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 685029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6851963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 685229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6853963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic ushort3 __attribute__((const, overloadable))min(ushort3 v1, ushort3 v2) { 6854963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet ushort3 tmp; 6855963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6856963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6857963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6858963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6859963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 686029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 686129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6862963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 686329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6864963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 686529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6866963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 686729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6868963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic int3 __attribute__((const, overloadable))min(int3 v1, int3 v2) { 6869963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet int3 tmp; 6870963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6871963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6872963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6873963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6874963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 687529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 687629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6877963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 687829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6879963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 688029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6881963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 688229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6883963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uint3 __attribute__((const, overloadable))min(uint3 v1, uint3 v2) { 6884963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uint3 tmp; 6885963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6886963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6887963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6888963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6889963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 689029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 689129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6892963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 689329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6894963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 689529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6896963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 689729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6898963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic char4 __attribute__((const, overloadable))min(char4 v1, char4 v2) { 6899963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet char4 tmp; 6900963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6901963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6902963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6903963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w < v2.w ? v1.w : v2.w); 6904963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6905963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 690629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 690729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6908963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 690929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6910963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 691129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6912963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 691329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6914963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uchar4 __attribute__((const, overloadable))min(uchar4 v1, uchar4 v2) { 6915963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uchar4 tmp; 6916963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6917963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6918963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6919963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w < v2.w ? v1.w : v2.w); 6920963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6921963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 692229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 692329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6924963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 692529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6926963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 692729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6928963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 692929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6930963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic short4 __attribute__((const, overloadable))min(short4 v1, short4 v2) { 6931963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet short4 tmp; 6932963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6933963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6934963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6935963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w < v2.w ? v1.w : v2.w); 6936963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6937963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 693829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 693929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6940963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 694129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6942963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 694329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6944963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 694529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6946963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic ushort4 __attribute__((const, overloadable))min(ushort4 v1, ushort4 v2) { 6947963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet ushort4 tmp; 6948963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6949963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6950963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6951963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w < v2.w ? v1.w : v2.w); 6952963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6953963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 695429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 695529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6956963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 695729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6958963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 695929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6960963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 696129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6962963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic int4 __attribute__((const, overloadable))min(int4 v1, int4 v2) { 6963963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet int4 tmp; 6964963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6965963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6966963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6967963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w < v2.w ? v1.w : v2.w); 6968963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6969963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 697029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 697129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6972963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19)) 697329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6974963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 697529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6976963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Suppored by API versions 9 - 19 697729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6978963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletstatic uint4 __attribute__((const, overloadable))min(uint4 v1, uint4 v2) { 6979963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet uint4 tmp; 6980963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.x = (v1.x < v2.x ? v1.x : v2.x); 6981963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.y = (v1.y < v2.y ? v1.y : v2.y); 6982963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.z = (v1.z < v2.z ? v1.z : v2.z); 6983963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet tmp.w = (v1.w < v2.w ? v1.w : v2.w); 6984963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet return tmp; 6985963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet} 698629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 698729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6988aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 698929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6990963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 699129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 6992aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 699329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 6994963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char __attribute__((const, overloadable))min(char v1, char v2); 699529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 699629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 6997aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 699829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 6999963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 700029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7001aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 700229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7003963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char2 __attribute__((const, overloadable))min(char2 v1, char2 v2); 700429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 700529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7006aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 700729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7008963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 700929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7010aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 701129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7012963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char3 __attribute__((const, overloadable))min(char3 v1, char3 v2); 701329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 701429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7015aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 701629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7017963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 701829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7019aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 702029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7021963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern char4 __attribute__((const, overloadable))min(char4 v1, char4 v2); 702229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 702329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7024aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 702529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7026963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 702729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7028aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 702929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7030963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar __attribute__((const, overloadable))min(uchar v1, uchar v2); 703129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 703229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7033aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 703429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7035963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 703629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7037aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 703829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7039963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar2 __attribute__((const, overloadable))min(uchar2 v1, uchar2 v2); 704029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 704129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7042aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 704329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7044963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 704529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7046aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 704729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7048963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar3 __attribute__((const, overloadable))min(uchar3 v1, uchar3 v2); 704929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 705029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7051aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 705229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7053963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 705429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7055aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 705629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7057963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uchar4 __attribute__((const, overloadable))min(uchar4 v1, uchar4 v2); 705829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 705929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7060aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 706129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7062963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 706329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7064aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 706529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7066963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short __attribute__((const, overloadable))min(short v1, short v2); 706729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 706829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7069aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 707029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7071963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 707229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7073aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 707429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7075963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short2 __attribute__((const, overloadable))min(short2 v1, short2 v2); 707629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 707729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7078aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 707929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7080963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 708129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7082aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 708329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7084963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short3 __attribute__((const, overloadable))min(short3 v1, short3 v2); 708529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 708629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7087aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 708829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7089963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 709029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7091aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 709229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7093963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern short4 __attribute__((const, overloadable))min(short4 v1, short4 v2); 709429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 709529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7096aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 709729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7098963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 709929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7100aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 710129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7102963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort __attribute__((const, overloadable))min(ushort v1, ushort v2); 710329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 710429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7105aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 710629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7107963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 710829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7109aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 711029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7111963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort2 __attribute__((const, overloadable))min(ushort2 v1, ushort2 v2); 711229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 711329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7114aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 711529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7116963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 711729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7118aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 711929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7120963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort3 __attribute__((const, overloadable))min(ushort3 v1, ushort3 v2); 712129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 712229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7123aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 712429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7125963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 712629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7127aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 712829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7129963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ushort4 __attribute__((const, overloadable))min(ushort4 v1, ushort4 v2); 713029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 713129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7132aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 713329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7134963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 713529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7136aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 713729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7138963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int __attribute__((const, overloadable))min(int v1, int v2); 713929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 714029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7141aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 714229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7143963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 714429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7145aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 714629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7147963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int2 __attribute__((const, overloadable))min(int2 v1, int2 v2); 714829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 714929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7150aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 715129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7152963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 715329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7154aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 715529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7156963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int3 __attribute__((const, overloadable))min(int3 v1, int3 v2); 715729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 715829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7159aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 716029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7161963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 716229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7163aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 716429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7165963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern int4 __attribute__((const, overloadable))min(int4 v1, int4 v2); 716629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 716729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7168aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 716929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7170963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 717129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7172aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 717329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7174963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint __attribute__((const, overloadable))min(uint v1, uint v2); 717529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 717629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7177aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 717829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7179963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 718029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7181aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 718229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7183963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint2 __attribute__((const, overloadable))min(uint2 v1, uint2 v2); 718429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 718529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7186aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 718729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7188963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 718929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7190aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 719129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7192963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint3 __attribute__((const, overloadable))min(uint3 v1, uint3 v2); 719329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 719429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7195aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 719629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7197963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 719829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7199aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 720029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7201963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern uint4 __attribute__((const, overloadable))min(uint4 v1, uint4 v2); 720229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 720329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7204aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 720529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7206963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 720729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7208aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 720929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7210963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long __attribute__((const, overloadable))min(long v1, long v2); 721129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 721229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7213aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 721429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7215963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 721629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7217aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 721829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7219963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long2 __attribute__((const, overloadable))min(long2 v1, long2 v2); 722029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 722129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7222aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 722329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7224963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 722529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7226aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 722729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7228963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long3 __attribute__((const, overloadable))min(long3 v1, long3 v2); 722929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 723029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7231aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 723229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7233963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 723429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7235aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 723629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7237963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern long4 __attribute__((const, overloadable))min(long4 v1, long4 v2); 723829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 723929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7240aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 724129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7242963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 724329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7244aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 724529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7246963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong __attribute__((const, overloadable))min(ulong v1, ulong v2); 724729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 724829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7249aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 725029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7251963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 725229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7253aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 725429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7255963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong2 __attribute__((const, overloadable))min(ulong2 v1, ulong2 v2); 725629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 725729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7258aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 725929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7260963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 726129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7262aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 726329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7264963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong3 __attribute__((const, overloadable))min(ulong3 v1, ulong3 v2); 726529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 726629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7267aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 726829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7269963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the minimum value from two arguments 727029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7271aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 727229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7273963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern ulong4 __attribute__((const, overloadable))min(ulong4 v1, ulong4 v2); 727429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 727529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7276963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 727729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7278963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return start + ((stop - start) * amount) 727929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7280963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 728129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7282963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))mix(float start, float stop, float amount); 728329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 728429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7285963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 728629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7287963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return start + ((stop - start) * amount) 728829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7289963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 729029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7291963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))mix(float2 start, float2 stop, float2 amount); 729229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 729329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7294963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 729529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7296963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return start + ((stop - start) * amount) 729729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7298963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 729929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7300963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))mix(float3 start, float3 stop, float3 amount); 730129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 730229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7303963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 730429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7305963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return start + ((stop - start) * amount) 730629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7307963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 730829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7309963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))mix(float4 start, float4 stop, float4 amount); 731029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 731129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7312963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 731329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7314963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return start + ((stop - start) * amount) 731529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7316963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 731729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7318963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))mix(float2 start, float2 stop, float amount); 731929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 732029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7321963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 732229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7323963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return start + ((stop - start) * amount) 732429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7325963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 732629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7327963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))mix(float3 start, float3 stop, float amount); 732829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 732929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7330963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 733129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7332963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return start + ((stop - start) * amount) 733329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7334963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 733529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7336963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))mix(float4 start, float4 stop, float amount); 733729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 733829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7339963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 734029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7341963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the integral and fractional components of a number. 734229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7343963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param x Source value 7344963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param iret iret[0] will be set to the integral portion of the number. 7345963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @return The floating point portion of the value. 734629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7347963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 734829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 734946341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float __attribute__((overloadable))modf(float x, float* iret); 735029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 735129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7352963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 735329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7354963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the integral and fractional components of a number. 735529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7356963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param x Source value 7357963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param iret iret[0] will be set to the integral portion of the number. 7358963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @return The floating point portion of the value. 735929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7360963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 736129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 736246341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float2 __attribute__((overloadable))modf(float2 x, float2* iret); 736329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 736429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7365963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 736629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7367963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the integral and fractional components of a number. 736829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7369963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param x Source value 7370963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param iret iret[0] will be set to the integral portion of the number. 7371963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @return The floating point portion of the value. 737229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7373963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 737429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 737546341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float3 __attribute__((overloadable))modf(float3 x, float3* iret); 737629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 737729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7378963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 737929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7380963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the integral and fractional components of a number. 738129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7382963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param x Source value 7383963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param iret iret[0] will be set to the integral portion of the number. 7384963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @return The floating point portion of the value. 738529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7386963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 738729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 738846341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float4 __attribute__((overloadable))modf(float4 x, float4* iret); 738929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 739029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7391963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 739229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 7393963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * generate a nan 739429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 7395963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 739629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 7397963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))nan(uint); 739829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 739929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 7400d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7401d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7402d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acos 7403d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7404d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7405d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7406d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_acos(float v); 7407d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7408d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7409d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7410d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7411d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acos 7412d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7413d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7414d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7415d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_acos(float2 v); 7416d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7417d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7418d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7419d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7420d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acos 7421d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7422d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7423d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7424d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_acos(float3 v); 7425d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7426d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7427d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7428d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7429d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acos 7430d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7431d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7432d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7433d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_acos(float4 v); 7434d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7435d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7436d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7437d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7438d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acosh 7439d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7440d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7441d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7442d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_acosh(float); 7443d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7444d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7445d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7446d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7447d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acosh 7448d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7449d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7450d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7451d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_acosh(float2); 7452d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7453d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7454d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7455d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7456d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acosh 7457d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7458d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7459d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7460d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_acosh(float3); 7461d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7462d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7463d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7464d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7465d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acosh 7466d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7467d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7468d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7469d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_acosh(float4); 7470d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7471d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7472d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7473d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7474d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acospi 7475d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7476d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7477d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7478d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_acospi(float v); 7479d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7480d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7481d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7482d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7483d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acospi 7484d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7485d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7486d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7487d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_acospi(float2 v); 7488d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7489d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7490d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7491d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7492d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acospi 7493d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7494d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7495d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7496d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_acospi(float3 v); 7497d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7498d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7499d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7500d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7501d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * acospi 7502d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7503d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7504d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7505d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_acospi(float4 v); 7506d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7507d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7508d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7509d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7510d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * asin 7511d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7512d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7513d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7514d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_asin(float v); 7515d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7516d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7517d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7518d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7519d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * asin 7520d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7521d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7522d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7523d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_asin(float2 v); 7524d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7525d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7526d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7527d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7528d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * asin 7529d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7530d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7531d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7532d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_asin(float3 v); 7533d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7534d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7535d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7536d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7537d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * asin 7538d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7539d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7540d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7541d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_asin(float4 v); 7542d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7543d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7544d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7545d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7546d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * asinh 7547d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7548d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7549d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7550d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_asinh(float); 7551d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7552d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7553d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7554d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7555d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * asinh 7556d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7557d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7558d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7559d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_asinh(float2); 7560d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7561d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7562d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7563d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7564d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * asinh 7565d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7566d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7567d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7568d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_asinh(float3); 7569d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7570d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7571d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7572d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7573d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * asinh 7574d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7575d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7576d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7577d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_asinh(float4); 7578d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7579d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7580d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7581d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7582d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse sine divided by PI. 7583d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7584d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7585d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7586d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_asinpi(float v); 7587d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7588d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7589d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7590d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7591d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse sine divided by PI. 7592d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7593d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7594d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7595d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_asinpi(float2 v); 7596d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7597d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7598d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7599d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7600d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse sine divided by PI. 7601d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7602d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7603d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7604d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_asinpi(float3 v); 7605d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7606d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7607d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7608d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7609d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse sine divided by PI. 7610d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7611d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7612d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7613d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_asinpi(float4 v); 7614d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7615d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7616d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7617d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7618d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent. 7619d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7620d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7621d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7622d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_atan(float v); 7623d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7624d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7625d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7626d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7627d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent. 7628d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7629d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7630d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7631d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_atan(float2 v); 7632d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7633d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7634d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7635d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7636d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent. 7637d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7638d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7639d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7640d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_atan(float3 v); 7641d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7642d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7643d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7644d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7645d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent. 7646d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7647d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7648d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7649d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_atan(float4 v); 7650d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7651d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7652d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7653d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7654d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent of y / x. 7655d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7656d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7657d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7658d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_atan2(float y, float x); 7659d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7660d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7661d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7662d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7663d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent of y / x. 7664d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7665d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7666d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7667d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_atan2(float2 y, float2 x); 7668d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7669d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7670d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7671d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7672d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent of y / x. 7673d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7674d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7675d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7676d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_atan2(float3 y, float3 x); 7677d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7678d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7679d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7680d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7681d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent of y / x. 7682d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7683d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7684d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7685d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_atan2(float4 y, float4 x); 7686d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7687d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7688d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7689d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7690d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent of y / x, divided by PI. 7691d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7692d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7693d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7694d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_atan2pi(float y, float x); 7695d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7696d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7697d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7698d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7699d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent of y / x, divided by PI. 7700d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7701d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7702d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7703d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_atan2pi(float2 y, float2 x); 7704d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7705d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7706d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7707d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7708d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent of y / x, divided by PI. 7709d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7710d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7711d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7712d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_atan2pi(float3 y, float3 x); 7713d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7714d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7715d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7716d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7717d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent of y / x, divided by PI. 7718d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7719d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7720d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7721d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_atan2pi(float4 y, float4 x); 7722d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7723d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7724d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7725d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7726d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse hyperbolic tangent. 7727d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7728d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7729d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 773032c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouilletextern float __attribute__((const, overloadable))native_atanh(float in); 7731d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7732d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7733d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7734d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7735d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse hyperbolic tangent. 7736d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7737d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7738d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 773932c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))native_atanh(float2 in); 7740d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7741d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7742d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7743d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7744d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse hyperbolic tangent. 7745d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7746d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7747d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 774832c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))native_atanh(float3 in); 7749d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7750d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7751d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7752d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7753d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse hyperbolic tangent. 7754d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7755d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7756d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 775732c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))native_atanh(float4 in); 7758d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7759d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7760d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7761d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7762d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent divided by PI. 7763d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7764d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7765d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7766d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_atanpi(float v); 7767d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7768d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7769d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7770d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7771d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent divided by PI. 7772d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7773d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7774d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7775d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_atanpi(float2 v); 7776d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7777d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7778d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7779d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7780d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent divided by PI. 7781d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7782d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7783d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7784d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_atanpi(float3 v); 7785d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7786d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7787d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7788d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7789d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the inverse tangent divided by PI. 7790d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7791d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7792d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7793d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_atanpi(float4 v); 7794d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7795d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7796d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7797d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7798d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cube root. 7799d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7800d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7801d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7802d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_cbrt(float); 7803d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7804d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7805d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7806d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7807d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cube root. 7808d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7809d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7810d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7811d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_cbrt(float2); 7812d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7813d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7814d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7815d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7816d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cube root. 7817d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7818d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7819d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7820d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_cbrt(float3); 7821d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7822d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7823d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7824d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7825d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cube root. 7826d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7827d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7828d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7829d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_cbrt(float4); 7830d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7831d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7832d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7833d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7834d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cosine. 7835d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7836d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7837d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7838d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_cos(float); 7839d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7840d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7841d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7842d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7843d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cosine. 7844d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7845d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7846d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7847d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_cos(float2); 7848d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7849d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7850d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7851d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7852d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cosine. 7853d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7854d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7855d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7856d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_cos(float3); 7857d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7858d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7859d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7860d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7861d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cosine. 7862d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7863d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7864d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7865d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_cos(float4); 7866d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7867d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7868d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7869d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7870d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hypebolic cosine. 7871d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7872d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7873d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7874d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_cosh(float); 7875d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7876d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7877d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7878d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7879d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hypebolic cosine. 7880d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7881d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7882d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7883d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_cosh(float2); 7884d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7885d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7886d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7887d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7888d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hypebolic cosine. 7889d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7890d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7891d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7892d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_cosh(float3); 7893d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7894d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7895d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7896d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7897d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hypebolic cosine. 7898d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7899d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7900d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7901d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_cosh(float4); 7902d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7903d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7904d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7905d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7906d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cosine of the value * PI. 7907d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7908d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7909d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7910d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_cospi(float); 7911d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7912d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7913d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7914d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7915d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cosine of the value * PI. 7916d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7917d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7918d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7919d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_cospi(float2); 7920d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7921d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7922d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7923d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7924d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cosine of the value * PI. 7925d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7926d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7927d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7928d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_cospi(float3); 7929d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7930d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7931d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7932d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7933d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the cosine of the value * PI. 7934d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7935d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7936d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7937d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_cospi(float4); 7938d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7939d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7940d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7941d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7942d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate distance between two points. 7943d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7944d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7945d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7946d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_distance(float lhs, float rhs); 7947d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7948d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7949d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7950d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7951d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate distance between two points. 7952d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7953d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7954d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7955d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_distance(float2 lhs, float2 rhs); 7956d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7957d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7958d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7959d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7960d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate distance between two points. 7961d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7962d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7963d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7964d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_distance(float3 lhs, float3 rhs); 7965d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7966d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7967d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7968d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7969d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate distance between two points. 7970d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7971d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7972d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7973d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_distance(float4 lhs, float4 rhs); 7974d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7975d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7976d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7977d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7978d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate division result of two values. 7979d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7980d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7981d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7982d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_divide(float lhs, float rhs); 7983d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7984d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7985d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7986d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7987d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate division result of two values. 7988d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7989d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7990d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 7991d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_divide(float2 lhs, float2 rhs); 7992d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 7993d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 7994d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 7995d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 7996d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate division result of two values. 7997d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 7998d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 7999d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8000d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_divide(float3 lhs, float3 rhs); 8001d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8002d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8003d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8004d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8005d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate division result of two values. 8006d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8007d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8008d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8009d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_divide(float4 lhs, float4 rhs); 8010d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8011d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8012d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8013d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8014d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp 8015d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -86.f to 86.f 8016d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8017d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8018d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8019d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8020d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_exp(float v); 8021d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8022d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8023d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8024d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8025d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp 8026d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -86.f to 86.f 8027d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8028d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8029d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8030d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8031d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_exp(float2 v); 8032d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8033d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8034d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8035d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8036d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp 8037d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -86.f to 86.f 8038d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8039d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8040d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8041d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8042d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_exp(float3 v); 8043d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8044d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8045d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8046d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8047d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp 8048d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -86.f to 86.f 8049d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8050d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8051d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8052d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8053d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_exp(float4 v); 8054d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8055d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8056d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8057d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8058d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp10 8059d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -37.f to 37.f 8060d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8061d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8062d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8063d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8064d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_exp10(float v); 8065d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8066d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8067d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8068d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8069d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp10 8070d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -37.f to 37.f 8071d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8072d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8073d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8074d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8075d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_exp10(float2 v); 8076d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8077d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8078d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8079d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8080d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp10 8081d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -37.f to 37.f 8082d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8083d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8084d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8085d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8086d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_exp10(float3 v); 8087d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8088d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8089d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8090d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8091d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp10 8092d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -37.f to 37.f 8093d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8094d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8095d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8096d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8097d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_exp10(float4 v); 8098d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8099d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8100d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8101d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8102d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp2 8103d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -125.f to 125.f 8104d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8105d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8106d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8107d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8108d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_exp2(float v); 8109d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8110d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8111d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8112d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8113d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp2 8114d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -125.f to 125.f 8115d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8116d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8117d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8118d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8119d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_exp2(float2 v); 8120d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8121d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8122d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8123d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8124d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp2 8125d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -125.f to 125.f 8126d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8127d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8128d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8129d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8130d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_exp2(float3 v); 8131d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8132d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8133d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8134d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8135d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate exp2 8136d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * valid for inputs -125.f to 125.f 8137d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Max 8192 ulps of error 8138d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8139d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8140d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8141d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_exp2(float4 v); 8142d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8143d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8144d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8145d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8146d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return (e ^ value) - 1. 8147d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8148d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8149d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8150d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_expm1(float); 8151d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8152d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8153d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8154d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8155d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return (e ^ value) - 1. 8156d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8157d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8158d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8159d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_expm1(float2); 8160d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8161d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8162d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8163d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8164d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return (e ^ value) - 1. 8165d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8166d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8167d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8168d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_expm1(float3); 8169d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8170d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8171d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8172d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8173d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return (e ^ value) - 1. 8174d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8175d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8176d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8177d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_expm1(float4); 8178d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8179d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8180d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8181d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8182d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return native_sqrt(x*x + y*y) 8183d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8184d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8185d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8186d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_hypot(float x, float y); 8187d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8188d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8189d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8190d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8191d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return native_sqrt(x*x + y*y) 8192d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8193d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8194d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8195d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_hypot(float2 x, float2 y); 8196d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8197d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8198d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8199d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8200d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return native_sqrt(x*x + y*y) 8201d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8202d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8203d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8204d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_hypot(float3 x, float3 y); 8205d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8206d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8207d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8208d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8209d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return native_sqrt(x*x + y*y) 8210d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8211d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8212d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8213d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_hypot(float4 x, float4 y); 8214d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8215d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8216d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8217d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8218d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate length of a vector. 8219d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8220d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8221d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8222d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_length(float v); 8223d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8224d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8225d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8226d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8227d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate length of a vector. 8228d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8229d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8230d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8231d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_length(float2 v); 8232d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8233d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8234d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8235d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8236d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate length of a vector. 8237d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8238d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8239d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8240d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_length(float3 v); 8241d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8242d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8243d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8244d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8245d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the approximate length of a vector. 8246d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8247d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8248d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8249d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_length(float4 v); 8250d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8251d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8252963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 825329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8254d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log 825532c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8256d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8257d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8258d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8259d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_log(float v); 8260d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8261d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8262d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8263d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8264d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log 826532c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8266d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8267d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8268d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8269d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_log(float2 v); 8270d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8271d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8272d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8273d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8274d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log 827532c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8276d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8277d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8278d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8279d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_log(float3 v); 8280d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8281d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8282d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8283d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8284d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log 828532c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8286d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8287d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8288d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8289d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_log(float4 v); 8290d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8291d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8292d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8293d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8294d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log10 829532c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8296d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8297d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8298d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8299d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_log10(float v); 8300d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8301d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8302d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8303d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8304d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log10 830532c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8306d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8307d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8308d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8309d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_log10(float2 v); 8310d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8311d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8312d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8313d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8314d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log10 831532c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8316d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8317d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8318d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8319d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_log10(float3 v); 8320d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8321d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8322d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8323d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8324d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log10 832532c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8326d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8327d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8328d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8329d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_log10(float4 v); 8330d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8331d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8332d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8333d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8334d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the natural logarithm of (v + 1.0f) 8335d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8336d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8337d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8338d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_log1p(float); 8339d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8340d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8341d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8342d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8343d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the natural logarithm of (v + 1.0f) 8344d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8345d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8346d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8347d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_log1p(float2); 8348d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8349d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8350d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8351d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8352d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the natural logarithm of (v + 1.0f) 8353d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8354d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8355d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8356d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_log1p(float3); 8357d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8358d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8359d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8360d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8361d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the natural logarithm of (v + 1.0f) 8362d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8363d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8364d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8365d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_log1p(float4); 8366d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8367d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8368d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8369d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8370d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log2 837132c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8372d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8373d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8374d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8375d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_log2(float v); 8376d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8377d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8378d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8379d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8380d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log2 838132c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8382d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8383d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8384d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8385d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_log2(float2 v); 8386d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8387d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8388d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8389d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8390d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log2 839132c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8392d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8393d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8394d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8395d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_log2(float3 v); 8396d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8397d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8398d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8399d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8400d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate log2 840132c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values very close to zero. 8402d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8403d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8404d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8405d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_log2(float4 v); 8406d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8407d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8408d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8409d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8410d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Normalize a vector. 8411d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8412d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8413d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8414d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_normalize(float v); 8415d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8416d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8417d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8418d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8419d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Normalize a vector. 8420d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8421d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8422d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8423d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_normalize(float2 v); 8424d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8425d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8426d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8427d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8428d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Normalize a vector. 8429d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8430d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8431d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8432d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_normalize(float3 v); 8433d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8434d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8435d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8436d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8437d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Normalize a vector. 8438d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8439d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8440d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8441d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_normalize(float4 v); 8442d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8443d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8444d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8445d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8446d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate v ^ y 8447d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * v must be between 0.f and 256.f 8448d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * y must be between -15.f and 15.f 844932c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values of v very close to zero. 8450d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8451d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8452d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8453d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_powr(float v, float y); 8454d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8455d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8456d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8457d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8458d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate v ^ y 8459d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * v must be between 0.f and 256.f 8460d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * y must be between -15.f and 15.f 846132c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values of v very close to zero. 8462d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8463d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8464d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8465d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_powr(float2 v, float2 y); 8466d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8467d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8468d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8469d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8470d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate v ^ y 8471d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * v must be between 0.f and 256.f 8472d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * y must be between -15.f and 15.f 847332c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values of v very close to zero. 8474d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8475d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 18 and newer. 8476d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8477d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_powr(float3 v, float3 y); 8478d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8479d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8480d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 18)) 8481d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8482d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Fast approximate v ^ y 8483d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * v must be between 0.f and 256.f 8484d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * y must be between -15.f and 15.f 848532c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * It is not accurate for values of v very close to zero. 848629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8487963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 18 and newer. 848829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8489d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_powr(float4 v, float4 y); 849029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 849129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8492d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 849329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8494d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the approximate reciprocal of a value. 849529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8496d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 849729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8498d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_recip(float v); 849929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 850029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8501d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 850229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8503d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the approximate reciprocal of a value. 850429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8505d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 850629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8507d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_recip(float2 v); 850829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 850929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8510d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 851129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8512d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the approximate reciprocal of a value. 851329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8514d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 851529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8516d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_recip(float3 v); 851729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 851829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8519d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 852029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8521d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the approximate reciprocal of a value. 852229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8523d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 852429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8525d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_recip(float4 v); 852629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 852729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8528d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 852929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8530d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the Nth root of a value. 853129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8532d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 853329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8534d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_rootn(float v, int n); 853529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 853629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8537d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 853829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8539d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the Nth root of a value. 854029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8541d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 854229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8543d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_rootn(float2 v, int2 n); 854429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 854529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8546d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 854729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8548d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the Nth root of a value. 854929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8550d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 855129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8552d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_rootn(float3 v, int3 n); 855329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 855429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8555d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8556963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet/* 8557d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Compute the Nth root of a value. 855829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8559d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 856029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8561d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_rootn(float4 v, int4 n); 856229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 856329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8564d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 856529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8566d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return (1 / sqrt(value)). 856729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8568d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 856929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8570d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_rsqrt(float); 857129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 857229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8573d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 857429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8575d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return (1 / sqrt(value)). 857629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8577d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 857829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8579d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_rsqrt(float2); 858029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 858129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8582d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 858329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8584d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return (1 / sqrt(value)). 858529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8586d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 858729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8588d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_rsqrt(float3); 858929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 859029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8591d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 859229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8593d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return (1 / sqrt(value)). 859429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8595d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 859629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8597d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_rsqrt(float4); 859829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 859929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8600d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 860129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8602d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sine of a value specified in radians. 860329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8604d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 860529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8606d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_sin(float); 860729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 860829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8609d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 861029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8611d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sine of a value specified in radians. 861229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8613d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 861429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8615d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_sin(float2); 861629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 861729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8618d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 861929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8620d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sine of a value specified in radians. 862129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8622d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 862329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8624d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_sin(float3); 862529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 862629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8627d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 862829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8629d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sine of a value specified in radians. 863029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8631d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 863229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8633d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_sin(float4); 863429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 863529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8636d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 863729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8638d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sine and cosine of a value. 863929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8640d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @return sine 8641d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @param v The incoming value in radians 8642d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @param *cosptr cosptr[0] will be set to the cosine value. 8643d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8644d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 864529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8646d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((overloadable))native_sincos(float v, float* cosptr); 864729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 864829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8649d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 865029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8651d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sine and cosine of a value. 865229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8653d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @return sine 8654d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @param v The incoming value in radians 8655d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @param *cosptr cosptr[0] will be set to the cosine value. 8656d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8657d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 865829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8659d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((overloadable))native_sincos(float2 v, float2* cosptr); 866029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 866129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8662d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 866329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8664d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sine and cosine of a value. 866529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8666d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @return sine 8667d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @param v The incoming value in radians 8668d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @param *cosptr cosptr[0] will be set to the cosine value. 8669d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8670d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 867129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8672d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((overloadable))native_sincos(float3 v, float3* cosptr); 867329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 867429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8675d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 867629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8677d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sine and cosine of a value. 867829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8679d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @return sine 8680d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @param v The incoming value in radians 8681d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * @param *cosptr cosptr[0] will be set to the cosine value. 8682d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8683d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 868429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8685d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((overloadable))native_sincos(float4 v, float4* cosptr); 868629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 868729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8688d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 868929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8690d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hyperbolic sine of a value specified in radians. 869129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8692d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 869329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8694d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_sinh(float); 869529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 869629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8697d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 869829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8699d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hyperbolic sine of a value specified in radians. 870029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8701d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 870229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8703d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_sinh(float2); 870429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 870529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8706d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 870729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8708d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hyperbolic sine of a value specified in radians. 870929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8710d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 871129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8712d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_sinh(float3); 871329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 871429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8715d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 871629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8717d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hyperbolic sine of a value specified in radians. 871829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8719d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 872029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8721d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_sinh(float4); 872229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 872329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8724d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 872529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8726d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sin(v * PI). 872729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8728d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 872929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8730d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_sinpi(float); 873129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 873229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8733d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 873429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8735d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sin(v * PI). 873629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8737d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 873829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8739d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_sinpi(float2); 874029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 874129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8742d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 874329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8744d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sin(v * PI). 874529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8746d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 874729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8748d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_sinpi(float3); 8749d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8750d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8751d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8752d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8753d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the sin(v * PI). 8754d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8755d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8756d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8757d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_sinpi(float4); 8758d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8759d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8760d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8761d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8762d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the aproximate sqrt(v). 8763d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8764d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8765d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8766d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_sqrt(float); 8767d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8768d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8769d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8770d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8771d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the aproximate sqrt(v). 8772d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8773d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8774d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8775d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_sqrt(float2); 8776d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8777d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8778d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8779d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8780d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the aproximate sqrt(v). 8781d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8782d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8783d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8784d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_sqrt(float3); 8785d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8786d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8787d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8788d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8789d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the aproximate sqrt(v). 8790d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8791d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8792d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8793d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_sqrt(float4); 8794d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8795d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8796d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8797d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8798d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the tangent of a value. 8799d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8800d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8801d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8802d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_tan(float); 8803d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8804d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8805d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8806d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8807d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the tangent of a value. 8808d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8809d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8810d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8811d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_tan(float2); 8812d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8813d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8814d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8815d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8816d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the tangent of a value. 8817d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8818d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8819d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8820d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_tan(float3); 8821d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8822d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8823d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8824d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8825d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the tangent of a value. 8826d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8827d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8828d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8829d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_tan(float4); 8830d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8831d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8832d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8833d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8834d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hyperbolic tangent of a value. 8835d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8836d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8837d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8838d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_tanh(float); 8839d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8840d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8841d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8842d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8843d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hyperbolic tangent of a value. 8844d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8845d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8846d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8847d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_tanh(float2); 8848d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8849d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8850d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8851d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8852d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hyperbolic tangent of a value. 8853d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8854d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8855d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8856d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_tanh(float3); 8857d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8858d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8859d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8860d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8861d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return the hyperbolic tangent of a value. 8862d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8863d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8864d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8865d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_tanh(float4); 8866d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8867d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8868d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8869d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8870d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return tan(v * PI) 8871d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8872d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8873d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8874d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float __attribute__((const, overloadable))native_tanpi(float); 8875d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8876d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8877d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8878d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8879d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return tan(v * PI) 8880d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8881d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8882d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8883d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float2 __attribute__((const, overloadable))native_tanpi(float2); 8884d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8885d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8886d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8887d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8888d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return tan(v * PI) 8889d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8890d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8891d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8892d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float3 __attribute__((const, overloadable))native_tanpi(float3); 8893d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#endif 8894d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams 8895d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 8896d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams/* 8897d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Return tan(v * PI) 8898d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * 8899d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams * Supported by API versions 21 and newer. 8900d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Sams */ 8901d2d7c18c6ec3752ea19ca44157198f4a85d72464Jason Samsextern float4 __attribute__((const, overloadable))native_tanpi(float4); 890229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 890329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8904963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 890529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8906963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the next floating point number from x towards y. 890729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8908963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 890929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8910963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))nextafter(float x, float y); 891129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 891229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8913963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 891429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8915963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the next floating point number from x towards y. 891629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8917963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 891829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8919963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))nextafter(float2 x, float2 y); 892029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 892129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 8922963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 892329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8924963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the next floating point number from x towards y. 892529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 8926963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 892729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8928963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))nextafter(float3 x, float3 y); 892929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 893029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 893129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 893229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8933963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the next floating point number from x towards y. 893429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 893529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 893629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8937963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))nextafter(float4 x, float4 y); 893829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 893929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 894029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 894129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8942963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Normalize a vector. 894329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 894429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 894529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8946963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))normalize(float v); 894729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 894829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 894929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 895029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8951963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Normalize a vector. 895229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 895329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 895429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8955963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))normalize(float2 v); 895629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 895729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 895829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 895929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8960963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Normalize a vector. 896129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 896229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 896329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8964963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))normalize(float3 v); 896529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 896629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 896729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 896829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8969963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Normalize a vector. 897029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 897129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 897229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8973963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))normalize(float4 v); 897429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 897529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 897629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 897729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8978963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 897929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 898029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 898129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8982963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))pow(float x, float y); 898329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 898429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 898529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 898629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8987963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 898829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 898929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 899029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 8991963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))pow(float2 x, float2 y); 899229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 899329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 899429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 899529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 8996963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 899729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 899829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 899929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9000963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))pow(float3 x, float3 y); 900129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 900229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 900329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 900429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9005963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 900629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 900729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 900829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9009963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))pow(float4 x, float4 y); 901029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 901129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 901229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 901329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9014963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 901529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 901629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 901729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9018963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))pown(float x, int y); 901929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 902029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 902129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 902229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9023963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 902429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 902529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 902629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9027963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))pown(float2 x, int2 y); 902829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 902929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 903029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 903129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9032963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 903329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 903429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 903529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9036963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))pown(float3 x, int3 y); 903729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 903829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 903929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 904029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9041963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 904229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 904329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 904429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9045963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))pown(float4 x, int4 y); 904629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 904729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 904829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 904929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9050963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 905146341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouillet * x must be >= 0 905229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 905329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 905429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9055963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))powr(float x, float y); 905629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 905729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 905829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 905929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9060963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 906146341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouillet * x must be >= 0 906229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 906329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 906429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9065963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))powr(float2 x, float2 y); 906629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 906729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 906829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 906929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9070963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 907146341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouillet * x must be >= 0 907229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 907329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 907429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9075963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))powr(float3 x, float3 y); 907629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 907729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 907829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 907929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9080963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return x ^ y. 908146341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouillet * x must be >= 0 908229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 908329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 908429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9085963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))powr(float4 x, float4 y); 908629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 908729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 908829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 908929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9090963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Convert from degrees to radians. 909129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 909229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 909329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9094963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))radians(float value); 909529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 909629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 909729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 909829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9099963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Convert from degrees to radians. 910029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 910129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 910229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9103963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))radians(float2 value); 910429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 910529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 910629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 910729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9108963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Convert from degrees to radians. 910929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 911029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 911129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9112963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))radians(float3 value); 911329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 911429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 911529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 911629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9117963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Convert from degrees to radians. 911829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 911929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 912029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9121963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))radians(float4 value); 912229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 912329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 912429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 912529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 912646341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouillet * Return round x/y to the nearest integer then compute the remainder. 912729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 912829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 912929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9130963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))remainder(float x, float y); 913129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 913229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9133963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 91340ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet/* 913546341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouillet * Return round x/y to the nearest integer then compute the remainder. 91360ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * 9137963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 91380ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet */ 9139963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))remainder(float2 x, float2 y); 91400ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet#endif 91410ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet 9142963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 91430ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet/* 914446341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouillet * Return round x/y to the nearest integer then compute the remainder. 91450ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * 9146963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 91470ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet */ 9148963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))remainder(float3 x, float3 y); 91490ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet#endif 91500ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet 9151963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 91520ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet/* 915346341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouillet * Return round x/y to the nearest integer then compute the remainder. 91540ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet * 9155963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 91560ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet */ 9157963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))remainder(float4 x, float4 y); 91580ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet#endif 91590ec1635641a2075c9d2349219632650401f88881Jean-Luc Brouillet 916029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 916129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 916232c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * Return the quotient and the remainder of b/c. Only the sign and lowest three bits of the quotient are guaranteed to be accurate. 916329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 916429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 916529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 916646341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float __attribute__((overloadable))remquo(float b, float c, int* d); 916729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 916829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 916929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 917029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 917132c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * Return the quotient and the remainder of b/c. Only the sign and lowest three bits of the quotient are guaranteed to be accurate. 917229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 917329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 917429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 917546341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float2 __attribute__((overloadable))remquo(float2 b, float2 c, int2* d); 917629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 917729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 917829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 917929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 918032c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * Return the quotient and the remainder of b/c. Only the sign and lowest three bits of the quotient are guaranteed to be accurate. 918129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 918229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 918329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 918446341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float3 __attribute__((overloadable))remquo(float3 b, float3 c, int3* d); 918529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 918629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 918729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 918829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 918932c18186ad37029056f09b4041e62b09270ea0e6Jean-Luc Brouillet * Return the quotient and the remainder of b/c. Only the sign and lowest three bits of the quotient are guaranteed to be accurate. 919029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 919129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 919229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 919346341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float4 __attribute__((overloadable))remquo(float4 b, float4 c, int4* d); 919429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 919529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 919629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 919729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9198963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Round to the nearest integral value. 919929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 920029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 920129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9202963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))rint(float); 920329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 920429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 920529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 920629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9207963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Round to the nearest integral value. 920829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 920929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 921029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9211963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))rint(float2); 921229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 921329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 921429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 921529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9216963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Round to the nearest integral value. 921729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 921829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 921929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9220963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))rint(float3); 922129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 922229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 922329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 922429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9225963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Round to the nearest integral value. 922629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 922729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 922829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9229963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))rint(float4); 923029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 923129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 923229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 923329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9234963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the Nth root of a value. 923529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 923629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 923729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9238963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))rootn(float v, int n); 923929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 924029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 924129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 924229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9243963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the Nth root of a value. 924429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 924529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 924629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9247963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))rootn(float2 v, int2 n); 924829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 924929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 925029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 925129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9252963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the Nth root of a value. 925329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 925429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 925529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9256963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))rootn(float3 v, int3 n); 925729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 925829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 925929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 926029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9261963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the Nth root of a value. 926229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 926329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 926429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9265963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))rootn(float4 v, int4 n); 926629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 926729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 926829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 926929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9270963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Round to the nearest integral value. Half values are rounded away from zero. 927129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 927229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 927329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9274963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))round(float); 927529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 927629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 927729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 927829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9279963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Round to the nearest integral value. Half values are rounded away from zero. 928029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 928129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 928229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9283963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))round(float2); 928429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 928529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 928629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 928729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9288963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Round to the nearest integral value. Half values are rounded away from zero. 928929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 929029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 929129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9292963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))round(float3); 929329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 929429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 929529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 929629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9297963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Round to the nearest integral value. Half values are rounded away from zero. 929829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 929929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 930029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9301963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))round(float4); 930229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 930329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 930429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 930529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9306963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (1 / sqrt(value)). 930729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 930829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 930929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9310963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))rsqrt(float); 931129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 931229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 931329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 931429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9315963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (1 / sqrt(value)). 931629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 931729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 931829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9319963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))rsqrt(float2); 932029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 932129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 932229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 932329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9324963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (1 / sqrt(value)). 932529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 932629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 932729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9328963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))rsqrt(float3); 932929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 933029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 933129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 933229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9333963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return (1 / sqrt(value)). 933429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 933529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 933629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9337963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))rsqrt(float4); 933829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 933929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 934029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 934129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9342963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sign of a value. 9343963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 9344963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < 0) return -1.f; 9345963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else if (v > 0) return 1.f; 9346963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else return 0.f; 934729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 934829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 934929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9350963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))sign(float v); 935129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 935229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 935329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 935429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9355963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sign of a value. 9356963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 9357963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < 0) return -1.f; 9358963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else if (v > 0) return 1.f; 9359963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else return 0.f; 936029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 936129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * Supported by API versions 9 and newer. 936229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9363963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))sign(float2 v); 936429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 936529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9366963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 936729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9368963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sign of a value. 936929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9370963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < 0) return -1.f; 9371963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else if (v > 0) return 1.f; 9372963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else return 0.f; 9373963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 9374963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 937529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9376963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))sign(float3 v); 937729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 937829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9379963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 938029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9381963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sign of a value. 938229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9383963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < 0) return -1.f; 9384963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else if (v > 0) return 1.f; 9385963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else return 0.f; 9386963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 9387963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 938829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9389963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))sign(float4 v); 939029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 939129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9392963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 939329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9394963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sine of a value specified in radians. 939529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9396963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 939729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9398963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))sin(float); 939929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 940029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9401963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 940229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9403963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sine of a value specified in radians. 940429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9405963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 940629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9407963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))sin(float2); 940829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 940929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9410963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 941129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9412963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sine of a value specified in radians. 941329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9414963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 941529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9416963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))sin(float3); 941729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 941829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9419963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 942029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9421963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sine of a value specified in radians. 942229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9423963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 942429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9425963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))sin(float4); 942629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 942729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9428963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 942929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9430963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sine and cosine of a value. 943129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9432963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @return sine 9433963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param v The incoming value in radians 9434963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param *cosptr cosptr[0] will be set to the cosine value. 9435963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 9436963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 943729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 943846341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float __attribute__((overloadable))sincos(float v, float* cosptr); 943929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 944029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9441963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 944229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9443963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sine and cosine of a value. 944429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9445963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @return sine 9446963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param v The incoming value in radians 9447963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param *cosptr cosptr[0] will be set to the cosine value. 9448963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 9449963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 945029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 945146341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float2 __attribute__((overloadable))sincos(float2 v, float2* cosptr); 945229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 945329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9454963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 945529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9456963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sine and cosine of a value. 945729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9458963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @return sine 9459963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param v The incoming value in radians 9460963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param *cosptr cosptr[0] will be set to the cosine value. 9461963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 9462963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 946329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 946446341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float3 __attribute__((overloadable))sincos(float3 v, float3* cosptr); 946529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 946629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9467963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 946829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9469963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sine and cosine of a value. 947029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9471963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @return sine 9472963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param v The incoming value in radians 9473963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * @param *cosptr cosptr[0] will be set to the cosine value. 9474963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * 9475963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 947629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 947746341434b4a766d9dee33a93469564a1de8b0793Jean-Luc Brouilletextern float4 __attribute__((overloadable))sincos(float4 v, float4* cosptr); 947829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 947929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9480963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 948129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9482963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hyperbolic sine of a value specified in radians. 948329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9484963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 948529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9486963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))sinh(float); 948729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 948829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9489963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 949029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9491963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hyperbolic sine of a value specified in radians. 949229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9493963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 949429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9495963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))sinh(float2); 949629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 949729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9498963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 949929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9500963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hyperbolic sine of a value specified in radians. 950129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9502963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 950329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9504963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))sinh(float3); 950529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 950629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9507963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 950829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9509963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hyperbolic sine of a value specified in radians. 951029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9511963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 951229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9513963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))sinh(float4); 951429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 951529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9516963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 951729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9518963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sin(v * PI). 951929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9520963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 952129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9522963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))sinpi(float); 952329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 952429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9525963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 952629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9527963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sin(v * PI). 952829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9529963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 953029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9531963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))sinpi(float2); 953229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 953329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9534963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 953529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9536963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sin(v * PI). 953729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9538963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 953929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9540963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))sinpi(float3); 954129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 954229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9543963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 954429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9545963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the sin(v * PI). 954629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9547963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 954829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9549963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))sinpi(float4); 955029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 955129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9552963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 955329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9554963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the square root of a value. 955529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9556963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 955729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9558963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))sqrt(float); 955929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 956029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9561963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 956229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9563963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the square root of a value. 956429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9565963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 956629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9567963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))sqrt(float2); 956829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 956929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9570963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 957129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9572963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the square root of a value. 957329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9574963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 957529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9576963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))sqrt(float3); 957729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 957829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9579963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 958029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9581963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the square root of a value. 958229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9583963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 958429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9585963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))sqrt(float4); 958629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 958729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9588963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 958929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9590963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < edge) 9591963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 0.f; 9592963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else 9593963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 1.f; 959429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9595963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 959629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9597963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))step(float edge, float v); 959829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 959929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9600963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 960129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9602963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < edge) 9603963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 0.f; 9604963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else 9605963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 1.f; 960629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9607963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 960829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9609963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))step(float2 edge, float2 v); 961029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 961129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9612963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 961329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9614963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < edge) 9615963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 0.f; 9616963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else 9617963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 1.f; 961829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9619963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 962029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9621963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))step(float3 edge, float3 v); 962229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 962329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9624963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 9625963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet/* 9626963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < edge) 9627963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 0.f; 9628963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else 9629963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 1.f; 963029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9631963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 963229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9633963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))step(float4 edge, float4 v); 963429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 963529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9636963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 963729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9638963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < edge) 9639963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 0.f; 9640963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else 9641963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 1.f; 964229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9643963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 964429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9645963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))step(float2 edge, float v); 964629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 964729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9648963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 964929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9650963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < edge) 9651963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 0.f; 9652963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else 9653963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 1.f; 965429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9655963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 965629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9657963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))step(float3 edge, float v); 965829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 965929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9660963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 966129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9662963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < edge) 9663963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 0.f; 9664963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else 9665963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 1.f; 966629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9667963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 966829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9669963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))step(float4 edge, float v); 967029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 967129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9672aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 967329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9674963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < edge) 9675963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 0.f; 9676963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else 9677963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 1.f; 967829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9679aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 968029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9681963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))step(float edge, float2 v); 968229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 968329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9684aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 968529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9686963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < edge) 9687963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 0.f; 9688963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else 9689963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 1.f; 969029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9691aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 969229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9693963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))step(float edge, float3 v); 969429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 969529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9696aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams#if (defined(RS_VERSION) && (RS_VERSION >= 21)) 969729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9698963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * if (v < edge) 9699963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 0.f; 9700963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * else 9701963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * return 1.f; 970229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9703aa456939abefb51c59e2c7496038fe4360dfe43eJason Sams * Supported by API versions 21 and newer. 970429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9705963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))step(float edge, float4 v); 970629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 970729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9708963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 970929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9710963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the tangent of a value. 971129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9712963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 971329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9714963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))tan(float); 971529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 971629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9717963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 971829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9719963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the tangent of a value. 972029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9721963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 972229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9723963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))tan(float2); 972429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 972529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9726963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 972729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9728963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the tangent of a value. 972929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9730963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 973129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9732963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))tan(float3); 973329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 973429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9735963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 973629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9737963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the tangent of a value. 973829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9739963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 974029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9741963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))tan(float4); 974229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 974329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9744963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 974529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9746963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hyperbolic tangent of a value. 974729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9748963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 974929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9750963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))tanh(float); 975129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 975229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9753963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 975429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9755963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hyperbolic tangent of a value. 975629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9757963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 975829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9759963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))tanh(float2); 976029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 976129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9762963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 976329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9764963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hyperbolic tangent of a value. 976529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9766963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 976729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9768963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))tanh(float3); 976929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 977029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9771963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 977229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9773963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return the hyperbolic tangent of a value. 977429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9775963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 977629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9777963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))tanh(float4); 977829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 977929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9780963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 978129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9782963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return tan(v * PI) 978329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9784963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 978529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9786963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))tanpi(float); 978729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 978829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9789963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 979029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9791963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return tan(v * PI) 979229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9793963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 979429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9795963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))tanpi(float2); 979629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 979729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9798963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 979929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9800963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return tan(v * PI) 980129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9802963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 980329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9804963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))tanpi(float3); 980529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 980629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9807963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 980829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9809963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Return tan(v * PI) 981029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9811963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 981229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9813963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))tanpi(float4); 981429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 981529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9816963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 981729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9818963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the gamma function of a value. 981929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9820963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 982129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9822963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))tgamma(float); 982329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 982429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9825963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 982629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9827963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the gamma function of a value. 982829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9829963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 983029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9831963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))tgamma(float2); 983229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 983329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9834963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 983529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9836963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the gamma function of a value. 983729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9838963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 983929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9840963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))tgamma(float3); 984129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 984229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9843963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 984429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9845963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Compute the gamma function of a value. 984629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9847963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 984829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9849963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))tgamma(float4); 985029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 985129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9852963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 985329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9854963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * ound to integral using truncation. 985529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9856963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 985729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9858963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float __attribute__((const, overloadable))trunc(float); 985929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 986029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9861963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 986229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9863963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * ound to integral using truncation. 986429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9865963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 986629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9867963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float2 __attribute__((const, overloadable))trunc(float2); 986829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 986929087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9870963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 987129087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9872963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * ound to integral using truncation. 987329087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9874963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 987529087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9876963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float3 __attribute__((const, overloadable))trunc(float3); 987729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 987829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 9879963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 9)) 988029087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams/* 9881963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * ound to integral using truncation. 988229087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams * 9883963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouillet * Supported by API versions 9 and newer. 988429087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams */ 9885963c367450cd54403f4e54064da63c35aa7e0178Jean-Luc Brouilletextern float4 __attribute__((const, overloadable))trunc(float4); 988629087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif 988729087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams 988829087fa1e022a58ff3e59219914ba95f1ad228c5Jason Sams#endif // __rs_core_math_rsh__ 9889