RenderScript Mathematical Constants and Functions
Stay organized with collections
Save and categorize content based on your preferences.
Overview
The mathematical functions below can be applied to scalars and vectors. When applied to vectors, the returned value is a vector of the function applied to each entry of the input.
For example:
float3 a, b;
// The following call sets
// a.x to sin(b.x),
// a.y to sin(b.y), and
// a.z to sin(b.z).
a = sin(b);
See Vector Math Functions for functions like distance() and length() that interpret instead the input as a single vector in n-dimensional space.
The precision of the mathematical operations on 32 bit floats is affected by the pragmas rs_fp_relaxed and rs_fp_full. Under rs_fp_relaxed, subnormal values may be flushed to zero and rounding may be done towards zero. In comparison, rs_fp_full requires correct handling of subnormal values, i.e. smaller than 1.17549435e-38f. rs_fp_rull also requires round to nearest with ties to even.
Different precision/speed tradeoffs can be achieved by using variants of the common math functions. Functions with a name starting with
- native_: May have custom hardware implementations with weaker precision. Additionally, subnormal values may be flushed to zero, rounding towards zero may be used, and NaN and infinity input may not be handled correctly.
- half_: May perform internal computations using 16 bit floats. Additionally, subnormal values may be flushed to zero, and rounding towards zero may be used.
Summary
| Constants | |
|---|---|
| M_1_PI | 1 / pi, as a 32 bit float |
| M_2_PI | 2 / pi, as a 32 bit float |
| M_2_SQRTPI | 2 / sqrt(pi), as a 32 bit float |
| M_E | e, as a 32 bit float |
| M_LN10 | log_e(10), as a 32 bit float |
| M_LN2 | log_e(2), as a 32 bit float |
| M_LOG10E | log_10(e), as a 32 bit float |
| M_LOG2E | log_2(e), as a 32 bit float |
| M_PI | pi, as a 32 bit float |
| M_PI_2 | pi / 2, as a 32 bit float |
| M_PI_4 | pi / 4, as a 32 bit float |
| M_SQRT1_2 | 1 / sqrt(2), as a 32 bit float |
| M_SQRT2 | sqrt(2), as a 32 bit float |
| Functions | |
|---|---|
| abs | Absolute value of an integer |
| acos | Inverse cosine |
| acosh | Inverse hyperbolic cosine |
| acospi | Inverse cosine divided by pi |
| asin | Inverse sine |
| asinh | Inverse hyperbolic sine |
| asinpi | Inverse sine divided by pi |
| atan | Inverse tangent |
| atan2 | Inverse tangent of a ratio |
| atan2pi | Inverse tangent of a ratio, divided by pi |
| atanh | Inverse hyperbolic tangent |
| atanpi | Inverse tangent divided by pi |
| cbrt | Cube root |
| ceil | Smallest integer not less than a value |
| clamp | Restrain a value to a range |
| clz | Number of leading 0 bits |
| copysign | Copies the sign of a number to another |
| cos | Cosine |
| cosh | Hypebolic cosine |
| cospi | Cosine of a number multiplied by pi |
| degrees | Converts radians into degrees |
| erf | Mathematical error function |
| erfc | Mathematical complementary error function |
| exp | e raised to a number |
| exp10 | 10 raised to a number |
| exp2 | 2 raised to a number |
| expm1 | e raised to a number minus one |
| fabs | Absolute value of a float |
| fdim | Positive difference between two values |
| floor | Smallest integer not greater than a value |
| fma | Multiply and add |
| fmax | Maximum of two floats |
| fmin | Minimum of two floats |
| fmod | Modulo |
| fract | Positive fractional part |
| frexp | Binary mantissa and exponent |
| half_recip | Reciprocal computed to 16 bit precision |
| half_rsqrt | Reciprocal of a square root computed to 16 bit precision |
| half_sqrt | Square root computed to 16 bit precision |
| hypot | Hypotenuse |
| ilogb | Base two exponent |
| ldexp | Creates a floating point from mantissa and exponent |
| lgamma | Natural logarithm of the gamma function |
| log | Natural logarithm |
| log10 | Base 10 logarithm |
| log1p | Natural logarithm of a value plus 1 |
| log2 | Base 2 logarithm |
| logb | Base two exponent |
| mad | Multiply and add |
| max | Maximum |
| min | Minimum |
| mix | Mixes two values |
| modf | Integral and fractional components |
| nan | Not a Number |
| nan_half | Not a Number |
| native_acos | Approximate inverse cosine |
| native_acosh | Approximate inverse hyperbolic cosine |
| native_acospi | Approximate inverse cosine divided by pi |
| native_asin | Approximate inverse sine |
| native_asinh | Approximate inverse hyperbolic sine |
| native_asinpi | Approximate inverse sine divided by pi |
| native_atan | Approximate inverse tangent |
| native_atan2 | Approximate inverse tangent of a ratio |
| native_atan2pi | Approximate inverse tangent of a ratio, divided by pi |
| native_atanh | Approximate inverse hyperbolic tangent |
| native_atanpi | Approximate inverse tangent divided by pi |
| native_cbrt | Approximate cube root |
| native_cos | Approximate cosine |
| native_cosh | Approximate hypebolic cosine |
| native_cospi | Approximate cosine of a number multiplied by pi |
| native_divide | Approximate division |
| native_exp | Approximate e raised to a number |
| native_exp10 | Approximate 10 raised to a number |
| native_exp2 | Approximate 2 raised to a number |
| native_expm1 | Approximate e raised to a number minus one |
| native_hypot | Approximate hypotenuse |
| native_log | Approximate natural logarithm |
| native_log10 | Approximate base 10 logarithm |
| native_log1p | Approximate natural logarithm of a value plus 1 |
| native_log2 | Approximate base 2 logarithm |
| native_powr | Approximate positive base raised to an exponent |
| native_recip | Approximate reciprocal |
| native_rootn | Approximate nth root |
| native_rsqrt | Approximate reciprocal of a square root |
| native_sin | Approximate sine |
| native_sincos | Approximate sine and cosine |
| native_sinh | Approximate hyperbolic sine |
| native_sinpi | Approximate sine of a number multiplied by pi |
| native_sqrt | Approximate square root |
| native_tan | Approximate tangent |
| native_tanh | Approximate hyperbolic tangent |
| native_tanpi | Approximate tangent of a number multiplied by pi |
| nextafter | Next floating point number |
| pow | Base raised to an exponent |
| pown | Base raised to an integer exponent |
| powr | Positive base raised to an exponent |
| radians | Converts degrees into radians |
| remainder | Remainder of a division |
| remquo | Remainder and quotient of a division |
| rint | Round to even |
| rootn | Nth root |
| round | Round away from zero |
| rsRand | Pseudo-random number |
| rsqrt | Reciprocal of a square root |
| sign | Sign of a value |
| sin | Sine |
| sincos | Sine and cosine |
| sinh | Hyperbolic sine |
| sinpi | Sine of a number multiplied by pi |
| sqrt | Square root |
| step | 0 if less than a value, 1 otherwise |
| tan | Tangent |
| tanh | Hyperbolic tangent |
| tanpi | Tangent of a number multiplied by pi |
| tgamma | Gamma function |
| trunc | Truncates a floating point |
| Deprecated Functions | |
|---|---|
| rsClamp | Deprecated. Restrain a value to a range |
| rsFrac | Deprecated. Returns the fractional part of a float |
Constants
M_1_PI : 1 / pi, as a 32 bit float
The inverse of pi, as a 32 bit float.
M_2_PI : 2 / pi, as a 32 bit float
2 divided by pi, as a 32 bit float.
M_2_SQRTPI : 2 / sqrt(pi), as a 32 bit float
2 divided by the square root of pi, as a 32 bit float.
M_E : e, as a 32 bit float
The number e, the base of the natural logarithm, as a 32 bit float.
M_LN10 : log_e(10), as a 32 bit float
The natural logarithm of 10, as a 32 bit float.
M_LN2 : log_e(2), as a 32 bit float
The natural logarithm of 2, as a 32 bit float.
M_LOG10E : log_10(e), as a 32 bit float
The logarithm base 10 of e, as a 32 bit float.
M_LOG2E : log_2(e), as a 32 bit float
The logarithm base 2 of e, as a 32 bit float.
M_PI : pi, as a 32 bit float
The constant pi, as a 32 bit float.
M_PI_2 : pi / 2, as a 32 bit float
Pi divided by 2, as a 32 bit float.
M_PI_4 : pi / 4, as a 32 bit float
Pi divided by 4, as a 32 bit float.
M_SQRT1_2 : 1 / sqrt(2), as a 32 bit float
The inverse of the square root of 2, as a 32 bit float.
M_SQRT2 : sqrt(2), as a 32 bit float
The square root of 2, as a 32 bit float.
Functions
abs : Absolute value of an integer
Returns the absolute value of an integer.
For floats, use fabs().
acos : Inverse cosine
Returns the inverse cosine, in radians.
See also native_acos().
acosh : Inverse hyperbolic cosine
Returns the inverse hyperbolic cosine, in radians.
See also native_acosh().
acospi : Inverse cosine divided by pi
Returns the inverse cosine in radians, divided by pi.
To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
See also native_acospi().
asin : Inverse sine
Returns the inverse sine, in radians.
See also native_asin().
asinh : Inverse hyperbolic sine
Returns the inverse hyperbolic sine, in radians.
See also native_asinh().
asinpi : Inverse sine divided by pi
Returns the inverse sine in radians, divided by pi.
To get an inverse sine measured in degrees, use asinpi(a) * 180.f.
See also native_asinpi().
atan : Inverse tangent
Returns the inverse tangent, in radians.
See also native_atan().
atan2 : Inverse tangent of a ratio
Parameters
| numerator | Numerator. |
|---|---|
| denominator | Denominator. Can be 0. |
Returns the inverse tangent of (numerator / denominator), in radians.
See also native_atan2().
atan2pi : Inverse tangent of a ratio, divided by pi
Parameters
| numerator | Numerator. |
|---|---|
| denominator | Denominator. Can be 0. |
Returns the inverse tangent of (numerator / denominator), in radians, divided by pi.
To get an inverse tangent measured in degrees, use atan2pi(n, d) * 180.f.
See also native_atan2pi().
atanh : Inverse hyperbolic tangent
Returns the inverse hyperbolic tangent, in radians.
See also native_atanh().
atanpi : Inverse tangent divided by pi
Returns the inverse tangent in radians, divided by pi.
To get an inverse tangent measured in degrees, use atanpi(a) * 180.f.
See also native_atanpi().
ceil : Smallest integer not less than a value
Returns the smallest integer not less than a value.
For example, ceil(1.2f) returns 2.f, and ceil(-1.2f) returns -1.f.
See also floor().
clamp : Restrain a value to a range
Parameters
| value | Value to be clamped. |
|---|---|
| min_value | Lower bound, a scalar or matching vector. |
| max_value | High bound, must match the type of low. |
Clamps a value to a specified high and low bound. clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
There are two variants of clamp: one where the min and max are scalars applied to all entries of the value, the other where the min and max are also vectors.
If min_value is greater than max_value, the results are undefined.
clz : Number of leading 0 bits
Returns the number of leading 0-bits in a value.
For example, clz((char)0x03) returns 6.
copysign : Copies the sign of a number to another
Copies the sign from sign_value to magnitude_value.
The value returned is either magnitude_value or -magnitude_value.
For example, copysign(4.0f, -2.7f) returns -4.0f and copysign(-4.0f, 2.7f) returns 4.0f.
cos : Cosine
Returns the cosine of an angle measured in radians.
See also native_cos().
cosh : Hypebolic cosine
Returns the hypebolic cosine of v, where v is measured in radians.
See also native_cosh().
cospi : Cosine of a number multiplied by pi
Returns the cosine of (v * pi), where (v * pi) is measured in radians.
To get the cosine of a value measured in degrees, call cospi(v / 180.f).
See also native_cospi().
degrees : Converts radians into degrees
Converts from radians to degrees.
erf : Mathematical error function
Returns the error function.
erfc : Mathematical complementary error function
Returns the complementary error function.
exp : e raised to a number
Returns e raised to v, i.e. e ^ v.
See also native_exp().
exp10 : 10 raised to a number
Returns 10 raised to v, i.e. 10.f ^ v.
See also native_exp10().
exp2 : 2 raised to a number
Returns 2 raised to v, i.e. 2.f ^ v.
See also native_exp2().
expm1 : e raised to a number minus one
Returns e raised to v minus 1, i.e. (e ^ v) - 1.
See also native_expm1().
fabs : Absolute value of a float
Returns the absolute value of the float v.
For integers, use abs().
fdim : Positive difference between two values
Returns the positive difference between two values.
If a > b, returns (a - b) otherwise returns 0f.
floor : Smallest integer not greater than a value
Returns the smallest integer not greater than a value.
For example, floor(1.2f) returns 1.f, and floor(-1.2f) returns -2.f.
See also ceil().
fma : Multiply and add
Multiply and add. Returns (multiplicand1 * multiplicand2) + offset.
This function is similar to mad(). fma() retains full precision of the multiplied result and rounds only after the addition. mad() rounds after the multiplication and the addition. This extra precision is not guaranteed in rs_fp_relaxed mode.
fmax : Maximum of two floats
Returns the maximum of a and b, i.e. (a < b ? b : a).
The max() function returns identical results but can be applied to more data types.
fmin : Minimum of two floats
Returns the minimum of a and b, i.e. (a > b ? b : a).
The min() function returns identical results but can be applied to more data types.
fmod : Modulo
fract : Positive fractional part
Parameters
| v | Input value. |
|---|---|
| floor | If floor is not null, *floor will be set to the floor of v. |
Returns the positive fractional part of v, i.e. v - floor(v).
For example, fract(1.3f, &val) returns 0.3f and sets val to 1.f.
fract(-1.3f, &val) returns 0.7f and sets val to -2.f.
frexp : Binary mantissa and exponent
Parameters
| v | Input value. |
|---|---|
| exponent | If exponent is not null, *exponent will be set to the exponent of v. |
half_recip : Reciprocal computed to 16 bit precision
Returns the approximate reciprocal of a value.
The precision is that of a 16 bit floating point value.
See also native_recip().
half_rsqrt : Reciprocal of a square root computed to 16 bit precision
Returns the approximate value of (1.f / sqrt(value)).
The precision is that of a 16 bit floating point value.
See also rsqrt(), native_rsqrt().
half_sqrt : Square root computed to 16 bit precision
Returns the approximate square root of a value.
The precision is that of a 16 bit floating point value.
See also sqrt(), native_sqrt().
hypot : Hypotenuse
Returns the hypotenuse, i.e. sqrt(a * a + b * b).
See also native_hypot().
ilogb : Base two exponent
ldexp : Creates a floating point from mantissa and exponent
Parameters
| mantissa | Mantissa. |
|---|---|
| exponent | Exponent, a single component or matching vector. |
Returns the floating point created from the mantissa and exponent, i.e. (mantissa * 2 ^ exponent).
See frexp() for the reverse operation.
lgamma : Natural logarithm of the gamma function
Parameters
| v | |
|---|---|
| sign_of_gamma | If sign_of_gamma is not null, *sign_of_gamma will be set to -1.f if the gamma of v is negative, otherwise to 1.f. |
log10 : Base 10 logarithm
Returns the base 10 logarithm.
See also native_log10().
log1p : Natural logarithm of a value plus 1
Returns the natural logarithm of (v + 1.f).
See also native_log1p().
logb : Base two exponent
Returns the base two exponent of a value, where the mantissa is between 1.f (inclusive) and 2.f (exclusive).
For example, logb(8.5f) returns 3.f.
Because of the difference in mantissa, this number is one less than is returned by frexp().
ilogb() is similar but returns an integer.
mad : Multiply and add
Multiply and add. Returns (multiplicand1 * multiplicand2) + offset.
This function is similar to fma(). fma() retains full precision of the multiplied result and rounds only after the addition. mad() rounds after the multiplication and the addition. In rs_fp_relaxed mode, mad() may not do the rounding after multiplicaiton.
max : Maximum
Returns the maximum value of two arguments.
min : Minimum
Returns the minimum value of two arguments.
mix : Mixes two values
Returns start + ((stop - start) * fraction).
This can be useful for mixing two values. For example, to create a new color that is
40% color1 and 60% color2, use mix(color1, color2, 0.6f).
modf : Integral and fractional components
Parameters
| v | Source value. |
|---|---|
| integral_part | *integral_part will be set to the integral portion of the number. |
Returns
Returns the integral and fractional components of a number.
Both components will have the same sign as x. For example, for an input of -3.72f, *integral_part will be set to -3.f and .72f will be returned.
nan_half : Not a Number
Returns a half-precision floating point NaN value (Not a Number).
native_acos : Approximate inverse cosine
Returns the approximate inverse cosine, in radians.
This function yields undefined results from input values less than -1 or greater than 1.
See also acos().
native_acosh : Approximate inverse hyperbolic cosine
Returns the approximate inverse hyperbolic cosine, in radians.
See also acosh().
native_acospi : Approximate inverse cosine divided by pi
Returns the approximate inverse cosine in radians, divided by pi.
To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
This function yields undefined results from input values less than -1 or greater than 1.
See also acospi().
native_asin : Approximate inverse sine
Returns the approximate inverse sine, in radians.
This function yields undefined results from input values less than -1 or greater than 1.
See also asin().
native_asinh : Approximate inverse hyperbolic sine
Returns the approximate inverse hyperbolic sine, in radians.
See also asinh().
native_asinpi : Approximate inverse sine divided by pi
Returns the approximate inverse sine in radians, divided by pi.
To get an inverse sine measured in degrees, use asinpi(a) * 180.f.
This function yields undefined results from input values less than -1 or greater than 1.
See also asinpi().
native_atan : Approximate inverse tangent
Returns the approximate inverse tangent, in radians.
See also atan().
native_atan2 : Approximate inverse tangent of a ratio
Parameters
| numerator | Numerator. |
|---|---|
| denominator | Denominator. Can be 0. |
Returns the approximate inverse tangent of (numerator / denominator), in radians.
See also atan2().
native_atan2pi : Approximate inverse tangent of a ratio, divided by pi
Parameters
| numerator | Numerator. |
|---|---|
| denominator | Denominator. Can be 0. |
Returns the approximate inverse tangent of (numerator / denominator),
in radians, divided by pi.
To get an inverse tangent measured in degrees, use atan2pi(n, d) * 180.f.
See also atan2pi().
native_atanh : Approximate inverse hyperbolic tangent
Returns the approximate inverse hyperbolic tangent, in radians.
See also atanh().
native_atanpi : Approximate inverse tangent divided by pi
Returns the approximate inverse tangent in radians, divided by pi.
To get an inverse tangent measured in degrees, use atanpi(a) * 180.f.
See also atanpi().
native_cbrt : Approximate cube root
Returns the approximate cubic root.
See also cbrt().
native_cos : Approximate cosine
Returns the approximate cosine of an angle measured in radians.
See also cos().
native_cosh : Approximate hypebolic cosine
Returns the approximate hypebolic cosine.
See also cosh().
native_cospi : Approximate cosine of a number multiplied by pi
Returns the approximate cosine of (v * pi), where (v * pi) is measured in radians.
To get the cosine of a value measured in degrees, call cospi(v / 180.f).
See also cospi().
native_divide : Approximate division
Computes the approximate division of two values.
native_exp : Approximate e raised to a number
Fast approximate exp.
It is valid for inputs from -86.f to 86.f. The precision is no worse than what would be expected from using 16 bit floating point values.
See also exp().
native_exp10 : Approximate 10 raised to a number
Fast approximate exp10.
It is valid for inputs from -37.f to 37.f. The precision is no worse than what would be expected from using 16 bit floating point values.
See also exp10().
native_exp2 : Approximate 2 raised to a number
Fast approximate exp2.
It is valid for inputs from -125.f to 125.f. The precision is no worse than what would be expected from using 16 bit floating point values.
See also exp2().
native_expm1 : Approximate e raised to a number minus one
Returns the approximate (e ^ v) - 1.
See also expm1().
native_hypot : Approximate hypotenuse
Returns the approximate native_sqrt(a * a + b * b)
See also hypot().
native_log : Approximate natural logarithm
native_log10 : Approximate base 10 logarithm
native_log1p : Approximate natural logarithm of a value plus 1
Returns the approximate natural logarithm of (v + 1.0f)
See also log1p().
native_log2 : Approximate base 2 logarithm
native_powr : Approximate positive base raised to an exponent
Parameters
| base | Must be between 0.f and 256.f. The function is not accurate for values very close to zero. |
|---|---|
| exponent | Must be between -15.f and 15.f. |
Fast approximate (base ^ exponent).
See also powr().
native_recip : Approximate reciprocal
Returns the approximate approximate reciprocal of a value.
See also half_recip().
native_rootn : Approximate nth root
Compute the approximate Nth root of a value.
See also rootn().
native_rsqrt : Approximate reciprocal of a square root
Returns approximate (1 / sqrt(v)).
See also rsqrt(), half_rsqrt().
native_sin : Approximate sine
Returns the approximate sine of an angle measured in radians.
See also sin().
native_sincos : Approximate sine and cosine
Parameters
| v | Incoming value in radians. |
|---|---|
| cos | *cos will be set to the cosine value. |
Returns
Returns the approximate sine and cosine of a value.
See also sincos().
native_sinh : Approximate hyperbolic sine
Returns the approximate hyperbolic sine of a value specified in radians.
See also sinh().
native_sinpi : Approximate sine of a number multiplied by pi
Returns the approximate sine of (v * pi), where (v * pi) is measured in radians.
To get the sine of a value measured in degrees, call sinpi(v / 180.f).
See also sinpi().
native_sqrt : Approximate square root
native_tan : Approximate tangent
Returns the approximate tangent of an angle measured in radians.
native_tanh : Approximate hyperbolic tangent
Returns the approximate hyperbolic tangent of a value.
See also tanh().
native_tanpi : Approximate tangent of a number multiplied by pi
Returns the approximate tangent of (v * pi), where (v * pi) is measured in radians.
To get the tangent of a value measured in degrees, call tanpi(v / 180.f).
See also tanpi().
nextafter : Next floating point number
Returns the next representable floating point number from v towards target.
In rs_fp_relaxed mode, a denormalized input value may not yield the next denormalized value, as support of denormalized values is optional in relaxed mode.
pow : Base raised to an exponent
pown : Base raised to an integer exponent
powr : Positive base raised to an exponent
Returns base raised to the power exponent, i.e. base ^ exponent. base must be >= 0.
pow() and pown() are similar. They both make no assumptions about the base. pow() takes a float exponent while pown() take an integer.
See also native_powr().
radians : Converts degrees into radians
Converts from degrees to radians.
remainder : Remainder of a division
Returns the remainder of (numerator / denominator), where the quotient is rounded towards the nearest integer.
The function fmod() is similar but rounds toward the closest integer.
For example, fmod(-3.8f, 2.f) returns -1.8f (-3.8f - -1.f * 2.f)
while remainder(-3.8f, 2.f) returns 0.2f (-3.8f - -2.f * 2.f).
remquo : Remainder and quotient of a division
Parameters
| numerator | Numerator. |
|---|---|
| denominator | Denominator. |
| quotient | *quotient will be set to the integer quotient. |
Returns
Returns the quotient and the remainder of (numerator / denominator).
Only the sign and lowest three bits of the quotient are guaranteed to be accurate.
This function is useful for implementing periodic functions. The low three bits of the
quotient gives the quadrant and the remainder the distance within the quadrant.
For example, an implementation of sin(x) could call remquo(x, PI / 2.f, &quadrant)
to reduce very large value of x to something within a limited range.
Example: remquo(-23.5f, 8.f, ") sets the lowest three bits of quot to 3
and the sign negative. It returns 0.5f.
rint : Round to even
rootn : Nth root
Compute the Nth root of a value.
See also native_rootn().
round : Round away from zero
Round to the nearest integral value.
round() rounds half values away from zero. For example, round(0.5f) returns 1.f
and round(1.5f) returns 2.f. Similarly, round(-0.5f) returns -1.f
and round(-1.5f) returns -2.f.
rint() is similar but rounds half values toward even. trunc() truncates the decimal fraction.
rsClamp : Restrain a value to a range
Parameters
| amount | Value to clamp. |
|---|---|
| low | Lower bound. |
| high | Upper bound. |
Deprecated. Use clamp() instead.
Clamp a value between low and high.
rsFrac : Returns the fractional part of a float
Deprecated. Use fract() instead.
Returns the fractional part of a float
rsRand : Pseudo-random number
Return a random value between 0 (or min_value) and max_malue.
rsqrt : Reciprocal of a square root
Returns (1 / sqrt(v)).
See also half_rsqrt(), native_rsqrt().
sign : Sign of a value
Returns the sign of a value.
if (v < 0) return -1.f; else if (v > 0) return 1.f; else return 0.f;
sin : Sine
Returns the sine of an angle measured in radians.
See also native_sin().
sincos : Sine and cosine
Parameters
| v | Incoming value in radians. |
|---|---|
| cos | *cos will be set to the cosine value. |
Returns
Returns the sine and cosine of a value.
See also native_sincos().
sinh : Hyperbolic sine
Returns the hyperbolic sine of v, where v is measured in radians.
See also native_sinh().
sinpi : Sine of a number multiplied by pi
Returns the sine of (v * pi), where (v * pi) is measured in radians.
To get the sine of a value measured in degrees, call sinpi(v / 180.f).
See also native_sinpi().
sqrt : Square root
Returns the square root of a value.
See also half_sqrt(), native_sqrt().
step : 0 if less than a value, 1 otherwise
Returns 0.f if v < edge, 1.f otherwise.
This can be useful to create conditional computations without using loops and branching
instructions. For example, instead of computing (a[i] < b[i]) ? 0.f : atan2(a[i], b[i])
for the corresponding elements of a vector, you could instead use step(a, b) * atan2(a, b).
tan : Tangent
Returns the tangent of an angle measured in radians.
See also native_tan().
tanh : Hyperbolic tangent
Returns the hyperbolic tangent of a value.
See also native_tanh().
tanpi : Tangent of a number multiplied by pi
Returns the tangent of (v * pi), where (v * pi) is measured in radians.
To get the tangent of a value measured in degrees, call tanpi(v / 180.f).
See also native_tanpi().
tgamma : Gamma function
Returns the gamma function of a value.
See also lgamma().