Improve the library documentation.

Add many comments to the core math library.  Fix mulitple errors encountered when running doxygen.

Change-Id: Icbc9d8f5b5353c40b1ed6b04baef3d5c6b5888f1
diff --git a/api/gen_runtime.cpp b/api/gen_runtime.cpp
index 4570d68..fc60c9e 100644
--- a/api/gen_runtime.cpp
+++ b/api/gen_runtime.cpp
@@ -77,6 +77,10 @@
             " * See the License for the specific language governing permissions and\n"
             " * limitations under the License.\n"
             " */\n\n";
+const char* DOX_HEADER =
+            "/** @file\n"
+            " *\n"
+            " */\n\n";
 
 class Function;
 class Specification;
@@ -745,6 +749,8 @@
     }
     headerFile << LEGAL_NOTICE;
     headerFile << AUTO_GENERATED_WARNING;
+    headerFile << DOX_HEADER;
+
     writeIfdef(headerFile, headerFileName, true);
 
     // Write the functions to the header and test files.
@@ -1188,7 +1194,7 @@
         }
     }
 
-    file << "/*\n";
+    file << "/**\n";
     for (size_t ct = 0; ct < mComment.size(); ct++) {
         if (!mComment[ct].empty()) {
             file << " * " << mComment[ct] << "\n";
diff --git a/api/rs_core_math.spec b/api/rs_core_math.spec
index 2fa4307..9249801 100644
--- a/api/rs_core_math.spec
+++ b/api/rs_core_math.spec
@@ -22,7 +22,11 @@
 arg: #2#1 v compatible(#3)
 ret: #3#1
 comment:
- Component wise conversion from #2#1 to #3#1
+ Component wise conversion from #2#1 to #3#1.
+
+ For the convert_* functions, conversions of floating point values to integer will truncate.
+ Conversions of numbers too large to fit the destination type yield undefined results.
+ For example, converting a float that contains 1.0e18 to a short is undefined.
 version: 9
 end:
 
@@ -34,7 +38,11 @@
 arg: #2#1 v compatible(#3)
 ret: #3#1
 comment:
- Component wise conversion from #2#1 to #3#1
+ Component wise conversion from #2#1 to #3#1.
+
+ For the convert_* functions, conversions of floating point values to integer will truncate.
+ Conversions of numbers too large to fit the destination type yield undefined results.
+ For example, converting a float that contains 1.0e18 to a short is undefined.
 version: 21
 end:
 
@@ -46,7 +54,11 @@
 arg: #2#1 v compatible(#3)
 ret: #3#1
 comment:
- Component wise conversion from #2#1 to #3#1
+ Component wise conversion from #2#1 to #3#1.
+
+ For the convert_* functions, conversions of floating point values to integer will truncate.
+ Conversions of numbers too large to fit the destination type yield undefined results.
+ For example, converting a float that contains 1.0e18 to a short is undefined.
 version: 21
 end:
 
@@ -58,7 +70,11 @@
 arg: #2#1 v compatible(#3)
 ret: #3#1
 comment:
- Component wise conversion from #2#1 to #3#1
+ Component wise conversion from #2#1 to #3#1.
+
+ For the convert_* functions, conversions of floating point values to integer will truncate.
+ Conversions of numbers too large to fit the destination type yield undefined results.
+ For example, converting a float that contains 1.0e18 to a short is undefined.
 version: 21
 end:
 
@@ -69,7 +85,7 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- acos
+ Returns the inverse cosine, in radians.
 version: 9
 end:
 
@@ -80,7 +96,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- acosh
+ Returns the inverse hyperbolic cosine, in radians.
 version: 9
 end:
 
@@ -91,7 +107,9 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- acospi
+ Returns the inverse cosine in radians, divided by pi.
+
+ To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
 version: 9
 end:
 
@@ -102,7 +120,7 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- asin
+ Returns the inverse sine, in radians.
 version: 9
 end:
 
@@ -113,7 +131,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- asinh
+ Returns the inverse hyperbolic sine, in radians.
 version: 9
 end:
 
@@ -124,7 +142,9 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- Return the 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.
 version: 9
 end:
 
@@ -135,7 +155,7 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- Return the inverse tangent.
+ Returns the inverse tangent, in radians.
 version: 9
 end:
 
@@ -147,7 +167,9 @@
 arg: #2#1 y
 arg: #2#1 x
 comment:
- Return the inverse tangent of y / x.
+ Returns the inverse tangent of y / x, in radians.
+
+ x can be 0.
 version: 9
 end:
 
@@ -158,7 +180,7 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- Return the inverse hyperbolic tangent.
+ Returns the inverse hyperbolic tangent, in radians.
 version: 9
 end:
 
@@ -169,7 +191,9 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- Return the 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.
 version: 9
 end:
 
@@ -181,7 +205,11 @@
 arg: #2#1 y
 arg: #2#1 x
 comment:
- Return the inverse tangent of y / x, divided by PI.
+ Returns the inverse tangent of y / x, in radians, divided by pi.
+
+ To get an inverse tangent measured in degrees, use atan2pi(x, y) * 180.f.
+
+ x can be 0.
 version: 9
 end:
 
@@ -192,7 +220,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the cube root.
+ Returns the cube root.
 version: 9
 end:
 
@@ -203,7 +231,9 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the 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.
 version: 9
 end:
 
@@ -215,7 +245,11 @@
 arg: #2#1 x
 arg: #2#1 y
 comment:
- Copy the sign bit from y to x.
+ Copies the sign from y to x.
+
+ The value returned is either x or -x.
+
+ For example, copysign(4.0f, -2.7f) returns -4.0f and copysign(-4.0f, 2.7f) returns 4.0f.
 version: 9
 end:
 
@@ -226,7 +260,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the cosine.
+ Returns the cosine of an angle measured in radians.
 version: 9
 end:
 
@@ -235,9 +269,9 @@
 t: f32
 name: cosh
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return the hypebolic cosine.
+ Returns the hypebolic cosine of x, where x is measured in radians.
 version: 9
 end:
 
@@ -246,9 +280,11 @@
 t: f32
 name: cospi
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return the cosine of the value * PI.
+ Returns the cosine of (x * pi), where (x * pi) is measured in radians.
+
+ To get the cosine of a value measured in degrees, call cospi(a / 180.f).
 version: 9
 end:
 
@@ -259,7 +295,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the complementary error function.
+ Returns the complementary error function.
 version: 9
 end:
 
@@ -270,7 +306,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the error function.
+ Returns the error function.
 version: 9
 end:
 
@@ -279,9 +315,9 @@
 t: f32
 name: exp
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return e ^ value.
+ Returns e raised to x, i.e. e ^ x.
 version: 9
 end:
 
@@ -290,9 +326,9 @@
 t: f32
 name: exp2
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return 2 ^ value.
+ Returns 2 raised to x, i.e. 2.f ^ x.
 version: 9
 end:
 
@@ -301,9 +337,9 @@
 t: f32
 name: exp10
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return 10 ^ value.
+ Returns 10 raised to x, i.e. 10.f ^ x.
 version: 9
 end:
 
@@ -312,9 +348,9 @@
 t: f32
 name: expm1
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return (e ^ value) - 1.
+ Returns e raised to x minus 1, i.e. (e ^ x) - 1.
 version: 9
 end:
 
@@ -323,9 +359,11 @@
 t: f32
 name: fabs
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return the absolute value of a value.
+ Returns the absolute value of the float x.
+
+ For integers, use abs().
 version: 9
 end:
 
@@ -337,7 +375,9 @@
 arg: #2#1 a
 arg: #2#1 b
 comment:
- Return the positive difference between two values.
+ Returns the positive difference between two values.
+
+ If a > b, returns (a - b) otherwise returns 0f.
 version: 9
 end:
 
@@ -348,7 +388,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the smallest integer not greater than a value.
+ Returns the smallest integer not greater than a value.
 version: 9
 end:
 
@@ -361,20 +401,23 @@
 arg: #2#1 b
 arg: #2#1 c
 comment:
- Return (a * b) + c.
+ Multiply and add.  Returns (a * b) + c.
+
+ This function is identical to mad().
 version: 9
 end:
 
 start:
 w: 1, 2, 3, 4
 t: f32
-# TODO What is the difference between this and max?  Same for min.
 name: fmax
 ret: #2#1
 arg: #2#1 x
 arg: #2#1 y
 comment:
- Return (x < y ? y : x)
+ Returns the maximum of x and y, i.e. (x < y ? y : x).
+
+ The max() function returns identical results but can be applied to more data types.
 version: 9
 end:
 
@@ -386,7 +429,9 @@
 arg: #2#1 x
 arg: #2 y
 comment:
- Return (x < y ? y : x)
+ Returns the maximum of x and y, i.e. (x < y ? y : x).
+
+ Unlike the other variants of fmax() and max(), this function compare each element of x to the scalar y.
 version: 9
 end:
 
@@ -398,7 +443,9 @@
 arg: #2#1 x
 arg: #2#1 y
 comment:
- Return (x > y ? y : x)
+ Returns the minimum of x and y, i.e. (x > y ? y : x).
+
+ The min() function returns identical results but can be applied to more data types.
 version: 9
 end:
 
@@ -410,7 +457,9 @@
 arg: #2#1 x
 arg: #2 y
 comment:
- Return (x > y ? y : x)
+ Returns the minimum of x and y, i.e. (x > y ? y : x)
+
+ Unlike the other variants of fmin() and min(), this function compare each element of x to the scalar y.
 version: 9
 end:
 
@@ -422,7 +471,11 @@
 arg: #2#1 x
 arg: #2#1 y
 comment:
- Return the remainder from x / y
+ Returns the remainder of x / y, where the quotient is rounded towards zero.
+
+ The function remainder() is similar but rounds toward the closest interger.
+ 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).
 version: 9
 end:
 
@@ -434,9 +487,13 @@
 arg: #2#1 v
 arg: #2#1 *floor
 comment:
- Return fractional part of v
+ Returns the positive fractional part of v, i.e. v - floor(v).
 
- @param floor  floor[0] will be set to the floor of the input value.
+ 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.
+
+ @param v Input value.
+ @param floor  If floor is not null, each element of floor will be set to the floor of the corresponding element of v.
 version: 9
 end:
 
@@ -447,7 +504,10 @@
 ret: #2#1
 arg: #2#1 v
 comment:
- Return fractional part 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.
 inline:
     #2#1 unused;
     return fract(v, &unused);
@@ -460,11 +520,15 @@
 name: frexp
 ret: #2#1
 arg: #2#1 v
-arg: int#1 *iptr
+arg: int#1 *expo
 comment:
- Return the mantissa and place the exponent into iptr[0]
+ Returns the binary mantissa and exponent of v, e.g. v == mantissa * 2 ^ exponent.
+
+ The mantissa is always between 0.5 (inclusive) and 1.0 (exclusive).
+ See ldexp() for the reverse operation.
 
  @param v Supports float, float2, float3, float4.
+ @param expo  If expo is not null, each element of expo will be set to the exponent of the corresponding element of v.
 version: 9
 end:
 
@@ -476,7 +540,7 @@
 arg: #2#1 x
 arg: #2#1 y
 comment:
- Return sqrt(x*x + y*y)
+ Returns the hypotenuse, i.e. sqrt(x * x + y * y).
 version: 9
 end:
 
@@ -487,7 +551,12 @@
 ret: int#1
 arg: float#1
 comment:
- Return the integer exponent of a value
+ Returns the base two exponent of a value, where the mantissa is between 1.f (inclusive) and 2.f (exclusive).
+
+ For example, ilogb(8.5f) returns 3.  Because of the difference in mantissa, this number is one less than
+ is returned by frexp().
+
+ logb() is similar but returns a float.
 version: 9
 test: custom
 end:
@@ -496,13 +565,15 @@
 w: 1, 2, 3, 4
 name: ldexp
 ret: float#1
-arg: float#1 x
-arg: int#1 y
+arg: float#1 mantissa
+arg: int#1 exponent
 comment:
- Return (x * 2^y)
+ Returns the floating point created from the mantissa and exponent, i.e. (mantissa * 2 ^ exponent).
 
- @param x Supports 1,2,3,4 components
- @param y Supports single component or matching vector.
+ See frexp() for the reverse operation.
+
+ @param mantissa Supports float, float2, float3, and float4.
+ @param exponent Supports single component or matching vector.
 version: 9
 end:
 
@@ -510,13 +581,14 @@
 w: 2, 3, 4
 name: ldexp
 ret: float#1
-arg: float#1 x
-arg: int y
+arg: float#1 mantissa
+arg: int exponent
 comment:
- Return (x * 2^y)
+ Returns the floating point created from the mantissa and exponent, i.e. (mantissa * 2 ^ exponent).
+ See frexp() for the reverse operation.
 
- @param x Supports 1,2,3,4 components
- @param y Supports single component or matching vector.
+ @param mantissa Supports float, float2, float3, and float4.
+ @param exponent Supports single component or matching vector.
 version: 9
 end:
 
@@ -527,7 +599,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the log gamma
+ Returns the natural logarithm of the absolute value of the gamma function, i.e. log(fabs(gamma(value))).
 version: 9
 end:
 
@@ -537,9 +609,15 @@
 name: lgamma
 ret: #2#1
 arg: #2#1 x
-arg: int#1 *y
+arg: int#1 *sign
 comment:
- Return the log gamma and sign
+ Returns the natural logarithm of the absolute value of the gamma function, i.e. log(fabs(gamma(x))).
+
+ Can also return the sign of the gamma function.
+
+ @param x Input value.
+ @param sign  If sign is not null, each element of sign will be set to -1.f if the gamma of the corresponding element of x is negative, otherwise to 1.f.
+
 version: 9
 #TODO Temporary until bionic & associated drivers are fixed
 test: custom
@@ -552,7 +630,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the natural logarithm.
+ Returns the natural logarithm.
 version: 9
 end:
 
@@ -563,7 +641,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the base 2 logarithm.
+ Returns the base 2 logarithm.
 version: 9
 end:
 
@@ -574,7 +652,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the base 10 logarithm.
+ Returns the base 10 logarithm.
 version: 9
 end:
 
@@ -583,9 +661,9 @@
 t: f32
 name: log1p
 ret: #2#1
-arg: #2#1
+arg: #2#1 v
 comment:
- Return the natural logarithm of (v + 1.0f)
+ Returns the natural logarithm of (v + 1.f).
 version: 9
 end:
 
@@ -596,7 +674,12 @@
 ret: #2#1
 arg: #2#1
 comment:
- Compute the exponent of the value.
+ Returns the base two exponent of a value, where the mantissa is between 1.f (inclusive) and 2.f (exclusive).
+
+ For example, ilogb(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.
 version: 9
 end:
 
@@ -609,7 +692,9 @@
 arg: #2#1 b
 arg: #2#1 c
 comment:
- Compute (a * b) + c
+ Multiply and add.  Returns (a * b) + c.
+
+ This function is identical to fma().
 version: 9
 end:
 
@@ -621,7 +706,9 @@
 arg: #2#1 x
 arg: #2#1 *iret
 comment:
- Return the integral and fractional components of a number.
+ 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, iret will be set to -3.f and .72f will be returned.
 
  @param x Source value
  @param iret iret[0] will be set to the integral portion of the number.
@@ -636,7 +723,9 @@
 ret: #2#1
 arg: uint#1
 comment:
- generate a nan
+ Returns a NaN value (Not a Number).
+
+ The argument is embedded into the return value and can be used to distinguish various NaNs.
 version: 9
 end:
 
@@ -648,7 +737,7 @@
 arg: #2#1 x
 arg: #2#1 y
 comment:
- Return the next floating point number from x towards y.
+ Returns the next floating point number from x towards y.
 version: 9
 end:
 
@@ -660,7 +749,9 @@
 arg: #2#1 x
 arg: #2#1 y
 comment:
- Return x ^ y.
+ Returns x raised to the power y, i.e. x ^ y.
+
+ pown() and powr() are similar.  pown() takes an integer exponent. powr() assumes the base to be non-negative.
 version: 9
 end:
 
@@ -672,7 +763,9 @@
 arg: #2#1 x
 arg: int#1 y
 comment:
- Return x ^ y.
+ Returns x raised to the power y, i.e. x ^ y.
+
+ pow() and powr() are similar.  The both take a float exponent. powr() also assumes the base to be non-negative.
 version: 9
 end:
 
@@ -684,8 +777,9 @@
 arg: #2#1 x range(0,3000)
 arg: #2#1 y
 comment:
- Return x ^ y.
- x must be >= 0
+ Returns x raised to the power y, i.e. x ^ y.  x 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.
 version: 9
 end:
 
@@ -697,7 +791,11 @@
 arg: #2#1 x
 arg: #2#1 y
 comment:
- Return round x/y to the nearest integer then compute the remainder.
+ Returns the remainder of x / y, where the quotient is rounded towards the nearest integer.
+
+ The function fmod() is similar but rounds toward the closest interger.
+ 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).
 version: 9
 end:
 
@@ -710,7 +808,18 @@
 arg: #2#1 c
 arg: int#1 *d
 comment:
- Return the quotient and the remainder of b/c.  Only the sign and lowest three bits of the quotient are guaranteed to be accurate.
+ Returns the quotient and the remainder of b / c.
+
+ 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, &quot) sets the lowest three bits of quot to 3 and the sign negative.  It returns 0.5f.
+
+ @param b The numerator.
+ @param c The denominator.
+ @param *d d[0] will be set to the integer quotient.
+ @return The remainder, precise only for the low three bits.
 version: 9
 test: custom
 end:
@@ -722,7 +831,11 @@
 ret: #2#1
 arg: #2#1
 comment:
- Round to the nearest integral value.
+ Rounds to the nearest integral value.
+
+ rint() rounds half values to even.  For example, rint(0.5f) returns 0.f and rint(1.5f) returns 2.f.  Similarly, rint(-0.5f) returns -0.f and rint(-1.5f) returns -2.f.
+
+ round() is similar but rounds away from zero.  trunc() truncates the decimal fraction.
 version: 9
 end:
 
@@ -745,7 +858,11 @@
 ret: #2#1
 arg: #2#1
 comment:
- Round to the nearest integral value.  Half values are rounded 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.
 version: 9
 end:
 
@@ -756,7 +873,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return (1 / sqrt(value)).
+ Returns (1 / sqrt(value)).
 version: 9
 end:
 
@@ -767,7 +884,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the square root of a value.
+ Returns the square root of a value.
 version: 9
 end:
 
@@ -778,7 +895,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the sine of a value specified in radians.
+ Returns the sine of an angle measured in radians.
 version: 9
 end:
 
@@ -790,9 +907,9 @@
 arg: #2#1 v
 arg: #2#1 *cosptr
 comment:
- Return the sine and cosine of a value.
+ Returns the sine and cosine of a value.
 
- @return sine
+ @return sine of v
  @param v The incoming value in radians
  @param *cosptr cosptr[0] will be set to the cosine value.
 version: 9
@@ -805,7 +922,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the hyperbolic sine of a value specified in radians.
+ Returns the hyperbolic sine of x, where x is measured in radians.
 version: 9
 end:
 
@@ -814,9 +931,11 @@
 t: f32
 name: sinpi
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return the sin(v * PI).
+ Returns the sine of (x * pi), where (x * pi) is measured in radians.
+
+ To get the sine of a value measured in degrees, call sinpi(a / 180.f).
 version: 9
 end:
 
@@ -825,9 +944,9 @@
 t: f32
 name: tan
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return the tangent of a value.
+ Returns the tangent of an angle measured in radians.
 version: 9
 end:
 
@@ -838,7 +957,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the hyperbolic tangent of a value.
+ Returns the hyperbolic tangent of a value.
 version: 9
 end:
 
@@ -847,9 +966,11 @@
 t: f32
 name: tanpi
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return tan(v * PI)
+ Returns the tangent of (x * pi), where (x * pi) is measured in radians.
+
+ To get the tangent of a value measured in degrees, call tanpi(a / 180.f).
 version: 9
 end:
 
@@ -860,7 +981,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Compute the gamma function of a value.
+ Returns the gamma function of a value.
 version: 9
 end:
 
@@ -871,7 +992,11 @@
 ret: #2#1
 arg: #2#1
 comment:
- ound to integral using truncation.
+ Rounds to integral using truncation.
+
+ For example, trunc(1.7f) returns 1.f and trunc(-1.7f) returns -1.f.
+
+ See rint() and round() for other rounding options.
 version: 9
 end:
 
@@ -882,9 +1007,11 @@
 t: i8, i16, i32
 name: abs
 ret: u#2#1
-arg: #2#1 value
+arg: #2#1 n
 comment:
- Return the absolute value of a value.
+ Returns the absolute value of the integer n.
+
+ For floats, use fabs().
 version: 9
 end:
 
@@ -895,7 +1022,9 @@
 ret: #2#1
 arg: #2#1 value
 comment:
- Return the number of leading 0-bits in a value.
+ Returns the number of leading 0-bits in a value.
+
+ For example, clz((char)0x03) returns 5.
 version: 9
 end:
 
