# Concurrency::precise_math namespace functions

## acos

Calculates the arccosine of the argument

``````inline float acos(float _X) restrict(amp);

inline double acos(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the arccosine value of the argument

## acosf

Calculates the arccosine of the argument

``````inline float acosf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the arccosine value of the argument

## acosh

Calculates the inverse hyperbolic cosine of the argument

``````inline float acosh(float _X) restrict(amp);

inline double acosh(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse hyperbolic cosine value of the argument

## acoshf

Calculates the inverse hyperbolic cosine of the argument

``````inline float acoshf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse hyperbolic cosine value of the argument

## asin

Calculates the arcsine of the argument

``````inline float asin(float _X) restrict(amp);

inline double asin(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the arcsine value of the argument

## asinf

Calculates the arcsine of the argument

``````inline float asinf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the arcsine value of the argument

## asinh

Calculates the inverse hyperbolic sine of the argument

``````inline float asinh(float _X) restrict(amp);

inline double asinh(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse hyperbolic sine value of the argument

## asinhf

Calculates the inverse hyperbolic sine of the argument

``````inline float asinhf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse hyperbolic sine value of the argument

## atan

Calculates the arctangent of the argument

``````inline float atan(float _X) restrict(amp);

inline double atan(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the arctangent value of the argument

## atan2

Calculates the arctangent of _Y/_X

``````inline float atan2(
float _Y,
float _X) restrict(amp);

inline double atan2(
double _Y,
double _X) restrict(amp);
``````

### Parameters

_Y
Floating-point value

_X
Floating-point value

### Return Value

Returns the arctangent value of _Y/_X

## atan2f

Calculates the arctangent of _Y/_X

``````inline float atan2f(
float _Y,
float _X) restrict(amp);
``````

### Parameters

_Y
Floating-point value

_X
Floating-point value

### Return Value

Returns the arctangent value of _Y/_X

## atanf

Calculates the arctangent of the argument

``````inline float atanf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the arctangent value of the argument

## atanh

Calculates the inverse hyperbolic tangent of the argument

``````inline float atanh(float _X) restrict(amp);

inline double atanh(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse hyperbolic tangent value of the argument

## atanhf

Calculates the inverse hyperbolic tangent of the argument

``````inline float atanhf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse hyperbolic tangent value of the argument

## cbrt

Computes the real cube root of the argument

``````inline float cbrt(float _X) restrict(amp);

inline double cbrt(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the real cube root of the argument

## cbrtf

Computes the real cube root of the argument

``````inline float cbrtf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the real cube root of the argument

## ceil

Calculates the ceiling of the argument

``````inline float ceil(float _X) restrict(amp);

inline double ceil(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the ceiling of the argument

## ceilf

Calculates the ceiling of the argument

``````inline float ceilf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the ceiling of the argument

## copysign

Produces a value with the magnitude of _X and the sign of _Y

``````inline float copysign(
float _X,
float _Y) restrict(amp);

inline double copysign(
double _X,
double _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Returns a value with the magnitude of _X and the sign of _Y

## copysignf

Produces a value with the magnitude of _X and the sign of _Y

``````inline float copysignf(
float _X,
float _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Returns a value with the magnitude of _X and the sign of _Y

## cos

Calculates the cosine of the argument

``````inline float cos(float _X) restrict(amp);

inline double cos(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the cosine value of the argument

## cosf

Calculates the cosine of the argument

``````inline float cosf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the cosine value of the argument

## cosh

Calculates the hyperbolic cosine value of the argument

``````inline float cosh(float _X) restrict(amp);

inline double cosh(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the hyperbolic cosine value of the argument

## coshf

Calculates the hyperbolic cosine value of the argument

``````inline float coshf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the hyperbolic cosine value of the argument

## cospi

Calculates the cosine value of pi * _X

``````inline float cospi(float _X) restrict(amp);

inline double cospi(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the cosine value of pi * _X

## cospif

Calculates the cosine value of pi * _X

``````inline float cospif(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the cosine value of pi * _X

## erf

Computes the error function of _X

``````inline float erf(float _X) restrict(amp);

inline double erf(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the error function of _X

## erfc

Computes the complementary error function of _X

``````inline float erfc(float _X) restrict(amp);

inline double erfc(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the complementary error function of _X

## erfcf

Computes the complementary error function of _X

``````inline float erfcf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the complementary error function of _X

## erfcinv

Computes the inverse complementary error function of _X

``````inline float erfcinv(float _X) restrict(amp);

inline double erfcinv(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse complementary error function of _X

## erfcinvf

Computes the inverse complementary error function of _X

``````inline float erfcinvf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse complementary error function of _X

## erff

Computes the error function of _X

``````inline float erff(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the error function of _X

## erfinv

Computes the inverse error function of _X

``````inline float erfinv(float _X) restrict(amp);

inline double erfinv(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse error function of _X

## erfinvf

Computes the inverse error function of _X

``````inline float erfinvf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse error function of _X

## exp10

Calculates the base-10 exponential of the argument

``````inline float exp10(float _X) restrict(amp);

inline double exp10(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-10 exponential of the argument

## exp10f

Calculates the base-10 exponential of the argument

``````inline float exp10f(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-10 exponential of the argument

## expm1

Calculates the base-e exponential of the argument, minus 1

``````inline float expm1(float exponent) restrict(amp);

inline double expm1(double exponent) restrict(amp);
``````

### Parameters

exponent
The exponential term n of the mathematical expression `e`n, where `e` is the base of the natural logarithm.

### Return Value

Returns the base-e exponential of the argument, minus 1

## expm1f

Calculates the base-e exponential of the argument, minus 1

``````inline float expm1f(float exponent) restrict(amp);
``````

### Parameters

exponent
The exponential term n of the mathematical expression `e`n, where `e` is the base of the natural logarithm.

### Return Value

Returns the base-e exponential of the argument, minus 1

## exp

Calculates the base-e exponential of the argument

``````inline float exp(float _X) restrict(amp);

inline double exp(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-e exponential of the argument

## expf

Calculates the base-e exponential of the argument

``````inline float expf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-e exponential of the argument

## exp2

Calculates the base-2 exponential of the argument

``````inline float exp2(float _X) restrict(amp);

inline double exp2(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-2 exponential of the argument

## exp2f

Calculates the base-2 exponential of the argument

``````inline float exp2f(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-2 exponential of the argument

## fabs

Returns the absolute value of the argument

``````inline float fabs(float _X) restrict(amp);

inline double fabs(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the absolute value of the argument

## fabsf

Returns the absolute value of the argument

``````inline float fabsf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the absolute value of the argument

## fdim

Computes the positive difference between the arguments.

``````inline float fdim(
float _X,
float _Y
) restrict(amp);
inline double fdim(
double _X,
double _Y
) restrict(amp);
``````

### Parameters

_X
Floating-point value _Y
Floating-point value

### Return Value

The difference between _X and _Y if _X is greater than _Y; otherwise, +0.

## fdimf

Computes the positive difference between the arguments.

``````inline float fdimf(
float _X,
float _Y
) restrict(amp);
``````

### Parameters

_X
Floating-point value _Y
Floating-point value

### Return Value

The difference between _X and _Y if _X is greater than _Y; otherwise, +0.

## floor

Calculates the floor of the argument

``````inline float floor(float _X) restrict(amp);

inline double floor(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the floor of the argument

## floorf

Calculates the floor of the argument

``````inline float floorf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the floor of the argument

## fma

Computes the product of the first and second specified arguments, then adds the third specified argument to the result; the entire computation is performed as a single operation.

``````inline float fma(
float _X,
float _Y,
float _Z
) restrict(amp);

inline double fma(
double _X,
double _Y,
double _Z
) restrict(amp);
``````

### Parameters

_X
The first floating-point argument. _Y
The second floating-point argument. _Z
The third floating-point argument.

### Return Value

The result of the expression (_X * _Y) + _Z. The entire computation is performed as a single operation; that is, the sub-expressions are calculated to infinite precision, and only the final result is rounded.

## fmaf

Computes the product of the first and second specified arguments, then adds the third specified argument to the result; the entire computation is performed as a single operation.

``````inline float fmaf(
float _X,
float _Y,
float _Z
) restrict(amp);
``````

### Parameters

_X
The first floating-point argument. _Y
The second floating-point argument. _Z
The third floating-point argument.

### Return Value

The result of the expression (_X * _Y) + _Z. The entire computation is performed as a single operation; that is, the sub-expressions are calculated to infinite precision, and only the final result is rounded.

## fmax

Determine the maximum numeric value of the arguments

``````inline float fmax(
float _X,
float _Y) restrict(amp);

inline double fmax(
double _X,
double _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Return the maximum numeric value of the arguments

## fmaxf

Determine the maximum numeric value of the arguments

``````inline float fmaxf(
float _X,
float _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Return the maximum numeric value of the arguments

## fmin

Determine the minimum numeric value of the arguments

``````inline float fmin(
float _X,
float _Y) restrict(amp);

inline double fmin(
double _X,
double _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Return the minimum numeric value of the arguments

## fminf

Determine the minimum numeric value of the arguments

``````inline float fminf(
float _X,
float _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Return the minimum numeric value of the arguments

## fmod Function (C++ AMP)

Computes the remainder of the first specified argument divided by the second specified argument.

``````inline float fmod(
float _X,
float _Y) restrict(amp);

inline double fmod(
double _X,
double _Y) restrict(amp);
``````

### Parameters

_X
The first floating-point argument.

_Y
The second floating-point argument.

### Return Value

The remainder of `_X` divided by `_Y`; that is, the value of `_X` - `_Y`n, where n is a whole integer such that the magnitude of `_X` - `_Y`n is less than the magnitude of `_Y`.

## fmodf

Computes the remainder of the first specified argument divided by the second specified argument.

``````inline float fmodf(
float _X,
float _Y) restrict(amp);
``````

### Parameters

_X
The first floating-point argument.

_Y
The second floating-point argument.

### Return Value

The remainder of `_X` divided by `_Y`; that is, the value of `_X` - `_Y`n, where n is a whole integer such that the magnitude of `_X` - `_Y`n is less than the magnitude of `_Y`.

## fpclassify

Classifies the argument value as NaN, infinite, normal, subnormal, zero

``````inline int fpclassify(float _X) restrict(amp);

inline int fpclassify(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the value of the number classification macro appropriate to the value of the argument.

## frexp

Gets the mantissa and exponent of _X

``````inline float frexp(
float _X,
_Out_ int* _Exp) restrict(amp);

inline double frexp(
double _X,
_Out_ int* _Exp) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Exp
Returns the integer exponent of _X in floating-point value

### Return Value

Returns the mantissa _X

## frexpf

Gets the mantissa and exponent of _X

``````inline float frexpf(
float _X,
_Out_ int* _Exp) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Exp
Returns the integer exponent of _X in floating-point value

### Return Value

Returns the mantissa _X

## hypot

Computes the square root of the sum of the squares of _X and _Y

``````inline float hypot(
float _X,
float _Y) restrict(amp);

inline double hypot(
double _X,
double _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Returns the square root of the sum of the squares of _X and _Y

## hypotf

Computes the square root of the sum of the squares of _X and _Y

``````inline float hypotf(
float _X,
float _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Returns the square root of the sum of the squares of _X and _Y

## ilogb

Extract the exponent of _X as a signed int value

``````inline int ilogb(float _X) restrict(amp);

inline int ilogb(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the exponent of _X as a signed int value

## ilogbf

Extract the exponent of _X as a signed int value

``````inline int ilogbf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the exponent of _X as a signed int value

## isfinite

Determines whether the argument has a finite value

``````inline int isfinite(float _X) restrict(amp);

inline int isfinite(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns a nonzero value if and only if the argument has a finite value

## isinf

Determines whether the argument is an infinity

``````inline int isinf(float _X) restrict(amp);

inline int isinf(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns a nonzero value if and only if the argument has an infinite value

## isnan

Determines whether the argument is a NaN

``````inline int isnan(float _X) restrict(amp);

inline int isnan(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns a nonzero value if and only if the argument has a NaN value

## isnormal

Determines whether the argument is a normal

``````inline int isnormal(float _X) restrict(amp);

inline int isnormal(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns a nonzero value if and only if the argument has a normal value

## ldexp

Computes a real number from the specified mantissa and exponent.

``````inline float ldexp(
float _X,
int _Exp) restrict(amp);

inline double ldexp(
double _X,
double _Exp) restrict(amp);
``````

### Parameters

_X
Floating-point value, mantissa

_Exp
Integer value, exponent

### Return Value

Returns _X * 2^_Exp

## ldexpf

Computes a real number from the specified mantissa and exponent.

``````inline float ldexpf(
float _X,
int _Exp) restrict(amp);
``````

### Parameters

_X
Floating-point value, mantissa

_Exp
Integer value, exponent

### Return Value

Returns _X * 2^_Exp

## lgamma

Computes the natural logarithm of the absolute value of gamma of the argument

``````inline float lgamma(
float _X,
_Out_ int* _Sign) restrict(amp);

inline double lgamma(
double _X,
_Out_ int* _Sign) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Sign
Returns the sign

### Return Value

Returns the natural logarithm of the absolute value of gamma of the argument

## lgammaf

Computes the natural logarithm of the absolute value of gamma of the argument

``````inline float lgammaf(
float _X,
_Out_ int* _Sign) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Sign
Returns the sign

### Return Value

Returns the natural logarithm of the absolute value of gamma of the argument

## log

Calculates the base-e logarithm of the argument

``````inline float log(float _X) restrict(amp);

inline double log(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-e logarithm of the argument

## log10

Calculates the base-10 logarithm of the argument

``````inline float log10(float _X) restrict(amp);

inline double log10(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-10 logarithm of the argument

## log10f

Calculates the base-10 logarithm of the argument

``````inline float log10f(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-10 logarithm of the argument

## log1p

Calculates the base-e logarithm of 1 plus the argument

``````inline float log1p(float _X) restrict(amp);

inline double log1p(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-e logarithm of 1 plus the argument

## log1pf

Calculates the base-e logarithm of 1 plus the argument

``````inline float log1pf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-e logarithm of 1 plus the argument

## log2

Calculates the base-2 logarithm of the argument

``````inline float log2(float _X) restrict(amp);

inline double log2(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-10 logarithm of the argument

## log2f

Calculates the base-2 logarithm of the argument

``````inline float log2f(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-10 logarithm of the argument

## logb

Extracts the exponent of _X, as a signed integer value in floating-point format

``````inline float logb(float _X) restrict(amp);

inline double logb(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the signed exponent of _X

## logbf

Extracts the exponent of _X, as a signed integer value in floating-point format

``````inline float logbf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the signed exponent of _X

## logf

Calculates the base-e logarithm of the argument

``````inline float logf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the base-e logarithm of the argument

## modf

Splits the specified argument into fractional and integer parts.

``````inline float modf(
float _X,
_Out_ float* _Iptr) restrict(amp);

inline double modf(
double _X,
_Out_ double* _Iptr) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Iptr
[out] The integer portion of `_X`, as a floating-point value.

### Return Value

The signed fractional portion of `_X`.

## modff

Splits the specified argument into fractional and integer parts.

``````inline float modff(
float _X,
_Out_ float* _Iptr) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Iptr
The integer portion of `_X`, as a floating-point value.

### Return Value

Returns the signed fractional portion of `_X`.

## nan

Returns a quiet NaN

``````inline double nan(int _X) restrict(amp);
``````

_X
Integer value

### Return Value

Returns a quiet NaN, if available, with the content indicated in _X

## nanf

Returns a quiet NaN

``````inline float nanf(int _X) restrict(amp);
``````

_X
Integer value

### Return Value

Returns a quiet NaN, if available, with the content indicated in _X

## nearbyint

Rounds the argument to an integer value in floating-point format, using the current rounding direction.

``````inline float nearbyint(float _X) restrict(amp);

inline double nearbyint(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the rounded integer value.

## nearbyintf

Rounds the argument to an integer value in floating-point format, using the current rounding direction.

``````inline float nearbyintf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the rounded integer value.

## nextafter

Determine the next representable value, in the type of the function, after _X in the direction of _Y

``````inline float nextafter(
float _X,
float _Y) restrict(amp);

inline double nextafter(
double _X,
double _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Returns the next representable value, in the type of the function, after _X in the direction of _Y

## nextafterf

Determine the next representable value, in the type of the function, after _X in the direction of _Y

``````inline float nextafterf(
float _X,
float _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Returns the next representable value, in the type of the function, after _X in the direction of _Y

## phi

Returns the cumulative distribution function of the argument

``````inline float phi(float _X) restrict(amp);

inline double phi(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the cumulative distribution function of the argument

## phif

Returns the cumulative distribution function of the argument

``````inline float phif(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the cumulative distribution function of the argument

## pow

Calculates _X raised to the power of _Y

``````inline float pow(
float _X,
float _Y) restrict(amp);

inline double pow(
double _X,
double _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value, base

_Y
Floating-point value, exponent

## powf

Calculates _X raised to the power of _Y

``````inline float powf(
float _X,
float _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value, base

_Y
Floating-point value, exponent

## probit

Returns the inverse cumulative distribution function of the argument

``````inline float probit(float _X) restrict(amp);

inline double probit(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse cumulative distribution function of the argument

## probitf

Returns the inverse cumulative distribution function of the argument

``````inline float probitf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the inverse cumulative distribution function of the argument

## rcbrt

Returns the reciprocal of the cube root of the argument

``````inline float rcbrt(float _X) restrict(amp);

inline double rcbrt(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the reciprocal of the cube root of the argument

## rcbrtf

Returns the reciprocal of the cube root of the argument

``````inline float rcbrtf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the reciprocal of the cube root of the argument

## remainder

Computes the remainder: _X REM _Y

``````inline float remainder(
float _X,
float _Y) restrict(amp);

inline double remainder(
double _X,
double _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Returns _X REM _Y

## remainderf

Computes the remainder: _X REM _Y

``````inline float remainderf(
float _X,
float _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Returns _X REM _Y

## remquo

Computes the remainder of the first specified argument divided by the second specified argument. Also computes the quotient of the significand of the first specified argument divided by the significand of the second specified argument, and returns the quotient using the location specified in the third argument.

``````inline float remquo(
float _X,
float _Y,
_Out_ int* _Quo) restrict(amp);

inline double remquo(
double _X,
double _Y,
_Out_ int* _Quo) restrict(amp);
``````

### Parameters

_X
The first floating-point argument.

_Y
The second floating-point argument.

_Quo
[out] The address of an integer that's used to return the quotient of the fractional bits of `_X` divided by the fractional bits of `_Y`.

### Return Value

Returns the remainder of `_X` divided by `_Y`.

## remquof

Computes the remainder of the first specified argument divided by the second specified argument. Also computes the quotient of the significand of the first specified argument divided by the significand of the second specified argument, and returns the quotient using the location specified in the third argument.

``````inline float remquof(
float _X,
float _Y,
_Out_ int* _Quo) restrict(amp);
``````

### Parameters

_X
The first floating-point argument.

_Y
The second floating-point argument.

_Quo
[out] The address of an integer that's used to return the quotient of the fractional bits of `_X` divided by the fractional bits of `_Y`.

### Return Value

Returns the remainder of `_X` divided by `_Y`.

## round

Rounds _X to the nearest integer

``````inline float round(float _X) restrict(amp);

inline double round(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the nearest integer of _X

## roundf

Rounds _X to the nearest integer

``````inline float roundf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the nearest integer of _X

## rsqrt

Returns the reciprocal of the square root of the argument

``````inline float rsqrt(float _X) restrict(amp);

inline double rsqrt(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the reciprocal of the square root of the argument

## rsqrtf

Returns the reciprocal of the square root of the argument

``````inline float rsqrtf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the reciprocal of the square root of the argument

## scalb

Multiplies _X by FLT_RADIX to the power _Y

``````inline float scalb(
float _X,
float _Y) restrict(amp);

inline double scalb(
double _X,
double _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Returns _X * (FLT_RADIX ^ _Y)

## scalbf

Multiplies _X by FLT_RADIX to the power _Y

``````inline float scalbf(
float _X,
float _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Floating-point value

### Return Value

Returns _X * (FLT_RADIX ^ _Y)

## scalbn

Multiplies _X by FLT_RADIX to the power _Y

``````inline float scalbn(
float _X,
int _Y) restrict(amp);

inline double scalbn(
double _X,
int _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Integer value

### Return Value

Returns _X * (FLT_RADIX ^ _Y)

## scalbnf

Multiplies _X by FLT_RADIX to the power _Y

``````inline float scalbnf(
float _X,
int _Y) restrict(amp);
``````

### Parameters

_X
Floating-point value

_Y
Integer value

### Return Value

Returns _X * (FLT_RADIX ^ _Y)

## signbit

Determines whether the sign of _X is negative

``````inline int signbit(float _X) restrict(amp);

inline int signbit(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns a nonzero value if and only if the sign of _X is negative

## signbitf

Determines whether the sign of _X is negative

``````inline int signbitf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns a nonzero value if and only if the sign of _X is negative

## sin

Calculates the sine value of the argument

``````inline float sin(float _X) restrict(amp);

inline double sin(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the sine value of the argument

## sinf

Calculates the sine value of the argument

``````inline float sinf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the sine value of the argument

## sincos

Calculates sine and cosine value of _X

``````inline void sincos(
float _X,
_Out_ float* _S,
_Out_ float* _C) restrict(amp);

inline void sincos(
double _X,
_Out_ double* _S,
_Out_ double* _C) restrict(amp);
``````

### Parameters

_X
Floating-point value

_S
Returns the sine value of _X

_C
Returns the cosine value of _X

## sincosf

Calculates sine and cosine value of _X

``````inline void sincosf(
float _X,
_Out_ float* _S,
_Out_ float* _C) restrict(amp);
``````

### Parameters

_X
Floating-point value

_S
Returns the sine value of _X

_C
Returns the cosine value of _X

## sinh

Calculates the hyperbolic sine value of the argument

``````inline float sinh(float _X) restrict(amp);

inline double sinh(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the hyperbolic sine value of the argument

## sinhf

Calculates the hyperbolic sine value of the argument

``````inline float sinhf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the hyperbolic sine value of the argument

## sinpi

Calculates the sine value of pi * _X

``````inline float sinpi(float _X) restrict(amp);

inline double sinpi(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the sine value of pi * _X

## sinpif

Calculates the sine value of pi * _X

``````inline float sinpif(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the sine value of pi * _X

## sqrt

Calculates the squre root of the argument

``````inline float sqrt(float _X) restrict(amp);

inline double sqrt(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the squre root of the argument

## sqrtf

Calculates the squre root of the argument

``````inline float sqrtf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the squre root of the argument

## tan

Calculates the tangent value of the argument

``````inline float tan(float _X) restrict(amp);

inline double tan(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the tangent value of the argument

## tanf

Calculates the tangent value of the argument

``````inline float tanf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the tangent value of the argument

## tanh

Calculates the hyperbolic tangent value of the argument

``````inline float tanh(float _X) restrict(amp);

inline double tanh(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the hyperbolic tangent value of the argument

## tanhf

Calculates the hyperbolic tangent value of the argument

``````inline float tanhf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the hyperbolic tangent value of the argument

## tanpi

Calculates the tangent value of pi * _X

``````inline float tanpi(float _X) restrict(amp);

inline double tanpi(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the tangent value of pi * _X

## tanpif

Calculates the tangent value of pi * _X

``````inline float tanpif(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the tangent value of pi * _X

## tgamma

Computes the gamma function of _X

``````inline float tgamma(float _X) restrict(amp);

inline double tgamma(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the result of gamma function of _X

## tgammaf

Computes the gamma function of _X

``````inline float tgammaf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the result of gamma function of _X

## trunc

Truncates the argument to the integer component

``````inline float trunc(float _X) restrict(amp);

inline double trunc(double _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the integer component of the argument

## truncf

Truncates the argument to the integer component

``````inline float truncf(float _X) restrict(amp);
``````

### Parameters

_X
Floating-point value

### Return Value

Returns the integer component of the argument