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-Bibliotheksfunktionen, die IEEE-Gleitpunktzahlen unterstützen

&pagelevel(5)&pagelevel

Im C-Laufzeitsystem gibt es zu jeder Funktion, die mit Gleitpunktzahlen arbeitet oder eine Gleitpunktzahl zurückliefert,

  • eine Implementierung der Funktion mit /390-Arithmetik,

  • eine Implementierung der Funktion mit IEEE-Arithmetik,

  • ein Makro-Define, das die Originalfunktion (/390-Funktion) auf die zugehörige IEEE-Funktion abbildet.

Prototyp einer IEEE-Funktion und zugehöriges Define sind in derselben Include-Datei abgelegt, in der auch die korrespondierende Originalfunktion deklariert ist. Dies hat den Vorteil, dass, außer ggf. <ieee_390.h> (siehe "Explizite Konvertierung von Gleitpunktzahlen"), für die Nutzung der IEEE-Gleitpunkt-Arithmetik keine zusätzlichen Include-Dateien benötigt werden.

Namen der IEEE-Funktionen

Die Namen der IEEE-Funktionen sind nach folgender Syntax aufgebaut:

__originalfunktion_ieee()

Dabei ist für originalfunktion der Name der Originalfunktion einzusetzen.

Die IEEE-Variante von sin() beispielsweise lautet __sin_ieee().

C-Bibliotheksfunktionen, zu denen es eine IEEE-Funktion gibt

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()





Für die folgenden Funktionen werden die IEEE-Prototypen nur im Sprachmodus C11 bzw. C++ 2017 generiert:

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()