@@ -907,7 +1036,7 @@
 arg: #2#1
 arg: #2#1
 comment:
- Return the minimum value from two arguments
+ Returns the minimum value from two arguments
 version: 9
 end:
 
@@ -919,7 +1048,7 @@
 arg: #2#1 v1
 arg: #2#1 v2
 comment:
- Return the minimum value from two arguments
+ Returns the minimum value from two arguments
 inline:
  return (v1 < v2 ? v1 : v2);
 version: 9 19
@@ -933,7 +1062,7 @@
 arg: #2#1 v1
 arg: #2#1 v2
 comment:
- Return the minimum value from two arguments
+ Returns the minimum value from two arguments
 inline:
  #2#1 tmp;
  tmp.x = (v1.x < v2.x ? v1.x : v2.x);
@@ -950,7 +1079,7 @@
 arg: #2#1 v1
 arg: #2#1 v2
 comment:
- Return the minimum value from two arguments
+ Returns the minimum value from two arguments
 inline:
  #2#1 tmp;
  tmp.x = (v1.x < v2.x ? v1.x : v2.x);
@@ -968,7 +1097,7 @@
 arg: #2#1 v1
 arg: #2#1 v2
 comment:
- Return the minimum value from two arguments
+ Returns the minimum value from two arguments
 inline:
  #2#1 tmp;
  tmp.x = (v1.x < v2.x ? v1.x : v2.x);
@@ -987,7 +1116,7 @@
 arg: #2#1 v1
 arg: #2#1 v2
 comment:
- Return the minimum value from two arguments
+ Returns the minimum value from two arguments
 version: 21
 end:
 
@@ -999,7 +1128,7 @@
 arg: #2#1
 arg: #2#1
 comment:
- Return the maximum value from two arguments
+ Returns the maximum value from two arguments
 version: 9
 end:
 
@@ -1011,7 +1140,7 @@
 arg: #2#1 v1
 arg: #2#1 v2
 comment:
- Return the maximum value from two arguments
+ Returns the maximum value from two arguments
 inline:
  return (v1 > v2 ? v1 : v2);
 version: 9 19
@@ -1025,7 +1154,7 @@
 arg: #2#1 v1
 arg: #2#1 v2
 comment:
- Return the maximum value from two arguments
+ Returns the maximum value from two arguments
 inline:
  #2#1 tmp;
  tmp.x = (v1.x > v2.x ? v1.x : v2.x);
@@ -1042,7 +1171,7 @@
 arg: #2#1 v1
 arg: #2#1 v2
 comment:
- Return the maximum value from two arguments
+ Returns the maximum value from two arguments
 inline:
  #2#1 tmp;
  tmp.x = (v1.x > v2.x ? v1.x : v2.x);
@@ -1060,7 +1189,7 @@
 arg: #2#1 v1
 arg: #2#1 v2
 comment:
- Return the maximum value from two arguments
+ Returns the maximum value from two arguments
 inline:
  #2#1 tmp;
  tmp.x = (v1.x > v2.x ? v1.x : v2.x);
@@ -1079,7 +1208,7 @@
 arg: #2#1 v1
 arg: #2#1 v2
 comment:
- Return the maximum value from two arguments
+ Returns the maximum value from two arguments
 version: 21
 end:
 
@@ -1092,11 +1221,15 @@
 arg: #2#1 min_value
 arg: #2#1 max_value above(min_value)
 comment:
- Clamp a value to a specified high and low bound.
+ Clamps a value to a specified high and low bound.
 
- @param amount value to be clamped.  Supports 1,2,3,4 components
+ clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+
+ If min_value is greater than max_value, the results are undefined.
+
+ @param value 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
+ @param max_value High bound, must match the type of low.
 version: 9
 end:
 
@@ -1109,11 +1242,15 @@
 arg: #2 min_value
 arg: #2 max_value above(min_value)
 comment:
- Clamp a value to a specified high and low bound.
+ Clamps a value to a specified high and low bound.
 
- @param amount value to be clamped.  Supports 1,2,3,4 components
+ clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+
+ If min_value is greater than max_value, the results are undefined.
+
+ @param value 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
+ @param max_value High bound, must match the type of low.
 version: 9
 end:
 
@@ -1126,11 +1263,15 @@
 arg: #2#1 min_value
 arg: #2#1 max_value above(min_value)
 comment:
- Clamp a value to a specified high and low bound.
+ Clamps a value to a specified high and low bound.
 
- @param amount value to be clamped.  Supports 1,2,3,4 components
+ clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+
+ If min_value is greater than max_value, the results are undefined.
+
+ @param value 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
+ @param max_value High bound, must match the type of low.
 version: 19
 end:
 
@@ -1143,11 +1284,15 @@
 arg: #2 min_value
 arg: #2 max_value above(min_value)
 comment:
- Clamp a value to a specified high and low bound.
+ Clamps a value to a specified high and low bound.
 
- @param amount value to be clamped.  Supports 1,2,3,4 components
+ clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+
+ If min_value is greater than max_value, the results are undefined.
+
+ @param value 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
+ @param max_value High bound, must match the type of low.
 version: 19
 end:
 
@@ -1158,7 +1303,7 @@
 ret: #2#1
 arg: #2#1 value
 comment:
- Convert from radians to degrees.
+ Converts from radians to degrees.
 version: 9
 end:
 
@@ -1171,7 +1316,7 @@
 arg: #2#1 stop
 arg: #2#1 amount
 comment:
- return start + ((stop - start) * amount)
+ Returns start + ((stop - start) * amount).
 version: 9
 end:
 
@@ -1184,7 +1329,9 @@
 arg: #2#1 stop
 arg: #2 amount
 comment:
- return start + ((stop - start) * amount)
+ Returns start + ((stop - start) * amount).
+
+ 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).
 version: 9
 end:
 
@@ -1195,7 +1342,7 @@
 ret: #2#1
 arg: #2#1 value
 comment:
- Convert from degrees to radians.
+ Converts from degrees to radians.
 version: 9
 end:
 
@@ -1207,10 +1354,9 @@
 arg: #2#1 edge
 arg: #2#1 v
 comment:
- if (v < edge)
-     return 0.f;
- else
-     return 1.f;
+ 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).
 version: 9
 end:
 
@@ -1222,10 +1368,9 @@
 arg: #2#1 edge
 arg: #2 v
 comment:
- if (v < edge)
-     return 0.f;
- else
-     return 1.f;
+ 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) ? 0.f : atan2(a[i], b) for each element of a vector, you could instead use step(a, b) * atan2(a, b).
 version: 9
 end:
 
@@ -1237,10 +1382,9 @@
 arg: #2 edge
 arg: #2#1 v
 comment:
- if (v < edge)
-     return 0.f;
- else
-     return 1.f;
+ 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 < b[i]) ? 0.f : atan2(a, b[i]) for each element of a vector, you could instead use step(a, b) * atan2(a, b).
 version: 21
 end:
 
@@ -1251,7 +1395,7 @@
 ret: #2#1
 arg: #2#1 v
 comment:
- Return the sign of a value.
+ Returns the sign of a value.
 
  if (v < 0) return -1.f;
  else if (v > 0) return 1.f;
@@ -1267,7 +1411,7 @@
 arg: #2#1 lhs
 arg: #2#1 rhs
 comment:
- Compute the cross product of two vectors.
+ Computes the cross product of two vectors.
 version: 9
 test: vector
 end:
@@ -1280,7 +1424,7 @@
 arg: #2#1 lhs
 arg: #2#1 rhs
 comment:
- Compute the dot product of two vectors.
+ Computes the dot product of two vectors.
 version: 9
 test: vector
 end:
@@ -1292,7 +1436,7 @@
 ret: #2
 arg: #2#1 v
 comment:
- Compute the length of a vector.
+ Computes the length of a vector.
 version: 9
 test: vector
 end:
@@ -1318,6 +1462,8 @@
 arg: #2#1 v
 comment:
  Normalize a vector.
+
+ For vectors of size 1, returns -1.f for negative values, 0.f for null values, and 1.f for positive values.
 version: 9
 test: vector
 end:
@@ -1329,7 +1475,9 @@
 ret: #2#1
 arg: #2#1 v
 comment:
- Return the approximate reciprocal of a value.
+ Returns the approximate reciprocal of a value.
+
+ The precision is that of a 16 bit floating point value.
 version: 17
 end:
 
@@ -1340,7 +1488,9 @@
 ret: #2#1
 arg: #2#1 v
 comment:
- Return the approximate square root of a value.
+ Returns the approximate square root of a value.
+
+ The precision is that of a 16 bit floating point value.
 version: 17
 end:
 
@@ -1351,7 +1501,9 @@
 ret: #2#1
 arg: #2#1 v
 comment:
- Return the approximate value of (1.f / sqrt(value)).
+ Returns the approximate value of (1.f / sqrt(value)).
+
+ The precision is that of a 16 bit floating point value.
 version: 17
 end:
 
@@ -1362,7 +1514,9 @@
 ret: #2
 arg: #2#1 v
 comment:
- Compute the approximate length of a vector.
+ Computes the approximate length of a vector.
+
+ The precision is what would be expected from doing the computation using 16 bit floating point values.
 version: 17
 test: vector
 end:
@@ -1375,7 +1529,9 @@
 arg: #2#1 lhs
 arg: #2#1 rhs
 comment:
- Compute the approximate distance between two points.
+ Computes the approximate distance between two points.
+
+ The precision is what would be expected from doing the computation using 16 bit floating point values.
 version: 17
 test: vector
 end:
@@ -1387,7 +1543,11 @@
 ret: #2#1
 arg: #2#1 v
 comment:
- Approximately normalize a vector.
+ Approximately normalizes a vector.
+
+ For vectors of size 1, returns -1.f for negative values, 0.f for null values, and 1.f for positive values.
+
+ The precision is what would be expected from doing the computation using 16 bit floating point values.
 version: 17
 test: vector
 end:
@@ -1399,9 +1559,9 @@
 ret: #2#1
 arg: #2#1 v range(-86,86)
 comment:
- Fast approximate exp
- valid for inputs -86.f to 86.f
- Max 8192 ulps of error
+ 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.
 version: 18
 test: limited
 end:
@@ -1413,9 +1573,9 @@
 ret: #2#1
 arg: #2#1 v range(-125,125)
 comment:
- Fast approximate exp2
- valid for inputs -125.f to 125.f
- Max 8192 ulps of error
+ 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.
 version: 18
 test: limited
 end:
@@ -1427,9 +1587,9 @@
 ret: #2#1
 arg: #2#1 v range(-37,37)
 comment:
- Fast approximate exp10
- valid for inputs -37.f to 37.f
- Max 8192 ulps of error
+ 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.
 version: 18
 test: limited
 end:
@@ -1441,7 +1601,8 @@
 ret: #2#1
 arg: #2#1 v range(10e-10,10e10)
 comment:
- Fast approximate log
+ Fast approximate log.
+
  It is not accurate for values very close to zero.
 version: 18
 test: limited
@@ -1454,7 +1615,8 @@
 ret: #2#1
 arg: #2#1 v range(10e-10,10e10)
 comment:
- Fast approximate log2
+ Fast approximate log2.
+
  It is not accurate for values very close to zero.
 version: 18
 test: limited
@@ -1467,7 +1629,8 @@
 ret: #2#1
 arg: #2#1 v range(10e-10,10e10)
 comment:
- Fast approximate log10
+ Fast approximate log10.
+
  It is not accurate for values very close to zero.
 version: 18
 test: limited
@@ -1481,9 +1644,11 @@
 arg: #2#1 v range(0,256)
 arg: #2#1 y range(-15,15)
 comment:
- Fast approximate v ^ y
- v must be between 0.f and 256.f
- y must be between -15.f and 15.f
+ 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.
 version: 18
 test: limited
@@ -1497,7 +1662,7 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- acos
+ Returns the approximate inverse cosine, in radians.
 version: 21
 # TODO Temporary
 test: limited(0.0005)
@@ -1510,7 +1675,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- acosh
+ Returns the approximate inverse hyperbolic cosine, in radians.
 version: 21
 # TODO Temporary
 test: limited(0.0005)
@@ -1523,7 +1688,9 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- acospi
+ Returns the approximate inverse cosine in radians, divided by pi.
+
+ To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
 version: 21
 # TODO Temporary
 test: limited(0.0005)
@@ -1536,7 +1703,7 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- asin
+ Returns the approximate inverse sine, in radians.
 version: 21
 # TODO Temporary
 test: limited(0.0005)
@@ -1549,7 +1716,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- asinh
+ Returns the approximate inverse hyperbolic sine, in radians.
 version: 21
 # TODO Temporary
 test: limited(0.0005)
@@ -1562,7 +1729,9 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- Return the 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.
 version: 21
 # TODO Temporary
 test: limited(0.0005)
@@ -1575,7 +1744,7 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- Return the inverse tangent.
+ Returns the approximate inverse tangent, in radians.
 version: 21
 # TODO Temporary
 test: limited(0.0005)
@@ -1589,7 +1758,9 @@
 arg: #2#1 y
 arg: #2#1 x
 comment:
- Return the inverse tangent of y / x.
+ Returns the approximate inverse tangent of y / x, in radians.
+
+ x can be 0.
 version: 21
 # TODO Temporary
 test: limited(0.0005)
@@ -1602,7 +1773,7 @@
 ret: #2#1
 arg: #2#1 in range(-1,1)
 comment:
- Return the inverse hyperbolic tangent.
+ Returns the approximate inverse hyperbolic tangent, in radians.
 version: 21
 # TODO Temporary
 test: limited(0.0005)
@@ -1615,7 +1786,9 @@
 ret: #2#1
 arg: #2#1 v range(-1,1)
 comment:
- Return the 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.
 version: 21
 # TODO Temporary
 test: limited(0.0005)
@@ -1629,7 +1802,11 @@
 arg: #2#1 y
 arg: #2#1 x
 comment:
- Return the inverse tangent of y / x, divided by PI.
+ Returns the approximate inverse tangent of y / x, in radians, divided by pi.
+
+ To get an inverse tangent measured in degrees, use atan2pi(x, y) * 180.f.
+
+ x can be 0.
 version: 21
 # TODO Temporary
 test: limited(0.0005)
@@ -1642,7 +1819,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the cube root.
+ Returns the approximate cubic root.
 version: 21
 end:
 
@@ -1653,7 +1830,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the cosine.
+ Returns the approximate cosine of an angle measured in radians.
 version: 21
 end:
 
@@ -1664,7 +1841,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the hypebolic cosine.
+ Returns the approximate hypebolic cosine.
 version: 21
 end:
 
@@ -1673,9 +1850,11 @@
 t: f32
 name: native_cospi
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return the cosine of the value * PI.
+ Returns the approximate cosine of (x * pi), where (x * pi) is measured in radians.
+
+ To get the cosine of a value measured in degrees, call cospi(a / 180.f).
 version: 21
 end:
 
@@ -1686,7 +1865,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return (e ^ value) - 1.
+ Returns the approximate (e ^ value) - 1.
 version: 21
 end:
 
@@ -1698,7 +1877,7 @@
 arg: #2#1 lhs
 arg: #2#1 rhs
 comment:
- Compute the approximate distance between two points.
+ Computes the approximate distance between two points.
 version: 21
 test: vector
 end:
@@ -1711,7 +1890,7 @@
 arg: #2#1 lhs
 arg: #2#1 rhs
 comment:
- Compute the approximate division result of two values.
+ Computes the approximate division result of two values.
 version: 21
 end:
 
@@ -1723,7 +1902,7 @@
 arg: #2#1 x
 arg: #2#1 y
 comment:
- Return native_sqrt(x*x + y*y)
+ Returns the approximate native_sqrt(x*x + y*y)
 version: 21
 end:
 
@@ -1734,7 +1913,7 @@
 ret: #2#1
 arg: #2#1 v
 comment:
- Normalize a vector.
+ Approximately normalizes a vector.
 version: 21
 test: vector
 end:
@@ -1758,7 +1937,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the natural logarithm of (v + 1.0f)
+ Returns the approximate natural logarithm of (v + 1.0f)
 version: 21
 end:
 
@@ -1769,7 +1948,7 @@
 ret: #2#1
 arg: #2#1 v
 comment:
- Return the approximate reciprocal of a value.
+ Returns the approximate approximate reciprocal of a value.
 version: 21
 end:
 
@@ -1781,7 +1960,7 @@
 arg: #2#1 v
 arg: int#1 n
 comment:
- Compute the Nth root of a value.
+ Compute the approximate Nth root of a value.
 version: 21
 end:
 
@@ -1792,7 +1971,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return (1 / sqrt(value)).
+ Returns approximate (1 / sqrt(value)).
 version: 21
 end:
 
@@ -1803,7 +1982,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the sine of a value specified in radians.
+ Returns the approximate sine of an angle measured in radians.
 version: 21
 end:
 
@@ -1815,7 +1994,7 @@
 arg: #2#1 v
 arg: #2#1 *cosptr
 comment:
- Return the sine and cosine of a value.
+ Returns the approximate sine and cosine of a value.
 
  @return sine
  @param v The incoming value in radians
@@ -1832,7 +2011,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the hyperbolic sine of a value specified in radians.
+ Returns the approximate hyperbolic sine of a value specified in radians.
 version: 21
 end:
 
@@ -1841,9 +2020,11 @@
 t: f32
 name: native_sinpi
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return the sin(v * PI).
+ Returns the approximate sine of (x * pi), where (x * pi) is measured in radians.
+
+ To get the sine of a value measured in degrees, call sinpi(a / 180.f).
 version: 21
 end:
 
@@ -1854,7 +2035,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the aproximate sqrt(v).
+ Returns the approximate sqrt(v).
 version: 21
 end:
 
@@ -1865,7 +2046,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the tangent of a value.
+ Returns the approximate tangent of an angle measured in radians.
 version: 21
 end:
 
@@ -1876,7 +2057,7 @@
 ret: #2#1
 arg: #2#1
 comment:
- Return the hyperbolic tangent of a value.
+ Returns the approximate hyperbolic tangent of a value.
 version: 21
 end:
 
@@ -1885,10 +2066,10 @@
 t: f32
 name: native_tanpi
 ret: #2#1
-arg: #2#1
+arg: #2#1 x
 comment:
- Return tan(v * PI)
+ Returns the approximate tangent of (x * pi), where (x * pi) is measured in radians.
+
+ To get the tangent of a value measured in degrees, call tanpi(a / 180.f).
 version: 21
 end:
-
-
diff --git a/scriptc/rs_core.rsh b/scriptc/rs_core.rsh
index 2052a2e..c1c96aa 100644
--- a/scriptc/rs_core.rsh
+++ b/scriptc/rs_core.rsh
@@ -121,6 +121,7 @@
     uint32_t arrayEnd;
 } rs_script_call_t;
 
+#if !defined(RS_VERSION) || (RS_VERSION < 14)
 /**
  * Make a script to script call to launch work. One of the input or output is
  * required to be a valid object. The input and output must be of the same
@@ -137,7 +138,6 @@
  *           NULL.
  *
  *  */
-#if !defined(RS_VERSION) || (RS_VERSION < 14)
 extern void __attribute__((overloadable))
     rsForEach(rs_script script, rs_allocation input,
               rs_allocation output, const void * usrData,
@@ -148,10 +148,8 @@
 extern void __attribute__((overloadable))
     rsForEach(rs_script script, rs_allocation input,
               rs_allocation output, const void * usrData);
-#else
 
-
-#if (RS_VERSION < 21)
+#elif (RS_VERSION < 21)
 /**
  * Make a script to script call to launch work. One of the input or output is
  * required to be a valid object. The input and output must be of the same
@@ -172,24 +170,35 @@
  */
 extern void __attribute__((overloadable))
     rsForEach(rs_script script, rs_allocation input, rs_allocation output,
-              const void * usrData, size_t usrDataLen, const rs_script_call_t *);
+              const void * usrData, size_t usrDataLen, const rs_script_call_t *sc);
 /**
  * \overload
  */
 extern void __attribute__((overloadable))
     rsForEach(rs_script script, rs_allocation input, rs_allocation output,
               const void * usrData, size_t usrDataLen);
-#endif
 
 /**
  * \overload
  */
 extern void __attribute__((overloadable))
     rsForEach(rs_script script, rs_allocation input, rs_allocation output);
+
+#else
+/**
+ * Make a script to script call to launch work. One of the input or output is
+ * required to be a valid object. The input and output must be of the same
+ * dimensions.
+ * API 21+
+ *
+ * @param script The target script to call
+ * @param input The allocation to source data from
+ * @param output the allocation to write date into
+ */
+extern void __attribute__((overloadable))
+    rsForEach(rs_script script, rs_allocation input, rs_allocation output);
 #endif
 
-
-
 #undef _RS_RUNTIME
 
 #endif
diff --git a/scriptc/rs_core_math.rsh b/scriptc/rs_core_math.rsh
index 287a1b9..ab1f7ee 100644
--- a/scriptc/rs_core_math.rsh
+++ b/scriptc/rs_core_math.rsh
@@ -16,119 +16,147 @@
 
 // Don't edit this file!  It is auto-generated by frameworks/rs/api/gen_runtime.
 
