From f9c8de59f50864e028dc98a278c4a51e5f0cda2f Mon Sep 17 00:00:00 2001 From: Tim Murray Date: Wed, 10 Sep 2014 18:36:01 -0700 Subject: Update RS prebuilts with support lib LOCAL_SDK_VERSION fix. bug 17189604 Change-Id: Ib8d391ea4d011c9ffd120de7c9f403ee404ea9f1 --- renderscript/include/rs_core_math.rsh | 1490 +++++++++++++++++++++++++++++---- renderscript/include/rs_time.rsh | 4 + renderscript/lib/arm/libRSSupport.so | Bin 416008 -> 415948 bytes renderscript/lib/arm/libc.so | Bin 585253 -> 608325 bytes renderscript/lib/arm/libclcore.bc | Bin 218944 -> 235304 bytes renderscript/lib/arm/libm.so | Bin 91404 -> 95504 bytes renderscript/lib/arm/librsjni.so | Bin 18560 -> 18560 bytes renderscript/lib/arm/librsrt_arm.bc | Bin 205036 -> 221444 bytes renderscript/lib/javalib.jar | Bin 145667 -> 146329 bytes renderscript/lib/mips/libRSSupport.so | Bin 603860 -> 583300 bytes renderscript/lib/mips/libc.so | Bin 983009 -> 936665 bytes renderscript/lib/mips/libclcore.bc | Bin 309584 -> 235304 bytes renderscript/lib/mips/libm.so | Bin 136924 -> 145140 bytes renderscript/lib/mips/librsjni.so | Bin 71924 -> 71924 bytes renderscript/lib/mips/librsrt_mips.bc | Bin 291208 -> 221444 bytes renderscript/lib/x86/libRSSupport.so | Bin 514200 -> 514140 bytes renderscript/lib/x86/libc.so | Bin 1007425 -> 1005305 bytes renderscript/lib/x86/libclcore.bc | Bin 217120 -> 231540 bytes renderscript/lib/x86/libm.so | Bin 128216 -> 132360 bytes renderscript/lib/x86/librsjni.so | Bin 26636 -> 26636 bytes renderscript/lib/x86/librsrt_x86.bc | Bin 199672 -> 219748 bytes 21 files changed, 1351 insertions(+), 143 deletions(-) (limited to 'renderscript') diff --git a/renderscript/include/rs_core_math.rsh b/renderscript/include/rs_core_math.rsh index 585b91a..c7cc331 100644 --- a/renderscript/include/rs_core_math.rsh +++ b/renderscript/include/rs_core_math.rsh @@ -7397,288 +7397,1492 @@ extern float4 __attribute__((overloadable))modf(float4 x, float4* iret); 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); +#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); +#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); +#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); +#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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 + * + * 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 exp - * valid for inputs -86.f to 86.f - * Max 8192 ulps of error + * Fast approximate v ^ y + * v must be between 0.f and 256.f + * y must be between -15.f and 15.f + * + * 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 18 and newer. + * Supported by API versions 21 and newer. */ -extern float __attribute__((const, overloadable))native_exp(float v); +extern float3 __attribute__((const, overloadable))native_sin(float3); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate exp - * valid for inputs -86.f to 86.f - * Max 8192 ulps of error + * Return the sine of a value specified in radians. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float2 __attribute__((const, overloadable))native_exp(float2 v); +extern float4 __attribute__((const, overloadable))native_sin(float4); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate exp - * valid for inputs -86.f to 86.f - * Max 8192 ulps of error + * Return the sine and cosine of a value. * - * Supported by API versions 18 and newer. + * @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__((const, overloadable))native_exp(float3 v); +extern float __attribute__((overloadable))native_sincos(float v, float* cosptr); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate exp - * valid for inputs -86.f to 86.f - * Max 8192 ulps of error + * Return the sine and cosine of a value. * - * Supported by API versions 18 and newer. + * @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__((const, overloadable))native_exp(float4 v); +extern float2 __attribute__((overloadable))native_sincos(float2 v, float2* cosptr); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate exp10 - * valid for inputs -37.f to 37.f - * Max 8192 ulps of error + * Return the sine and cosine of a value. * - * Supported by API versions 18 and newer. + * @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__((const, overloadable))native_exp10(float v); +extern float3 __attribute__((overloadable))native_sincos(float3 v, float3* cosptr); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate exp10 - * valid for inputs -37.f to 37.f - * Max 8192 ulps of error + * Return the sine and cosine of a value. * - * Supported by API versions 18 and newer. + * @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__((const, overloadable))native_exp10(float2 v); +extern float4 __attribute__((overloadable))native_sincos(float4 v, float4* cosptr); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate exp10 - * valid for inputs -37.f to 37.f - * Max 8192 ulps of error + * Return the hyperbolic sine of a value specified in radians. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float3 __attribute__((const, overloadable))native_exp10(float3 v); +extern float __attribute__((const, overloadable))native_sinh(float); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate exp10 - * valid for inputs -37.f to 37.f - * Max 8192 ulps of error + * Return the hyperbolic sine of a value specified in radians. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float4 __attribute__((const, overloadable))native_exp10(float4 v); +extern float2 __attribute__((const, overloadable))native_sinh(float2); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate exp2 - * valid for inputs -125.f to 125.f - * Max 8192 ulps of error + * Return the hyperbolic sine of a value specified in radians. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float __attribute__((const, overloadable))native_exp2(float v); +extern float3 __attribute__((const, overloadable))native_sinh(float3); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate exp2 - * valid for inputs -125.f to 125.f - * Max 8192 ulps of error + * Return the hyperbolic sine of a value specified in radians. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float2 __attribute__((const, overloadable))native_exp2(float2 v); +extern float4 __attribute__((const, overloadable))native_sinh(float4); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate exp2 - * valid for inputs -125.f to 125.f - * Max 8192 ulps of error + * Return the sin(v * PI). * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float3 __attribute__((const, overloadable))native_exp2(float3 v); +extern float __attribute__((const, overloadable))native_sinpi(float); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate exp2 - * valid for inputs -125.f to 125.f - * Max 8192 ulps of error + * Return the sin(v * PI). * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float4 __attribute__((const, overloadable))native_exp2(float4 v); +extern float2 __attribute__((const, overloadable))native_sinpi(float2); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log + * Return the sin(v * PI). * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float __attribute__((const, overloadable))native_log(float v); +extern float3 __attribute__((const, overloadable))native_sinpi(float3); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log + * Return the sin(v * PI). * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float2 __attribute__((const, overloadable))native_log(float2 v); +extern float4 __attribute__((const, overloadable))native_sinpi(float4); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log + * Return the aproximate sqrt(v). * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float3 __attribute__((const, overloadable))native_log(float3 v); +extern float __attribute__((const, overloadable))native_sqrt(float); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log + * Return the aproximate sqrt(v). * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float4 __attribute__((const, overloadable))native_log(float4 v); +extern float2 __attribute__((const, overloadable))native_sqrt(float2); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log10 + * Return the aproximate sqrt(v). * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float __attribute__((const, overloadable))native_log10(float v); +extern float3 __attribute__((const, overloadable))native_sqrt(float3); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log10 + * Return the aproximate sqrt(v). * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float2 __attribute__((const, overloadable))native_log10(float2 v); +extern float4 __attribute__((const, overloadable))native_sqrt(float4); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log10 + * Return the tangent of a value. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float3 __attribute__((const, overloadable))native_log10(float3 v); +extern float __attribute__((const, overloadable))native_tan(float); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log10 + * Return the tangent of a value. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float4 __attribute__((const, overloadable))native_log10(float4 v); +extern float2 __attribute__((const, overloadable))native_tan(float2); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log2 + * Return the tangent of a value. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float __attribute__((const, overloadable))native_log2(float v); +extern float3 __attribute__((const, overloadable))native_tan(float3); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log2 + * Return the tangent of a value. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float2 __attribute__((const, overloadable))native_log2(float2 v); +extern float4 __attribute__((const, overloadable))native_tan(float4); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log2 + * Return the hyperbolic tangent of a value. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float3 __attribute__((const, overloadable))native_log2(float3 v); +extern float __attribute__((const, overloadable))native_tanh(float); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate log2 + * Return the hyperbolic tangent of a value. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float4 __attribute__((const, overloadable))native_log2(float4 v); +extern float2 __attribute__((const, overloadable))native_tanh(float2); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate v ^ y - * v must be between 0.f and 256.f - * y must be between -15.f and 15.f + * Return the hyperbolic tangent of a value. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float __attribute__((const, overloadable))native_powr(float v, float y); +extern float3 __attribute__((const, overloadable))native_tanh(float3); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate v ^ y - * v must be between 0.f and 256.f - * y must be between -15.f and 15.f + * Return the hyperbolic tangent of a value. * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float2 __attribute__((const, overloadable))native_powr(float2 v, float2 y); +extern float4 __attribute__((const, overloadable))native_tanh(float4); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate v ^ y - * v must be between 0.f and 256.f - * y must be between -15.f and 15.f + * Return tan(v * PI) * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float3 __attribute__((const, overloadable))native_powr(float3 v, float3 y); +extern float __attribute__((const, overloadable))native_tanpi(float); #endif -#if (defined(RS_VERSION) && (RS_VERSION >= 18)) +#if (defined(RS_VERSION) && (RS_VERSION >= 21)) /* - * Fast approximate v ^ y - * v must be between 0.f and 256.f - * y must be between -15.f and 15.f + * Return tan(v * PI) * - * Supported by API versions 18 and newer. + * Supported by API versions 21 and newer. */ -extern float4 __attribute__((const, overloadable))native_powr(float4 v, float4 y); +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)) diff --git a/renderscript/include/rs_time.rsh b/renderscript/include/rs_time.rsh index 1e6ab99..abcb88b 100644 --- a/renderscript/include/rs_time.rsh +++ b/renderscript/include/rs_time.rsh @@ -28,7 +28,11 @@ * Calendar time interpreted as seconds elapsed since the Epoch (00:00:00 on * January 1, 1970, Coordinated Universal Time (UTC)). */ +#ifndef __LP64__ typedef int rs_time_t; +#else +typedef long rs_time_t; +#endif /** * Data structure for broken-down time components. diff --git a/renderscript/lib/arm/libRSSupport.so b/renderscript/lib/arm/libRSSupport.so index 61752da..66f150e 100755 Binary files a/renderscript/lib/arm/libRSSupport.so and b/renderscript/lib/arm/libRSSupport.so differ diff --git a/renderscript/lib/arm/libc.so b/renderscript/lib/arm/libc.so index c6f7eb9..6011a39 100755 Binary files a/renderscript/lib/arm/libc.so and b/renderscript/lib/arm/libc.so differ diff --git a/renderscript/lib/arm/libclcore.bc b/renderscript/lib/arm/libclcore.bc index 4b5bd56..87197a6 100644 Binary files a/renderscript/lib/arm/libclcore.bc and b/renderscript/lib/arm/libclcore.bc differ diff --git a/renderscript/lib/arm/libm.so b/renderscript/lib/arm/libm.so index 67b5b10..ccaee56 100755 Binary files a/renderscript/lib/arm/libm.so and b/renderscript/lib/arm/libm.so differ diff --git a/renderscript/lib/arm/librsjni.so b/renderscript/lib/arm/librsjni.so index 19a48cf..13c8b1b 100755 Binary files a/renderscript/lib/arm/librsjni.so and b/renderscript/lib/arm/librsjni.so differ diff --git a/renderscript/lib/arm/librsrt_arm.bc b/renderscript/lib/arm/librsrt_arm.bc index 5fdef94..db86347 100644 Binary files a/renderscript/lib/arm/librsrt_arm.bc and b/renderscript/lib/arm/librsrt_arm.bc differ diff --git a/renderscript/lib/javalib.jar b/renderscript/lib/javalib.jar index 16aa502..6d32d89 100644 Binary files a/renderscript/lib/javalib.jar and b/renderscript/lib/javalib.jar differ diff --git a/renderscript/lib/mips/libRSSupport.so b/renderscript/lib/mips/libRSSupport.so index b721f34..e64fd7d 100755 Binary files a/renderscript/lib/mips/libRSSupport.so and b/renderscript/lib/mips/libRSSupport.so differ diff --git a/renderscript/lib/mips/libc.so b/renderscript/lib/mips/libc.so index c1a8ce4..482e164 100755 Binary files a/renderscript/lib/mips/libc.so and b/renderscript/lib/mips/libc.so differ diff --git a/renderscript/lib/mips/libclcore.bc b/renderscript/lib/mips/libclcore.bc index 4d12a92..87197a6 100644 Binary files a/renderscript/lib/mips/libclcore.bc and b/renderscript/lib/mips/libclcore.bc differ diff --git a/renderscript/lib/mips/libm.so b/renderscript/lib/mips/libm.so index 6509e75..2e0680c 100755 Binary files a/renderscript/lib/mips/libm.so and b/renderscript/lib/mips/libm.so differ diff --git a/renderscript/lib/mips/librsjni.so b/renderscript/lib/mips/librsjni.so index 4f6c5e0..3d2a607 100755 Binary files a/renderscript/lib/mips/librsjni.so and b/renderscript/lib/mips/librsjni.so differ diff --git a/renderscript/lib/mips/librsrt_mips.bc b/renderscript/lib/mips/librsrt_mips.bc index 0cf3bd4..db86347 100644 Binary files a/renderscript/lib/mips/librsrt_mips.bc and b/renderscript/lib/mips/librsrt_mips.bc differ diff --git a/renderscript/lib/x86/libRSSupport.so b/renderscript/lib/x86/libRSSupport.so index 43393f4..41ae99e 100755 Binary files a/renderscript/lib/x86/libRSSupport.so and b/renderscript/lib/x86/libRSSupport.so differ diff --git a/renderscript/lib/x86/libc.so b/renderscript/lib/x86/libc.so index 3add323..fb72c43 100755 Binary files a/renderscript/lib/x86/libc.so and b/renderscript/lib/x86/libc.so differ diff --git a/renderscript/lib/x86/libclcore.bc b/renderscript/lib/x86/libclcore.bc index 30c1633..b537f66 100644 Binary files a/renderscript/lib/x86/libclcore.bc and b/renderscript/lib/x86/libclcore.bc differ diff --git a/renderscript/lib/x86/libm.so b/renderscript/lib/x86/libm.so index ca2a260..fd71ce6 100755 Binary files a/renderscript/lib/x86/libm.so and b/renderscript/lib/x86/libm.so differ diff --git a/renderscript/lib/x86/librsjni.so b/renderscript/lib/x86/librsjni.so index 6009b8e..eb2bd79 100755 Binary files a/renderscript/lib/x86/librsjni.so and b/renderscript/lib/x86/librsjni.so differ diff --git a/renderscript/lib/x86/librsrt_x86.bc b/renderscript/lib/x86/librsrt_x86.bc index fd76ce3..5974932 100644 Binary files a/renderscript/lib/x86/librsrt_x86.bc and b/renderscript/lib/x86/librsrt_x86.bc differ -- cgit v1.1