# Concurrency::precise_math namespace functions

Visual Studio 2015

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

## acos Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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

## floor Function

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 Function

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

## fmax Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 parameter)
The integer portion of `_X`, as a floating-point value.

### Return Value

The signed fractional portion of `_X`.

## modff Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 parameter)
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 Function

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 parameter)
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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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 Function

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