Matematika.h

math.h  je hlavičkový soubor standardní knihovny programovacího jazyka C navržený k provádění jednoduchých matematických operací. Většina funkcí zahrnuje použití čísel s pohyblivou řádovou čárkou . C++ také implementuje tyto funkce pro kompatibilitu a všechny jsou obsaženy v hlavičkovém souboru cmath.

Všechny tyto funkce akceptujeme, doublepokud není uvedeno jinak. Pro práci s typy floata long double, se používají funkce s příponami fa , lresp. Všechny funkce, které berou nebo vracejí úhel, pracují v radiánech .

Základní funkce

název Popis
abs Vrátí absolutní hodnotu celého čísla
acos arckosin
asin arcsinus
atan oblouková tečna
atan2 oblouková tečna se dvěma parametry
ceil zaokrouhlení nahoru na nejbližší celé číslo
cos kosinus
cosh hyperbolický kosinus
exp výpočet exponentu
fabs absolutní hodnota ( čísla s pohyblivou řádovou čárkou )
floor zaokrouhlení dolů na nejbližší nižší celé číslo
fmod výpočet zbytku dělení celým číslem pro čísla s plovoucí desetinnou čárkou
frexp rozdělí číslo s pohyblivou řádovou čárkou na mantisu a exponent .
ldexp násobení čísla s plovoucí desetinnou čárkou mocninou celého čísla dvě
log přirozený logaritmus
log10 základ 10 logaritmus
modf(x,p) extrahuje celé číslo a zlomkové části (podmíněné znaménkem) z čísla s plovoucí desetinnou čárkou
pow(x,y) výsledek zvýšení x na mocninu y , x y
sin sinus
sinh hyperbolický sinus
sqrt Odmocnina
tan tečna
tanh hyperbolická tečna

Standardní funkce C++

název Popis
acosh hyperbolický arekosin
asinh hyperbolické oblasti
atanh hyperbolická oblast tečna
cbrt třetí odmocnina
copysign(x,y) vrátí hodnotu, jejíž absolutní hodnota je x , ale jejíž znaménko se shoduje se znaménkem y
erf chybová funkce
erfc volitelná chybová funkce
exp2(x) hodnota 2 zvýšena na x mocnina , 2 x
expm1(x) hodnota funkce e x − 1
fdim(x,y) výpočet kladného rozdílu mezi x a y , fmax( x − y , 0)
fma(x,y,z) funkční hodnota ( x * y ) + z (viz FMA )
fmax(x,y) největší hodnota mezi x a y
fmin(x,y) nejmenší hodnota mezi x a y
hypot(x,y) přepona , sqrt( x ² + y ²)
ilogb exponent čísla s pohyblivou řádovou čárkou převedený naint
lgamma přirozený logaritmus absolutní hodnoty funkce gama
llrint zaokrouhlit na nejbližší celé číslo (vrací long long)
lrint zaokrouhlit na nejbližší celé číslo (vrací long)
llround zaokrouhlit na nejbližší celé číslo ve směru od nuly (vrátí long long)
lround zaokrouhlit na nejbližší celé číslo ve směru od nuly (vrátí long)
log1p(x) přirozený logaritmus 1 + x
log2 základ 2 logaritmus
logb celá část logaritmu x k základu 2
nan(s) vrátí nečíselnou hodnotu 'Není číslo'
nearbyint zaokrouhlení argumentu na celočíselnou hodnotu ve formátu s plovoucí desetinnou čárkou
nextafter(x,y) další nejbližší reprezentovatelný pro x (směrem k y )
nexttoward(x,y) stejné jako nextafter, ale y je typulong double
remainder(x,y) vypočítá zbytek dělení podle IEC 60559
remquo(x,y,p) stejné jako remainder, ale uloží koeficient na ukazatel p (jako int)
rint round to integer (vrací int) s chybou, inexactpokud se výsledek liší od argumentu.
round zaokrouhlit na celé číslo (vrací double)
scalbln(x,n) x * FLT_RADIXn ( n je long)
scalbn(x,n) x * FLT_RADIXn ( n je int)
tgamma funkce gama
trunc vyřazení zlomkové části

Rozšíření XSI

Tyto funkce nejsou popsány v normách ANSI nebo ISO C, ale mohou být v systémech přítomny jako rozšíření X/Open .

název Popis
j0(x) hodnota Besselových funkcí prvního druhu řádů 0 pro argument x
j1(x) hodnota Besselových funkcí prvního druhu řádů 1 pro argument x
jn(n,x) hodnota Besselových funkcí prvního druhu n
scalb(x,y) x * FLT_RADIXy ( typ x a ydouble )
y0(x) hodnota Besselových funkcí druhého druhu řádů 0 pro argument x
y1(x) hodnota Besselových funkcí druhého druhu řádů 1 pro argument x
yn(n,x) hodnota Besselových funkcí druhého druhu n . řádu

Používání konverzních funkcí -string je doublezastaralé ecvtve prospěch . fcvtgcvtsprintf

libm

Pod Linuxem a FreeBSD jsou matematické funkce (deklarované v math.h) uloženy samostatně v matematické knihovně libm. Pokud je tedy použita některá z těchto instrukcí, musí být tato volba předána linkeru při vytváření -lm.

Existuje několik implementací, libmvčetně:

Odkazy