+/** @file
+ *
+ */
+
 #ifndef __rs_core_math_rsh__
 #define __rs_core_math_rsh__
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar __attribute__((const, overloadable))abs(char value);
+extern uchar __attribute__((const, overloadable))abs(char n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar2 __attribute__((const, overloadable))abs(char2 value);
+extern uchar2 __attribute__((const, overloadable))abs(char2 n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar3 __attribute__((const, overloadable))abs(char3 value);
+extern uchar3 __attribute__((const, overloadable))abs(char3 n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern uchar4 __attribute__((const, overloadable))abs(char4 value);
+extern uchar4 __attribute__((const, overloadable))abs(char4 n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort __attribute__((const, overloadable))abs(short value);
+extern ushort __attribute__((const, overloadable))abs(short n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort2 __attribute__((const, overloadable))abs(short2 value);
+extern ushort2 __attribute__((const, overloadable))abs(short2 n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort3 __attribute__((const, overloadable))abs(short3 value);
+extern ushort3 __attribute__((const, overloadable))abs(short3 n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern ushort4 __attribute__((const, overloadable))abs(short4 value);
+extern ushort4 __attribute__((const, overloadable))abs(short4 n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern uint __attribute__((const, overloadable))abs(int value);
+extern uint __attribute__((const, overloadable))abs(int n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern uint2 __attribute__((const, overloadable))abs(int2 value);
+extern uint2 __attribute__((const, overloadable))abs(int2 n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern uint3 __attribute__((const, overloadable))abs(int3 value);
+extern uint3 __attribute__((const, overloadable))abs(int3 n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the integer n.
+ *
+ * For floats, use fabs().
  *
  * Supported by API versions 9 and newer.
  */
-extern uint4 __attribute__((const, overloadable))abs(int4 value);
+extern uint4 __attribute__((const, overloadable))abs(int4 n);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acos
+/**
+ * Returns the inverse cosine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -136,8 +164,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acos
+/**
+ * Returns the inverse cosine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -145,8 +173,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acos
+/**
+ * Returns the inverse cosine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -154,8 +182,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acos
+/**
+ * Returns the inverse cosine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -163,8 +191,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acosh
+/**
+ * Returns the inverse hyperbolic cosine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -172,8 +200,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acosh
+/**
+ * Returns the inverse hyperbolic cosine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -181,8 +209,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acosh
+/**
+ * Returns the inverse hyperbolic cosine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -190,8 +218,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acosh
+/**
+ * Returns the inverse hyperbolic cosine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -199,8 +227,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acospi
+/**
+ * Returns the inverse cosine in radians, divided by pi.
+ *
+ * To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -208,8 +238,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acospi
+/**
+ * Returns the inverse cosine in radians, divided by pi.
+ *
+ * To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -217,8 +249,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acospi
+/**
+ * Returns the inverse cosine in radians, divided by pi.
+ *
+ * To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -226,8 +260,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * acospi
+/**
+ * Returns the inverse cosine in radians, divided by pi.
+ *
+ * To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -235,8 +271,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * asin
+/**
+ * Returns the inverse sine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -244,8 +280,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * asin
+/**
+ * Returns the inverse sine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -253,8 +289,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * asin
+/**
+ * Returns the inverse sine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -262,8 +298,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * asin
+/**
+ * Returns the inverse sine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -271,8 +307,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * asinh
+/**
+ * Returns the inverse hyperbolic sine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -280,8 +316,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * asinh
+/**
+ * Returns the inverse hyperbolic sine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -289,8 +325,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * asinh
+/**
+ * Returns the inverse hyperbolic sine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -298,8 +334,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * asinh
+/**
+ * Returns the inverse hyperbolic sine, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -307,8 +343,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -316,8 +354,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -325,8 +365,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -334,8 +376,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -343,8 +387,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent.
+/**
+ * Returns the inverse tangent, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -352,8 +396,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent.
+/**
+ * Returns the inverse tangent, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -361,8 +405,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent.
+/**
+ * Returns the inverse tangent, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -370,8 +414,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent.
+/**
+ * Returns the inverse tangent, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -379,8 +423,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent of y / x.
+/**
+ * Returns the inverse tangent of y / x, in radians.
+ *
+ * x can be 0.
  *
  * Supported by API versions 9 and newer.
  */
@@ -388,8 +434,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent of y / x.
+/**
+ * Returns the inverse tangent of y / x, in radians.
+ *
+ * x can be 0.
  *
  * Supported by API versions 9 and newer.
  */
@@ -397,8 +445,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent of y / x.
+/**
+ * Returns the inverse tangent of y / x, in radians.
+ *
+ * x can be 0.
  *
  * Supported by API versions 9 and newer.
  */
@@ -406,8 +456,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent of y / x.
+/**
+ * Returns the inverse tangent of y / x, in radians.
+ *
+ * x can be 0.
  *
  * Supported by API versions 9 and newer.
  */
@@ -415,8 +467,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent of y / x, divided by PI.
+/**
+ * Returns the inverse tangent of y / x, in radians, divided by pi.
+ *
+ * To get an inverse tangent measured in degrees, use atan2pi(x, y) * 180.f.
+ *
+ * x can be 0.
  *
  * Supported by API versions 9 and newer.
  */
@@ -424,8 +480,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent of y / x, divided by PI.
+/**
+ * Returns the inverse tangent of y / x, in radians, divided by pi.
+ *
+ * To get an inverse tangent measured in degrees, use atan2pi(x, y) * 180.f.
+ *
+ * x can be 0.
  *
  * Supported by API versions 9 and newer.
  */
@@ -433,8 +493,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent of y / x, divided by PI.
+/**
+ * Returns the inverse tangent of y / x, in radians, divided by pi.
+ *
+ * To get an inverse tangent measured in degrees, use atan2pi(x, y) * 180.f.
+ *
+ * x can be 0.
  *
  * Supported by API versions 9 and newer.
  */
@@ -442,8 +506,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse tangent of y / x, divided by PI.
+/**
+ * Returns the inverse tangent of y / x, in radians, divided by pi.
+ *
+ * To get an inverse tangent measured in degrees, use atan2pi(x, y) * 180.f.
+ *
+ * x can be 0.
  *
  * Supported by API versions 9 and newer.
  */
@@ -451,8 +519,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse hyperbolic tangent.
+/**
+ * Returns the inverse hyperbolic tangent, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -460,8 +528,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse hyperbolic tangent.
+/**
+ * Returns the inverse hyperbolic tangent, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -469,8 +537,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse hyperbolic tangent.
+/**
+ * Returns the inverse hyperbolic tangent, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -478,8 +546,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the inverse hyperbolic tangent.
+/**
+ * Returns the inverse hyperbolic tangent, in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -487,8 +555,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -496,8 +566,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -505,8 +577,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -514,8 +588,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -523,8 +599,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cube root.
+/**
+ * Returns the cube root.
  *
  * Supported by API versions 9 and newer.
  */
@@ -532,8 +608,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cube root.
+/**
+ * Returns the cube root.
  *
  * Supported by API versions 9 and newer.
  */
@@ -541,8 +617,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cube root.
+/**
+ * Returns the cube root.
  *
  * Supported by API versions 9 and newer.
  */
@@ -550,8 +626,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cube root.
+/**
+ * Returns the cube root.
  *
  * Supported by API versions 9 and newer.
  */
@@ -559,8 +635,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -568,8 +646,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -577,8 +657,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -586,8 +668,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -595,12 +679,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 9 and newer.
  */
@@ -608,12 +696,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 9 and newer.
  */
@@ -621,12 +713,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 9 and newer.
  */
@@ -634,12 +730,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 9 and newer.
  */
@@ -647,12 +747,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 9 and newer.
  */
@@ -660,12 +764,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 9 and newer.
  */
@@ -673,12 +781,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 9 and newer.
  */
@@ -686,12 +798,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -699,12 +815,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -712,12 +832,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -725,12 +849,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -738,12 +866,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -751,12 +883,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -764,12 +900,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -777,12 +917,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -790,12 +934,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -803,12 +951,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -816,12 +968,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -829,12 +985,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -842,12 +1002,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -855,12 +1019,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -868,12 +1036,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -881,12 +1053,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -894,12 +1070,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -907,12 +1087,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -920,12 +1104,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -933,12 +1121,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -946,12 +1138,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -959,12 +1155,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -972,12 +1172,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -985,12 +1189,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -998,12 +1206,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1011,12 +1223,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1024,12 +1240,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1037,12 +1257,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1050,12 +1274,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1063,12 +1291,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1076,12 +1308,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1089,12 +1325,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1102,12 +1342,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1115,12 +1359,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1128,12 +1376,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1141,12 +1393,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1154,12 +1410,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1167,12 +1427,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1180,12 +1444,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1193,12 +1461,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1206,12 +1478,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1219,12 +1495,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1232,12 +1512,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1245,12 +1529,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1258,12 +1546,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1271,12 +1563,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1284,12 +1580,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1297,12 +1597,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1310,12 +1614,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1323,12 +1631,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1336,12 +1648,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1349,12 +1665,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1362,12 +1682,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1375,12 +1699,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1388,12 +1716,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1401,12 +1733,16 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 19))
-/*
- * Clamp a value to a specified high and low bound.
+/**
+ * Clamps a value to a specified high and low bound.
  *
- * @param amount value to be clamped.  Supports 1,2,3,4 components
+ * clamp() returns min_value if value < min_value, max_value if value > max_value, otherwise value.
+ *
+ * If min_value is greater than max_value, the results are undefined.
+ *
+ * @param value 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
+ * @param max_value High bound, must match the type of low.
  *
  * Supported by API versions 19 and newer.
  */
@@ -1414,8 +1750,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1423,8 +1761,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1432,8 +1772,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1441,8 +1783,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1450,8 +1794,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1459,8 +1805,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1468,8 +1816,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1477,8 +1827,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1486,8 +1838,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1495,8 +1849,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1504,8 +1860,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1513,8 +1871,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1522,8 +1882,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1531,8 +1893,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1540,8 +1904,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1549,8 +1915,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1558,8 +1926,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1567,8 +1937,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1576,8 +1948,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1585,8 +1959,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1594,8 +1970,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1603,8 +1981,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1612,8 +1992,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1621,8 +2003,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the number of leading 0-bits in a value.
+/**
+ * Returns the number of leading 0-bits in a value.
+ *
+ * For example, clz((char)0x03) returns 5.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1630,8 +2014,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float2 to float2
+/**
+ * Component wise conversion from float2 to float2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1639,8 +2027,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float3 to float3
+/**
+ * Component wise conversion from float3 to float3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1648,8 +2040,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float4 to float4
+/**
+ * Component wise conversion from float4 to float4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1657,8 +2053,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char2 to float2
+/**
+ * Component wise conversion from char2 to float2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1666,8 +2066,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char3 to float3
+/**
+ * Component wise conversion from char3 to float3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1675,8 +2079,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char4 to float4
+/**
+ * Component wise conversion from char4 to float4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1684,8 +2092,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar2 to float2
+/**
+ * Component wise conversion from uchar2 to float2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1693,8 +2105,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar3 to float3
+/**
+ * Component wise conversion from uchar3 to float3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1702,8 +2118,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar4 to float4
+/**
+ * Component wise conversion from uchar4 to float4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1711,8 +2131,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short2 to float2
+/**
+ * Component wise conversion from short2 to float2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1720,8 +2144,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short3 to float3
+/**
+ * Component wise conversion from short3 to float3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1729,8 +2157,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short4 to float4
+/**
+ * Component wise conversion from short4 to float4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1738,8 +2170,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort2 to float2
+/**
+ * Component wise conversion from ushort2 to float2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1747,8 +2183,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort3 to float3
+/**
+ * Component wise conversion from ushort3 to float3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1756,8 +2196,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort4 to float4
+/**
+ * Component wise conversion from ushort4 to float4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1765,8 +2209,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int2 to float2
+/**
+ * Component wise conversion from int2 to float2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1774,8 +2222,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int3 to float3
+/**
+ * Component wise conversion from int3 to float3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1783,8 +2235,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int4 to float4
+/**
+ * Component wise conversion from int4 to float4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1792,8 +2248,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint2 to float2
+/**
+ * Component wise conversion from uint2 to float2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1801,8 +2261,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint3 to float3
+/**
+ * Component wise conversion from uint3 to float3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1810,8 +2274,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint4 to float4
+/**
+ * Component wise conversion from uint4 to float4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1819,8 +2287,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float2 to char2
+/**
+ * Component wise conversion from float2 to char2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1828,8 +2300,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float3 to char3
+/**
+ * Component wise conversion from float3 to char3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1837,8 +2313,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float4 to char4
+/**
+ * Component wise conversion from float4 to char4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1846,8 +2326,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char2 to char2
+/**
+ * Component wise conversion from char2 to char2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1855,8 +2339,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char3 to char3
+/**
+ * Component wise conversion from char3 to char3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1864,8 +2352,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char4 to char4
+/**
+ * Component wise conversion from char4 to char4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1873,8 +2365,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar2 to char2
+/**
+ * Component wise conversion from uchar2 to char2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1882,8 +2378,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar3 to char3
+/**
+ * Component wise conversion from uchar3 to char3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1891,8 +2391,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar4 to char4
+/**
+ * Component wise conversion from uchar4 to char4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1900,8 +2404,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short2 to char2
+/**
+ * Component wise conversion from short2 to char2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1909,8 +2417,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short3 to char3
+/**
+ * Component wise conversion from short3 to char3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1918,8 +2430,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short4 to char4
+/**
+ * Component wise conversion from short4 to char4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1927,8 +2443,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort2 to char2
+/**
+ * Component wise conversion from ushort2 to char2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1936,8 +2456,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort3 to char3
+/**
+ * Component wise conversion from ushort3 to char3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1945,8 +2469,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort4 to char4
+/**
+ * Component wise conversion from ushort4 to char4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1954,8 +2482,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int2 to char2
+/**
+ * Component wise conversion from int2 to char2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1963,8 +2495,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int3 to char3
+/**
+ * Component wise conversion from int3 to char3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1972,8 +2508,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int4 to char4
+/**
+ * Component wise conversion from int4 to char4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1981,8 +2521,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint2 to char2
+/**
+ * Component wise conversion from uint2 to char2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1990,8 +2534,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint3 to char3
+/**
+ * Component wise conversion from uint3 to char3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -1999,8 +2547,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint4 to char4
+/**
+ * Component wise conversion from uint4 to char4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2008,8 +2560,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float2 to uchar2
+/**
+ * Component wise conversion from float2 to uchar2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2017,8 +2573,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float3 to uchar3
+/**
+ * Component wise conversion from float3 to uchar3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2026,8 +2586,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float4 to uchar4
+/**
+ * Component wise conversion from float4 to uchar4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2035,8 +2599,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char2 to uchar2
+/**
+ * Component wise conversion from char2 to uchar2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2044,8 +2612,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char3 to uchar3
+/**
+ * Component wise conversion from char3 to uchar3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2053,8 +2625,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char4 to uchar4
+/**
+ * Component wise conversion from char4 to uchar4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2062,8 +2638,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar2 to uchar2
+/**
+ * Component wise conversion from uchar2 to uchar2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2071,8 +2651,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar3 to uchar3
+/**
+ * Component wise conversion from uchar3 to uchar3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2080,8 +2664,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar4 to uchar4
+/**
+ * Component wise conversion from uchar4 to uchar4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2089,8 +2677,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short2 to uchar2
+/**
+ * Component wise conversion from short2 to uchar2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2098,8 +2690,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short3 to uchar3
+/**
+ * Component wise conversion from short3 to uchar3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2107,8 +2703,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short4 to uchar4
+/**
+ * Component wise conversion from short4 to uchar4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2116,8 +2716,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort2 to uchar2
+/**
+ * Component wise conversion from ushort2 to uchar2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2125,8 +2729,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort3 to uchar3
+/**
+ * Component wise conversion from ushort3 to uchar3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2134,8 +2742,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort4 to uchar4
+/**
+ * Component wise conversion from ushort4 to uchar4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2143,8 +2755,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int2 to uchar2
+/**
+ * Component wise conversion from int2 to uchar2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2152,8 +2768,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int3 to uchar3
+/**
+ * Component wise conversion from int3 to uchar3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2161,8 +2781,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int4 to uchar4
+/**
+ * Component wise conversion from int4 to uchar4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2170,8 +2794,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint2 to uchar2
+/**
+ * Component wise conversion from uint2 to uchar2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2179,8 +2807,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint3 to uchar3
+/**
+ * Component wise conversion from uint3 to uchar3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2188,8 +2820,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint4 to uchar4
+/**
+ * Component wise conversion from uint4 to uchar4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2197,8 +2833,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float2 to short2
+/**
+ * Component wise conversion from float2 to short2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2206,8 +2846,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float3 to short3
+/**
+ * Component wise conversion from float3 to short3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2215,8 +2859,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float4 to short4
+/**
+ * Component wise conversion from float4 to short4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2224,8 +2872,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char2 to short2
+/**
+ * Component wise conversion from char2 to short2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2233,8 +2885,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char3 to short3
+/**
+ * Component wise conversion from char3 to short3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2242,8 +2898,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char4 to short4
+/**
+ * Component wise conversion from char4 to short4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2251,8 +2911,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar2 to short2
+/**
+ * Component wise conversion from uchar2 to short2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2260,8 +2924,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar3 to short3
+/**
+ * Component wise conversion from uchar3 to short3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2269,8 +2937,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar4 to short4
+/**
+ * Component wise conversion from uchar4 to short4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2278,8 +2950,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short2 to short2
+/**
+ * Component wise conversion from short2 to short2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2287,8 +2963,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short3 to short3
+/**
+ * Component wise conversion from short3 to short3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2296,8 +2976,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short4 to short4
+/**
+ * Component wise conversion from short4 to short4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2305,8 +2989,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort2 to short2
+/**
+ * Component wise conversion from ushort2 to short2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2314,8 +3002,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort3 to short3
+/**
+ * Component wise conversion from ushort3 to short3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2323,8 +3015,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort4 to short4
+/**
+ * Component wise conversion from ushort4 to short4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2332,8 +3028,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int2 to short2
+/**
+ * Component wise conversion from int2 to short2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2341,8 +3041,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int3 to short3
+/**
+ * Component wise conversion from int3 to short3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2350,8 +3054,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int4 to short4
+/**
+ * Component wise conversion from int4 to short4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2359,8 +3067,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint2 to short2
+/**
+ * Component wise conversion from uint2 to short2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2368,8 +3080,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint3 to short3
+/**
+ * Component wise conversion from uint3 to short3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2377,8 +3093,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint4 to short4
+/**
+ * Component wise conversion from uint4 to short4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2386,8 +3106,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float2 to ushort2
+/**
+ * Component wise conversion from float2 to ushort2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2395,8 +3119,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float3 to ushort3
+/**
+ * Component wise conversion from float3 to ushort3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2404,8 +3132,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float4 to ushort4
+/**
+ * Component wise conversion from float4 to ushort4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2413,8 +3145,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char2 to ushort2
+/**
+ * Component wise conversion from char2 to ushort2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2422,8 +3158,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char3 to ushort3
+/**
+ * Component wise conversion from char3 to ushort3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2431,8 +3171,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char4 to ushort4
+/**
+ * Component wise conversion from char4 to ushort4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2440,8 +3184,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar2 to ushort2
+/**
+ * Component wise conversion from uchar2 to ushort2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2449,8 +3197,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar3 to ushort3
+/**
+ * Component wise conversion from uchar3 to ushort3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2458,8 +3210,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar4 to ushort4
+/**
+ * Component wise conversion from uchar4 to ushort4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2467,8 +3223,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short2 to ushort2
+/**
+ * Component wise conversion from short2 to ushort2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2476,8 +3236,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short3 to ushort3
+/**
+ * Component wise conversion from short3 to ushort3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2485,8 +3249,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short4 to ushort4
+/**
+ * Component wise conversion from short4 to ushort4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2494,8 +3262,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort2 to ushort2
+/**
+ * Component wise conversion from ushort2 to ushort2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2503,8 +3275,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort3 to ushort3
+/**
+ * Component wise conversion from ushort3 to ushort3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2512,8 +3288,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort4 to ushort4
+/**
+ * Component wise conversion from ushort4 to ushort4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2521,8 +3301,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int2 to ushort2
+/**
+ * Component wise conversion from int2 to ushort2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2530,8 +3314,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int3 to ushort3
+/**
+ * Component wise conversion from int3 to ushort3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2539,8 +3327,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int4 to ushort4
+/**
+ * Component wise conversion from int4 to ushort4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2548,8 +3340,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint2 to ushort2
+/**
+ * Component wise conversion from uint2 to ushort2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2557,8 +3353,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint3 to ushort3
+/**
+ * Component wise conversion from uint3 to ushort3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2566,8 +3366,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint4 to ushort4
+/**
+ * Component wise conversion from uint4 to ushort4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2575,8 +3379,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float2 to int2
+/**
+ * Component wise conversion from float2 to int2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2584,8 +3392,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float3 to int3
+/**
+ * Component wise conversion from float3 to int3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2593,8 +3405,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float4 to int4
+/**
+ * Component wise conversion from float4 to int4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2602,8 +3418,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char2 to int2
+/**
+ * Component wise conversion from char2 to int2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2611,8 +3431,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char3 to int3
+/**
+ * Component wise conversion from char3 to int3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2620,8 +3444,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char4 to int4
+/**
+ * Component wise conversion from char4 to int4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2629,8 +3457,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar2 to int2
+/**
+ * Component wise conversion from uchar2 to int2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2638,8 +3470,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar3 to int3
+/**
+ * Component wise conversion from uchar3 to int3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2647,8 +3483,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar4 to int4
+/**
+ * Component wise conversion from uchar4 to int4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2656,8 +3496,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short2 to int2
+/**
+ * Component wise conversion from short2 to int2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2665,8 +3509,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short3 to int3
+/**
+ * Component wise conversion from short3 to int3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2674,8 +3522,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short4 to int4
+/**
+ * Component wise conversion from short4 to int4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2683,8 +3535,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort2 to int2
+/**
+ * Component wise conversion from ushort2 to int2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2692,8 +3548,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort3 to int3
+/**
+ * Component wise conversion from ushort3 to int3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2701,8 +3561,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort4 to int4
+/**
+ * Component wise conversion from ushort4 to int4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2710,8 +3574,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int2 to int2
+/**
+ * Component wise conversion from int2 to int2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2719,8 +3587,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int3 to int3
+/**
+ * Component wise conversion from int3 to int3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2728,8 +3600,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int4 to int4
+/**
+ * Component wise conversion from int4 to int4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2737,8 +3613,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint2 to int2
+/**
+ * Component wise conversion from uint2 to int2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2746,8 +3626,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint3 to int3
+/**
+ * Component wise conversion from uint3 to int3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2755,8 +3639,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint4 to int4
+/**
+ * Component wise conversion from uint4 to int4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2764,8 +3652,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float2 to uint2
+/**
+ * Component wise conversion from float2 to uint2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2773,8 +3665,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float3 to uint3
+/**
+ * Component wise conversion from float3 to uint3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2782,8 +3678,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from float4 to uint4
+/**
+ * Component wise conversion from float4 to uint4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2791,8 +3691,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char2 to uint2
+/**
+ * Component wise conversion from char2 to uint2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2800,8 +3704,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char3 to uint3
+/**
+ * Component wise conversion from char3 to uint3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2809,8 +3717,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from char4 to uint4
+/**
+ * Component wise conversion from char4 to uint4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2818,8 +3730,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar2 to uint2
+/**
+ * Component wise conversion from uchar2 to uint2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2827,8 +3743,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar3 to uint3
+/**
+ * Component wise conversion from uchar3 to uint3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2836,8 +3756,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uchar4 to uint4
+/**
+ * Component wise conversion from uchar4 to uint4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2845,8 +3769,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short2 to uint2
+/**
+ * Component wise conversion from short2 to uint2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2854,8 +3782,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short3 to uint3
+/**
+ * Component wise conversion from short3 to uint3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2863,8 +3795,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from short4 to uint4
+/**
+ * Component wise conversion from short4 to uint4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2872,8 +3808,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort2 to uint2
+/**
+ * Component wise conversion from ushort2 to uint2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2881,8 +3821,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort3 to uint3
+/**
+ * Component wise conversion from ushort3 to uint3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2890,8 +3834,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from ushort4 to uint4
+/**
+ * Component wise conversion from ushort4 to uint4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2899,8 +3847,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int2 to uint2
+/**
+ * Component wise conversion from int2 to uint2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2908,8 +3860,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int3 to uint3
+/**
+ * Component wise conversion from int3 to uint3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2917,8 +3873,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from int4 to uint4
+/**
+ * Component wise conversion from int4 to uint4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2926,8 +3886,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint2 to uint2
+/**
+ * Component wise conversion from uint2 to uint2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2935,8 +3899,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint3 to uint3
+/**
+ * Component wise conversion from uint3 to uint3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2944,8 +3912,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Component wise conversion from uint4 to uint4
+/**
+ * Component wise conversion from uint4 to uint4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 9 and newer.
  */
@@ -2953,8 +3925,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double2 to double2
+/**
+ * Component wise conversion from double2 to double2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -2962,8 +3938,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double3 to double3
+/**
+ * Component wise conversion from double3 to double3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -2971,8 +3951,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double4 to double4
+/**
+ * Component wise conversion from double4 to double4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -2980,8 +3964,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long2 to double2
+/**
+ * Component wise conversion from long2 to double2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -2989,8 +3977,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long3 to double3
+/**
+ * Component wise conversion from long3 to double3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -2998,8 +3990,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long4 to double4
+/**
+ * Component wise conversion from long4 to double4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3007,8 +4003,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong2 to double2
+/**
+ * Component wise conversion from ulong2 to double2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3016,8 +4016,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong3 to double3
+/**
+ * Component wise conversion from ulong3 to double3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3025,8 +4029,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong4 to double4
+/**
+ * Component wise conversion from ulong4 to double4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3034,8 +4042,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double2 to long2
+/**
+ * Component wise conversion from double2 to long2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3043,8 +4055,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double3 to long3
+/**
+ * Component wise conversion from double3 to long3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3052,8 +4068,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double4 to long4
+/**
+ * Component wise conversion from double4 to long4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3061,8 +4081,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long2 to long2
+/**
+ * Component wise conversion from long2 to long2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3070,8 +4094,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long3 to long3
+/**
+ * Component wise conversion from long3 to long3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3079,8 +4107,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long4 to long4
+/**
+ * Component wise conversion from long4 to long4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3088,8 +4120,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong2 to long2
+/**
+ * Component wise conversion from ulong2 to long2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3097,8 +4133,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong3 to long3
+/**
+ * Component wise conversion from ulong3 to long3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3106,8 +4146,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong4 to long4
+/**
+ * Component wise conversion from ulong4 to long4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3115,8 +4159,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double2 to ulong2
+/**
+ * Component wise conversion from double2 to ulong2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3124,8 +4172,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double3 to ulong3
+/**
+ * Component wise conversion from double3 to ulong3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3133,8 +4185,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double4 to ulong4
+/**
+ * Component wise conversion from double4 to ulong4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3142,8 +4198,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long2 to ulong2
+/**
+ * Component wise conversion from long2 to ulong2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3151,8 +4211,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long3 to ulong3
+/**
+ * Component wise conversion from long3 to ulong3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3160,8 +4224,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long4 to ulong4
+/**
+ * Component wise conversion from long4 to ulong4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3169,8 +4237,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong2 to ulong2
+/**
+ * Component wise conversion from ulong2 to ulong2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3178,8 +4250,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong3 to ulong3
+/**
+ * Component wise conversion from ulong3 to ulong3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3187,8 +4263,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong4 to ulong4
+/**
+ * Component wise conversion from ulong4 to ulong4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3196,8 +4276,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double2 to float2
+/**
+ * Component wise conversion from double2 to float2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3205,8 +4289,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double3 to float3
+/**
+ * Component wise conversion from double3 to float3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3214,8 +4302,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double4 to float4
+/**
+ * Component wise conversion from double4 to float4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3223,8 +4315,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long2 to float2
+/**
+ * Component wise conversion from long2 to float2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3232,8 +4328,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long3 to float3
+/**
+ * Component wise conversion from long3 to float3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3241,8 +4341,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long4 to float4
+/**
+ * Component wise conversion from long4 to float4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3250,8 +4354,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong2 to float2
+/**
+ * Component wise conversion from ulong2 to float2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3259,8 +4367,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong3 to float3
+/**
+ * Component wise conversion from ulong3 to float3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3268,8 +4380,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong4 to float4
+/**
+ * Component wise conversion from ulong4 to float4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3277,8 +4393,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double2 to char2
+/**
+ * Component wise conversion from double2 to char2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3286,8 +4406,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double3 to char3
+/**
+ * Component wise conversion from double3 to char3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3295,8 +4419,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double4 to char4
+/**
+ * Component wise conversion from double4 to char4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3304,8 +4432,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long2 to char2
+/**
+ * Component wise conversion from long2 to char2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3313,8 +4445,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long3 to char3
+/**
+ * Component wise conversion from long3 to char3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3322,8 +4458,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long4 to char4
+/**
+ * Component wise conversion from long4 to char4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3331,8 +4471,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong2 to char2
+/**
+ * Component wise conversion from ulong2 to char2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3340,8 +4484,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong3 to char3
+/**
+ * Component wise conversion from ulong3 to char3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3349,8 +4497,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong4 to char4
+/**
+ * Component wise conversion from ulong4 to char4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3358,8 +4510,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double2 to uchar2
+/**
+ * Component wise conversion from double2 to uchar2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3367,8 +4523,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double3 to uchar3
+/**
+ * Component wise conversion from double3 to uchar3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3376,8 +4536,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double4 to uchar4
+/**
+ * Component wise conversion from double4 to uchar4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3385,8 +4549,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long2 to uchar2
+/**
+ * Component wise conversion from long2 to uchar2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3394,8 +4562,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long3 to uchar3
+/**
+ * Component wise conversion from long3 to uchar3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3403,8 +4575,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long4 to uchar4
+/**
+ * Component wise conversion from long4 to uchar4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3412,8 +4588,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong2 to uchar2
+/**
+ * Component wise conversion from ulong2 to uchar2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3421,8 +4601,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong3 to uchar3
+/**
+ * Component wise conversion from ulong3 to uchar3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3430,8 +4614,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong4 to uchar4
+/**
+ * Component wise conversion from ulong4 to uchar4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3439,8 +4627,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double2 to short2
+/**
+ * Component wise conversion from double2 to short2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3448,8 +4640,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double3 to short3
+/**
+ * Component wise conversion from double3 to short3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3457,8 +4653,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double4 to short4
+/**
+ * Component wise conversion from double4 to short4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3466,8 +4666,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long2 to short2
+/**
+ * Component wise conversion from long2 to short2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3475,8 +4679,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long3 to short3
+/**
+ * Component wise conversion from long3 to short3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3484,8 +4692,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long4 to short4
+/**
+ * Component wise conversion from long4 to short4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3493,8 +4705,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong2 to short2
+/**
+ * Component wise conversion from ulong2 to short2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3502,8 +4718,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong3 to short3
+/**
+ * Component wise conversion from ulong3 to short3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3511,8 +4731,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong4 to short4
+/**
+ * Component wise conversion from ulong4 to short4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3520,8 +4744,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double2 to ushort2
+/**
+ * Component wise conversion from double2 to ushort2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3529,8 +4757,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double3 to ushort3
+/**
+ * Component wise conversion from double3 to ushort3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3538,8 +4770,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double4 to ushort4
+/**
+ * Component wise conversion from double4 to ushort4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3547,8 +4783,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long2 to ushort2
+/**
+ * Component wise conversion from long2 to ushort2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3556,8 +4796,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long3 to ushort3
+/**
+ * Component wise conversion from long3 to ushort3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3565,8 +4809,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long4 to ushort4
+/**
+ * Component wise conversion from long4 to ushort4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3574,8 +4822,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong2 to ushort2
+/**
+ * Component wise conversion from ulong2 to ushort2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3583,8 +4835,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong3 to ushort3
+/**
+ * Component wise conversion from ulong3 to ushort3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3592,8 +4848,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong4 to ushort4
+/**
+ * Component wise conversion from ulong4 to ushort4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3601,8 +4861,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double2 to int2
+/**
+ * Component wise conversion from double2 to int2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3610,8 +4874,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double3 to int3
+/**
+ * Component wise conversion from double3 to int3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3619,8 +4887,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double4 to int4
+/**
+ * Component wise conversion from double4 to int4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3628,8 +4900,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long2 to int2
+/**
+ * Component wise conversion from long2 to int2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3637,8 +4913,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long3 to int3
+/**
+ * Component wise conversion from long3 to int3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3646,8 +4926,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long4 to int4
+/**
+ * Component wise conversion from long4 to int4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3655,8 +4939,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong2 to int2
+/**
+ * Component wise conversion from ulong2 to int2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3664,8 +4952,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong3 to int3
+/**
+ * Component wise conversion from ulong3 to int3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3673,8 +4965,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong4 to int4
+/**
+ * Component wise conversion from ulong4 to int4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3682,8 +4978,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double2 to uint2
+/**
+ * Component wise conversion from double2 to uint2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3691,8 +4991,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double3 to uint3
+/**
+ * Component wise conversion from double3 to uint3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3700,8 +5004,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from double4 to uint4
+/**
+ * Component wise conversion from double4 to uint4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3709,8 +5017,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long2 to uint2
+/**
+ * Component wise conversion from long2 to uint2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3718,8 +5030,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long3 to uint3
+/**
+ * Component wise conversion from long3 to uint3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3727,8 +5043,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from long4 to uint4
+/**
+ * Component wise conversion from long4 to uint4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3736,8 +5056,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong2 to uint2
+/**
+ * Component wise conversion from ulong2 to uint2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3745,8 +5069,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong3 to uint3
+/**
+ * Component wise conversion from ulong3 to uint3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3754,8 +5082,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ulong4 to uint4
+/**
+ * Component wise conversion from ulong4 to uint4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3763,8 +5095,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from float2 to double2
+/**
+ * Component wise conversion from float2 to double2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3772,8 +5108,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from float3 to double3
+/**
+ * Component wise conversion from float3 to double3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3781,8 +5121,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from float4 to double4
+/**
+ * Component wise conversion from float4 to double4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3790,8 +5134,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from char2 to double2
+/**
+ * Component wise conversion from char2 to double2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3799,8 +5147,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from char3 to double3
+/**
+ * Component wise conversion from char3 to double3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3808,8 +5160,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from char4 to double4
+/**
+ * Component wise conversion from char4 to double4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3817,8 +5173,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uchar2 to double2
+/**
+ * Component wise conversion from uchar2 to double2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3826,8 +5186,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uchar3 to double3
+/**
+ * Component wise conversion from uchar3 to double3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3835,8 +5199,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uchar4 to double4
+/**
+ * Component wise conversion from uchar4 to double4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3844,8 +5212,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from short2 to double2
+/**
+ * Component wise conversion from short2 to double2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3853,8 +5225,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from short3 to double3
+/**
+ * Component wise conversion from short3 to double3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3862,8 +5238,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from short4 to double4
+/**
+ * Component wise conversion from short4 to double4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3871,8 +5251,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ushort2 to double2
+/**
+ * Component wise conversion from ushort2 to double2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3880,8 +5264,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ushort3 to double3
+/**
+ * Component wise conversion from ushort3 to double3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3889,8 +5277,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ushort4 to double4
+/**
+ * Component wise conversion from ushort4 to double4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3898,8 +5290,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from int2 to double2
+/**
+ * Component wise conversion from int2 to double2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3907,8 +5303,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from int3 to double3
+/**
+ * Component wise conversion from int3 to double3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3916,8 +5316,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from int4 to double4
+/**
+ * Component wise conversion from int4 to double4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3925,8 +5329,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uint2 to double2
+/**
+ * Component wise conversion from uint2 to double2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3934,8 +5342,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uint3 to double3
+/**
+ * Component wise conversion from uint3 to double3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3943,8 +5355,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uint4 to double4
+/**
+ * Component wise conversion from uint4 to double4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3952,8 +5368,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from float2 to long2
+/**
+ * Component wise conversion from float2 to long2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3961,8 +5381,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from float3 to long3
+/**
+ * Component wise conversion from float3 to long3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3970,8 +5394,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from float4 to long4
+/**
+ * Component wise conversion from float4 to long4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3979,8 +5407,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from char2 to long2
+/**
+ * Component wise conversion from char2 to long2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3988,8 +5420,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from char3 to long3
+/**
+ * Component wise conversion from char3 to long3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -3997,8 +5433,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from char4 to long4
+/**
+ * Component wise conversion from char4 to long4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4006,8 +5446,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uchar2 to long2
+/**
+ * Component wise conversion from uchar2 to long2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4015,8 +5459,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uchar3 to long3
+/**
+ * Component wise conversion from uchar3 to long3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4024,8 +5472,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uchar4 to long4
+/**
+ * Component wise conversion from uchar4 to long4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4033,8 +5485,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from short2 to long2
+/**
+ * Component wise conversion from short2 to long2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4042,8 +5498,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from short3 to long3
+/**
+ * Component wise conversion from short3 to long3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4051,8 +5511,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from short4 to long4
+/**
+ * Component wise conversion from short4 to long4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4060,8 +5524,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ushort2 to long2
+/**
+ * Component wise conversion from ushort2 to long2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4069,8 +5537,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ushort3 to long3
+/**
+ * Component wise conversion from ushort3 to long3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4078,8 +5550,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ushort4 to long4
+/**
+ * Component wise conversion from ushort4 to long4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4087,8 +5563,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from int2 to long2
+/**
+ * Component wise conversion from int2 to long2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4096,8 +5576,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from int3 to long3
+/**
+ * Component wise conversion from int3 to long3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4105,8 +5589,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from int4 to long4
+/**
+ * Component wise conversion from int4 to long4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4114,8 +5602,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uint2 to long2
+/**
+ * Component wise conversion from uint2 to long2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4123,8 +5615,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uint3 to long3
+/**
+ * Component wise conversion from uint3 to long3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4132,8 +5628,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uint4 to long4
+/**
+ * Component wise conversion from uint4 to long4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4141,8 +5641,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from float2 to ulong2
+/**
+ * Component wise conversion from float2 to ulong2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4150,8 +5654,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from float3 to ulong3
+/**
+ * Component wise conversion from float3 to ulong3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4159,8 +5667,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from float4 to ulong4
+/**
+ * Component wise conversion from float4 to ulong4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4168,8 +5680,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from char2 to ulong2
+/**
+ * Component wise conversion from char2 to ulong2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4177,8 +5693,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from char3 to ulong3
+/**
+ * Component wise conversion from char3 to ulong3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4186,8 +5706,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from char4 to ulong4
+/**
+ * Component wise conversion from char4 to ulong4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4195,8 +5719,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uchar2 to ulong2
+/**
+ * Component wise conversion from uchar2 to ulong2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4204,8 +5732,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uchar3 to ulong3
+/**
+ * Component wise conversion from uchar3 to ulong3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4213,8 +5745,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uchar4 to ulong4
+/**
+ * Component wise conversion from uchar4 to ulong4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4222,8 +5758,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from short2 to ulong2
+/**
+ * Component wise conversion from short2 to ulong2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4231,8 +5771,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from short3 to ulong3
+/**
+ * Component wise conversion from short3 to ulong3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4240,8 +5784,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from short4 to ulong4
+/**
+ * Component wise conversion from short4 to ulong4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4249,8 +5797,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ushort2 to ulong2
+/**
+ * Component wise conversion from ushort2 to ulong2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4258,8 +5810,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ushort3 to ulong3
+/**
+ * Component wise conversion from ushort3 to ulong3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4267,8 +5823,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from ushort4 to ulong4
+/**
+ * Component wise conversion from ushort4 to ulong4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4276,8 +5836,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from int2 to ulong2
+/**
+ * Component wise conversion from int2 to ulong2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4285,8 +5849,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from int3 to ulong3
+/**
+ * Component wise conversion from int3 to ulong3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4294,8 +5862,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from int4 to ulong4
+/**
+ * Component wise conversion from int4 to ulong4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4303,8 +5875,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uint2 to ulong2
+/**
+ * Component wise conversion from uint2 to ulong2.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4312,8 +5888,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uint3 to ulong3
+/**
+ * Component wise conversion from uint3 to ulong3.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4321,8 +5901,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Component wise conversion from uint4 to ulong4
+/**
+ * Component wise conversion from uint4 to ulong4.
+ *
+ * For the convert_* functions, conversions of floating point values to integer will truncate.
+ * Conversions of numbers too large to fit the destination type yield undefined results.
+ * For example, converting a float that contains 1.0e18 to a short is undefined.
  *
  * Supported by API versions 21 and newer.
  */
@@ -4330,8 +5914,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Copy the sign bit from y to x.
+/**
+ * Copies the sign from y to x.
+ *
+ * The value returned is either x or -x.
+ *
+ * For example, copysign(4.0f, -2.7f) returns -4.0f and copysign(-4.0f, 2.7f) returns 4.0f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4339,8 +5927,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Copy the sign bit from y to x.
+/**
+ * Copies the sign from y to x.
+ *
+ * The value returned is either x or -x.
+ *
+ * For example, copysign(4.0f, -2.7f) returns -4.0f and copysign(-4.0f, 2.7f) returns 4.0f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4348,8 +5940,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Copy the sign bit from y to x.
+/**
+ * Copies the sign from y to x.
+ *
+ * The value returned is either x or -x.
+ *
+ * For example, copysign(4.0f, -2.7f) returns -4.0f and copysign(-4.0f, 2.7f) returns 4.0f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4357,8 +5953,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Copy the sign bit from y to x.
+/**
+ * Copies the sign from y to x.
+ *
+ * The value returned is either x or -x.
+ *
+ * For example, copysign(4.0f, -2.7f) returns -4.0f and copysign(-4.0f, 2.7f) returns 4.0f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4366,8 +5966,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cosine.
+/**
+ * Returns the cosine of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4375,8 +5975,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cosine.
+/**
+ * Returns the cosine of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4384,8 +5984,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cosine.
+/**
+ * Returns the cosine of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4393,8 +5993,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cosine.
+/**
+ * Returns the cosine of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4402,80 +6002,88 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hypebolic cosine.
+/**
+ * Returns the hypebolic cosine of x, where x is measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))cosh(float);
+extern float __attribute__((const, overloadable))cosh(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hypebolic cosine.
+/**
+ * Returns the hypebolic cosine of x, where x is measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))cosh(float2);
+extern float2 __attribute__((const, overloadable))cosh(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hypebolic cosine.
+/**
+ * Returns the hypebolic cosine of x, where x is measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))cosh(float3);
+extern float3 __attribute__((const, overloadable))cosh(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hypebolic cosine.
+/**
+ * Returns the hypebolic cosine of x, where x is measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))cosh(float4);
+extern float4 __attribute__((const, overloadable))cosh(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cosine of the value * PI.
+/**
+ * Returns the cosine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the cosine of a value measured in degrees, call cospi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))cospi(float);
+extern float __attribute__((const, overloadable))cospi(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cosine of the value * PI.
+/**
+ * Returns the cosine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the cosine of a value measured in degrees, call cospi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))cospi(float2);
+extern float2 __attribute__((const, overloadable))cospi(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cosine of the value * PI.
+/**
+ * Returns the cosine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the cosine of a value measured in degrees, call cospi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))cospi(float3);
+extern float3 __attribute__((const, overloadable))cospi(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the cosine of the value * PI.
+/**
+ * Returns the cosine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the cosine of a value measured in degrees, call cospi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))cospi(float4);
+extern float4 __attribute__((const, overloadable))cospi(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the cross product of two vectors.
+/**
+ * Computes the cross product of two vectors.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4483,8 +6091,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the cross product of two vectors.
+/**
+ * Computes the cross product of two vectors.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4492,8 +6100,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Convert from radians to degrees.
+/**
+ * Converts from radians to degrees.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4501,8 +6109,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Convert from radians to degrees.
+/**
+ * Converts from radians to degrees.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4510,8 +6118,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Convert from radians to degrees.
+/**
+ * Converts from radians to degrees.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4519,8 +6127,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Convert from radians to degrees.
+/**
+ * Converts from radians to degrees.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4528,7 +6136,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
+/**
  * Compute the distance between two points.
  *
  * Supported by API versions 9 and newer.
@@ -4537,7 +6145,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
+/**
  * Compute the distance between two points.
  *
  * Supported by API versions 9 and newer.
@@ -4546,7 +6154,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
+/**
  * Compute the distance between two points.
  *
  * Supported by API versions 9 and newer.
@@ -4555,7 +6163,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
+/**
  * Compute the distance between two points.
  *
  * Supported by API versions 9 and newer.
@@ -4564,8 +6172,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the dot product of two vectors.
+/**
+ * Computes the dot product of two vectors.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4573,8 +6181,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the dot product of two vectors.
+/**
+ * Computes the dot product of two vectors.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4582,8 +6190,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the dot product of two vectors.
+/**
+ * Computes the dot product of two vectors.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4591,8 +6199,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the dot product of two vectors.
+/**
+ * Computes the dot product of two vectors.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4600,8 +6208,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the error function.
+/**
+ * Returns the error function.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4609,8 +6217,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the error function.
+/**
+ * Returns the error function.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4618,8 +6226,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the error function.
+/**
+ * Returns the error function.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4627,8 +6235,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the error function.
+/**
+ * Returns the error function.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4636,8 +6244,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the complementary error function.
+/**
+ * Returns the complementary error function.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4645,8 +6253,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the complementary error function.
+/**
+ * Returns the complementary error function.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4654,8 +6262,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the complementary error function.
+/**
+ * Returns the complementary error function.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4663,8 +6271,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the complementary error function.
+/**
+ * Returns the complementary error function.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4672,188 +6280,198 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return e ^ value.
+/**
+ * Returns e raised to x, i.e. e ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))exp(float);
+extern float __attribute__((const, overloadable))exp(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return e ^ value.
+/**
+ * Returns e raised to x, i.e. e ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))exp(float2);
+extern float2 __attribute__((const, overloadable))exp(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return e ^ value.
+/**
+ * Returns e raised to x, i.e. e ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))exp(float3);
+extern float3 __attribute__((const, overloadable))exp(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return e ^ value.
+/**
+ * Returns e raised to x, i.e. e ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))exp(float4);
+extern float4 __attribute__((const, overloadable))exp(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return 10 ^ value.
+/**
+ * Returns 10 raised to x, i.e. 10.f ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))exp10(float);
+extern float __attribute__((const, overloadable))exp10(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return 10 ^ value.
+/**
+ * Returns 10 raised to x, i.e. 10.f ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))exp10(float2);
+extern float2 __attribute__((const, overloadable))exp10(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return 10 ^ value.
+/**
+ * Returns 10 raised to x, i.e. 10.f ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))exp10(float3);
+extern float3 __attribute__((const, overloadable))exp10(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return 10 ^ value.
+/**
+ * Returns 10 raised to x, i.e. 10.f ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))exp10(float4);
+extern float4 __attribute__((const, overloadable))exp10(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return 2 ^ value.
+/**
+ * Returns 2 raised to x, i.e. 2.f ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))exp2(float);
+extern float __attribute__((const, overloadable))exp2(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return 2 ^ value.
+/**
+ * Returns 2 raised to x, i.e. 2.f ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))exp2(float2);
+extern float2 __attribute__((const, overloadable))exp2(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return 2 ^ value.
+/**
+ * Returns 2 raised to x, i.e. 2.f ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))exp2(float3);
+extern float3 __attribute__((const, overloadable))exp2(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return 2 ^ value.
+/**
+ * Returns 2 raised to x, i.e. 2.f ^ x.
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))exp2(float4);
+extern float4 __attribute__((const, overloadable))exp2(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (e ^ value) - 1.
+/**
+ * Returns e raised to x minus 1, i.e. (e ^ x) - 1.
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))expm1(float);
+extern float __attribute__((const, overloadable))expm1(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (e ^ value) - 1.
+/**
+ * Returns e raised to x minus 1, i.e. (e ^ x) - 1.
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))expm1(float2);
+extern float2 __attribute__((const, overloadable))expm1(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (e ^ value) - 1.
+/**
+ * Returns e raised to x minus 1, i.e. (e ^ x) - 1.
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))expm1(float3);
+extern float3 __attribute__((const, overloadable))expm1(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (e ^ value) - 1.
+/**
+ * Returns e raised to x minus 1, i.e. (e ^ x) - 1.
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))expm1(float4);
+extern float4 __attribute__((const, overloadable))expm1(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the float x.
+ *
+ * For integers, use abs().
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))fabs(float);
+extern float __attribute__((const, overloadable))fabs(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the float x.
+ *
+ * For integers, use abs().
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))fabs(float2);
+extern float2 __attribute__((const, overloadable))fabs(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the float x.
+ *
+ * For integers, use abs().
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))fabs(float3);
+extern float3 __attribute__((const, overloadable))fabs(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the absolute value of a value.
+/**
+ * Returns the absolute value of the float x.
+ *
+ * For integers, use abs().
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))fabs(float4);
+extern float4 __attribute__((const, overloadable))fabs(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Compute the approximate distance between two points.
+/**
+ * Computes the approximate distance between two points.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4861,8 +6479,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Compute the approximate distance between two points.
+/**
+ * Computes the approximate distance between two points.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4870,8 +6490,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Compute the approximate distance between two points.
+/**
+ * Computes the approximate distance between two points.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4879,8 +6501,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Compute the approximate distance between two points.
+/**
+ * Computes the approximate distance between two points.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4888,8 +6512,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Compute the approximate length of a vector.
+/**
+ * Computes the approximate length of a vector.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4897,8 +6523,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Compute the approximate length of a vector.
+/**
+ * Computes the approximate length of a vector.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4906,8 +6534,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Compute the approximate length of a vector.
+/**
+ * Computes the approximate length of a vector.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4915,8 +6545,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Compute the approximate length of a vector.
+/**
+ * Computes the approximate length of a vector.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4924,8 +6556,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Approximately normalize a vector.
+/**
+ * Approximately normalizes a vector.
+ *
+ * For vectors of size 1, returns -1.f for negative values, 0.f for null values, and 1.f for positive values.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4933,8 +6569,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Approximately normalize a vector.
+/**
+ * Approximately normalizes a vector.
+ *
+ * For vectors of size 1, returns -1.f for negative values, 0.f for null values, and 1.f for positive values.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4942,8 +6582,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Approximately normalize a vector.
+/**
+ * Approximately normalizes a vector.
+ *
+ * For vectors of size 1, returns -1.f for negative values, 0.f for null values, and 1.f for positive values.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4951,8 +6595,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Approximately normalize a vector.
+/**
+ * Approximately normalizes a vector.
+ *
+ * For vectors of size 1, returns -1.f for negative values, 0.f for null values, and 1.f for positive values.
+ *
+ * The precision is what would be expected from doing the computation using 16 bit floating point values.
  *
  * Supported by API versions 17 and newer.
  */
@@ -4960,8 +6608,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the positive difference between two values.
+/**
+ * Returns the positive difference between two values.
+ *
+ * If a > b, returns (a - b) otherwise returns 0f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4969,8 +6619,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the positive difference between two values.
+/**
+ * Returns the positive difference between two values.
+ *
+ * If a > b, returns (a - b) otherwise returns 0f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4978,8 +6630,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the positive difference between two values.
+/**
+ * Returns the positive difference between two values.
+ *
+ * If a > b, returns (a - b) otherwise returns 0f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4987,8 +6641,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the positive difference between two values.
+/**
+ * Returns the positive difference between two values.
+ *
+ * If a > b, returns (a - b) otherwise returns 0f.
  *
  * Supported by API versions 9 and newer.
  */
@@ -4996,8 +6652,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the smallest integer not greater than a value.
+/**
+ * Returns the smallest integer not greater than a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5005,8 +6661,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the smallest integer not greater than a value.
+/**
+ * Returns the smallest integer not greater than a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5014,8 +6670,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the smallest integer not greater than a value.
+/**
+ * Returns the smallest integer not greater than a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5023,8 +6679,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the smallest integer not greater than a value.
+/**
+ * Returns the smallest integer not greater than a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5032,8 +6688,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (a * b) + c.
+/**
+ * Multiply and add.  Returns (a * b) + c.
+ *
+ * This function is identical to mad().
  *
  * Supported by API versions 9 and newer.
  */
@@ -5041,8 +6699,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (a * b) + c.
+/**
+ * Multiply and add.  Returns (a * b) + c.
+ *
+ * This function is identical to mad().
  *
  * Supported by API versions 9 and newer.
  */
@@ -5050,8 +6710,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (a * b) + c.
+/**
+ * Multiply and add.  Returns (a * b) + c.
+ *
+ * This function is identical to mad().
  *
  * Supported by API versions 9 and newer.
  */
@@ -5059,8 +6721,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (a * b) + c.
+/**
+ * Multiply and add.  Returns (a * b) + c.
+ *
+ * This function is identical to mad().
  *
  * Supported by API versions 9 and newer.
  */
@@ -5068,8 +6732,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x < y ? y : x)
+/**
+ * Returns the maximum of x and y, i.e. (x < y ? y : x).
+ *
+ * The max() function returns identical results but can be applied to more data types.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5077,8 +6743,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x < y ? y : x)
+/**
+ * Returns the maximum of x and y, i.e. (x < y ? y : x).
+ *
+ * The max() function returns identical results but can be applied to more data types.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5086,8 +6754,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x < y ? y : x)
+/**
+ * Returns the maximum of x and y, i.e. (x < y ? y : x).
+ *
+ * The max() function returns identical results but can be applied to more data types.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5095,8 +6765,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x < y ? y : x)
+/**
+ * Returns the maximum of x and y, i.e. (x < y ? y : x).
+ *
+ * The max() function returns identical results but can be applied to more data types.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5104,8 +6776,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x < y ? y : x)
+/**
+ * Returns the maximum of x and y, i.e. (x < y ? y : x).
+ *
+ * Unlike the other variants of fmax() and max(), this function compare each element of x to the scalar y.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5113,8 +6787,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x < y ? y : x)
+/**
+ * Returns the maximum of x and y, i.e. (x < y ? y : x).
+ *
+ * Unlike the other variants of fmax() and max(), this function compare each element of x to the scalar y.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5122,8 +6798,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x < y ? y : x)
+/**
+ * Returns the maximum of x and y, i.e. (x < y ? y : x).
+ *
+ * Unlike the other variants of fmax() and max(), this function compare each element of x to the scalar y.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5131,8 +6809,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x > y ? y : x)
+/**
+ * Returns the minimum of x and y, i.e. (x > y ? y : x).
+ *
+ * The min() function returns identical results but can be applied to more data types.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5140,8 +6820,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x > y ? y : x)
+/**
+ * Returns the minimum of x and y, i.e. (x > y ? y : x).
+ *
+ * The min() function returns identical results but can be applied to more data types.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5149,8 +6831,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x > y ? y : x)
+/**
+ * Returns the minimum of x and y, i.e. (x > y ? y : x).
+ *
+ * The min() function returns identical results but can be applied to more data types.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5158,8 +6842,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x > y ? y : x)
+/**
+ * Returns the minimum of x and y, i.e. (x > y ? y : x).
+ *
+ * The min() function returns identical results but can be applied to more data types.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5167,8 +6853,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x > y ? y : x)
+/**
+ * Returns the minimum of x and y, i.e. (x > y ? y : x)
+ *
+ * Unlike the other variants of fmin() and min(), this function compare each element of x to the scalar y.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5176,8 +6864,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x > y ? y : x)
+/**
+ * Returns the minimum of x and y, i.e. (x > y ? y : x)
+ *
+ * Unlike the other variants of fmin() and min(), this function compare each element of x to the scalar y.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5185,8 +6875,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x > y ? y : x)
+/**
+ * Returns the minimum of x and y, i.e. (x > y ? y : x)
+ *
+ * Unlike the other variants of fmin() and min(), this function compare each element of x to the scalar y.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5194,8 +6886,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the remainder from x / y
+/**
+ * Returns the remainder of x / y, where the quotient is rounded towards zero.
+ *
+ * The function remainder() is similar but rounds toward the closest interger.
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5203,8 +6899,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the remainder from x / y
+/**
+ * Returns the remainder of x / y, where the quotient is rounded towards zero.
+ *
+ * The function remainder() is similar but rounds toward the closest interger.
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5212,8 +6912,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the remainder from x / y
+/**
+ * Returns the remainder of x / y, where the quotient is rounded towards zero.
+ *
+ * The function remainder() is similar but rounds toward the closest interger.
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5221,8 +6925,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the remainder from x / y
+/**
+ * Returns the remainder of x / y, where the quotient is rounded towards zero.
+ *
+ * The function remainder() is similar but rounds toward the closest interger.
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5230,10 +6938,14 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return fractional part of v
+/**
+ * Returns the positive fractional part of v, i.e. v - floor(v).
  *
- * @param floor  floor[0] will be set to the floor of the input value.
+ * 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.
+ *
+ * @param v Input value.
+ * @param floor  If floor is not null, each element of floor will be set to the floor of the corresponding element of v.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5241,10 +6953,14 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return fractional part of v
+/**
+ * Returns the positive fractional part of v, i.e. v - floor(v).
  *
- * @param floor  floor[0] will be set to the floor of the input value.
+ * 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.
+ *
+ * @param v Input value.
+ * @param floor  If floor is not null, each element of floor will be set to the floor of the corresponding element of v.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5252,10 +6968,14 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return fractional part of v
+/**
+ * Returns the positive fractional part of v, i.e. v - floor(v).
  *
- * @param floor  floor[0] will be set to the floor of the input value.
+ * 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.
+ *
+ * @param v Input value.
+ * @param floor  If floor is not null, each element of floor will be set to the floor of the corresponding element of v.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5263,10 +6983,14 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return fractional part of v
+/**
+ * Returns the positive fractional part of v, i.e. v - floor(v).
  *
- * @param floor  floor[0] will be set to the floor of the input value.
+ * 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.
+ *
+ * @param v Input value.
+ * @param floor  If floor is not null, each element of floor will be set to the floor of the corresponding element of v.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5274,8 +6998,11 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return fractional part 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5286,8 +7013,11 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return fractional part 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5298,8 +7028,11 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return fractional part 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5310,8 +7043,11 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return fractional part 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5322,52 +7058,70 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the mantissa and place the exponent into iptr[0]
+/**
+ * Returns the binary mantissa and exponent of v, e.g. v == mantissa * 2 ^ exponent.
+ *
+ * The mantissa is always between 0.5 (inclusive) and 1.0 (exclusive).
+ * See ldexp() for the reverse operation.
  *
  * @param v Supports float, float2, float3, float4.
+ * @param expo  If expo is not null, each element of expo will be set to the exponent of the corresponding element of v.
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((overloadable))frexp(float v, int* iptr);
+extern float __attribute__((overloadable))frexp(float v, int* expo);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the mantissa and place the exponent into iptr[0]
+/**
+ * Returns the binary mantissa and exponent of v, e.g. v == mantissa * 2 ^ exponent.
+ *
+ * The mantissa is always between 0.5 (inclusive) and 1.0 (exclusive).
+ * See ldexp() for the reverse operation.
  *
  * @param v Supports float, float2, float3, float4.
+ * @param expo  If expo is not null, each element of expo will be set to the exponent of the corresponding element of v.
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((overloadable))frexp(float2 v, int2* iptr);
+extern float2 __attribute__((overloadable))frexp(float2 v, int2* expo);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the mantissa and place the exponent into iptr[0]
+/**
+ * Returns the binary mantissa and exponent of v, e.g. v == mantissa * 2 ^ exponent.
+ *
+ * The mantissa is always between 0.5 (inclusive) and 1.0 (exclusive).
+ * See ldexp() for the reverse operation.
  *
  * @param v Supports float, float2, float3, float4.
+ * @param expo  If expo is not null, each element of expo will be set to the exponent of the corresponding element of v.
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((overloadable))frexp(float3 v, int3* iptr);
+extern float3 __attribute__((overloadable))frexp(float3 v, int3* expo);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the mantissa and place the exponent into iptr[0]
+/**
+ * Returns the binary mantissa and exponent of v, e.g. v == mantissa * 2 ^ exponent.
+ *
+ * The mantissa is always between 0.5 (inclusive) and 1.0 (exclusive).
+ * See ldexp() for the reverse operation.
  *
  * @param v Supports float, float2, float3, float4.
+ * @param expo  If expo is not null, each element of expo will be set to the exponent of the corresponding element of v.
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((overloadable))frexp(float4 v, int4* iptr);
+extern float4 __attribute__((overloadable))frexp(float4 v, int4* expo);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate reciprocal of a value.
+/**
+ * Returns the approximate reciprocal of a value.
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5375,8 +7129,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate reciprocal of a value.
+/**
+ * Returns the approximate reciprocal of a value.
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5384,8 +7140,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate reciprocal of a value.
+/**
+ * Returns the approximate reciprocal of a value.
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5393,8 +7151,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate reciprocal of a value.
+/**
+ * Returns the approximate reciprocal of a value.
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5402,8 +7162,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate value of (1.f / sqrt(value)).
+/**
+ * Returns the approximate value of (1.f / sqrt(value)).
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5411,8 +7173,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate value of (1.f / sqrt(value)).
+/**
+ * Returns the approximate value of (1.f / sqrt(value)).
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5420,8 +7184,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate value of (1.f / sqrt(value)).
+/**
+ * Returns the approximate value of (1.f / sqrt(value)).
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5429,8 +7195,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate value of (1.f / sqrt(value)).
+/**
+ * Returns the approximate value of (1.f / sqrt(value)).
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5438,8 +7206,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate square root of a value.
+/**
+ * Returns the approximate square root of a value.
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5447,8 +7217,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate square root of a value.
+/**
+ * Returns the approximate square root of a value.
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5456,8 +7228,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate square root of a value.
+/**
+ * Returns the approximate square root of a value.
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5465,8 +7239,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 17))
-/*
- * Return the approximate square root of a value.
+/**
+ * Returns the approximate square root of a value.
+ *
+ * The precision is that of a 16 bit floating point value.
  *
  * Supported by API versions 17 and newer.
  */
@@ -5474,8 +7250,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return sqrt(x*x + y*y)
+/**
+ * Returns the hypotenuse, i.e. sqrt(x * x + y * y).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5483,8 +7259,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return sqrt(x*x + y*y)
+/**
+ * Returns the hypotenuse, i.e. sqrt(x * x + y * y).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5492,8 +7268,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return sqrt(x*x + y*y)
+/**
+ * Returns the hypotenuse, i.e. sqrt(x * x + y * y).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5501,8 +7277,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return sqrt(x*x + y*y)
+/**
+ * Returns the hypotenuse, i.e. sqrt(x * x + y * y).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5510,8 +7286,13 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the integer exponent of a value
+/**
+ * Returns the base two exponent of a value, where the mantissa is between 1.f (inclusive) and 2.f (exclusive).
+ *
+ * For example, ilogb(8.5f) returns 3.  Because of the difference in mantissa, this number is one less than
+ * is returned by frexp().
+ *
+ * logb() is similar but returns a float.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5519,8 +7300,13 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the integer exponent of a value
+/**
+ * Returns the base two exponent of a value, where the mantissa is between 1.f (inclusive) and 2.f (exclusive).
+ *
+ * For example, ilogb(8.5f) returns 3.  Because of the difference in mantissa, this number is one less than
+ * is returned by frexp().
+ *
+ * logb() is similar but returns a float.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5528,8 +7314,13 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the integer exponent of a value
+/**
+ * Returns the base two exponent of a value, where the mantissa is between 1.f (inclusive) and 2.f (exclusive).
+ *
+ * For example, ilogb(8.5f) returns 3.  Because of the difference in mantissa, this number is one less than
+ * is returned by frexp().
+ *
+ * logb() is similar but returns a float.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5537,8 +7328,13 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the integer exponent of a value
+/**
+ * Returns the base two exponent of a value, where the mantissa is between 1.f (inclusive) and 2.f (exclusive).
+ *
+ * For example, ilogb(8.5f) returns 3.  Because of the difference in mantissa, this number is one less than
+ * is returned by frexp().
+ *
+ * logb() is similar but returns a float.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5546,92 +7342,103 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x * 2^y)
+/**
+ * Returns the floating point created from the mantissa and exponent, i.e. (mantissa * 2 ^ exponent).
  *
- * @param x Supports 1,2,3,4 components
- * @param y Supports single component or matching vector.
+ * See frexp() for the reverse operation.
+ *
+ * @param mantissa Supports float, float2, float3, and float4.
+ * @param exponent Supports single component or matching vector.
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))ldexp(float x, int y);
+extern float __attribute__((const, overloadable))ldexp(float mantissa, int exponent);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x * 2^y)
+/**
+ * Returns the floating point created from the mantissa and exponent, i.e. (mantissa * 2 ^ exponent).
  *
- * @param x Supports 1,2,3,4 components
- * @param y Supports single component or matching vector.
+ * See frexp() for the reverse operation.
+ *
+ * @param mantissa Supports float, float2, float3, and float4.
+ * @param exponent Supports single component or matching vector.
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))ldexp(float2 x, int2 y);
+extern float2 __attribute__((const, overloadable))ldexp(float2 mantissa, int2 exponent);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x * 2^y)
+/**
+ * Returns the floating point created from the mantissa and exponent, i.e. (mantissa * 2 ^ exponent).
  *
- * @param x Supports 1,2,3,4 components
- * @param y Supports single component or matching vector.
+ * See frexp() for the reverse operation.
+ *
+ * @param mantissa Supports float, float2, float3, and float4.
+ * @param exponent Supports single component or matching vector.
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))ldexp(float3 x, int3 y);
+extern float3 __attribute__((const, overloadable))ldexp(float3 mantissa, int3 exponent);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x * 2^y)
+/**
+ * Returns the floating point created from the mantissa and exponent, i.e. (mantissa * 2 ^ exponent).
  *
- * @param x Supports 1,2,3,4 components
- * @param y Supports single component or matching vector.
+ * See frexp() for the reverse operation.
+ *
+ * @param mantissa Supports float, float2, float3, and float4.
+ * @param exponent Supports single component or matching vector.
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))ldexp(float4 x, int4 y);
+extern float4 __attribute__((const, overloadable))ldexp(float4 mantissa, int4 exponent);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x * 2^y)
+/**
+ * Returns the floating point created from the mantissa and exponent, i.e. (mantissa * 2 ^ exponent).
+ * See frexp() for the reverse operation.
  *
- * @param x Supports 1,2,3,4 components
- * @param y Supports single component or matching vector.
+ * @param mantissa Supports float, float2, float3, and float4.
+ * @param exponent Supports single component or matching vector.
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))ldexp(float2 x, int y);
+extern float2 __attribute__((const, overloadable))ldexp(float2 mantissa, int exponent);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x * 2^y)
+/**
+ * Returns the floating point created from the mantissa and exponent, i.e. (mantissa * 2 ^ exponent).
+ * See frexp() for the reverse operation.
  *
- * @param x Supports 1,2,3,4 components
- * @param y Supports single component or matching vector.
+ * @param mantissa Supports float, float2, float3, and float4.
+ * @param exponent Supports single component or matching vector.
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))ldexp(float3 x, int y);
+extern float3 __attribute__((const, overloadable))ldexp(float3 mantissa, int exponent);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (x * 2^y)
+/**
+ * Returns the floating point created from the mantissa and exponent, i.e. (mantissa * 2 ^ exponent).
+ * See frexp() for the reverse operation.
  *
- * @param x Supports 1,2,3,4 components
- * @param y Supports single component or matching vector.
+ * @param mantissa Supports float, float2, float3, and float4.
+ * @param exponent Supports single component or matching vector.
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))ldexp(float4 x, int y);
+extern float4 __attribute__((const, overloadable))ldexp(float4 mantissa, int exponent);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the length of a vector.
+/**
+ * Computes the length of a vector.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5639,8 +7446,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the length of a vector.
+/**
+ * Computes the length of a vector.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5648,8 +7455,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the length of a vector.
+/**
+ * Computes the length of a vector.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5657,8 +7464,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the length of a vector.
+/**
+ * Computes the length of a vector.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5666,8 +7473,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the log gamma
+/**
+ * Returns the natural logarithm of the absolute value of the gamma function, i.e. log(fabs(gamma(value))).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5675,8 +7482,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the log gamma
+/**
+ * Returns the natural logarithm of the absolute value of the gamma function, i.e. log(fabs(gamma(value))).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5684,8 +7491,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the log gamma
+/**
+ * Returns the natural logarithm of the absolute value of the gamma function, i.e. log(fabs(gamma(value))).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5693,8 +7500,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the log gamma
+/**
+ * Returns the natural logarithm of the absolute value of the gamma function, i.e. log(fabs(gamma(value))).
  *
  * Supported by API versions 9 and newer.
  */
@@ -5702,44 +7509,68 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the log gamma and sign
+/**
+ * Returns the natural logarithm of the absolute value of the gamma function, i.e. log(fabs(gamma(x))).
+ *
+ * Can also return the sign of the gamma function.
+ *
+ * @param x Input value.
+ * @param sign  If sign is not null, each element of sign will be set to -1.f if the gamma of the corresponding element of x is negative, otherwise to 1.f.
+ *
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((overloadable))lgamma(float x, int* y);
+extern float __attribute__((overloadable))lgamma(float x, int* sign);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the log gamma and sign
+/**
+ * Returns the natural logarithm of the absolute value of the gamma function, i.e. log(fabs(gamma(x))).
+ *
+ * Can also return the sign of the gamma function.
+ *
+ * @param x Input value.
+ * @param sign  If sign is not null, each element of sign will be set to -1.f if the gamma of the corresponding element of x is negative, otherwise to 1.f.
+ *
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((overloadable))lgamma(float2 x, int2* y);
+extern float2 __attribute__((overloadable))lgamma(float2 x, int2* sign);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the log gamma and sign
+/**
+ * Returns the natural logarithm of the absolute value of the gamma function, i.e. log(fabs(gamma(x))).
+ *
+ * Can also return the sign of the gamma function.
+ *
+ * @param x Input value.
+ * @param sign  If sign is not null, each element of sign will be set to -1.f if the gamma of the corresponding element of x is negative, otherwise to 1.f.
+ *
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((overloadable))lgamma(float3 x, int3* y);
+extern float3 __attribute__((overloadable))lgamma(float3 x, int3* sign);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the log gamma and sign
+/**
+ * Returns the natural logarithm of the absolute value of the gamma function, i.e. log(fabs(gamma(x))).
+ *
+ * Can also return the sign of the gamma function.
+ *
+ * @param x Input value.
+ * @param sign  If sign is not null, each element of sign will be set to -1.f if the gamma of the corresponding element of x is negative, otherwise to 1.f.
+ *
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((overloadable))lgamma(float4 x, int4* y);
+extern float4 __attribute__((overloadable))lgamma(float4 x, int4* sign);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the natural logarithm.
+/**
+ * Returns the natural logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5747,8 +7578,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the natural logarithm.
+/**
+ * Returns the natural logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5756,8 +7587,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the natural logarithm.
+/**
+ * Returns the natural logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5765,8 +7596,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the natural logarithm.
+/**
+ * Returns the natural logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5774,8 +7605,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the base 10 logarithm.
+/**
+ * Returns the base 10 logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5783,8 +7614,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the base 10 logarithm.
+/**
+ * Returns the base 10 logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5792,8 +7623,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the base 10 logarithm.
+/**
+ * Returns the base 10 logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5801,8 +7632,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the base 10 logarithm.
+/**
+ * Returns the base 10 logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5810,44 +7641,44 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the natural logarithm of (v + 1.0f)
+/**
+ * Returns the natural logarithm of (v + 1.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))log1p(float);
+extern float __attribute__((const, overloadable))log1p(float v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the natural logarithm of (v + 1.0f)
+/**
+ * Returns the natural logarithm of (v + 1.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))log1p(float2);
+extern float2 __attribute__((const, overloadable))log1p(float2 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the natural logarithm of (v + 1.0f)
+/**
+ * Returns the natural logarithm of (v + 1.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))log1p(float3);
+extern float3 __attribute__((const, overloadable))log1p(float3 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the natural logarithm of (v + 1.0f)
+/**
+ * Returns the natural logarithm of (v + 1.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))log1p(float4);
+extern float4 __attribute__((const, overloadable))log1p(float4 v);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the base 2 logarithm.
+/**
+ * Returns the base 2 logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5855,8 +7686,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the base 2 logarithm.
+/**
+ * Returns the base 2 logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5864,8 +7695,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the base 2 logarithm.
+/**
+ * Returns the base 2 logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5873,8 +7704,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the base 2 logarithm.
+/**
+ * Returns the base 2 logarithm.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5882,8 +7713,13 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the exponent of the value.
+/**
+ * Returns the base two exponent of a value, where the mantissa is between 1.f (inclusive) and 2.f (exclusive).
+ *
+ * For example, ilogb(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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5891,8 +7727,13 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the exponent of the value.
+/**
+ * Returns the base two exponent of a value, where the mantissa is between 1.f (inclusive) and 2.f (exclusive).
+ *
+ * For example, ilogb(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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5900,8 +7741,13 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the exponent of the value.
+/**
+ * Returns the base two exponent of a value, where the mantissa is between 1.f (inclusive) and 2.f (exclusive).
+ *
+ * For example, ilogb(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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5909,8 +7755,13 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the exponent of the value.
+/**
+ * Returns the base two exponent of a value, where the mantissa is between 1.f (inclusive) and 2.f (exclusive).
+ *
+ * For example, ilogb(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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -5918,8 +7769,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute (a * b) + c
+/**
+ * Multiply and add.  Returns (a * b) + c.
+ *
+ * This function is identical to fma().
  *
  * Supported by API versions 9 and newer.
  */
@@ -5927,8 +7780,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute (a * b) + c
+/**
+ * Multiply and add.  Returns (a * b) + c.
+ *
+ * This function is identical to fma().
  *
  * Supported by API versions 9 and newer.
  */
@@ -5936,8 +7791,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute (a * b) + c
+/**
+ * Multiply and add.  Returns (a * b) + c.
+ *
+ * This function is identical to fma().
  *
  * Supported by API versions 9 and newer.
  */
@@ -5945,8 +7802,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute (a * b) + c
+/**
+ * Multiply and add.  Returns (a * b) + c.
+ *
+ * This function is identical to fma().
  *
  * Supported by API versions 9 and newer.
  */
@@ -5954,8 +7813,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 9 and newer.
  */
@@ -5963,8 +7822,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 9 and newer.
  */
@@ -5972,8 +7831,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 9 and newer.
  */
@@ -5981,8 +7840,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 9 and newer.
  */
@@ -5990,8 +7849,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6001,8 +7860,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6012,8 +7871,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6023,8 +7882,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6034,8 +7893,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6045,8 +7904,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6056,8 +7915,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6070,8 +7929,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6084,8 +7943,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6098,8 +7957,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6112,8 +7971,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6126,8 +7985,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6140,8 +7999,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6155,8 +8014,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6170,8 +8029,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6185,8 +8044,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6200,8 +8059,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6215,8 +8074,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6230,8 +8089,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6246,8 +8105,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6262,8 +8121,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6278,8 +8137,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6294,8 +8153,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6310,8 +8169,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6326,8 +8185,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6335,8 +8194,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6344,8 +8203,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6353,8 +8212,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6362,8 +8221,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6371,8 +8230,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6380,8 +8239,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6389,8 +8248,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6398,8 +8257,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6407,8 +8266,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6416,8 +8275,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6425,8 +8284,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6434,8 +8293,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6443,8 +8302,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6452,8 +8311,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6461,8 +8320,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6470,8 +8329,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6479,8 +8338,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6488,8 +8347,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6497,8 +8356,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6506,8 +8365,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6515,8 +8374,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6524,8 +8383,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6533,8 +8392,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6542,8 +8401,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6551,8 +8410,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6560,8 +8419,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6569,8 +8428,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6578,8 +8437,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6587,8 +8446,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6596,8 +8455,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6605,8 +8464,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the maximum value from two arguments
+/**
+ * Returns the maximum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6614,8 +8473,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 9 and newer.
  */
@@ -6623,8 +8482,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 9 and newer.
  */
@@ -6632,8 +8491,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 9 and newer.
  */
@@ -6641,8 +8500,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 9 and newer.
  */
@@ -6650,8 +8509,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6661,8 +8520,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6672,8 +8531,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6683,8 +8542,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6694,8 +8553,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6705,8 +8564,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6716,8 +8575,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6730,8 +8589,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6744,8 +8603,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6758,8 +8617,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6772,8 +8631,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6786,8 +8645,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6800,8 +8659,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6815,8 +8674,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6830,8 +8689,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6845,8 +8704,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6860,8 +8719,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6875,8 +8734,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6890,8 +8749,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6906,8 +8765,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6922,8 +8781,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6938,8 +8797,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6954,8 +8813,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6970,8 +8829,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9) && (RS_VERSION <= 19))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Suppored by API versions 9 - 19
  */
@@ -6986,8 +8845,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -6995,8 +8854,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7004,8 +8863,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7013,8 +8872,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7022,8 +8881,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7031,8 +8890,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7040,8 +8899,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7049,8 +8908,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7058,8 +8917,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7067,8 +8926,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7076,8 +8935,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7085,8 +8944,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7094,8 +8953,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7103,8 +8962,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7112,8 +8971,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7121,8 +8980,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7130,8 +8989,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7139,8 +8998,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7148,8 +9007,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7157,8 +9016,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7166,8 +9025,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7175,8 +9034,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7184,8 +9043,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7193,8 +9052,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7202,8 +9061,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7211,8 +9070,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7220,8 +9079,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7229,8 +9088,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7238,8 +9097,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7247,8 +9106,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7256,8 +9115,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7265,8 +9124,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the minimum value from two arguments
+/**
+ * Returns the minimum value from two arguments
  *
  * Supported by API versions 21 and newer.
  */
@@ -7274,8 +9133,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * return start + ((stop - start) * amount)
+/**
+ * Returns start + ((stop - start) * amount).
  *
  * Supported by API versions 9 and newer.
  */
@@ -7283,8 +9142,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * return start + ((stop - start) * amount)
+/**
+ * Returns start + ((stop - start) * amount).
  *
  * Supported by API versions 9 and newer.
  */
@@ -7292,8 +9151,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * return start + ((stop - start) * amount)
+/**
+ * Returns start + ((stop - start) * amount).
  *
  * Supported by API versions 9 and newer.
  */
@@ -7301,8 +9160,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * return start + ((stop - start) * amount)
+/**
+ * Returns start + ((stop - start) * amount).
  *
  * Supported by API versions 9 and newer.
  */
@@ -7310,8 +9169,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * return start + ((stop - start) * amount)
+/**
+ * Returns start + ((stop - start) * amount).
+ *
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -7319,8 +9180,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * return start + ((stop - start) * amount)
+/**
+ * Returns start + ((stop - start) * amount).
+ *
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -7328,8 +9191,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * return start + ((stop - start) * amount)
+/**
+ * Returns start + ((stop - start) * amount).
+ *
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -7337,8 +9202,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the integral and fractional components of a number.
+/**
+ * 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, iret will be set to -3.f and .72f will be returned.
  *
  * @param x Source value
  * @param iret iret[0] will be set to the integral portion of the number.
@@ -7350,8 +9217,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the integral and fractional components of a number.
+/**
+ * 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, iret will be set to -3.f and .72f will be returned.
  *
  * @param x Source value
  * @param iret iret[0] will be set to the integral portion of the number.
@@ -7363,8 +9232,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the integral and fractional components of a number.
+/**
+ * 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, iret will be set to -3.f and .72f will be returned.
  *
  * @param x Source value
  * @param iret iret[0] will be set to the integral portion of the number.
@@ -7376,8 +9247,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the integral and fractional components of a number.
+/**
+ * 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, iret will be set to -3.f and .72f will be returned.
  *
  * @param x Source value
  * @param iret iret[0] will be set to the integral portion of the number.
@@ -7389,8 +9262,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * generate a nan
+/**
+ * Returns a NaN value (Not a Number).
+ *
+ * The argument is embedded into the return value and can be used to distinguish various NaNs.
  *
  * Supported by API versions 9 and newer.
  */
@@ -7398,8 +9273,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acos
+/**
+ * Returns the approximate inverse cosine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7407,8 +9282,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acos
+/**
+ * Returns the approximate inverse cosine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7416,8 +9291,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acos
+/**
+ * Returns the approximate inverse cosine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7425,8 +9300,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acos
+/**
+ * Returns the approximate inverse cosine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7434,8 +9309,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acosh
+/**
+ * Returns the approximate inverse hyperbolic cosine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7443,8 +9318,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acosh
+/**
+ * Returns the approximate inverse hyperbolic cosine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7452,8 +9327,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acosh
+/**
+ * Returns the approximate inverse hyperbolic cosine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7461,8 +9336,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acosh
+/**
+ * Returns the approximate inverse hyperbolic cosine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7470,8 +9345,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acospi
+/**
+ * Returns the approximate inverse cosine in radians, divided by pi.
+ *
+ * To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7479,8 +9356,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acospi
+/**
+ * Returns the approximate inverse cosine in radians, divided by pi.
+ *
+ * To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7488,8 +9367,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acospi
+/**
+ * Returns the approximate inverse cosine in radians, divided by pi.
+ *
+ * To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7497,8 +9378,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * acospi
+/**
+ * Returns the approximate inverse cosine in radians, divided by pi.
+ *
+ * To get an inverse cosine measured in degrees, use acospi(a) * 180.f.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7506,8 +9389,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * asin
+/**
+ * Returns the approximate inverse sine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7515,8 +9398,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * asin
+/**
+ * Returns the approximate inverse sine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7524,8 +9407,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * asin
+/**
+ * Returns the approximate inverse sine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7533,8 +9416,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * asin
+/**
+ * Returns the approximate inverse sine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7542,8 +9425,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * asinh
+/**
+ * Returns the approximate inverse hyperbolic sine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7551,8 +9434,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * asinh
+/**
+ * Returns the approximate inverse hyperbolic sine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7560,8 +9443,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * asinh
+/**
+ * Returns the approximate inverse hyperbolic sine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7569,8 +9452,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * asinh
+/**
+ * Returns the approximate inverse hyperbolic sine, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7578,8 +9461,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the 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.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7587,8 +9472,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the 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.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7596,8 +9483,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the 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.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7605,8 +9494,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the 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.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7614,8 +9505,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent.
+/**
+ * Returns the approximate inverse tangent, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7623,8 +9514,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent.
+/**
+ * Returns the approximate inverse tangent, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7632,8 +9523,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent.
+/**
+ * Returns the approximate inverse tangent, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7641,8 +9532,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent.
+/**
+ * Returns the approximate inverse tangent, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7650,8 +9541,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent of y / x.
+/**
+ * Returns the approximate inverse tangent of y / x, in radians.
+ *
+ * x can be 0.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7659,8 +9552,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent of y / x.
+/**
+ * Returns the approximate inverse tangent of y / x, in radians.
+ *
+ * x can be 0.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7668,8 +9563,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent of y / x.
+/**
+ * Returns the approximate inverse tangent of y / x, in radians.
+ *
+ * x can be 0.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7677,8 +9574,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent of y / x.
+/**
+ * Returns the approximate inverse tangent of y / x, in radians.
+ *
+ * x can be 0.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7686,8 +9585,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent of y / x, divided by PI.
+/**
+ * Returns the approximate inverse tangent of y / x, in radians, divided by pi.
+ *
+ * To get an inverse tangent measured in degrees, use atan2pi(x, y) * 180.f.
+ *
+ * x can be 0.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7695,8 +9598,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent of y / x, divided by PI.
+/**
+ * Returns the approximate inverse tangent of y / x, in radians, divided by pi.
+ *
+ * To get an inverse tangent measured in degrees, use atan2pi(x, y) * 180.f.
+ *
+ * x can be 0.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7704,8 +9611,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent of y / x, divided by PI.
+/**
+ * Returns the approximate inverse tangent of y / x, in radians, divided by pi.
+ *
+ * To get an inverse tangent measured in degrees, use atan2pi(x, y) * 180.f.
+ *
+ * x can be 0.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7713,8 +9624,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse tangent of y / x, divided by PI.
+/**
+ * Returns the approximate inverse tangent of y / x, in radians, divided by pi.
+ *
+ * To get an inverse tangent measured in degrees, use atan2pi(x, y) * 180.f.
+ *
+ * x can be 0.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7722,8 +9637,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse hyperbolic tangent.
+/**
+ * Returns the approximate inverse hyperbolic tangent, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7731,8 +9646,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse hyperbolic tangent.
+/**
+ * Returns the approximate inverse hyperbolic tangent, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7740,8 +9655,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse hyperbolic tangent.
+/**
+ * Returns the approximate inverse hyperbolic tangent, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7749,8 +9664,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the inverse hyperbolic tangent.
+/**
+ * Returns the approximate inverse hyperbolic tangent, in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7758,8 +9673,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the 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.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7767,8 +9684,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the 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.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7776,8 +9695,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the 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.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7785,8 +9706,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the 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.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7794,8 +9717,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cube root.
+/**
+ * Returns the approximate cubic root.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7803,8 +9726,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cube root.
+/**
+ * Returns the approximate cubic root.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7812,8 +9735,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cube root.
+/**
+ * Returns the approximate cubic root.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7821,8 +9744,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cube root.
+/**
+ * Returns the approximate cubic root.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7830,8 +9753,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cosine.
+/**
+ * Returns the approximate cosine of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7839,8 +9762,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cosine.
+/**
+ * Returns the approximate cosine of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7848,8 +9771,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cosine.
+/**
+ * Returns the approximate cosine of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7857,8 +9780,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cosine.
+/**
+ * Returns the approximate cosine of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7866,8 +9789,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hypebolic cosine.
+/**
+ * Returns the approximate hypebolic cosine.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7875,8 +9798,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hypebolic cosine.
+/**
+ * Returns the approximate hypebolic cosine.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7884,8 +9807,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hypebolic cosine.
+/**
+ * Returns the approximate hypebolic cosine.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7893,8 +9816,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hypebolic cosine.
+/**
+ * Returns the approximate hypebolic cosine.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7902,44 +9825,52 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cosine of the value * PI.
+/**
+ * Returns the approximate cosine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the cosine of a value measured in degrees, call cospi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float __attribute__((const, overloadable))native_cospi(float);
+extern float __attribute__((const, overloadable))native_cospi(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cosine of the value * PI.
+/**
+ * Returns the approximate cosine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the cosine of a value measured in degrees, call cospi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float2 __attribute__((const, overloadable))native_cospi(float2);
+extern float2 __attribute__((const, overloadable))native_cospi(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cosine of the value * PI.
+/**
+ * Returns the approximate cosine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the cosine of a value measured in degrees, call cospi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float3 __attribute__((const, overloadable))native_cospi(float3);
+extern float3 __attribute__((const, overloadable))native_cospi(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the cosine of the value * PI.
+/**
+ * Returns the approximate cosine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the cosine of a value measured in degrees, call cospi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float4 __attribute__((const, overloadable))native_cospi(float4);
+extern float4 __attribute__((const, overloadable))native_cospi(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the approximate distance between two points.
+/**
+ * Computes the approximate distance between two points.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7947,8 +9878,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the approximate distance between two points.
+/**
+ * Computes the approximate distance between two points.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7956,8 +9887,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the approximate distance between two points.
+/**
+ * Computes the approximate distance between two points.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7965,8 +9896,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the approximate distance between two points.
+/**
+ * Computes the approximate distance between two points.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7974,8 +9905,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the approximate division result of two values.
+/**
+ * Computes the approximate division result of two values.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7983,8 +9914,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the approximate division result of two values.
+/**
+ * Computes the approximate division result of two values.
  *
  * Supported by API versions 21 and newer.
  */
@@ -7992,8 +9923,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the approximate division result of two values.
+/**
+ * Computes the approximate division result of two values.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8001,8 +9932,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the approximate division result of two values.
+/**
+ * Computes the approximate division result of two values.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8010,10 +9941,10 @@
 #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 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8021,10 +9952,10 @@
 #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 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8032,10 +9963,10 @@
 #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 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8043,10 +9974,10 @@
 #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 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8054,10 +9985,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate exp10
- * valid for inputs -37.f to 37.f
- * Max 8192 ulps of error
+/**
+ * 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8065,10 +9996,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate exp10
- * valid for inputs -37.f to 37.f
- * Max 8192 ulps of error
+/**
+ * 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8076,10 +10007,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate exp10
- * valid for inputs -37.f to 37.f
- * Max 8192 ulps of error
+/**
+ * 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8087,10 +10018,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate exp10
- * valid for inputs -37.f to 37.f
- * Max 8192 ulps of error
+/**
+ * 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8098,10 +10029,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate exp2
- * valid for inputs -125.f to 125.f
- * Max 8192 ulps of error
+/**
+ * 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8109,10 +10040,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate exp2
- * valid for inputs -125.f to 125.f
- * Max 8192 ulps of error
+/**
+ * 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8120,10 +10051,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate exp2
- * valid for inputs -125.f to 125.f
- * Max 8192 ulps of error
+/**
+ * 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8131,10 +10062,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate exp2
- * valid for inputs -125.f to 125.f
- * Max 8192 ulps of error
+/**
+ * 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.
  *
  * Supported by API versions 18 and newer.
  */
@@ -8142,8 +10073,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return (e ^ value) - 1.
+/**
+ * Returns the approximate (e ^ value) - 1.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8151,8 +10082,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return (e ^ value) - 1.
+/**
+ * Returns the approximate (e ^ value) - 1.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8160,8 +10091,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return (e ^ value) - 1.
+/**
+ * Returns the approximate (e ^ value) - 1.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8169,8 +10100,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return (e ^ value) - 1.
+/**
+ * Returns the approximate (e ^ value) - 1.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8178,8 +10109,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return native_sqrt(x*x + y*y)
+/**
+ * Returns the approximate native_sqrt(x*x + y*y)
  *
  * Supported by API versions 21 and newer.
  */
@@ -8187,8 +10118,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return native_sqrt(x*x + y*y)
+/**
+ * Returns the approximate native_sqrt(x*x + y*y)
  *
  * Supported by API versions 21 and newer.
  */
@@ -8196,8 +10127,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return native_sqrt(x*x + y*y)
+/**
+ * Returns the approximate native_sqrt(x*x + y*y)
  *
  * Supported by API versions 21 and newer.
  */
@@ -8205,8 +10136,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return native_sqrt(x*x + y*y)
+/**
+ * Returns the approximate native_sqrt(x*x + y*y)
  *
  * Supported by API versions 21 and newer.
  */
@@ -8214,7 +10145,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
+/**
  * Compute the approximate length of a vector.
  *
  * Supported by API versions 21 and newer.
@@ -8223,7 +10154,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
+/**
  * Compute the approximate length of a vector.
  *
  * Supported by API versions 21 and newer.
@@ -8232,7 +10163,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
+/**
  * Compute the approximate length of a vector.
  *
  * Supported by API versions 21 and newer.
@@ -8241,7 +10172,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
+/**
  * Compute the approximate length of a vector.
  *
  * Supported by API versions 21 and newer.
@@ -8250,8 +10181,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log
+/**
+ * Fast approximate log.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8260,8 +10192,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log
+/**
+ * Fast approximate log.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8270,8 +10203,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log
+/**
+ * Fast approximate log.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8280,8 +10214,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log
+/**
+ * Fast approximate log.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8290,8 +10225,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log10
+/**
+ * Fast approximate log10.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8300,8 +10236,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log10
+/**
+ * Fast approximate log10.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8310,8 +10247,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log10
+/**
+ * Fast approximate log10.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8320,8 +10258,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log10
+/**
+ * Fast approximate log10.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8330,8 +10269,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the natural logarithm of (v + 1.0f)
+/**
+ * Returns the approximate natural logarithm of (v + 1.0f)
  *
  * Supported by API versions 21 and newer.
  */
@@ -8339,8 +10278,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the natural logarithm of (v + 1.0f)
+/**
+ * Returns the approximate natural logarithm of (v + 1.0f)
  *
  * Supported by API versions 21 and newer.
  */
@@ -8348,8 +10287,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the natural logarithm of (v + 1.0f)
+/**
+ * Returns the approximate natural logarithm of (v + 1.0f)
  *
  * Supported by API versions 21 and newer.
  */
@@ -8357,8 +10296,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the natural logarithm of (v + 1.0f)
+/**
+ * Returns the approximate natural logarithm of (v + 1.0f)
  *
  * Supported by API versions 21 and newer.
  */
@@ -8366,8 +10305,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log2
+/**
+ * Fast approximate log2.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8376,8 +10316,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log2
+/**
+ * Fast approximate log2.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8386,8 +10327,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log2
+/**
+ * Fast approximate log2.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8396,8 +10338,9 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
-/*
- * Fast approximate log2
+/**
+ * Fast approximate log2.
+ *
  * It is not accurate for values very close to zero.
  *
  * Supported by API versions 18 and newer.
@@ -8406,8 +10349,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Normalize a vector.
+/**
+ * Approximately normalizes a vector.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8415,8 +10358,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Normalize a vector.
+/**
+ * Approximately normalizes a vector.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8424,8 +10367,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Normalize a vector.
+/**
+ * Approximately normalizes a vector.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8433,8 +10376,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Normalize a vector.
+/**
+ * Approximately normalizes a vector.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8442,10 +10385,12 @@
 #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
+/**
+ * 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.
@@ -8454,10 +10399,12 @@
 #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
+/**
+ * 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.
@@ -8466,10 +10413,12 @@
 #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
+/**
+ * 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.
@@ -8478,10 +10427,12 @@
 #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
+/**
+ * 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.
@@ -8490,8 +10441,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the approximate reciprocal of a value.
+/**
+ * Returns the approximate approximate reciprocal of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8499,8 +10450,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the approximate reciprocal of a value.
+/**
+ * Returns the approximate approximate reciprocal of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8508,8 +10459,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the approximate reciprocal of a value.
+/**
+ * Returns the approximate approximate reciprocal of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8517,8 +10468,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the approximate reciprocal of a value.
+/**
+ * Returns the approximate approximate reciprocal of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8526,8 +10477,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the Nth root of a value.
+/**
+ * Compute the approximate Nth root of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8535,8 +10486,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the Nth root of a value.
+/**
+ * Compute the approximate Nth root of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8544,8 +10495,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the Nth root of a value.
+/**
+ * Compute the approximate Nth root of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8553,8 +10504,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Compute the Nth root of a value.
+/**
+ * Compute the approximate Nth root of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8562,8 +10513,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return (1 / sqrt(value)).
+/**
+ * Returns approximate (1 / sqrt(value)).
  *
  * Supported by API versions 21 and newer.
  */
@@ -8571,8 +10522,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return (1 / sqrt(value)).
+/**
+ * Returns approximate (1 / sqrt(value)).
  *
  * Supported by API versions 21 and newer.
  */
@@ -8580,8 +10531,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return (1 / sqrt(value)).
+/**
+ * Returns approximate (1 / sqrt(value)).
  *
  * Supported by API versions 21 and newer.
  */
@@ -8589,8 +10540,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return (1 / sqrt(value)).
+/**
+ * Returns approximate (1 / sqrt(value)).
  *
  * Supported by API versions 21 and newer.
  */
@@ -8598,8 +10549,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sine of a value specified in radians.
+/**
+ * Returns the approximate sine of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8607,8 +10558,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sine of a value specified in radians.
+/**
+ * Returns the approximate sine of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8616,8 +10567,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sine of a value specified in radians.
+/**
+ * Returns the approximate sine of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8625,8 +10576,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sine of a value specified in radians.
+/**
+ * Returns the approximate sine of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8634,8 +10585,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sine and cosine of a value.
+/**
+ * Returns the approximate sine and cosine of a value.
  *
  * @return sine
  * @param v The incoming value in radians
@@ -8647,8 +10598,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sine and cosine of a value.
+/**
+ * Returns the approximate sine and cosine of a value.
  *
  * @return sine
  * @param v The incoming value in radians
@@ -8660,8 +10611,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sine and cosine of a value.
+/**
+ * Returns the approximate sine and cosine of a value.
  *
  * @return sine
  * @param v The incoming value in radians
@@ -8673,8 +10624,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sine and cosine of a value.
+/**
+ * Returns the approximate sine and cosine of a value.
  *
  * @return sine
  * @param v The incoming value in radians
@@ -8686,8 +10637,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hyperbolic sine of a value specified in radians.
+/**
+ * Returns the approximate hyperbolic sine of a value specified in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8695,8 +10646,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hyperbolic sine of a value specified in radians.
+/**
+ * Returns the approximate hyperbolic sine of a value specified in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8704,8 +10655,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hyperbolic sine of a value specified in radians.
+/**
+ * Returns the approximate hyperbolic sine of a value specified in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8713,8 +10664,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hyperbolic sine of a value specified in radians.
+/**
+ * Returns the approximate hyperbolic sine of a value specified in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8722,44 +10673,52 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sin(v * PI).
+/**
+ * Returns the approximate sine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the sine of a value measured in degrees, call sinpi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float __attribute__((const, overloadable))native_sinpi(float);
+extern float __attribute__((const, overloadable))native_sinpi(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sin(v * PI).
+/**
+ * Returns the approximate sine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the sine of a value measured in degrees, call sinpi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float2 __attribute__((const, overloadable))native_sinpi(float2);
+extern float2 __attribute__((const, overloadable))native_sinpi(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sin(v * PI).
+/**
+ * Returns the approximate sine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the sine of a value measured in degrees, call sinpi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float3 __attribute__((const, overloadable))native_sinpi(float3);
+extern float3 __attribute__((const, overloadable))native_sinpi(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the sin(v * PI).
+/**
+ * Returns the approximate sine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the sine of a value measured in degrees, call sinpi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float4 __attribute__((const, overloadable))native_sinpi(float4);
+extern float4 __attribute__((const, overloadable))native_sinpi(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the aproximate sqrt(v).
+/**
+ * Returns the approximate sqrt(v).
  *
  * Supported by API versions 21 and newer.
  */
@@ -8767,8 +10726,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the aproximate sqrt(v).
+/**
+ * Returns the approximate sqrt(v).
  *
  * Supported by API versions 21 and newer.
  */
@@ -8776,8 +10735,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the aproximate sqrt(v).
+/**
+ * Returns the approximate sqrt(v).
  *
  * Supported by API versions 21 and newer.
  */
@@ -8785,8 +10744,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the aproximate sqrt(v).
+/**
+ * Returns the approximate sqrt(v).
  *
  * Supported by API versions 21 and newer.
  */
@@ -8794,8 +10753,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the tangent of a value.
+/**
+ * Returns the approximate tangent of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8803,8 +10762,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the tangent of a value.
+/**
+ * Returns the approximate tangent of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8812,8 +10771,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the tangent of a value.
+/**
+ * Returns the approximate tangent of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8821,8 +10780,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the tangent of a value.
+/**
+ * Returns the approximate tangent of an angle measured in radians.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8830,8 +10789,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hyperbolic tangent of a value.
+/**
+ * Returns the approximate hyperbolic tangent of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8839,8 +10798,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hyperbolic tangent of a value.
+/**
+ * Returns the approximate hyperbolic tangent of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8848,8 +10807,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hyperbolic tangent of a value.
+/**
+ * Returns the approximate hyperbolic tangent of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8857,8 +10816,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return the hyperbolic tangent of a value.
+/**
+ * Returns the approximate hyperbolic tangent of a value.
  *
  * Supported by API versions 21 and newer.
  */
@@ -8866,44 +10825,52 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return tan(v * PI)
+/**
+ * Returns the approximate tangent of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the tangent of a value measured in degrees, call tanpi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float __attribute__((const, overloadable))native_tanpi(float);
+extern float __attribute__((const, overloadable))native_tanpi(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return tan(v * PI)
+/**
+ * Returns the approximate tangent of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the tangent of a value measured in degrees, call tanpi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float2 __attribute__((const, overloadable))native_tanpi(float2);
+extern float2 __attribute__((const, overloadable))native_tanpi(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return tan(v * PI)
+/**
+ * Returns the approximate tangent of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the tangent of a value measured in degrees, call tanpi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float3 __attribute__((const, overloadable))native_tanpi(float3);
+extern float3 __attribute__((const, overloadable))native_tanpi(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * Return tan(v * PI)
+/**
+ * Returns the approximate tangent of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the tangent of a value measured in degrees, call tanpi(a / 180.f).
  *
  * Supported by API versions 21 and newer.
  */
-extern float4 __attribute__((const, overloadable))native_tanpi(float4);
+extern float4 __attribute__((const, overloadable))native_tanpi(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the next floating point number from x towards y.
+/**
+ * Returns the next floating point number from x towards y.
  *
  * Supported by API versions 9 and newer.
  */
@@ -8911,8 +10878,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the next floating point number from x towards y.
+/**
+ * Returns the next floating point number from x towards y.
  *
  * Supported by API versions 9 and newer.
  */
@@ -8920,8 +10887,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the next floating point number from x towards y.
+/**
+ * Returns the next floating point number from x towards y.
  *
  * Supported by API versions 9 and newer.
  */
@@ -8929,8 +10896,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the next floating point number from x towards y.
+/**
+ * Returns the next floating point number from x towards y.
  *
  * Supported by API versions 9 and newer.
  */
@@ -8938,44 +10905,54 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
+/**
  * Normalize a vector.
  *
+ * For vectors of size 1, returns -1.f for negative values, 0.f for null values, and 1.f for positive values.
+ *
  * 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.
  *
+ * For vectors of size 1, returns -1.f for negative values, 0.f for null values, and 1.f for positive values.
+ *
  * 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.
  *
+ * For vectors of size 1, returns -1.f for negative values, 0.f for null values, and 1.f for positive values.
+ *
  * 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.
  *
+ * For vectors of size 1, returns -1.f for negative values, 0.f for null values, and 1.f for positive values.
+ *
  * 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.
+/**
+ * Returns x raised to the power y, i.e. x ^ y.
+ *
+ * pown() and powr() are similar.  pown() takes an integer exponent. powr() assumes the base to be non-negative.
  *
  * Supported by API versions 9 and newer.
  */
@@ -8983,8 +10960,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return x ^ y.
+/**
+ * Returns x raised to the power y, i.e. x ^ y.
+ *
+ * pown() and powr() are similar.  pown() takes an integer exponent. powr() assumes the base to be non-negative.
  *
  * Supported by API versions 9 and newer.
  */
@@ -8992,8 +10971,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return x ^ y.
+/**
+ * Returns x raised to the power y, i.e. x ^ y.
+ *
+ * pown() and powr() are similar.  pown() takes an integer exponent. powr() assumes the base to be non-negative.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9001,8 +10982,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return x ^ y.
+/**
+ * Returns x raised to the power y, i.e. x ^ y.
+ *
+ * pown() and powr() are similar.  pown() takes an integer exponent. powr() assumes the base to be non-negative.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9010,8 +10993,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return x ^ y.
+/**
+ * Returns x raised to the power y, i.e. x ^ y.
+ *
+ * pow() and powr() are similar.  The both take a float exponent. powr() also assumes the base to be non-negative.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9019,8 +11004,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return x ^ y.
+/**
+ * Returns x raised to the power y, i.e. x ^ y.
+ *
+ * pow() and powr() are similar.  The both take a float exponent. powr() also assumes the base to be non-negative.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9028,8 +11015,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return x ^ y.
+/**
+ * Returns x raised to the power y, i.e. x ^ y.
+ *
+ * pow() and powr() are similar.  The both take a float exponent. powr() also assumes the base to be non-negative.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9037,8 +11026,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return x ^ y.
+/**
+ * Returns x raised to the power y, i.e. x ^ y.
+ *
+ * pow() and powr() are similar.  The both take a float exponent. powr() also assumes the base to be non-negative.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9046,9 +11037,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return x ^ y.
- * x must be >= 0
+/**
+ * Returns x raised to the power y, i.e. x ^ y.  x 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9056,9 +11048,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return x ^ y.
- * x must be >= 0
+/**
+ * Returns x raised to the power y, i.e. x ^ y.  x 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9066,9 +11059,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return x ^ y.
- * x must be >= 0
+/**
+ * Returns x raised to the power y, i.e. x ^ y.  x 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9076,9 +11070,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return x ^ y.
- * x must be >= 0
+/**
+ * Returns x raised to the power y, i.e. x ^ y.  x 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9086,8 +11081,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Convert from degrees to radians.
+/**
+ * Converts from degrees to radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9095,8 +11090,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Convert from degrees to radians.
+/**
+ * Converts from degrees to radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9104,8 +11099,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Convert from degrees to radians.
+/**
+ * Converts from degrees to radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9113,8 +11108,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Convert from degrees to radians.
+/**
+ * Converts from degrees to radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9122,8 +11117,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return round x/y to the nearest integer then compute the remainder.
+/**
+ * Returns the remainder of x / y, where the quotient is rounded towards the nearest integer.
+ *
+ * The function fmod() is similar but rounds toward the closest interger.
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9131,8 +11130,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return round x/y to the nearest integer then compute the remainder.
+/**
+ * Returns the remainder of x / y, where the quotient is rounded towards the nearest integer.
+ *
+ * The function fmod() is similar but rounds toward the closest interger.
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9140,8 +11143,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return round x/y to the nearest integer then compute the remainder.
+/**
+ * Returns the remainder of x / y, where the quotient is rounded towards the nearest integer.
+ *
+ * The function fmod() is similar but rounds toward the closest interger.
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9149,8 +11156,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return round x/y to the nearest integer then compute the remainder.
+/**
+ * Returns the remainder of x / y, where the quotient is rounded towards the nearest integer.
+ *
+ * The function fmod() is similar but rounds toward the closest interger.
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9158,8 +11169,19 @@
 #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.
+/**
+ * Returns the quotient and the remainder of b / c.
+ *
+ * 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, &quot) sets the lowest three bits of quot to 3 and the sign negative.  It returns 0.5f.
+ *
+ * @param b The numerator.
+ * @param c The denominator.
+ * @param *d d[0] will be set to the integer quotient.
+ * @return The remainder, precise only for the low three bits.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9167,8 +11189,19 @@
 #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.
+/**
+ * Returns the quotient and the remainder of b / c.
+ *
+ * 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, &quot) sets the lowest three bits of quot to 3 and the sign negative.  It returns 0.5f.
+ *
+ * @param b The numerator.
+ * @param c The denominator.
+ * @param *d d[0] will be set to the integer quotient.
+ * @return The remainder, precise only for the low three bits.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9176,8 +11209,19 @@
 #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.
+/**
+ * Returns the quotient and the remainder of b / c.
+ *
+ * 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, &quot) sets the lowest three bits of quot to 3 and the sign negative.  It returns 0.5f.
+ *
+ * @param b The numerator.
+ * @param c The denominator.
+ * @param *d d[0] will be set to the integer quotient.
+ * @return The remainder, precise only for the low three bits.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9185,8 +11229,19 @@
 #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.
+/**
+ * Returns the quotient and the remainder of b / c.
+ *
+ * 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, &quot) sets the lowest three bits of quot to 3 and the sign negative.  It returns 0.5f.
+ *
+ * @param b The numerator.
+ * @param c The denominator.
+ * @param *d d[0] will be set to the integer quotient.
+ * @return The remainder, precise only for the low three bits.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9194,8 +11249,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Round to the nearest integral value.
+/**
+ * Rounds to the nearest integral value.
+ *
+ * rint() rounds half values to even.  For example, rint(0.5f) returns 0.f and rint(1.5f) returns 2.f.  Similarly, rint(-0.5f) returns -0.f and rint(-1.5f) returns -2.f.
+ *
+ * round() is similar but rounds away from zero.  trunc() truncates the decimal fraction.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9203,8 +11262,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Round to the nearest integral value.
+/**
+ * Rounds to the nearest integral value.
+ *
+ * rint() rounds half values to even.  For example, rint(0.5f) returns 0.f and rint(1.5f) returns 2.f.  Similarly, rint(-0.5f) returns -0.f and rint(-1.5f) returns -2.f.
+ *
+ * round() is similar but rounds away from zero.  trunc() truncates the decimal fraction.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9212,8 +11275,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Round to the nearest integral value.
+/**
+ * Rounds to the nearest integral value.
+ *
+ * rint() rounds half values to even.  For example, rint(0.5f) returns 0.f and rint(1.5f) returns 2.f.  Similarly, rint(-0.5f) returns -0.f and rint(-1.5f) returns -2.f.
+ *
+ * round() is similar but rounds away from zero.  trunc() truncates the decimal fraction.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9221,8 +11288,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Round to the nearest integral value.
+/**
+ * Rounds to the nearest integral value.
+ *
+ * rint() rounds half values to even.  For example, rint(0.5f) returns 0.f and rint(1.5f) returns 2.f.  Similarly, rint(-0.5f) returns -0.f and rint(-1.5f) returns -2.f.
+ *
+ * round() is similar but rounds away from zero.  trunc() truncates the decimal fraction.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9230,7 +11301,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
+/**
  * Compute the Nth root of a value.
  *
  * Supported by API versions 9 and newer.
@@ -9239,7 +11310,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
+/**
  * Compute the Nth root of a value.
  *
  * Supported by API versions 9 and newer.
@@ -9248,7 +11319,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
+/**
  * Compute the Nth root of a value.
  *
  * Supported by API versions 9 and newer.
@@ -9257,7 +11328,7 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
+/**
  * Compute the Nth root of a value.
  *
  * Supported by API versions 9 and newer.
@@ -9266,8 +11337,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Round to the nearest integral value.  Half values are rounded 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9275,8 +11350,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Round to the nearest integral value.  Half values are rounded 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9284,8 +11363,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Round to the nearest integral value.  Half values are rounded 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9293,8 +11376,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Round to the nearest integral value.  Half values are rounded 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.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9302,8 +11389,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (1 / sqrt(value)).
+/**
+ * Returns (1 / sqrt(value)).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9311,8 +11398,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (1 / sqrt(value)).
+/**
+ * Returns (1 / sqrt(value)).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9320,8 +11407,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (1 / sqrt(value)).
+/**
+ * Returns (1 / sqrt(value)).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9329,8 +11416,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return (1 / sqrt(value)).
+/**
+ * Returns (1 / sqrt(value)).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9338,8 +11425,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sign of a value.
+/**
+ * Returns the sign of a value.
  *
  * if (v < 0) return -1.f;
  * else if (v > 0) return 1.f;
@@ -9351,8 +11438,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sign of a value.
+/**
+ * Returns the sign of a value.
  *
  * if (v < 0) return -1.f;
  * else if (v > 0) return 1.f;
@@ -9364,8 +11451,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sign of a value.
+/**
+ * Returns the sign of a value.
  *
  * if (v < 0) return -1.f;
  * else if (v > 0) return 1.f;
@@ -9377,8 +11464,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sign of a value.
+/**
+ * Returns the sign of a value.
  *
  * if (v < 0) return -1.f;
  * else if (v > 0) return 1.f;
@@ -9390,8 +11477,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sine of a value specified in radians.
+/**
+ * Returns the sine of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9399,8 +11486,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sine of a value specified in radians.
+/**
+ * Returns the sine of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9408,8 +11495,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sine of a value specified in radians.
+/**
+ * Returns the sine of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9417,8 +11504,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sine of a value specified in radians.
+/**
+ * Returns the sine of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9426,10 +11513,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sine and cosine of a value.
+/**
+ * Returns the sine and cosine of a value.
  *
- * @return sine
+ * @return sine of v
  * @param v The incoming value in radians
  * @param *cosptr cosptr[0] will be set to the cosine value.
  *
@@ -9439,10 +11526,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sine and cosine of a value.
+/**
+ * Returns the sine and cosine of a value.
  *
- * @return sine
+ * @return sine of v
  * @param v The incoming value in radians
  * @param *cosptr cosptr[0] will be set to the cosine value.
  *
@@ -9452,10 +11539,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sine and cosine of a value.
+/**
+ * Returns the sine and cosine of a value.
  *
- * @return sine
+ * @return sine of v
  * @param v The incoming value in radians
  * @param *cosptr cosptr[0] will be set to the cosine value.
  *
@@ -9465,10 +11552,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sine and cosine of a value.
+/**
+ * Returns the sine and cosine of a value.
  *
- * @return sine
+ * @return sine of v
  * @param v The incoming value in radians
  * @param *cosptr cosptr[0] will be set to the cosine value.
  *
@@ -9478,8 +11565,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hyperbolic sine of a value specified in radians.
+/**
+ * Returns the hyperbolic sine of x, where x is measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9487,8 +11574,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hyperbolic sine of a value specified in radians.
+/**
+ * Returns the hyperbolic sine of x, where x is measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9496,8 +11583,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hyperbolic sine of a value specified in radians.
+/**
+ * Returns the hyperbolic sine of x, where x is measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9505,8 +11592,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hyperbolic sine of a value specified in radians.
+/**
+ * Returns the hyperbolic sine of x, where x is measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9514,44 +11601,52 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sin(v * PI).
+/**
+ * Returns the sine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the sine of a value measured in degrees, call sinpi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))sinpi(float);
+extern float __attribute__((const, overloadable))sinpi(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sin(v * PI).
+/**
+ * Returns the sine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the sine of a value measured in degrees, call sinpi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))sinpi(float2);
+extern float2 __attribute__((const, overloadable))sinpi(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sin(v * PI).
+/**
+ * Returns the sine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the sine of a value measured in degrees, call sinpi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))sinpi(float3);
+extern float3 __attribute__((const, overloadable))sinpi(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the sin(v * PI).
+/**
+ * Returns the sine of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the sine of a value measured in degrees, call sinpi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))sinpi(float4);
+extern float4 __attribute__((const, overloadable))sinpi(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the square root of a value.
+/**
+ * Returns the square root of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9559,8 +11654,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the square root of a value.
+/**
+ * Returns the square root of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9568,8 +11663,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the square root of a value.
+/**
+ * Returns the square root of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9577,8 +11672,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the square root of a value.
+/**
+ * Returns the square root of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9586,11 +11681,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * if (v < edge)
- * return 0.f;
- * else
- * return 1.f;
+/**
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9598,11 +11692,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * if (v < edge)
- * return 0.f;
- * else
- * return 1.f;
+/**
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9610,11 +11703,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * if (v < edge)
- * return 0.f;
- * else
- * return 1.f;
+/**
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9622,11 +11714,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * if (v < edge)
- * return 0.f;
- * else
- * return 1.f;
+/**
+ * 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).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9634,11 +11725,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * if (v < edge)
- * return 0.f;
- * else
- * return 1.f;
+/**
+ * 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) ? 0.f : atan2(a[i], b) for each element of a vector, you could instead use step(a, b) * atan2(a, b).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9646,11 +11736,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * if (v < edge)
- * return 0.f;
- * else
- * return 1.f;
+/**
+ * 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) ? 0.f : atan2(a[i], b) for each element of a vector, you could instead use step(a, b) * atan2(a, b).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9658,11 +11747,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * if (v < edge)
- * return 0.f;
- * else
- * return 1.f;
+/**
+ * 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) ? 0.f : atan2(a[i], b) for each element of a vector, you could instead use step(a, b) * atan2(a, b).
  *
  * Supported by API versions 9 and newer.
  */
@@ -9670,11 +11758,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * if (v < edge)
- * return 0.f;
- * else
- * return 1.f;
+/**
+ * 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 < b[i]) ? 0.f : atan2(a, b[i]) for each element of a vector, you could instead use step(a, b) * atan2(a, b).
  *
  * Supported by API versions 21 and newer.
  */
@@ -9682,11 +11769,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * if (v < edge)
- * return 0.f;
- * else
- * return 1.f;
+/**
+ * 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 < b[i]) ? 0.f : atan2(a, b[i]) for each element of a vector, you could instead use step(a, b) * atan2(a, b).
  *
  * Supported by API versions 21 and newer.
  */
@@ -9694,11 +11780,10 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 21))
-/*
- * if (v < edge)
- * return 0.f;
- * else
- * return 1.f;
+/**
+ * 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 < b[i]) ? 0.f : atan2(a, b[i]) for each element of a vector, you could instead use step(a, b) * atan2(a, b).
  *
  * Supported by API versions 21 and newer.
  */
@@ -9706,44 +11791,44 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the tangent of a value.
+/**
+ * Returns the tangent of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))tan(float);
+extern float __attribute__((const, overloadable))tan(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the tangent of a value.
+/**
+ * Returns the tangent of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))tan(float2);
+extern float2 __attribute__((const, overloadable))tan(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the tangent of a value.
+/**
+ * Returns the tangent of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))tan(float3);
+extern float3 __attribute__((const, overloadable))tan(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the tangent of a value.
+/**
+ * Returns the tangent of an angle measured in radians.
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))tan(float4);
+extern float4 __attribute__((const, overloadable))tan(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hyperbolic tangent of a value.
+/**
+ * Returns the hyperbolic tangent of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9751,8 +11836,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hyperbolic tangent of a value.
+/**
+ * Returns the hyperbolic tangent of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9760,8 +11845,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hyperbolic tangent of a value.
+/**
+ * Returns the hyperbolic tangent of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9769,8 +11854,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return the hyperbolic tangent of a value.
+/**
+ * Returns the hyperbolic tangent of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9778,44 +11863,52 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return tan(v * PI)
+/**
+ * Returns the tangent of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the tangent of a value measured in degrees, call tanpi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float __attribute__((const, overloadable))tanpi(float);
+extern float __attribute__((const, overloadable))tanpi(float x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return tan(v * PI)
+/**
+ * Returns the tangent of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the tangent of a value measured in degrees, call tanpi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float2 __attribute__((const, overloadable))tanpi(float2);
+extern float2 __attribute__((const, overloadable))tanpi(float2 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return tan(v * PI)
+/**
+ * Returns the tangent of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the tangent of a value measured in degrees, call tanpi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float3 __attribute__((const, overloadable))tanpi(float3);
+extern float3 __attribute__((const, overloadable))tanpi(float3 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Return tan(v * PI)
+/**
+ * Returns the tangent of (x * pi), where (x * pi) is measured in radians.
+ *
+ * To get the tangent of a value measured in degrees, call tanpi(a / 180.f).
  *
  * Supported by API versions 9 and newer.
  */
-extern float4 __attribute__((const, overloadable))tanpi(float4);
+extern float4 __attribute__((const, overloadable))tanpi(float4 x);
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the gamma function of a value.
+/**
+ * Returns the gamma function of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9823,8 +11916,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the gamma function of a value.
+/**
+ * Returns the gamma function of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9832,8 +11925,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the gamma function of a value.
+/**
+ * Returns the gamma function of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9841,8 +11934,8 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * Compute the gamma function of a value.
+/**
+ * Returns the gamma function of a value.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9850,8 +11943,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * ound to integral using truncation.
+/**
+ * Rounds to integral using truncation.
+ *
+ * For example, trunc(1.7f) returns 1.f and trunc(-1.7f) returns -1.f.
+ *
+ * See rint() and round() for other rounding options.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9859,8 +11956,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * ound to integral using truncation.
+/**
+ * Rounds to integral using truncation.
+ *
+ * For example, trunc(1.7f) returns 1.f and trunc(-1.7f) returns -1.f.
+ *
+ * See rint() and round() for other rounding options.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9868,8 +11969,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * ound to integral using truncation.
+/**
+ * Rounds to integral using truncation.
+ *
+ * For example, trunc(1.7f) returns 1.f and trunc(-1.7f) returns -1.f.
+ *
+ * See rint() and round() for other rounding options.
  *
  * Supported by API versions 9 and newer.
  */
@@ -9877,8 +11982,12 @@
 #endif
 
 #if (defined(RS_VERSION) && (RS_VERSION >= 9))
-/*
- * ound to integral using truncation.
+/**
+ * Rounds to integral using truncation.
+ *
+ * For example, trunc(1.7f) returns 1.f and trunc(-1.7f) returns -1.f.
+ *
+ * See rint() and round() for other rounding options.
  *
  * Supported by API versions 9 and newer.
  */
diff --git a/scriptc/rs_element.rsh b/scriptc/rs_element.rsh
index 0230f10..9a53735 100644
--- a/scriptc/rs_element.rsh
+++ b/scriptc/rs_element.rsh
@@ -47,7 +47,7 @@
  * @return sub-element in this element at given index
  */
 extern rs_element __attribute__((overloadable))
-    rsElementGetSubElement(rs_element, uint32_t index);
+    rsElementGetSubElement(rs_element e, uint32_t index);
 
 /**
  * For complex elements, this function will return the length of
@@ -140,4 +140,3 @@
 #endif // (defined(RS_VERSION) && (RS_VERSION >= 16))
 
 #endif // __RS_ELEMENT_RSH__
-
diff --git a/scriptc/rs_matrix.rsh b/scriptc/rs_matrix.rsh
index 34b9532..6faeca1 100644
--- a/scriptc/rs_matrix.rsh
+++ b/scriptc/rs_matrix.rsh
@@ -34,7 +34,7 @@
  * once, multiply the two source matrices, with the first transformation as the
  * right argument.  E.g. to create a transformation matrix that applies the
  * transformation \e s1 followed by \e s2, call
- * </c>rsMatrixLoadMultiply(&combined, &s2, &s1)</c>.
+ * <c>rsMatrixLoadMultiply(&combined, &s2, &s1)</c>.
  * This derives from <em>s2 * (s1 * v)</em>, which is <em>(s2 * s1) * v</em>.
  *
  * \li We have two style of functions to create transformation matrices:
@@ -60,8 +60,6 @@
  *
  * \warning The order of the column and row parameters may be
  * unexpected.
- *
- * @return void
  */
 _RS_RUNTIME void __attribute__((overloadable))
 rsMatrixSet(rs_matrix4x4 *m, uint32_t col, uint32_t row, float v);
@@ -233,7 +231,7 @@
  * To combine two 4x4 transformaton matrices, multiply the second transformation matrix
  * by the first transformation matrix.  E.g. to create a transformation matrix that applies
  * the transformation \e s1 followed by \e s2, call
- * </c>rsMatrixLoadMultiply(&combined, &s2, &s1)</c>.
+ * <c>rsMatrixLoadMultiply(&combined, &s2, &s1)</c>.
  *
  * \warning Prior to version 21, storing the result back into right matrix is not supported and
  * will result in undefined behavior.  Use rsMatrixMulitply instead.   E.g. instead of doing
diff --git a/scriptc/rs_quaternion.rsh b/scriptc/rs_quaternion.rsh
index 4e08d2f..d2ec24c 100644
--- a/scriptc/rs_quaternion.rsh
+++ b/scriptc/rs_quaternion.rsh
@@ -26,6 +26,7 @@
 
 /**
  * Set the quaternion components
+ * @param q destination quaternion
  * @param w component
  * @param x component
  * @param y component
@@ -68,7 +69,7 @@
 /**
  * Add two quaternions
  * @param q destination quaternion to add to
- * @param rsh right hand side quaternion to add
+ * @param rhs right hand side quaternion to add
  */
 static void
 rsQuaternionAdd(rs_quaternion *q, const rs_quaternion *rhs) {
@@ -84,7 +85,7 @@
  * @param rot angle to rotate by
  * @param x component of a vector
  * @param y component of a vector
- * @param x component of a vector
+ * @param z component of a vector
  */
 static void
 rsQuaternionLoadRotateUnit(rs_quaternion *q, float rot, float x, float y, float z) {
@@ -105,7 +106,7 @@
  * @param rot angle to rotate by
  * @param x component of a vector
  * @param y component of a vector
- * @param x component of a vector
+ * @param z component of a vector
  */
 static void
 rsQuaternionLoadRotate(rs_quaternion *q, float rot, float x, float y, float z) {
@@ -223,7 +224,7 @@
 /**
  * Computes rotation matrix from the normalized quaternion
  * @param m resulting matrix
- * @param p normalized quaternion
+ * @param q normalized quaternion
  */
 static void rsQuaternionGetMatrixUnit(rs_matrix4x4 *m, const rs_quaternion *q) {
     float xx = q->x * q->x;
@@ -250,4 +251,3 @@
 }
 
 #endif
-
diff --git a/scriptc/rs_types.rsh b/scriptc/rs_types.rsh
index f1fc60b..998d6ab 100644
--- a/scriptc/rs_types.rsh
+++ b/scriptc/rs_types.rsh
@@ -557,6 +557,11 @@
 } rs_data_kind;
 
 #ifndef __LP64__
+/**
+ * Specifies conditional drawing depending on the comparison of the incoming
+ * depth to that found in the depth buffer.
+ *
+ **/
 typedef enum {
     /**
     * Always drawn