blob: 287a1b98c6d0895bbd1bea0c2108116a984e11fe [file] [log] [blame]
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Don't edit this file! It is auto-generated by frameworks/rs/api/gen_runtime.
#ifndef __rs_core_math_rsh__
#define __rs_core_math_rsh__
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern uchar __attribute__((const, overloadable))abs(char value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern uchar2 __attribute__((const, overloadable))abs(char2 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern uchar3 __attribute__((const, overloadable))abs(char3 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern uchar4 __attribute__((const, overloadable))abs(char4 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern ushort __attribute__((const, overloadable))abs(short value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern ushort2 __attribute__((const, overloadable))abs(short2 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern ushort3 __attribute__((const, overloadable))abs(short3 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern ushort4 __attribute__((const, overloadable))abs(short4 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern uint __attribute__((const, overloadable))abs(int value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern uint2 __attribute__((const, overloadable))abs(int2 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern uint3 __attribute__((const, overloadable))abs(int3 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern uint4 __attribute__((const, overloadable))abs(int4 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acos
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))acos(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acos
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))acos(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acos
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))acos(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acos
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))acos(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acosh
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))acosh(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acosh
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))acosh(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acosh
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))acosh(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acosh
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))acosh(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acospi
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))acospi(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acospi
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))acospi(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acospi
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))acospi(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* acospi
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))acospi(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* asin
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))asin(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* asin
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))asin(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* asin
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))asin(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* asin
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))asin(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* asinh
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))asinh(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* asinh
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))asinh(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* asinh
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))asinh(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* asinh
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))asinh(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse sine divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))asinpi(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse sine divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))asinpi(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse sine divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))asinpi(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse sine divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))asinpi(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))atan(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))atan(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))atan(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))atan(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent of y / x.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))atan2(float y, float x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent of y / x.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))atan2(float2 y, float2 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent of y / x.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))atan2(float3 y, float3 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent of y / x.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))atan2(float4 y, float4 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent of y / x, divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))atan2pi(float y, float x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent of y / x, divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))atan2pi(float2 y, float2 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent of y / x, divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))atan2pi(float3 y, float3 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent of y / x, divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))atan2pi(float4 y, float4 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse hyperbolic tangent.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))atanh(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse hyperbolic tangent.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))atanh(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse hyperbolic tangent.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))atanh(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse hyperbolic tangent.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))atanh(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))atanpi(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))atanpi(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))atanpi(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the inverse tangent divided by PI.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))atanpi(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cube root.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))cbrt(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cube root.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))cbrt(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cube root.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))cbrt(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cube root.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))cbrt(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the smallest integer not less than a value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))ceil(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the smallest integer not less than a value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))ceil(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the smallest integer not less than a value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))ceil(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the smallest integer not less than a value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))ceil(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))clamp(float value, float min_value, float max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))clamp(float2 value, float2 min_value, float2 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))clamp(float3 value, float3 min_value, float3 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))clamp(float4 value, float4 min_value, float4 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))clamp(float2 value, float min_value, float max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))clamp(float3 value, float min_value, float max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))clamp(float4 value, float min_value, float max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern char __attribute__((const, overloadable))clamp(char value, char min_value, char max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern char2 __attribute__((const, overloadable))clamp(char2 value, char2 min_value, char2 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern char3 __attribute__((const, overloadable))clamp(char3 value, char3 min_value, char3 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern char4 __attribute__((const, overloadable))clamp(char4 value, char4 min_value, char4 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uchar __attribute__((const, overloadable))clamp(uchar value, uchar min_value, uchar max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uchar2 __attribute__((const, overloadable))clamp(uchar2 value, uchar2 min_value, uchar2 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uchar3 __attribute__((const, overloadable))clamp(uchar3 value, uchar3 min_value, uchar3 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uchar4 __attribute__((const, overloadable))clamp(uchar4 value, uchar4 min_value, uchar4 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern short __attribute__((const, overloadable))clamp(short value, short min_value, short max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern short2 __attribute__((const, overloadable))clamp(short2 value, short2 min_value, short2 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern short3 __attribute__((const, overloadable))clamp(short3 value, short3 min_value, short3 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern short4 __attribute__((const, overloadable))clamp(short4 value, short4 min_value, short4 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ushort __attribute__((const, overloadable))clamp(ushort value, ushort min_value, ushort max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ushort2 __attribute__((const, overloadable))clamp(ushort2 value, ushort2 min_value, ushort2 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ushort3 __attribute__((const, overloadable))clamp(ushort3 value, ushort3 min_value, ushort3 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ushort4 __attribute__((const, overloadable))clamp(ushort4 value, ushort4 min_value, ushort4 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern int __attribute__((const, overloadable))clamp(int value, int min_value, int max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern int2 __attribute__((const, overloadable))clamp(int2 value, int2 min_value, int2 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern int3 __attribute__((const, overloadable))clamp(int3 value, int3 min_value, int3 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern int4 __attribute__((const, overloadable))clamp(int4 value, int4 min_value, int4 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uint __attribute__((const, overloadable))clamp(uint value, uint min_value, uint max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uint2 __attribute__((const, overloadable))clamp(uint2 value, uint2 min_value, uint2 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uint3 __attribute__((const, overloadable))clamp(uint3 value, uint3 min_value, uint3 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uint4 __attribute__((const, overloadable))clamp(uint4 value, uint4 min_value, uint4 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern long __attribute__((const, overloadable))clamp(long value, long min_value, long max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern long2 __attribute__((const, overloadable))clamp(long2 value, long2 min_value, long2 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern long3 __attribute__((const, overloadable))clamp(long3 value, long3 min_value, long3 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern long4 __attribute__((const, overloadable))clamp(long4 value, long4 min_value, long4 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ulong __attribute__((const, overloadable))clamp(ulong value, ulong min_value, ulong max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ulong2 __attribute__((const, overloadable))clamp(ulong2 value, ulong2 min_value, ulong2 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ulong3 __attribute__((const, overloadable))clamp(ulong3 value, ulong3 min_value, ulong3 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ulong4 __attribute__((const, overloadable))clamp(ulong4 value, ulong4 min_value, ulong4 max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern char2 __attribute__((const, overloadable))clamp(char2 value, char min_value, char max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern char3 __attribute__((const, overloadable))clamp(char3 value, char min_value, char max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern char4 __attribute__((const, overloadable))clamp(char4 value, char min_value, char max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uchar2 __attribute__((const, overloadable))clamp(uchar2 value, uchar min_value, uchar max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uchar3 __attribute__((const, overloadable))clamp(uchar3 value, uchar min_value, uchar max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uchar4 __attribute__((const, overloadable))clamp(uchar4 value, uchar min_value, uchar max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern short2 __attribute__((const, overloadable))clamp(short2 value, short min_value, short max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern short3 __attribute__((const, overloadable))clamp(short3 value, short min_value, short max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern short4 __attribute__((const, overloadable))clamp(short4 value, short min_value, short max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ushort2 __attribute__((const, overloadable))clamp(ushort2 value, ushort min_value, ushort max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ushort3 __attribute__((const, overloadable))clamp(ushort3 value, ushort min_value, ushort max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ushort4 __attribute__((const, overloadable))clamp(ushort4 value, ushort min_value, ushort max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern int2 __attribute__((const, overloadable))clamp(int2 value, int min_value, int max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern int3 __attribute__((const, overloadable))clamp(int3 value, int min_value, int max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern int4 __attribute__((const, overloadable))clamp(int4 value, int min_value, int max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uint2 __attribute__((const, overloadable))clamp(uint2 value, uint min_value, uint max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uint3 __attribute__((const, overloadable))clamp(uint3 value, uint min_value, uint max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern uint4 __attribute__((const, overloadable))clamp(uint4 value, uint min_value, uint max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern long2 __attribute__((const, overloadable))clamp(long2 value, long min_value, long max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern long3 __attribute__((const, overloadable))clamp(long3 value, long min_value, long max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern long4 __attribute__((const, overloadable))clamp(long4 value, long min_value, long max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ulong2 __attribute__((const, overloadable))clamp(ulong2 value, ulong min_value, ulong max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ulong3 __attribute__((const, overloadable))clamp(ulong3 value, ulong min_value, ulong max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 19))
/*
* Clamp a value to a specified high and low bound.
*
* @param amount value to be clamped. Supports 1,2,3,4 components
* @param min_value Lower bound, must be scalar or matching vector.
* @param max_value High bound, must match type of low
*
* Supported by API versions 19 and newer.
*/
extern ulong4 __attribute__((const, overloadable))clamp(ulong4 value, ulong min_value, ulong max_value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern char __attribute__((const, overloadable))clz(char value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern char2 __attribute__((const, overloadable))clz(char2 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern char3 __attribute__((const, overloadable))clz(char3 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern char4 __attribute__((const, overloadable))clz(char4 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern uchar __attribute__((const, overloadable))clz(uchar value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern uchar2 __attribute__((const, overloadable))clz(uchar2 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern uchar3 __attribute__((const, overloadable))clz(uchar3 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern uchar4 __attribute__((const, overloadable))clz(uchar4 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern short __attribute__((const, overloadable))clz(short value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern short2 __attribute__((const, overloadable))clz(short2 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern short3 __attribute__((const, overloadable))clz(short3 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern short4 __attribute__((const, overloadable))clz(short4 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern ushort __attribute__((const, overloadable))clz(ushort value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern ushort2 __attribute__((const, overloadable))clz(ushort2 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern ushort3 __attribute__((const, overloadable))clz(ushort3 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern ushort4 __attribute__((const, overloadable))clz(ushort4 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern int __attribute__((const, overloadable))clz(int value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern int2 __attribute__((const, overloadable))clz(int2 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern int3 __attribute__((const, overloadable))clz(int3 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern int4 __attribute__((const, overloadable))clz(int4 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern uint __attribute__((const, overloadable))clz(uint value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern uint2 __attribute__((const, overloadable))clz(uint2 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern uint3 __attribute__((const, overloadable))clz(uint3 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the number of leading 0-bits in a value.
*
* Supported by API versions 9 and newer.
*/
extern uint4 __attribute__((const, overloadable))clz(uint4 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float2 to float2
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))convert_float2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float3 to float3
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))convert_float3(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float4 to float4
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))convert_float4(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char2 to float2
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))convert_float2(char2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char3 to float3
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))convert_float3(char3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char4 to float4
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))convert_float4(char4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar2 to float2
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))convert_float2(uchar2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar3 to float3
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))convert_float3(uchar3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar4 to float4
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))convert_float4(uchar4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short2 to float2
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))convert_float2(short2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short3 to float3
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))convert_float3(short3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short4 to float4
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))convert_float4(short4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort2 to float2
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))convert_float2(ushort2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort3 to float3
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))convert_float3(ushort3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort4 to float4
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))convert_float4(ushort4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int2 to float2
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))convert_float2(int2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int3 to float3
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))convert_float3(int3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int4 to float4
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))convert_float4(int4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint2 to float2
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))convert_float2(uint2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint3 to float3
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))convert_float3(uint3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint4 to float4
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))convert_float4(uint4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float2 to char2
*
* Supported by API versions 9 and newer.
*/
extern char2 __attribute__((const, overloadable))convert_char2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float3 to char3
*
* Supported by API versions 9 and newer.
*/
extern char3 __attribute__((const, overloadable))convert_char3(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float4 to char4
*
* Supported by API versions 9 and newer.
*/
extern char4 __attribute__((const, overloadable))convert_char4(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char2 to char2
*
* Supported by API versions 9 and newer.
*/
extern char2 __attribute__((const, overloadable))convert_char2(char2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char3 to char3
*
* Supported by API versions 9 and newer.
*/
extern char3 __attribute__((const, overloadable))convert_char3(char3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char4 to char4
*
* Supported by API versions 9 and newer.
*/
extern char4 __attribute__((const, overloadable))convert_char4(char4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar2 to char2
*
* Supported by API versions 9 and newer.
*/
extern char2 __attribute__((const, overloadable))convert_char2(uchar2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar3 to char3
*
* Supported by API versions 9 and newer.
*/
extern char3 __attribute__((const, overloadable))convert_char3(uchar3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar4 to char4
*
* Supported by API versions 9 and newer.
*/
extern char4 __attribute__((const, overloadable))convert_char4(uchar4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short2 to char2
*
* Supported by API versions 9 and newer.
*/
extern char2 __attribute__((const, overloadable))convert_char2(short2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short3 to char3
*
* Supported by API versions 9 and newer.
*/
extern char3 __attribute__((const, overloadable))convert_char3(short3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short4 to char4
*
* Supported by API versions 9 and newer.
*/
extern char4 __attribute__((const, overloadable))convert_char4(short4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort2 to char2
*
* Supported by API versions 9 and newer.
*/
extern char2 __attribute__((const, overloadable))convert_char2(ushort2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort3 to char3
*
* Supported by API versions 9 and newer.
*/
extern char3 __attribute__((const, overloadable))convert_char3(ushort3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort4 to char4
*
* Supported by API versions 9 and newer.
*/
extern char4 __attribute__((const, overloadable))convert_char4(ushort4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int2 to char2
*
* Supported by API versions 9 and newer.
*/
extern char2 __attribute__((const, overloadable))convert_char2(int2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int3 to char3
*
* Supported by API versions 9 and newer.
*/
extern char3 __attribute__((const, overloadable))convert_char3(int3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int4 to char4
*
* Supported by API versions 9 and newer.
*/
extern char4 __attribute__((const, overloadable))convert_char4(int4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint2 to char2
*
* Supported by API versions 9 and newer.
*/
extern char2 __attribute__((const, overloadable))convert_char2(uint2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint3 to char3
*
* Supported by API versions 9 and newer.
*/
extern char3 __attribute__((const, overloadable))convert_char3(uint3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint4 to char4
*
* Supported by API versions 9 and newer.
*/
extern char4 __attribute__((const, overloadable))convert_char4(uint4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float2 to uchar2
*
* Supported by API versions 9 and newer.
*/
extern uchar2 __attribute__((const, overloadable))convert_uchar2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float3 to uchar3
*
* Supported by API versions 9 and newer.
*/
extern uchar3 __attribute__((const, overloadable))convert_uchar3(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float4 to uchar4
*
* Supported by API versions 9 and newer.
*/
extern uchar4 __attribute__((const, overloadable))convert_uchar4(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char2 to uchar2
*
* Supported by API versions 9 and newer.
*/
extern uchar2 __attribute__((const, overloadable))convert_uchar2(char2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char3 to uchar3
*
* Supported by API versions 9 and newer.
*/
extern uchar3 __attribute__((const, overloadable))convert_uchar3(char3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char4 to uchar4
*
* Supported by API versions 9 and newer.
*/
extern uchar4 __attribute__((const, overloadable))convert_uchar4(char4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar2 to uchar2
*
* Supported by API versions 9 and newer.
*/
extern uchar2 __attribute__((const, overloadable))convert_uchar2(uchar2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar3 to uchar3
*
* Supported by API versions 9 and newer.
*/
extern uchar3 __attribute__((const, overloadable))convert_uchar3(uchar3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar4 to uchar4
*
* Supported by API versions 9 and newer.
*/
extern uchar4 __attribute__((const, overloadable))convert_uchar4(uchar4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short2 to uchar2
*
* Supported by API versions 9 and newer.
*/
extern uchar2 __attribute__((const, overloadable))convert_uchar2(short2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short3 to uchar3
*
* Supported by API versions 9 and newer.
*/
extern uchar3 __attribute__((const, overloadable))convert_uchar3(short3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short4 to uchar4
*
* Supported by API versions 9 and newer.
*/
extern uchar4 __attribute__((const, overloadable))convert_uchar4(short4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort2 to uchar2
*
* Supported by API versions 9 and newer.
*/
extern uchar2 __attribute__((const, overloadable))convert_uchar2(ushort2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort3 to uchar3
*
* Supported by API versions 9 and newer.
*/
extern uchar3 __attribute__((const, overloadable))convert_uchar3(ushort3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort4 to uchar4
*
* Supported by API versions 9 and newer.
*/
extern uchar4 __attribute__((const, overloadable))convert_uchar4(ushort4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int2 to uchar2
*
* Supported by API versions 9 and newer.
*/
extern uchar2 __attribute__((const, overloadable))convert_uchar2(int2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int3 to uchar3
*
* Supported by API versions 9 and newer.
*/
extern uchar3 __attribute__((const, overloadable))convert_uchar3(int3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int4 to uchar4
*
* Supported by API versions 9 and newer.
*/
extern uchar4 __attribute__((const, overloadable))convert_uchar4(int4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint2 to uchar2
*
* Supported by API versions 9 and newer.
*/
extern uchar2 __attribute__((const, overloadable))convert_uchar2(uint2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint3 to uchar3
*
* Supported by API versions 9 and newer.
*/
extern uchar3 __attribute__((const, overloadable))convert_uchar3(uint3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint4 to uchar4
*
* Supported by API versions 9 and newer.
*/
extern uchar4 __attribute__((const, overloadable))convert_uchar4(uint4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float2 to short2
*
* Supported by API versions 9 and newer.
*/
extern short2 __attribute__((const, overloadable))convert_short2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float3 to short3
*
* Supported by API versions 9 and newer.
*/
extern short3 __attribute__((const, overloadable))convert_short3(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float4 to short4
*
* Supported by API versions 9 and newer.
*/
extern short4 __attribute__((const, overloadable))convert_short4(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char2 to short2
*
* Supported by API versions 9 and newer.
*/
extern short2 __attribute__((const, overloadable))convert_short2(char2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char3 to short3
*
* Supported by API versions 9 and newer.
*/
extern short3 __attribute__((const, overloadable))convert_short3(char3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char4 to short4
*
* Supported by API versions 9 and newer.
*/
extern short4 __attribute__((const, overloadable))convert_short4(char4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar2 to short2
*
* Supported by API versions 9 and newer.
*/
extern short2 __attribute__((const, overloadable))convert_short2(uchar2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar3 to short3
*
* Supported by API versions 9 and newer.
*/
extern short3 __attribute__((const, overloadable))convert_short3(uchar3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar4 to short4
*
* Supported by API versions 9 and newer.
*/
extern short4 __attribute__((const, overloadable))convert_short4(uchar4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short2 to short2
*
* Supported by API versions 9 and newer.
*/
extern short2 __attribute__((const, overloadable))convert_short2(short2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short3 to short3
*
* Supported by API versions 9 and newer.
*/
extern short3 __attribute__((const, overloadable))convert_short3(short3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short4 to short4
*
* Supported by API versions 9 and newer.
*/
extern short4 __attribute__((const, overloadable))convert_short4(short4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort2 to short2
*
* Supported by API versions 9 and newer.
*/
extern short2 __attribute__((const, overloadable))convert_short2(ushort2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort3 to short3
*
* Supported by API versions 9 and newer.
*/
extern short3 __attribute__((const, overloadable))convert_short3(ushort3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort4 to short4
*
* Supported by API versions 9 and newer.
*/
extern short4 __attribute__((const, overloadable))convert_short4(ushort4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int2 to short2
*
* Supported by API versions 9 and newer.
*/
extern short2 __attribute__((const, overloadable))convert_short2(int2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int3 to short3
*
* Supported by API versions 9 and newer.
*/
extern short3 __attribute__((const, overloadable))convert_short3(int3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int4 to short4
*
* Supported by API versions 9 and newer.
*/
extern short4 __attribute__((const, overloadable))convert_short4(int4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint2 to short2
*
* Supported by API versions 9 and newer.
*/
extern short2 __attribute__((const, overloadable))convert_short2(uint2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint3 to short3
*
* Supported by API versions 9 and newer.
*/
extern short3 __attribute__((const, overloadable))convert_short3(uint3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint4 to short4
*
* Supported by API versions 9 and newer.
*/
extern short4 __attribute__((const, overloadable))convert_short4(uint4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float2 to ushort2
*
* Supported by API versions 9 and newer.
*/
extern ushort2 __attribute__((const, overloadable))convert_ushort2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float3 to ushort3
*
* Supported by API versions 9 and newer.
*/
extern ushort3 __attribute__((const, overloadable))convert_ushort3(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float4 to ushort4
*
* Supported by API versions 9 and newer.
*/
extern ushort4 __attribute__((const, overloadable))convert_ushort4(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char2 to ushort2
*
* Supported by API versions 9 and newer.
*/
extern ushort2 __attribute__((const, overloadable))convert_ushort2(char2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char3 to ushort3
*
* Supported by API versions 9 and newer.
*/
extern ushort3 __attribute__((const, overloadable))convert_ushort3(char3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char4 to ushort4
*
* Supported by API versions 9 and newer.
*/
extern ushort4 __attribute__((const, overloadable))convert_ushort4(char4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar2 to ushort2
*
* Supported by API versions 9 and newer.
*/
extern ushort2 __attribute__((const, overloadable))convert_ushort2(uchar2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar3 to ushort3
*
* Supported by API versions 9 and newer.
*/
extern ushort3 __attribute__((const, overloadable))convert_ushort3(uchar3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar4 to ushort4
*
* Supported by API versions 9 and newer.
*/
extern ushort4 __attribute__((const, overloadable))convert_ushort4(uchar4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short2 to ushort2
*
* Supported by API versions 9 and newer.
*/
extern ushort2 __attribute__((const, overloadable))convert_ushort2(short2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short3 to ushort3
*
* Supported by API versions 9 and newer.
*/
extern ushort3 __attribute__((const, overloadable))convert_ushort3(short3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short4 to ushort4
*
* Supported by API versions 9 and newer.
*/
extern ushort4 __attribute__((const, overloadable))convert_ushort4(short4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort2 to ushort2
*
* Supported by API versions 9 and newer.
*/
extern ushort2 __attribute__((const, overloadable))convert_ushort2(ushort2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort3 to ushort3
*
* Supported by API versions 9 and newer.
*/
extern ushort3 __attribute__((const, overloadable))convert_ushort3(ushort3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort4 to ushort4
*
* Supported by API versions 9 and newer.
*/
extern ushort4 __attribute__((const, overloadable))convert_ushort4(ushort4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int2 to ushort2
*
* Supported by API versions 9 and newer.
*/
extern ushort2 __attribute__((const, overloadable))convert_ushort2(int2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int3 to ushort3
*
* Supported by API versions 9 and newer.
*/
extern ushort3 __attribute__((const, overloadable))convert_ushort3(int3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int4 to ushort4
*
* Supported by API versions 9 and newer.
*/
extern ushort4 __attribute__((const, overloadable))convert_ushort4(int4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint2 to ushort2
*
* Supported by API versions 9 and newer.
*/
extern ushort2 __attribute__((const, overloadable))convert_ushort2(uint2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint3 to ushort3
*
* Supported by API versions 9 and newer.
*/
extern ushort3 __attribute__((const, overloadable))convert_ushort3(uint3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint4 to ushort4
*
* Supported by API versions 9 and newer.
*/
extern ushort4 __attribute__((const, overloadable))convert_ushort4(uint4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float2 to int2
*
* Supported by API versions 9 and newer.
*/
extern int2 __attribute__((const, overloadable))convert_int2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float3 to int3
*
* Supported by API versions 9 and newer.
*/
extern int3 __attribute__((const, overloadable))convert_int3(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float4 to int4
*
* Supported by API versions 9 and newer.
*/
extern int4 __attribute__((const, overloadable))convert_int4(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char2 to int2
*
* Supported by API versions 9 and newer.
*/
extern int2 __attribute__((const, overloadable))convert_int2(char2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char3 to int3
*
* Supported by API versions 9 and newer.
*/
extern int3 __attribute__((const, overloadable))convert_int3(char3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char4 to int4
*
* Supported by API versions 9 and newer.
*/
extern int4 __attribute__((const, overloadable))convert_int4(char4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar2 to int2
*
* Supported by API versions 9 and newer.
*/
extern int2 __attribute__((const, overloadable))convert_int2(uchar2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar3 to int3
*
* Supported by API versions 9 and newer.
*/
extern int3 __attribute__((const, overloadable))convert_int3(uchar3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar4 to int4
*
* Supported by API versions 9 and newer.
*/
extern int4 __attribute__((const, overloadable))convert_int4(uchar4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short2 to int2
*
* Supported by API versions 9 and newer.
*/
extern int2 __attribute__((const, overloadable))convert_int2(short2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short3 to int3
*
* Supported by API versions 9 and newer.
*/
extern int3 __attribute__((const, overloadable))convert_int3(short3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short4 to int4
*
* Supported by API versions 9 and newer.
*/
extern int4 __attribute__((const, overloadable))convert_int4(short4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort2 to int2
*
* Supported by API versions 9 and newer.
*/
extern int2 __attribute__((const, overloadable))convert_int2(ushort2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort3 to int3
*
* Supported by API versions 9 and newer.
*/
extern int3 __attribute__((const, overloadable))convert_int3(ushort3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort4 to int4
*
* Supported by API versions 9 and newer.
*/
extern int4 __attribute__((const, overloadable))convert_int4(ushort4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int2 to int2
*
* Supported by API versions 9 and newer.
*/
extern int2 __attribute__((const, overloadable))convert_int2(int2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int3 to int3
*
* Supported by API versions 9 and newer.
*/
extern int3 __attribute__((const, overloadable))convert_int3(int3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int4 to int4
*
* Supported by API versions 9 and newer.
*/
extern int4 __attribute__((const, overloadable))convert_int4(int4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint2 to int2
*
* Supported by API versions 9 and newer.
*/
extern int2 __attribute__((const, overloadable))convert_int2(uint2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint3 to int3
*
* Supported by API versions 9 and newer.
*/
extern int3 __attribute__((const, overloadable))convert_int3(uint3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint4 to int4
*
* Supported by API versions 9 and newer.
*/
extern int4 __attribute__((const, overloadable))convert_int4(uint4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float2 to uint2
*
* Supported by API versions 9 and newer.
*/
extern uint2 __attribute__((const, overloadable))convert_uint2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float3 to uint3
*
* Supported by API versions 9 and newer.
*/
extern uint3 __attribute__((const, overloadable))convert_uint3(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from float4 to uint4
*
* Supported by API versions 9 and newer.
*/
extern uint4 __attribute__((const, overloadable))convert_uint4(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char2 to uint2
*
* Supported by API versions 9 and newer.
*/
extern uint2 __attribute__((const, overloadable))convert_uint2(char2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char3 to uint3
*
* Supported by API versions 9 and newer.
*/
extern uint3 __attribute__((const, overloadable))convert_uint3(char3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from char4 to uint4
*
* Supported by API versions 9 and newer.
*/
extern uint4 __attribute__((const, overloadable))convert_uint4(char4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar2 to uint2
*
* Supported by API versions 9 and newer.
*/
extern uint2 __attribute__((const, overloadable))convert_uint2(uchar2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar3 to uint3
*
* Supported by API versions 9 and newer.
*/
extern uint3 __attribute__((const, overloadable))convert_uint3(uchar3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uchar4 to uint4
*
* Supported by API versions 9 and newer.
*/
extern uint4 __attribute__((const, overloadable))convert_uint4(uchar4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short2 to uint2
*
* Supported by API versions 9 and newer.
*/
extern uint2 __attribute__((const, overloadable))convert_uint2(short2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short3 to uint3
*
* Supported by API versions 9 and newer.
*/
extern uint3 __attribute__((const, overloadable))convert_uint3(short3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from short4 to uint4
*
* Supported by API versions 9 and newer.
*/
extern uint4 __attribute__((const, overloadable))convert_uint4(short4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort2 to uint2
*
* Supported by API versions 9 and newer.
*/
extern uint2 __attribute__((const, overloadable))convert_uint2(ushort2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort3 to uint3
*
* Supported by API versions 9 and newer.
*/
extern uint3 __attribute__((const, overloadable))convert_uint3(ushort3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from ushort4 to uint4
*
* Supported by API versions 9 and newer.
*/
extern uint4 __attribute__((const, overloadable))convert_uint4(ushort4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int2 to uint2
*
* Supported by API versions 9 and newer.
*/
extern uint2 __attribute__((const, overloadable))convert_uint2(int2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int3 to uint3
*
* Supported by API versions 9 and newer.
*/
extern uint3 __attribute__((const, overloadable))convert_uint3(int3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from int4 to uint4
*
* Supported by API versions 9 and newer.
*/
extern uint4 __attribute__((const, overloadable))convert_uint4(int4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint2 to uint2
*
* Supported by API versions 9 and newer.
*/
extern uint2 __attribute__((const, overloadable))convert_uint2(uint2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint3 to uint3
*
* Supported by API versions 9 and newer.
*/
extern uint3 __attribute__((const, overloadable))convert_uint3(uint3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Component wise conversion from uint4 to uint4
*
* Supported by API versions 9 and newer.
*/
extern uint4 __attribute__((const, overloadable))convert_uint4(uint4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double2 to double2
*
* Supported by API versions 21 and newer.
*/
extern double2 __attribute__((const, overloadable))convert_double2(double2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double3 to double3
*
* Supported by API versions 21 and newer.
*/
extern double3 __attribute__((const, overloadable))convert_double3(double3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double4 to double4
*
* Supported by API versions 21 and newer.
*/
extern double4 __attribute__((const, overloadable))convert_double4(double4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long2 to double2
*
* Supported by API versions 21 and newer.
*/
extern double2 __attribute__((const, overloadable))convert_double2(long2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long3 to double3
*
* Supported by API versions 21 and newer.
*/
extern double3 __attribute__((const, overloadable))convert_double3(long3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long4 to double4
*
* Supported by API versions 21 and newer.
*/
extern double4 __attribute__((const, overloadable))convert_double4(long4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong2 to double2
*
* Supported by API versions 21 and newer.
*/
extern double2 __attribute__((const, overloadable))convert_double2(ulong2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong3 to double3
*
* Supported by API versions 21 and newer.
*/
extern double3 __attribute__((const, overloadable))convert_double3(ulong3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong4 to double4
*
* Supported by API versions 21 and newer.
*/
extern double4 __attribute__((const, overloadable))convert_double4(ulong4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double2 to long2
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))convert_long2(double2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double3 to long3
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))convert_long3(double3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double4 to long4
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))convert_long4(double4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long2 to long2
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))convert_long2(long2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long3 to long3
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))convert_long3(long3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long4 to long4
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))convert_long4(long4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong2 to long2
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))convert_long2(ulong2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong3 to long3
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))convert_long3(ulong3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong4 to long4
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))convert_long4(ulong4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double2 to ulong2
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))convert_ulong2(double2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double3 to ulong3
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))convert_ulong3(double3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double4 to ulong4
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))convert_ulong4(double4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long2 to ulong2
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))convert_ulong2(long2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long3 to ulong3
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))convert_ulong3(long3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long4 to ulong4
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))convert_ulong4(long4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong2 to ulong2
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))convert_ulong2(ulong2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong3 to ulong3
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))convert_ulong3(ulong3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong4 to ulong4
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))convert_ulong4(ulong4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double2 to float2
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))convert_float2(double2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double3 to float3
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))convert_float3(double3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double4 to float4
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))convert_float4(double4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long2 to float2
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))convert_float2(long2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long3 to float3
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))convert_float3(long3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long4 to float4
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))convert_float4(long4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong2 to float2
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))convert_float2(ulong2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong3 to float3
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))convert_float3(ulong3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong4 to float4
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))convert_float4(ulong4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double2 to char2
*
* Supported by API versions 21 and newer.
*/
extern char2 __attribute__((const, overloadable))convert_char2(double2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double3 to char3
*
* Supported by API versions 21 and newer.
*/
extern char3 __attribute__((const, overloadable))convert_char3(double3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double4 to char4
*
* Supported by API versions 21 and newer.
*/
extern char4 __attribute__((const, overloadable))convert_char4(double4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long2 to char2
*
* Supported by API versions 21 and newer.
*/
extern char2 __attribute__((const, overloadable))convert_char2(long2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long3 to char3
*
* Supported by API versions 21 and newer.
*/
extern char3 __attribute__((const, overloadable))convert_char3(long3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long4 to char4
*
* Supported by API versions 21 and newer.
*/
extern char4 __attribute__((const, overloadable))convert_char4(long4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong2 to char2
*
* Supported by API versions 21 and newer.
*/
extern char2 __attribute__((const, overloadable))convert_char2(ulong2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong3 to char3
*
* Supported by API versions 21 and newer.
*/
extern char3 __attribute__((const, overloadable))convert_char3(ulong3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong4 to char4
*
* Supported by API versions 21 and newer.
*/
extern char4 __attribute__((const, overloadable))convert_char4(ulong4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double2 to uchar2
*
* Supported by API versions 21 and newer.
*/
extern uchar2 __attribute__((const, overloadable))convert_uchar2(double2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double3 to uchar3
*
* Supported by API versions 21 and newer.
*/
extern uchar3 __attribute__((const, overloadable))convert_uchar3(double3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double4 to uchar4
*
* Supported by API versions 21 and newer.
*/
extern uchar4 __attribute__((const, overloadable))convert_uchar4(double4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long2 to uchar2
*
* Supported by API versions 21 and newer.
*/
extern uchar2 __attribute__((const, overloadable))convert_uchar2(long2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long3 to uchar3
*
* Supported by API versions 21 and newer.
*/
extern uchar3 __attribute__((const, overloadable))convert_uchar3(long3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long4 to uchar4
*
* Supported by API versions 21 and newer.
*/
extern uchar4 __attribute__((const, overloadable))convert_uchar4(long4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong2 to uchar2
*
* Supported by API versions 21 and newer.
*/
extern uchar2 __attribute__((const, overloadable))convert_uchar2(ulong2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong3 to uchar3
*
* Supported by API versions 21 and newer.
*/
extern uchar3 __attribute__((const, overloadable))convert_uchar3(ulong3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong4 to uchar4
*
* Supported by API versions 21 and newer.
*/
extern uchar4 __attribute__((const, overloadable))convert_uchar4(ulong4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double2 to short2
*
* Supported by API versions 21 and newer.
*/
extern short2 __attribute__((const, overloadable))convert_short2(double2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double3 to short3
*
* Supported by API versions 21 and newer.
*/
extern short3 __attribute__((const, overloadable))convert_short3(double3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double4 to short4
*
* Supported by API versions 21 and newer.
*/
extern short4 __attribute__((const, overloadable))convert_short4(double4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long2 to short2
*
* Supported by API versions 21 and newer.
*/
extern short2 __attribute__((const, overloadable))convert_short2(long2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long3 to short3
*
* Supported by API versions 21 and newer.
*/
extern short3 __attribute__((const, overloadable))convert_short3(long3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long4 to short4
*
* Supported by API versions 21 and newer.
*/
extern short4 __attribute__((const, overloadable))convert_short4(long4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong2 to short2
*
* Supported by API versions 21 and newer.
*/
extern short2 __attribute__((const, overloadable))convert_short2(ulong2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong3 to short3
*
* Supported by API versions 21 and newer.
*/
extern short3 __attribute__((const, overloadable))convert_short3(ulong3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong4 to short4
*
* Supported by API versions 21 and newer.
*/
extern short4 __attribute__((const, overloadable))convert_short4(ulong4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double2 to ushort2
*
* Supported by API versions 21 and newer.
*/
extern ushort2 __attribute__((const, overloadable))convert_ushort2(double2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double3 to ushort3
*
* Supported by API versions 21 and newer.
*/
extern ushort3 __attribute__((const, overloadable))convert_ushort3(double3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double4 to ushort4
*
* Supported by API versions 21 and newer.
*/
extern ushort4 __attribute__((const, overloadable))convert_ushort4(double4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long2 to ushort2
*
* Supported by API versions 21 and newer.
*/
extern ushort2 __attribute__((const, overloadable))convert_ushort2(long2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long3 to ushort3
*
* Supported by API versions 21 and newer.
*/
extern ushort3 __attribute__((const, overloadable))convert_ushort3(long3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long4 to ushort4
*
* Supported by API versions 21 and newer.
*/
extern ushort4 __attribute__((const, overloadable))convert_ushort4(long4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong2 to ushort2
*
* Supported by API versions 21 and newer.
*/
extern ushort2 __attribute__((const, overloadable))convert_ushort2(ulong2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong3 to ushort3
*
* Supported by API versions 21 and newer.
*/
extern ushort3 __attribute__((const, overloadable))convert_ushort3(ulong3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong4 to ushort4
*
* Supported by API versions 21 and newer.
*/
extern ushort4 __attribute__((const, overloadable))convert_ushort4(ulong4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double2 to int2
*
* Supported by API versions 21 and newer.
*/
extern int2 __attribute__((const, overloadable))convert_int2(double2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double3 to int3
*
* Supported by API versions 21 and newer.
*/
extern int3 __attribute__((const, overloadable))convert_int3(double3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double4 to int4
*
* Supported by API versions 21 and newer.
*/
extern int4 __attribute__((const, overloadable))convert_int4(double4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long2 to int2
*
* Supported by API versions 21 and newer.
*/
extern int2 __attribute__((const, overloadable))convert_int2(long2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long3 to int3
*
* Supported by API versions 21 and newer.
*/
extern int3 __attribute__((const, overloadable))convert_int3(long3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long4 to int4
*
* Supported by API versions 21 and newer.
*/
extern int4 __attribute__((const, overloadable))convert_int4(long4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong2 to int2
*
* Supported by API versions 21 and newer.
*/
extern int2 __attribute__((const, overloadable))convert_int2(ulong2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong3 to int3
*
* Supported by API versions 21 and newer.
*/
extern int3 __attribute__((const, overloadable))convert_int3(ulong3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong4 to int4
*
* Supported by API versions 21 and newer.
*/
extern int4 __attribute__((const, overloadable))convert_int4(ulong4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double2 to uint2
*
* Supported by API versions 21 and newer.
*/
extern uint2 __attribute__((const, overloadable))convert_uint2(double2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double3 to uint3
*
* Supported by API versions 21 and newer.
*/
extern uint3 __attribute__((const, overloadable))convert_uint3(double3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from double4 to uint4
*
* Supported by API versions 21 and newer.
*/
extern uint4 __attribute__((const, overloadable))convert_uint4(double4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long2 to uint2
*
* Supported by API versions 21 and newer.
*/
extern uint2 __attribute__((const, overloadable))convert_uint2(long2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long3 to uint3
*
* Supported by API versions 21 and newer.
*/
extern uint3 __attribute__((const, overloadable))convert_uint3(long3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from long4 to uint4
*
* Supported by API versions 21 and newer.
*/
extern uint4 __attribute__((const, overloadable))convert_uint4(long4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong2 to uint2
*
* Supported by API versions 21 and newer.
*/
extern uint2 __attribute__((const, overloadable))convert_uint2(ulong2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong3 to uint3
*
* Supported by API versions 21 and newer.
*/
extern uint3 __attribute__((const, overloadable))convert_uint3(ulong3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ulong4 to uint4
*
* Supported by API versions 21 and newer.
*/
extern uint4 __attribute__((const, overloadable))convert_uint4(ulong4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from float2 to double2
*
* Supported by API versions 21 and newer.
*/
extern double2 __attribute__((const, overloadable))convert_double2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from float3 to double3
*
* Supported by API versions 21 and newer.
*/
extern double3 __attribute__((const, overloadable))convert_double3(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from float4 to double4
*
* Supported by API versions 21 and newer.
*/
extern double4 __attribute__((const, overloadable))convert_double4(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from char2 to double2
*
* Supported by API versions 21 and newer.
*/
extern double2 __attribute__((const, overloadable))convert_double2(char2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from char3 to double3
*
* Supported by API versions 21 and newer.
*/
extern double3 __attribute__((const, overloadable))convert_double3(char3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from char4 to double4
*
* Supported by API versions 21 and newer.
*/
extern double4 __attribute__((const, overloadable))convert_double4(char4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uchar2 to double2
*
* Supported by API versions 21 and newer.
*/
extern double2 __attribute__((const, overloadable))convert_double2(uchar2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uchar3 to double3
*
* Supported by API versions 21 and newer.
*/
extern double3 __attribute__((const, overloadable))convert_double3(uchar3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uchar4 to double4
*
* Supported by API versions 21 and newer.
*/
extern double4 __attribute__((const, overloadable))convert_double4(uchar4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from short2 to double2
*
* Supported by API versions 21 and newer.
*/
extern double2 __attribute__((const, overloadable))convert_double2(short2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from short3 to double3
*
* Supported by API versions 21 and newer.
*/
extern double3 __attribute__((const, overloadable))convert_double3(short3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from short4 to double4
*
* Supported by API versions 21 and newer.
*/
extern double4 __attribute__((const, overloadable))convert_double4(short4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ushort2 to double2
*
* Supported by API versions 21 and newer.
*/
extern double2 __attribute__((const, overloadable))convert_double2(ushort2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ushort3 to double3
*
* Supported by API versions 21 and newer.
*/
extern double3 __attribute__((const, overloadable))convert_double3(ushort3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ushort4 to double4
*
* Supported by API versions 21 and newer.
*/
extern double4 __attribute__((const, overloadable))convert_double4(ushort4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from int2 to double2
*
* Supported by API versions 21 and newer.
*/
extern double2 __attribute__((const, overloadable))convert_double2(int2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from int3 to double3
*
* Supported by API versions 21 and newer.
*/
extern double3 __attribute__((const, overloadable))convert_double3(int3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from int4 to double4
*
* Supported by API versions 21 and newer.
*/
extern double4 __attribute__((const, overloadable))convert_double4(int4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uint2 to double2
*
* Supported by API versions 21 and newer.
*/
extern double2 __attribute__((const, overloadable))convert_double2(uint2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uint3 to double3
*
* Supported by API versions 21 and newer.
*/
extern double3 __attribute__((const, overloadable))convert_double3(uint3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uint4 to double4
*
* Supported by API versions 21 and newer.
*/
extern double4 __attribute__((const, overloadable))convert_double4(uint4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from float2 to long2
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))convert_long2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from float3 to long3
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))convert_long3(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from float4 to long4
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))convert_long4(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from char2 to long2
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))convert_long2(char2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from char3 to long3
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))convert_long3(char3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from char4 to long4
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))convert_long4(char4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uchar2 to long2
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))convert_long2(uchar2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uchar3 to long3
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))convert_long3(uchar3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uchar4 to long4
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))convert_long4(uchar4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from short2 to long2
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))convert_long2(short2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from short3 to long3
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))convert_long3(short3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from short4 to long4
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))convert_long4(short4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ushort2 to long2
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))convert_long2(ushort2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ushort3 to long3
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))convert_long3(ushort3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ushort4 to long4
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))convert_long4(ushort4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from int2 to long2
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))convert_long2(int2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from int3 to long3
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))convert_long3(int3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from int4 to long4
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))convert_long4(int4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uint2 to long2
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))convert_long2(uint2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uint3 to long3
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))convert_long3(uint3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uint4 to long4
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))convert_long4(uint4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from float2 to ulong2
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))convert_ulong2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from float3 to ulong3
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))convert_ulong3(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from float4 to ulong4
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))convert_ulong4(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from char2 to ulong2
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))convert_ulong2(char2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from char3 to ulong3
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))convert_ulong3(char3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from char4 to ulong4
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))convert_ulong4(char4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uchar2 to ulong2
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))convert_ulong2(uchar2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uchar3 to ulong3
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))convert_ulong3(uchar3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uchar4 to ulong4
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))convert_ulong4(uchar4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from short2 to ulong2
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))convert_ulong2(short2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from short3 to ulong3
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))convert_ulong3(short3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from short4 to ulong4
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))convert_ulong4(short4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ushort2 to ulong2
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))convert_ulong2(ushort2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ushort3 to ulong3
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))convert_ulong3(ushort3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from ushort4 to ulong4
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))convert_ulong4(ushort4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from int2 to ulong2
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))convert_ulong2(int2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from int3 to ulong3
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))convert_ulong3(int3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from int4 to ulong4
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))convert_ulong4(int4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uint2 to ulong2
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))convert_ulong2(uint2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uint3 to ulong3
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))convert_ulong3(uint3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Component wise conversion from uint4 to ulong4
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))convert_ulong4(uint4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Copy the sign bit from y to x.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))copysign(float x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Copy the sign bit from y to x.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))copysign(float2 x, float2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Copy the sign bit from y to x.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))copysign(float3 x, float3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Copy the sign bit from y to x.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))copysign(float4 x, float4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cosine.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))cos(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cosine.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))cos(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cosine.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))cos(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cosine.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))cos(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hypebolic cosine.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))cosh(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hypebolic cosine.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))cosh(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hypebolic cosine.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))cosh(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hypebolic cosine.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))cosh(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cosine of the value * PI.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))cospi(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cosine of the value * PI.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))cospi(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cosine of the value * PI.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))cospi(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the cosine of the value * PI.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))cospi(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the cross product of two vectors.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))cross(float3 lhs, float3 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the cross product of two vectors.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))cross(float4 lhs, float4 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Convert from radians to degrees.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))degrees(float value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Convert from radians to degrees.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))degrees(float2 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Convert from radians to degrees.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))degrees(float3 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Convert from radians to degrees.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))degrees(float4 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the distance between two points.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))distance(float lhs, float rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the distance between two points.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))distance(float2 lhs, float2 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the distance between two points.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))distance(float3 lhs, float3 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the distance between two points.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))distance(float4 lhs, float4 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the dot product of two vectors.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))dot(float lhs, float rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the dot product of two vectors.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))dot(float2 lhs, float2 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the dot product of two vectors.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))dot(float3 lhs, float3 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the dot product of two vectors.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))dot(float4 lhs, float4 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the error function.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))erf(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the error function.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))erf(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the error function.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))erf(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the error function.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))erf(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the complementary error function.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))erfc(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the complementary error function.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))erfc(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the complementary error function.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))erfc(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the complementary error function.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))erfc(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return e ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))exp(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return e ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))exp(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return e ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))exp(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return e ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))exp(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return 10 ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))exp10(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return 10 ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))exp10(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return 10 ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))exp10(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return 10 ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))exp10(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return 2 ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))exp2(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return 2 ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))exp2(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return 2 ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))exp2(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return 2 ^ value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))exp2(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (e ^ value) - 1.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))expm1(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (e ^ value) - 1.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))expm1(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (e ^ value) - 1.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))expm1(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (e ^ value) - 1.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))expm1(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))fabs(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))fabs(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))fabs(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the absolute value of a value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))fabs(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Compute the approximate distance between two points.
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))fast_distance(float lhs, float rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Compute the approximate distance between two points.
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))fast_distance(float2 lhs, float2 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Compute the approximate distance between two points.
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))fast_distance(float3 lhs, float3 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Compute the approximate distance between two points.
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))fast_distance(float4 lhs, float4 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Compute the approximate length of a vector.
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))fast_length(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Compute the approximate length of a vector.
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))fast_length(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Compute the approximate length of a vector.
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))fast_length(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Compute the approximate length of a vector.
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))fast_length(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Approximately normalize a vector.
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))fast_normalize(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Approximately normalize a vector.
*
* Supported by API versions 17 and newer.
*/
extern float2 __attribute__((const, overloadable))fast_normalize(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Approximately normalize a vector.
*
* Supported by API versions 17 and newer.
*/
extern float3 __attribute__((const, overloadable))fast_normalize(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Approximately normalize a vector.
*
* Supported by API versions 17 and newer.
*/
extern float4 __attribute__((const, overloadable))fast_normalize(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the positive difference between two values.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))fdim(float a, float b);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the positive difference between two values.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))fdim(float2 a, float2 b);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the positive difference between two values.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))fdim(float3 a, float3 b);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the positive difference between two values.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))fdim(float4 a, float4 b);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the smallest integer not greater than a value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))floor(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the smallest integer not greater than a value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))floor(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the smallest integer not greater than a value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))floor(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the smallest integer not greater than a value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))floor(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (a * b) + c.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))fma(float a, float b, float c);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (a * b) + c.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))fma(float2 a, float2 b, float2 c);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (a * b) + c.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))fma(float3 a, float3 b, float3 c);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (a * b) + c.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))fma(float4 a, float4 b, float4 c);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x < y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))fmax(float x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x < y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))fmax(float2 x, float2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x < y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))fmax(float3 x, float3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x < y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))fmax(float4 x, float4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x < y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))fmax(float2 x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x < y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))fmax(float3 x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x < y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))fmax(float4 x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x > y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))fmin(float x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x > y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))fmin(float2 x, float2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x > y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))fmin(float3 x, float3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x > y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))fmin(float4 x, float4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x > y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))fmin(float2 x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x > y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))fmin(float3 x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x > y ? y : x)
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))fmin(float4 x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the remainder from x / y
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))fmod(float x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the remainder from x / y
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))fmod(float2 x, float2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the remainder from x / y
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))fmod(float3 x, float3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the remainder from x / y
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))fmod(float4 x, float4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return fractional part of v
*
* @param floor floor[0] will be set to the floor of the input value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((overloadable))fract(float v, float* floor);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return fractional part of v
*
* @param floor floor[0] will be set to the floor of the input value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((overloadable))fract(float2 v, float2* floor);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return fractional part of v
*
* @param floor floor[0] will be set to the floor of the input value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((overloadable))fract(float3 v, float3* floor);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return fractional part of v
*
* @param floor floor[0] will be set to the floor of the input value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((overloadable))fract(float4 v, float4* floor);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return fractional part of v
*
* Supported by API versions 9 and newer.
*/
static float __attribute__((const, overloadable))fract(float v) {
float unused;
return fract(v, &unused);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return fractional part of v
*
* Supported by API versions 9 and newer.
*/
static float2 __attribute__((const, overloadable))fract(float2 v) {
float2 unused;
return fract(v, &unused);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return fractional part of v
*
* Supported by API versions 9 and newer.
*/
static float3 __attribute__((const, overloadable))fract(float3 v) {
float3 unused;
return fract(v, &unused);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return fractional part of v
*
* Supported by API versions 9 and newer.
*/
static float4 __attribute__((const, overloadable))fract(float4 v) {
float4 unused;
return fract(v, &unused);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the mantissa and place the exponent into iptr[0]
*
* @param v Supports float, float2, float3, float4.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((overloadable))frexp(float v, int* iptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the mantissa and place the exponent into iptr[0]
*
* @param v Supports float, float2, float3, float4.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((overloadable))frexp(float2 v, int2* iptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the mantissa and place the exponent into iptr[0]
*
* @param v Supports float, float2, float3, float4.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((overloadable))frexp(float3 v, int3* iptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the mantissa and place the exponent into iptr[0]
*
* @param v Supports float, float2, float3, float4.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((overloadable))frexp(float4 v, int4* iptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate reciprocal of a value.
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))half_recip(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate reciprocal of a value.
*
* Supported by API versions 17 and newer.
*/
extern float2 __attribute__((const, overloadable))half_recip(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate reciprocal of a value.
*
* Supported by API versions 17 and newer.
*/
extern float3 __attribute__((const, overloadable))half_recip(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate reciprocal of a value.
*
* Supported by API versions 17 and newer.
*/
extern float4 __attribute__((const, overloadable))half_recip(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate value of (1.f / sqrt(value)).
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))half_rsqrt(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate value of (1.f / sqrt(value)).
*
* Supported by API versions 17 and newer.
*/
extern float2 __attribute__((const, overloadable))half_rsqrt(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate value of (1.f / sqrt(value)).
*
* Supported by API versions 17 and newer.
*/
extern float3 __attribute__((const, overloadable))half_rsqrt(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate value of (1.f / sqrt(value)).
*
* Supported by API versions 17 and newer.
*/
extern float4 __attribute__((const, overloadable))half_rsqrt(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate square root of a value.
*
* Supported by API versions 17 and newer.
*/
extern float __attribute__((const, overloadable))half_sqrt(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate square root of a value.
*
* Supported by API versions 17 and newer.
*/
extern float2 __attribute__((const, overloadable))half_sqrt(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate square root of a value.
*
* Supported by API versions 17 and newer.
*/
extern float3 __attribute__((const, overloadable))half_sqrt(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 17))
/*
* Return the approximate square root of a value.
*
* Supported by API versions 17 and newer.
*/
extern float4 __attribute__((const, overloadable))half_sqrt(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return sqrt(x*x + y*y)
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))hypot(float x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return sqrt(x*x + y*y)
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))hypot(float2 x, float2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return sqrt(x*x + y*y)
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))hypot(float3 x, float3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return sqrt(x*x + y*y)
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))hypot(float4 x, float4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the integer exponent of a value
*
* Supported by API versions 9 and newer.
*/
extern int __attribute__((const, overloadable))ilogb(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the integer exponent of a value
*
* Supported by API versions 9 and newer.
*/
extern int2 __attribute__((const, overloadable))ilogb(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the integer exponent of a value
*
* Supported by API versions 9 and newer.
*/
extern int3 __attribute__((const, overloadable))ilogb(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the integer exponent of a value
*
* Supported by API versions 9 and newer.
*/
extern int4 __attribute__((const, overloadable))ilogb(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x * 2^y)
*
* @param x Supports 1,2,3,4 components
* @param y Supports single component or matching vector.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))ldexp(float x, int y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x * 2^y)
*
* @param x Supports 1,2,3,4 components
* @param y Supports single component or matching vector.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))ldexp(float2 x, int2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x * 2^y)
*
* @param x Supports 1,2,3,4 components
* @param y Supports single component or matching vector.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))ldexp(float3 x, int3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x * 2^y)
*
* @param x Supports 1,2,3,4 components
* @param y Supports single component or matching vector.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))ldexp(float4 x, int4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x * 2^y)
*
* @param x Supports 1,2,3,4 components
* @param y Supports single component or matching vector.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))ldexp(float2 x, int y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x * 2^y)
*
* @param x Supports 1,2,3,4 components
* @param y Supports single component or matching vector.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))ldexp(float3 x, int y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (x * 2^y)
*
* @param x Supports 1,2,3,4 components
* @param y Supports single component or matching vector.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))ldexp(float4 x, int y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the length of a vector.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))length(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the length of a vector.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))length(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the length of a vector.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))length(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the length of a vector.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))length(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the log gamma
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))lgamma(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the log gamma
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))lgamma(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the log gamma
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))lgamma(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the log gamma
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))lgamma(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the log gamma and sign
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((overloadable))lgamma(float x, int* y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the log gamma and sign
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((overloadable))lgamma(float2 x, int2* y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the log gamma and sign
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((overloadable))lgamma(float3 x, int3* y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the log gamma and sign
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((overloadable))lgamma(float4 x, int4* y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the natural logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))log(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the natural logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))log(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the natural logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))log(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the natural logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))log(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the base 10 logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))log10(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the base 10 logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))log10(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the base 10 logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))log10(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the base 10 logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))log10(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the natural logarithm of (v + 1.0f)
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))log1p(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the natural logarithm of (v + 1.0f)
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))log1p(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the natural logarithm of (v + 1.0f)
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))log1p(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the natural logarithm of (v + 1.0f)
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))log1p(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the base 2 logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))log2(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the base 2 logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))log2(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the base 2 logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))log2(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the base 2 logarithm.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))log2(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the exponent of the value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))logb(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the exponent of the value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))logb(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the exponent of the value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))logb(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the exponent of the value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))logb(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute (a * b) + c
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))mad(float a, float b, float c);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute (a * b) + c
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))mad(float2 a, float2 b, float2 c);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute (a * b) + c
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))mad(float3 a, float3 b, float3 c);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute (a * b) + c
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))mad(float4 a, float4 b, float4 c);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))max(float, float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))max(float2, float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))max(float3, float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))max(float4, float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static char __attribute__((const, overloadable))max(char v1, char v2) {
return (v1 > v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uchar __attribute__((const, overloadable))max(uchar v1, uchar v2) {
return (v1 > v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static short __attribute__((const, overloadable))max(short v1, short v2) {
return (v1 > v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static ushort __attribute__((const, overloadable))max(ushort v1, ushort v2) {
return (v1 > v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static int __attribute__((const, overloadable))max(int v1, int v2) {
return (v1 > v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uint __attribute__((const, overloadable))max(uint v1, uint v2) {
return (v1 > v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static char2 __attribute__((const, overloadable))max(char2 v1, char2 v2) {
char2 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uchar2 __attribute__((const, overloadable))max(uchar2 v1, uchar2 v2) {
uchar2 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static short2 __attribute__((const, overloadable))max(short2 v1, short2 v2) {
short2 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static ushort2 __attribute__((const, overloadable))max(ushort2 v1, ushort2 v2) {
ushort2 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static int2 __attribute__((const, overloadable))max(int2 v1, int2 v2) {
int2 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uint2 __attribute__((const, overloadable))max(uint2 v1, uint2 v2) {
uint2 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static char3 __attribute__((const, overloadable))max(char3 v1, char3 v2) {
char3 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uchar3 __attribute__((const, overloadable))max(uchar3 v1, uchar3 v2) {
uchar3 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static short3 __attribute__((const, overloadable))max(short3 v1, short3 v2) {
short3 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static ushort3 __attribute__((const, overloadable))max(ushort3 v1, ushort3 v2) {
ushort3 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static int3 __attribute__((const, overloadable))max(int3 v1, int3 v2) {
int3 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uint3 __attribute__((const, overloadable))max(uint3 v1, uint3 v2) {
uint3 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static char4 __attribute__((const, overloadable))max(char4 v1, char4 v2) {
char4 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
tmp.w = (v1.w > v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uchar4 __attribute__((const, overloadable))max(uchar4 v1, uchar4 v2) {
uchar4 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
tmp.w = (v1.w > v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static short4 __attribute__((const, overloadable))max(short4 v1, short4 v2) {
short4 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
tmp.w = (v1.w > v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static ushort4 __attribute__((const, overloadable))max(ushort4 v1, ushort4 v2) {
ushort4 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
tmp.w = (v1.w > v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static int4 __attribute__((const, overloadable))max(int4 v1, int4 v2) {
int4 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
tmp.w = (v1.w > v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the maximum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uint4 __attribute__((const, overloadable))max(uint4 v1, uint4 v2) {
uint4 tmp;
tmp.x = (v1.x > v2.x ? v1.x : v2.x);
tmp.y = (v1.y > v2.y ? v1.y : v2.y);
tmp.z = (v1.z > v2.z ? v1.z : v2.z);
tmp.w = (v1.w > v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern char __attribute__((const, overloadable))max(char v1, char v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern char2 __attribute__((const, overloadable))max(char2 v1, char2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern char3 __attribute__((const, overloadable))max(char3 v1, char3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern char4 __attribute__((const, overloadable))max(char4 v1, char4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uchar __attribute__((const, overloadable))max(uchar v1, uchar v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uchar2 __attribute__((const, overloadable))max(uchar2 v1, uchar2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uchar3 __attribute__((const, overloadable))max(uchar3 v1, uchar3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uchar4 __attribute__((const, overloadable))max(uchar4 v1, uchar4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern short __attribute__((const, overloadable))max(short v1, short v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern short2 __attribute__((const, overloadable))max(short2 v1, short2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern short3 __attribute__((const, overloadable))max(short3 v1, short3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern short4 __attribute__((const, overloadable))max(short4 v1, short4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ushort __attribute__((const, overloadable))max(ushort v1, ushort v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ushort2 __attribute__((const, overloadable))max(ushort2 v1, ushort2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ushort3 __attribute__((const, overloadable))max(ushort3 v1, ushort3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ushort4 __attribute__((const, overloadable))max(ushort4 v1, ushort4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern int __attribute__((const, overloadable))max(int v1, int v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern int2 __attribute__((const, overloadable))max(int2 v1, int2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern int3 __attribute__((const, overloadable))max(int3 v1, int3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern int4 __attribute__((const, overloadable))max(int4 v1, int4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uint __attribute__((const, overloadable))max(uint v1, uint v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uint2 __attribute__((const, overloadable))max(uint2 v1, uint2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uint3 __attribute__((const, overloadable))max(uint3 v1, uint3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uint4 __attribute__((const, overloadable))max(uint4 v1, uint4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern long __attribute__((const, overloadable))max(long v1, long v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))max(long2 v1, long2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))max(long3 v1, long3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))max(long4 v1, long4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ulong __attribute__((const, overloadable))max(ulong v1, ulong v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))max(ulong2 v1, ulong2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))max(ulong3 v1, ulong3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the maximum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))max(ulong4 v1, ulong4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))min(float, float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))min(float2, float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))min(float3, float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))min(float4, float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static char __attribute__((const, overloadable))min(char v1, char v2) {
return (v1 < v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uchar __attribute__((const, overloadable))min(uchar v1, uchar v2) {
return (v1 < v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static short __attribute__((const, overloadable))min(short v1, short v2) {
return (v1 < v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static ushort __attribute__((const, overloadable))min(ushort v1, ushort v2) {
return (v1 < v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static int __attribute__((const, overloadable))min(int v1, int v2) {
return (v1 < v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uint __attribute__((const, overloadable))min(uint v1, uint v2) {
return (v1 < v2 ? v1 : v2);
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static char2 __attribute__((const, overloadable))min(char2 v1, char2 v2) {
char2 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uchar2 __attribute__((const, overloadable))min(uchar2 v1, uchar2 v2) {
uchar2 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static short2 __attribute__((const, overloadable))min(short2 v1, short2 v2) {
short2 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static ushort2 __attribute__((const, overloadable))min(ushort2 v1, ushort2 v2) {
ushort2 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static int2 __attribute__((const, overloadable))min(int2 v1, int2 v2) {
int2 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uint2 __attribute__((const, overloadable))min(uint2 v1, uint2 v2) {
uint2 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static char3 __attribute__((const, overloadable))min(char3 v1, char3 v2) {
char3 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uchar3 __attribute__((const, overloadable))min(uchar3 v1, uchar3 v2) {
uchar3 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static short3 __attribute__((const, overloadable))min(short3 v1, short3 v2) {
short3 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static ushort3 __attribute__((const, overloadable))min(ushort3 v1, ushort3 v2) {
ushort3 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static int3 __attribute__((const, overloadable))min(int3 v1, int3 v2) {
int3 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uint3 __attribute__((const, overloadable))min(uint3 v1, uint3 v2) {
uint3 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static char4 __attribute__((const, overloadable))min(char4 v1, char4 v2) {
char4 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
tmp.w = (v1.w < v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uchar4 __attribute__((const, overloadable))min(uchar4 v1, uchar4 v2) {
uchar4 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
tmp.w = (v1.w < v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static short4 __attribute__((const, overloadable))min(short4 v1, short4 v2) {
short4 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
tmp.w = (v1.w < v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static ushort4 __attribute__((const, overloadable))min(ushort4 v1, ushort4 v2) {
ushort4 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
tmp.w = (v1.w < v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static int4 __attribute__((const, overloadable))min(int4 v1, int4 v2) {
int4 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
tmp.w = (v1.w < v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
/*
* Return the minimum value from two arguments
*
* Suppored by API versions 9 - 19
*/
static uint4 __attribute__((const, overloadable))min(uint4 v1, uint4 v2) {
uint4 tmp;
tmp.x = (v1.x < v2.x ? v1.x : v2.x);
tmp.y = (v1.y < v2.y ? v1.y : v2.y);
tmp.z = (v1.z < v2.z ? v1.z : v2.z);
tmp.w = (v1.w < v2.w ? v1.w : v2.w);
return tmp;
}
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern char __attribute__((const, overloadable))min(char v1, char v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern char2 __attribute__((const, overloadable))min(char2 v1, char2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern char3 __attribute__((const, overloadable))min(char3 v1, char3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern char4 __attribute__((const, overloadable))min(char4 v1, char4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uchar __attribute__((const, overloadable))min(uchar v1, uchar v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uchar2 __attribute__((const, overloadable))min(uchar2 v1, uchar2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uchar3 __attribute__((const, overloadable))min(uchar3 v1, uchar3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uchar4 __attribute__((const, overloadable))min(uchar4 v1, uchar4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern short __attribute__((const, overloadable))min(short v1, short v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern short2 __attribute__((const, overloadable))min(short2 v1, short2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern short3 __attribute__((const, overloadable))min(short3 v1, short3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern short4 __attribute__((const, overloadable))min(short4 v1, short4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ushort __attribute__((const, overloadable))min(ushort v1, ushort v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ushort2 __attribute__((const, overloadable))min(ushort2 v1, ushort2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ushort3 __attribute__((const, overloadable))min(ushort3 v1, ushort3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ushort4 __attribute__((const, overloadable))min(ushort4 v1, ushort4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern int __attribute__((const, overloadable))min(int v1, int v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern int2 __attribute__((const, overloadable))min(int2 v1, int2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern int3 __attribute__((const, overloadable))min(int3 v1, int3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern int4 __attribute__((const, overloadable))min(int4 v1, int4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uint __attribute__((const, overloadable))min(uint v1, uint v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uint2 __attribute__((const, overloadable))min(uint2 v1, uint2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uint3 __attribute__((const, overloadable))min(uint3 v1, uint3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern uint4 __attribute__((const, overloadable))min(uint4 v1, uint4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern long __attribute__((const, overloadable))min(long v1, long v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern long2 __attribute__((const, overloadable))min(long2 v1, long2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern long3 __attribute__((const, overloadable))min(long3 v1, long3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern long4 __attribute__((const, overloadable))min(long4 v1, long4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ulong __attribute__((const, overloadable))min(ulong v1, ulong v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ulong2 __attribute__((const, overloadable))min(ulong2 v1, ulong2 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ulong3 __attribute__((const, overloadable))min(ulong3 v1, ulong3 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the minimum value from two arguments
*
* Supported by API versions 21 and newer.
*/
extern ulong4 __attribute__((const, overloadable))min(ulong4 v1, ulong4 v2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* return start + ((stop - start) * amount)
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))mix(float start, float stop, float amount);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* return start + ((stop - start) * amount)
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))mix(float2 start, float2 stop, float2 amount);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* return start + ((stop - start) * amount)
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))mix(float3 start, float3 stop, float3 amount);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* return start + ((stop - start) * amount)
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))mix(float4 start, float4 stop, float4 amount);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* return start + ((stop - start) * amount)
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))mix(float2 start, float2 stop, float amount);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* return start + ((stop - start) * amount)
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))mix(float3 start, float3 stop, float amount);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* return start + ((stop - start) * amount)
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))mix(float4 start, float4 stop, float amount);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the integral and fractional components of a number.
*
* @param x Source value
* @param iret iret[0] will be set to the integral portion of the number.
* @return The floating point portion of the value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((overloadable))modf(float x, float* iret);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the integral and fractional components of a number.
*
* @param x Source value
* @param iret iret[0] will be set to the integral portion of the number.
* @return The floating point portion of the value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((overloadable))modf(float2 x, float2* iret);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the integral and fractional components of a number.
*
* @param x Source value
* @param iret iret[0] will be set to the integral portion of the number.
* @return The floating point portion of the value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((overloadable))modf(float3 x, float3* iret);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the integral and fractional components of a number.
*
* @param x Source value
* @param iret iret[0] will be set to the integral portion of the number.
* @return The floating point portion of the value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((overloadable))modf(float4 x, float4* iret);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* generate a nan
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))nan(uint);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acos
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_acos(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acos
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_acos(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acos
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_acos(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acos
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_acos(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acosh
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_acosh(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acosh
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_acosh(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acosh
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_acosh(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acosh
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_acosh(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acospi
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_acospi(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acospi
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_acospi(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acospi
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_acospi(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* acospi
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_acospi(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* asin
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_asin(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* asin
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_asin(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* asin
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_asin(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* asin
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_asin(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* asinh
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_asinh(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* asinh
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_asinh(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* asinh
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_asinh(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* asinh
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_asinh(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse sine divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_asinpi(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse sine divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_asinpi(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse sine divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_asinpi(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse sine divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_asinpi(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_atan(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_atan(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_atan(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_atan(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent of y / x.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_atan2(float y, float x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent of y / x.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_atan2(float2 y, float2 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent of y / x.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_atan2(float3 y, float3 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent of y / x.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_atan2(float4 y, float4 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent of y / x, divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_atan2pi(float y, float x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent of y / x, divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_atan2pi(float2 y, float2 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent of y / x, divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_atan2pi(float3 y, float3 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent of y / x, divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_atan2pi(float4 y, float4 x);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse hyperbolic tangent.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_atanh(float in);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse hyperbolic tangent.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_atanh(float2 in);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse hyperbolic tangent.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_atanh(float3 in);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse hyperbolic tangent.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_atanh(float4 in);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_atanpi(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_atanpi(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_atanpi(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the inverse tangent divided by PI.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_atanpi(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cube root.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_cbrt(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cube root.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_cbrt(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cube root.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_cbrt(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cube root.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_cbrt(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cosine.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_cos(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cosine.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_cos(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cosine.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_cos(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cosine.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_cos(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hypebolic cosine.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_cosh(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hypebolic cosine.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_cosh(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hypebolic cosine.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_cosh(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hypebolic cosine.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_cosh(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cosine of the value * PI.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_cospi(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cosine of the value * PI.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_cospi(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cosine of the value * PI.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_cospi(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the cosine of the value * PI.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_cospi(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate distance between two points.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_distance(float lhs, float rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate distance between two points.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_distance(float2 lhs, float2 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate distance between two points.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_distance(float3 lhs, float3 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate distance between two points.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_distance(float4 lhs, float4 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate division result of two values.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_divide(float lhs, float rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate division result of two values.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_divide(float2 lhs, float2 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate division result of two values.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_divide(float3 lhs, float3 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate division result of two values.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_divide(float4 lhs, float4 rhs);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp
* valid for inputs -86.f to 86.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float __attribute__((const, overloadable))native_exp(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp
* valid for inputs -86.f to 86.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float2 __attribute__((const, overloadable))native_exp(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp
* valid for inputs -86.f to 86.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float3 __attribute__((const, overloadable))native_exp(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp
* valid for inputs -86.f to 86.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float4 __attribute__((const, overloadable))native_exp(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp10
* valid for inputs -37.f to 37.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float __attribute__((const, overloadable))native_exp10(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp10
* valid for inputs -37.f to 37.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float2 __attribute__((const, overloadable))native_exp10(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp10
* valid for inputs -37.f to 37.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float3 __attribute__((const, overloadable))native_exp10(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp10
* valid for inputs -37.f to 37.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float4 __attribute__((const, overloadable))native_exp10(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp2
* valid for inputs -125.f to 125.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float __attribute__((const, overloadable))native_exp2(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp2
* valid for inputs -125.f to 125.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float2 __attribute__((const, overloadable))native_exp2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp2
* valid for inputs -125.f to 125.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float3 __attribute__((const, overloadable))native_exp2(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate exp2
* valid for inputs -125.f to 125.f
* Max 8192 ulps of error
*
* Supported by API versions 18 and newer.
*/
extern float4 __attribute__((const, overloadable))native_exp2(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return (e ^ value) - 1.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_expm1(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return (e ^ value) - 1.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_expm1(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return (e ^ value) - 1.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_expm1(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return (e ^ value) - 1.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_expm1(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return native_sqrt(x*x + y*y)
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_hypot(float x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return native_sqrt(x*x + y*y)
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_hypot(float2 x, float2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return native_sqrt(x*x + y*y)
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_hypot(float3 x, float3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return native_sqrt(x*x + y*y)
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_hypot(float4 x, float4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate length of a vector.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_length(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate length of a vector.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_length(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate length of a vector.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_length(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the approximate length of a vector.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_length(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float __attribute__((const, overloadable))native_log(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float2 __attribute__((const, overloadable))native_log(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float3 __attribute__((const, overloadable))native_log(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float4 __attribute__((const, overloadable))native_log(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log10
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float __attribute__((const, overloadable))native_log10(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log10
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float2 __attribute__((const, overloadable))native_log10(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log10
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float3 __attribute__((const, overloadable))native_log10(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log10
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float4 __attribute__((const, overloadable))native_log10(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the natural logarithm of (v + 1.0f)
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_log1p(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the natural logarithm of (v + 1.0f)
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_log1p(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the natural logarithm of (v + 1.0f)
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_log1p(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the natural logarithm of (v + 1.0f)
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_log1p(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log2
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float __attribute__((const, overloadable))native_log2(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log2
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float2 __attribute__((const, overloadable))native_log2(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log2
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float3 __attribute__((const, overloadable))native_log2(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate log2
* It is not accurate for values very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float4 __attribute__((const, overloadable))native_log2(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Normalize a vector.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_normalize(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Normalize a vector.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_normalize(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Normalize a vector.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_normalize(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Normalize a vector.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_normalize(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate v ^ y
* v must be between 0.f and 256.f
* y must be between -15.f and 15.f
* It is not accurate for values of v very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float __attribute__((const, overloadable))native_powr(float v, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate v ^ y
* v must be between 0.f and 256.f
* y must be between -15.f and 15.f
* It is not accurate for values of v very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float2 __attribute__((const, overloadable))native_powr(float2 v, float2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate v ^ y
* v must be between 0.f and 256.f
* y must be between -15.f and 15.f
* It is not accurate for values of v very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float3 __attribute__((const, overloadable))native_powr(float3 v, float3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 18))
/*
* Fast approximate v ^ y
* v must be between 0.f and 256.f
* y must be between -15.f and 15.f
* It is not accurate for values of v very close to zero.
*
* Supported by API versions 18 and newer.
*/
extern float4 __attribute__((const, overloadable))native_powr(float4 v, float4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the approximate reciprocal of a value.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_recip(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the approximate reciprocal of a value.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_recip(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the approximate reciprocal of a value.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_recip(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the approximate reciprocal of a value.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_recip(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the Nth root of a value.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_rootn(float v, int n);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the Nth root of a value.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_rootn(float2 v, int2 n);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the Nth root of a value.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_rootn(float3 v, int3 n);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Compute the Nth root of a value.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_rootn(float4 v, int4 n);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return (1 / sqrt(value)).
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_rsqrt(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return (1 / sqrt(value)).
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_rsqrt(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return (1 / sqrt(value)).
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_rsqrt(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return (1 / sqrt(value)).
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_rsqrt(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sine of a value specified in radians.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_sin(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sine of a value specified in radians.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_sin(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sine of a value specified in radians.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_sin(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sine of a value specified in radians.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_sin(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sine and cosine of a value.
*
* @return sine
* @param v The incoming value in radians
* @param *cosptr cosptr[0] will be set to the cosine value.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((overloadable))native_sincos(float v, float* cosptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sine and cosine of a value.
*
* @return sine
* @param v The incoming value in radians
* @param *cosptr cosptr[0] will be set to the cosine value.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((overloadable))native_sincos(float2 v, float2* cosptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sine and cosine of a value.
*
* @return sine
* @param v The incoming value in radians
* @param *cosptr cosptr[0] will be set to the cosine value.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((overloadable))native_sincos(float3 v, float3* cosptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sine and cosine of a value.
*
* @return sine
* @param v The incoming value in radians
* @param *cosptr cosptr[0] will be set to the cosine value.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((overloadable))native_sincos(float4 v, float4* cosptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hyperbolic sine of a value specified in radians.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_sinh(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hyperbolic sine of a value specified in radians.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_sinh(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hyperbolic sine of a value specified in radians.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_sinh(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hyperbolic sine of a value specified in radians.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_sinh(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sin(v * PI).
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_sinpi(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sin(v * PI).
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_sinpi(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sin(v * PI).
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_sinpi(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the sin(v * PI).
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_sinpi(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the aproximate sqrt(v).
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_sqrt(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the aproximate sqrt(v).
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_sqrt(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the aproximate sqrt(v).
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_sqrt(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the aproximate sqrt(v).
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_sqrt(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the tangent of a value.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_tan(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the tangent of a value.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_tan(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the tangent of a value.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_tan(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the tangent of a value.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_tan(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hyperbolic tangent of a value.
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_tanh(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hyperbolic tangent of a value.
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_tanh(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hyperbolic tangent of a value.
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_tanh(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return the hyperbolic tangent of a value.
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_tanh(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return tan(v * PI)
*
* Supported by API versions 21 and newer.
*/
extern float __attribute__((const, overloadable))native_tanpi(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return tan(v * PI)
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))native_tanpi(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return tan(v * PI)
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))native_tanpi(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* Return tan(v * PI)
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))native_tanpi(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the next floating point number from x towards y.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))nextafter(float x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the next floating point number from x towards y.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))nextafter(float2 x, float2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the next floating point number from x towards y.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))nextafter(float3 x, float3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the next floating point number from x towards y.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))nextafter(float4 x, float4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Normalize a vector.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))normalize(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Normalize a vector.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))normalize(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Normalize a vector.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))normalize(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Normalize a vector.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))normalize(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))pow(float x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))pow(float2 x, float2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))pow(float3 x, float3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))pow(float4 x, float4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))pown(float x, int y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))pown(float2 x, int2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))pown(float3 x, int3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))pown(float4 x, int4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
* x must be >= 0
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))powr(float x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
* x must be >= 0
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))powr(float2 x, float2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
* x must be >= 0
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))powr(float3 x, float3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return x ^ y.
* x must be >= 0
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))powr(float4 x, float4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Convert from degrees to radians.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))radians(float value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Convert from degrees to radians.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))radians(float2 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Convert from degrees to radians.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))radians(float3 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Convert from degrees to radians.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))radians(float4 value);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return round x/y to the nearest integer then compute the remainder.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))remainder(float x, float y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return round x/y to the nearest integer then compute the remainder.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))remainder(float2 x, float2 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return round x/y to the nearest integer then compute the remainder.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))remainder(float3 x, float3 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return round x/y to the nearest integer then compute the remainder.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))remainder(float4 x, float4 y);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the quotient and the remainder of b/c. Only the sign and lowest three bits of the quotient are guaranteed to be accurate.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((overloadable))remquo(float b, float c, int* d);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the quotient and the remainder of b/c. Only the sign and lowest three bits of the quotient are guaranteed to be accurate.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((overloadable))remquo(float2 b, float2 c, int2* d);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the quotient and the remainder of b/c. Only the sign and lowest three bits of the quotient are guaranteed to be accurate.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((overloadable))remquo(float3 b, float3 c, int3* d);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the quotient and the remainder of b/c. Only the sign and lowest three bits of the quotient are guaranteed to be accurate.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((overloadable))remquo(float4 b, float4 c, int4* d);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Round to the nearest integral value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))rint(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Round to the nearest integral value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))rint(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Round to the nearest integral value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))rint(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Round to the nearest integral value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))rint(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the Nth root of a value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))rootn(float v, int n);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the Nth root of a value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))rootn(float2 v, int2 n);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the Nth root of a value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))rootn(float3 v, int3 n);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the Nth root of a value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))rootn(float4 v, int4 n);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Round to the nearest integral value. Half values are rounded away from zero.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))round(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Round to the nearest integral value. Half values are rounded away from zero.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))round(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Round to the nearest integral value. Half values are rounded away from zero.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))round(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Round to the nearest integral value. Half values are rounded away from zero.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))round(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (1 / sqrt(value)).
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))rsqrt(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (1 / sqrt(value)).
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))rsqrt(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (1 / sqrt(value)).
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))rsqrt(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return (1 / sqrt(value)).
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))rsqrt(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sign of a value.
*
* if (v < 0) return -1.f;
* else if (v > 0) return 1.f;
* else return 0.f;
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))sign(float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sign of a value.
*
* if (v < 0) return -1.f;
* else if (v > 0) return 1.f;
* else return 0.f;
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))sign(float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sign of a value.
*
* if (v < 0) return -1.f;
* else if (v > 0) return 1.f;
* else return 0.f;
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))sign(float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sign of a value.
*
* if (v < 0) return -1.f;
* else if (v > 0) return 1.f;
* else return 0.f;
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))sign(float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sine of a value specified in radians.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))sin(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sine of a value specified in radians.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))sin(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sine of a value specified in radians.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))sin(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sine of a value specified in radians.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))sin(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sine and cosine of a value.
*
* @return sine
* @param v The incoming value in radians
* @param *cosptr cosptr[0] will be set to the cosine value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((overloadable))sincos(float v, float* cosptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sine and cosine of a value.
*
* @return sine
* @param v The incoming value in radians
* @param *cosptr cosptr[0] will be set to the cosine value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((overloadable))sincos(float2 v, float2* cosptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sine and cosine of a value.
*
* @return sine
* @param v The incoming value in radians
* @param *cosptr cosptr[0] will be set to the cosine value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((overloadable))sincos(float3 v, float3* cosptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sine and cosine of a value.
*
* @return sine
* @param v The incoming value in radians
* @param *cosptr cosptr[0] will be set to the cosine value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((overloadable))sincos(float4 v, float4* cosptr);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hyperbolic sine of a value specified in radians.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))sinh(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hyperbolic sine of a value specified in radians.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))sinh(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hyperbolic sine of a value specified in radians.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))sinh(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hyperbolic sine of a value specified in radians.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))sinh(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sin(v * PI).
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))sinpi(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sin(v * PI).
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))sinpi(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sin(v * PI).
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))sinpi(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the sin(v * PI).
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))sinpi(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the square root of a value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))sqrt(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the square root of a value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))sqrt(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the square root of a value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))sqrt(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the square root of a value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))sqrt(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* if (v < edge)
* return 0.f;
* else
* return 1.f;
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))step(float edge, float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* if (v < edge)
* return 0.f;
* else
* return 1.f;
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))step(float2 edge, float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* if (v < edge)
* return 0.f;
* else
* return 1.f;
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))step(float3 edge, float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* if (v < edge)
* return 0.f;
* else
* return 1.f;
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))step(float4 edge, float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* if (v < edge)
* return 0.f;
* else
* return 1.f;
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))step(float2 edge, float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* if (v < edge)
* return 0.f;
* else
* return 1.f;
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))step(float3 edge, float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* if (v < edge)
* return 0.f;
* else
* return 1.f;
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))step(float4 edge, float v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* if (v < edge)
* return 0.f;
* else
* return 1.f;
*
* Supported by API versions 21 and newer.
*/
extern float2 __attribute__((const, overloadable))step(float edge, float2 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* if (v < edge)
* return 0.f;
* else
* return 1.f;
*
* Supported by API versions 21 and newer.
*/
extern float3 __attribute__((const, overloadable))step(float edge, float3 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 21))
/*
* if (v < edge)
* return 0.f;
* else
* return 1.f;
*
* Supported by API versions 21 and newer.
*/
extern float4 __attribute__((const, overloadable))step(float edge, float4 v);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the tangent of a value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))tan(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the tangent of a value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))tan(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the tangent of a value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))tan(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the tangent of a value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))tan(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hyperbolic tangent of a value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))tanh(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hyperbolic tangent of a value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))tanh(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hyperbolic tangent of a value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))tanh(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return the hyperbolic tangent of a value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))tanh(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return tan(v * PI)
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))tanpi(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return tan(v * PI)
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))tanpi(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return tan(v * PI)
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))tanpi(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Return tan(v * PI)
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))tanpi(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the gamma function of a value.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))tgamma(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the gamma function of a value.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))tgamma(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the gamma function of a value.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))tgamma(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* Compute the gamma function of a value.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))tgamma(float4);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* ound to integral using truncation.
*
* Supported by API versions 9 and newer.
*/
extern float __attribute__((const, overloadable))trunc(float);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* ound to integral using truncation.
*
* Supported by API versions 9 and newer.
*/
extern float2 __attribute__((const, overloadable))trunc(float2);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* ound to integral using truncation.
*
* Supported by API versions 9 and newer.
*/
extern float3 __attribute__((const, overloadable))trunc(float3);
#endif
#if (defined(RS_VERSION) && (RS_VERSION >= 9))
/*
* ound to integral using truncation.
*
* Supported by API versions 9 and newer.
*/
extern float4 __attribute__((const, overloadable))trunc(float4);
#endif
#endif // __rs_core_math_rsh__