# Concurrency::precise_math Namespace

Functions in the `precise_math`

namespace are C99 compliant. Both single precision and double precision versions of each function are included. For example, `acos`

is the double-precision version and `acosf`

is the single-precision version. These functions, including the single-precision functions, require extended double-precision support on the accelerator. You can use the accelerator::supports_double_precision to determine if you can run these functions on a specific accelerator.

## Syntax

```
namespace precise_math;
```

### Parameters

## Members

### Functions

Name | Description |
---|---|

acos | Overloaded. Calculates the arccosine of the argument |

acosf | Calculates the arccosine of the argument |

acosh | Overloaded. Calculates the inverse hyperbolic cosine of the argument |

acoshf | Calculates the inverse hyperbolic cosine of the argument |

asin | Overloaded. Calculates the arcsine of the argument |

asinf | Calculates the arcsine of the argument |

asinh | Overloaded. Calculates the inverse hyperbolic sine of the argument |

asinhf | Calculates the inverse hyperbolic sine of the argument |

atan | Overloaded. Calculates the arctangent of the argument |

atan2 | Overloaded. Calculates the arctangent of _Y/_X |

atan2f | Calculates the arctangent of _Y/_X |

atanf | Calculates the arctangent of the argument |

atanh | Overloaded. Calculates the inverse hyperbolic tangent of the argument |

atanhf | Calculates the inverse hyperbolic tangent of the argument |

cbrt | Overloaded. Computes the real cube root of the argument |

cbrtf | Computes the real cube root of the argument |

ceil | Overloaded. Calculates the ceiling of the argument |

ceilf | Calculates the ceiling of the argument |

copysign | Overloaded. Produces 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 |

cos | Overloaded. Calculates the cosine of the argument |

cosf | Calculates the cosine of the argument |

cosh | Overloaded. Calculates the hyperbolic cosine value of the argument |

coshf | Calculates the hyperbolic cosine value of the argument |

cospi | Overloaded. Calculates the cosine value of pi * _X |

cospif | Calculates the cosine value of pi * _X |

erf | Overloaded. Computes the error function of _X |

erfc | Overloaded. Computes the complementary error function of _X |

erfcf | Computes the complementary error function of _X |

erfcinv | Overloaded. Computes the inverse complementary error function of _X |

erfcinvf | Computes the inverse complementary error function of _X |

erff | Computes the error function of _X |

erfinv | Overloaded. Computes the inverse error function of _X |

erfinvf | Computes the inverse error function of _X |

exp | Overloaded. Calculates the base-e exponential of the argument |

exp10 | Overloaded. Calculates the base-10 exponential of the argument |

exp10f | Calculates the base-10 exponential of the argument |

exp2 | Overloaded. Calculates the base-2 exponential of the argument |

exp2f | Calculates the base-2 exponential of the argument |

expf | Calculates the base-e exponential of the argument |

expm1 | Overloaded. Calculates the base-e exponential of the argument, minus 1 |

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

fabs | Overloaded. Returns the absolute value of the argument |

fabsf | Returns the absolute value of the argument |

fdim | Overloaded. Determines the positive difference between the arguments |

fdimf | Determines the positive difference between the arguments |

floor | Overloaded. Calculates the floor of the argument |

floorf | Calculates the floor of the argument |

fma | Overloaded. Compute (_X * _Y) + _Z, rounded as one ternary operation |

fmaf | Compute (_X * _Y) + _Z, rounded as one ternary operation |

fmax | Overloaded. Determine the maximum numeric value of the arguments |

fmaxf | Determine the maximum numeric value of the arguments |

fmin | Overloaded. Determine the minimum numeric value of the arguments |

fminf | Determine the minimum numeric value of the arguments |

fmod Function (C++ AMP) | Overloaded. Calculates the floating-point remainder of _X/_Y |

fmodf | Calculates the floating-point remainder of _X/_Y |

fpclassify | Overloaded. Classifies the argument value as NaN, infinite, normal, subnormal, zero |

frexp | Overloaded. Gets the mantissa and exponent of _X |

frexpf | Gets the mantissa and exponent of _X |

hypot | Overloaded. Computes 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 |

ilogb | Overloaded. Extract the exponent of _X as a signed int value |

ilogbf | Extract the exponent of _X as a signed int value |

