Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

C library functions that support IEEE floating-point numbers

&pagelevel(5)&pagelevel

For every function that works with floating-point numbers or returns a floating-point number, the C runtime system offers:

  • an implementation of the function with /390 arithmetic

  • an implementation of the function with IEEE arithmetic

  • a macro define that maps the original function (/390 function) to the associated IEEE function

The prototype of an IEEE function and the associated define are stored in the include file in which the corresponding original function is declared. This has the advantage that no additional include files are required in order to use the IEEE floating-point arithmetic, with the possible exception of <ieee_390.h> (see "Explicit conversion of floating-point numbers").

Names of the IEEE functions

The syntax of the names of the IEEE functions is as follows:

__originalfunction_ieee()

The name of the original function should be specified for originalfunction.

The IEEE variant of sin(), for example, is __sin_ieee().

C library functions for which there is an IEEE function

acos()

acosh()

asin()

asinh()

atan()

atanh()

atan2()

atof()

cbrt()

ceil()

ceilf()

ceill()

cos()

cosh()

difftime()

difftime64()

ecvt()

ecvt_r()

erf()

erfc()

exp()

expm1()

fabs()

fcvt()

fcvt_r()

floor()

floorf()

floorl()

fmod()

fprintf()

frexp()

fscanf()

gamma()

gcvt()

hypot()

ilogb()

j0()

j1()

jn()

ldexp()

lgamma()

llrint()

llrintf()

llrintl()

llround()

llroundf()

llroundl()

log()

log10()

log1p()

logb()

lrint()

lrintf()

lrintfl()

lround()

lroundf()

lroundl()

modf()

modff()

modfl()

nextafter()

pow()

printf()

remainder()

rint()

rintf()

rintl()

round()

roundf()

roundl()

scalb()

sin()

sinh()

snprintf()

sprintf()

sqrt()

sscanf()

snprintf()

sprintf()

sqrt()

sscanf()

strtod()

strtof()

strtold()

tan()

tanh()

vfprintf()

vfscanf()

vprintf()

vscanf()

vsnprintf()

vsprintf()

vsscanf()

y0()

y1(n)

yn()





For the following functions, the IEEE prototypes are only generated in the language mode C11 or C ++ 2017:

acosf()

acosl()

acoshf()

acoshl()

asinf()

asinl()

asinhf()

asinhl()

atanf()

atanl()

atanhf()

atanhl()

atan2f()

atan2l()

cbrtf()

cbrtl()

copysign()

copysignf()

copysignl()

cosf()

cosl()

coshf()

coshl()

erff()

erfl()

erfcf()

erfcl()

expf()

expl()

expm1f()

expm1l()

exp2()

exp2f()

exp2l()

fabsf()

fabsl()

fdim()

fdimf()

fdiml()

fmax()

fmaxf()

fmaxl()

fmin()

fminf()

fminl()

fmodf()

fmodl()

frexpf()

frexpl()

hypotf()

hypotl()

ilogbf()

ilogbl()

ldexpf()

ldexpl()

lgammaf()

lgammal()

logf()

logl()

log10f()

log10l()

log1pf()

log1pl()

log2()

log2f()

log2l()

logbf()

logbl()

nearbyint()

nearbyintf()

nearbyintl()

nextafterf()

nextafterl()

nexttoward()

nexttowardf()

nexttowardl()

powf()

powl()

remainderf()

remainderl()

remquo()

remquof()

remquol()

scalbln()

scalblnf()

scalblnl()

scalbn()

scalbnf()

scalbnl()

sinf()

sinl()

sinhf()

sinhl()

sqrtf()

sqrtl()

tanf()

tanl()

tanhf()

tanhl()

tgamma()

tgammaf()

tgammal()

trunc()

truncf()

truncl()