Visible to Intel only — GUID: GUID-10E263B4-9961-4E83-BAFA-610B96C108AA
Visible to Intel only — GUID: GUID-10E263B4-9961-4E83-BAFA-610B96C108AA
Nearest Integer Functions
Many routines in the Intel® oneAPI DPC++/C++ Compiler Math Library are more optimized for Intel® microprocessors than for non-Intel microprocessors.
The mathimf.h header file includes prototypes for Intel® oneAPI DPC++/C++ Compiler Math Library functions.
The math library supports the following nearest integer functions:
FP16 Math Functions have the following requirements:
Version 2021.4 or higher of the Intel® oneAPI DPC++/C++ Compiler.
A next-generation Intel® Xeon® Scalable processor, code name Sapphire Rapids.
ceil
Description: The ceil function returns the smallest integral value not less than x as a floating-point number.
Calling interface:
double ceil(double x);
long double ceill(long double x);
float ceilf(float x);
_Float16 ceilf16(_Float16 x);
floor
Description: The floor function returns the largest integral value not greater than x as a floating-point value.
Calling interface:
double floor(double x);
long double floorl(long double x);
float floorf(float x);
_Float16 floorf16(_Float16 x);
llrint
Description: The llrint function returns the rounded integer value (according to the current rounding direction) as a long long int.
errno: ERANGE, for values too large
Calling interface:
long long int llrint(double x);
long long int llrintl(long double x);
long long int llrintf(float x);
long long int llrintf16(_Float16 x);
llround
Description: The llround function returns the rounded integer value as a long long int.
errno: ERANGE, for values too large
Calling interface:
long long int llround(double x);
long long int llroundl(long double x);
long long int llroundf(float x);
long long int llroundf16(_Float16 x);
lrint
Description: The lrint function returns the rounded integer value (according to the current rounding direction) as a long int.
errno: ERANGE, for values too large
Calling interface:
long int lrint(double x);
long int lrintl(long double x);
long int lrintf(float x);
long int lrintf16(_Float16 x);
lround
Description: The lround function returns the rounded integer value as a long int. Halfway cases are rounded away from zero.
errno: ERANGE, for values too large
Calling interface:
long int lround(double x);
long int lroundl(long double x);
long int lroundf(float x);
long int lroundf16(_Float16 x);
modf
Description: The modf function returns the value of the signed fractional part of x and stores the integral part at *iptr as a floating-point number.
Calling interface:
double modf(double x, double *iptr);
long double modfl(long double x, long double *iptr);
float modff(float x, float *iptr);
_Float16 modff16(_Float16 x, _Float16 *iptr);
nearbyint
Description: The nearbyint function returns the rounded integral value as a floating-point number, using the current rounding direction.
Calling interface:
double nearbyint(double x);
long double nearbyintl(long double x);
float nearbyintf(float x);
_Float16 nearbyintf16(_Float16 x);
rint
Description: The rint function returns the rounded integral value as a floating-point number, using the current rounding direction.
Calling interface:
double rint(double x);
long double rintl(long double x);
float rintf(float x);
_Float16 rintf16(_Float16 x);
round
Description: The round function returns the nearest integral value as a floating-point number. Halfway cases are rounded away from zero.
Calling interface:
double round(double x);
long double roundl(long double x);
float roundf(float x);
_Float16 roundf16(_Float16 x);
trunc
Description: The trunc function returns the truncated integral value as a floating-point number.
Calling interface:
double trunc(double x);
long double truncl(long double x);
float truncf(float x);
_Float16 truncf16(_Float16 x);