isfinite | Overloaded. Determines whether the argument has a finite value |

isinf | Overloaded. Determines whether the argument is an infinity |

isnan | Overloaded. Determines whether the argument is a NaN |

isnormal | Overloaded. Determines whether the argument is a normal |

ldexp | Overloaded. Computes a real number from the mantissa and exponent |

ldexpf | Computes a real number from the mantissa and exponent |

lgamma | Overloaded. Computes 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 |

log | Overloaded. Calculates the base-e logarithm of the argument |

log10 | Overloaded. Calculates the base-10 logarithm of the argument |

log10f | Calculates the base-10 logarithm of the argument |

log1p | Overloaded. Calculates the base-e logarithm of 1 plus the argument |

log1pf | Calculates the base-e logarithm of 1 plus the argument |

log2 | Overloaded. Calculates the base-2 logarithm of the argument |

log2f | Calculates the base-2 logarithm of the argument |

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

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

logf | Calculates the base-e logarithm of the argument |

modf | Overloaded. Splits _X into fractional and integer parts. |

modff | Splits _X into fractional and integer parts. |

nan | Returns a quiet NaN |

nanf | Returns a quiet NaN |

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

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

nextafter | Overloaded. Determine 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 |

phi | Overloaded. Returns the cumulative distribution function of the argument |

phif | Returns the cumulative distribution function of the argument |

pow | Overloaded. Calculates _X raised to the power of _Y |

powf | Calculates _X raised to the power of _Y |

probit | Overloaded. Returns the inverse cumulative distribution function of the argument |

probitf | Returns the inverse cumulative distribution function of the argument |

rcbrt | Overloaded. Returns the reciprocal of the cube root of the argument |

rcbrtf | Returns the reciprocal of the cube root of the argument |

remainder | Overloaded. Computes the remainder: _X REM _Y |

remainderf | Computes the remainder: _X REM _Y |

remquo | Overloaded. Computes the same remainder as _X REM _Y. Also calculates the lower 23 bits of the integral quotient _X/_Y, and gives that value the same sign as _X/_Y. It stores this signed value in the integer pointed to by _Quo. |

remquof | Computes the same remainder as _X REM _Y. Also calculates the lower 23 bits of the integral quotient _X/_Y, and gives that value the same sign as _X/_Y. It stores this signed value in the integer pointed to by _Quo. |

round | Overloaded. Rounds _X to the nearest integer |

roundf | Rounds _X to the nearest integer |

rsqrt | Overloaded. Returns the reciprocal of the square root of the argument |

rsqrtf | Returns the reciprocal of the square root of the argument |

scalb | Overloaded. Multiplies _X by FLT_RADIX to the power _Y |

scalbf | Multiplies _X by FLT_RADIX to the power _Y |

scalbn | Overloaded. Multiplies _X by FLT_RADIX to the power _Y |

scalbnf | Multiplies _X by FLT_RADIX to the power _Y |

signbit | Overloaded. Determines whether the sign of _X is negative |

signbitf | Determines whether the sign of _X is negative |

sin | Overloaded. Calculates the sine value of the argument |

sincos | Overloaded. Calculates sine and cosine value of _X |

sincosf | Calculates sine and cosine value of _X |

sinf | Calculates the sine value of the argument |

sinh | Overloaded. Calculates the hyperbolic sine value of the argument |

sinhf | Calculates the hyperbolic sine value of the argument |

sinpi | Overloaded. Calculates the sine value of pi * _X |

sinpif | Calculates the sine value of pi * _X |

sqrt | Overloaded. Calculates the squre root of the argument |

sqrtf | Calculates the squre root of the argument |

tan | Overloaded. Calculates the tangent value of the argument |

tanf | Calculates the tangent value of the argument |

tanh | Overloaded. Calculates the hyperbolic tangent value of the argument |

tanhf | Calculates the hyperbolic tangent value of the argument |

tanpi | Overloaded. Calculates the tangent value of pi * _X |

tanpif | Calculates the tangent value of pi * _X |

tgamma | Overloaded. Computes the gamma function of _X |

tgammaf | Computes the gamma function of _X |

trunc | Overloaded. Truncates the argument to the integer component |

truncf | Truncates the argument to the integer component |

## Requirements

**Header:** amp_math.h

**Namespace:** Concurrency