# Math.h

math.h és el fitxer de capçalera (.h) on es defineixen els prototips de funció de la llibreria de rutines matemàtiques del llenguatge de programació C que treballen sobre variables en coma flotant.

## Descripció de les funcions

Les funcions que operen amb angles i raons trigonomètriques usen radians com a unitat angular.
En el standard C99 les funcions operen amb variables del tipus double. Per suportar variables tipus float o long double hi ha versions de les funcions que hi afegeixen al nom els sufixes f i l respectivament.
| | Funció | Descripció |
| Funcions de valors absoluts i residus | fabs | retorna el valor absolut d'un valor en coma flotant |
| Funcions de valors absoluts i residus | fmod | retorna el residu d'una divisió en coma flotant |
| Funcions de valors absoluts i residus | remainder | retorna el residu amb signe d'una divisió en coma flotant |
| Funcions de valors absoluts i residus | remquo | retorna el residu d'una divisió en coma flotant i els 3 darrers bits de l'operació de divisió |
| Funcions de valors absoluts i residus | fma | retorna x*y+z sense perdre precisió en operacions intermèdies |
| Funcions de valors absoluts i residus | fmax | retorna el màxim de dos valors en coma flotant |
| Funcions de valors absoluts i residus | fmin | retorna el minim de dos valors en coma flotant |
| Funcions de valors absoluts i residus | fdim | retorna la diferència positiva entre x i y |
| Funcions de valors absoluts i residus | nannanfnanl | retorna un not-a-number (NaN), valor especial assignat a una variable en coma flotant |
| Funcions d'exponencials i logarítmiques | exp | retorna e (base del logaritme natural) elevat a la potència donada |
| Funcions d'exponencials i logarítmiques | exp2 | retorna 2 elevat a la potència donada |
| Funcions d'exponencials i logarítmiques | expm1 | retorna e elevat a la potència donada menys 1 |
| Funcions d'exponencials i logarítmiques | log | retorna el logaritme natural |
| Funcions d'exponencials i logarítmiques | log2 | retorna el logaritme en base 2 |
| Funcions d'exponencials i logarítmiques | log10 | retorna el logaritme en base 10 |
| Funcions d'exponencials i logarítmiques | log1p | retorna el logaritme natural de 1 més el nombre donat |
| Funcions d'exponencials i logarítmiques | ilogb | retorna la part sencera del logaritme en base FLT_RADIX (usualment =2) del valor absolut d'un nombre |
| Funcions d'exponencials i logarítmiques | logb | retorna el logaritme en base FLT_RADIX (usualment =2) |
| Funcions de potencies i arrels | sqrt | retorna l'arrel quadrada |
| Funcions de potencies i arrels | cbrt | retorna l'arrel cúbica |
| Funcions de potencies i arrels | hypot | retorna la hipotenusa d'un triangle rectangle de catets x i y |
| Funcions de potencies i arrels | pow | eleva un nombre a la potència donada |
| Funcions trigonomètriques | sin | retorna el sinus d'un angle expressat en radians |
| Funcions trigonomètriques | cos | retorna el cosinus d'un angle expressat en radians |
| Funcions trigonomètriques | tan | retorna la tangent d'un angle expressat en radians |
| Funcions trigonomètriques | asin | retorna l'arc-sinus |
| Funcions trigonomètriques | acos | retorna l'arc-cosinus |
| Funcions trigonomètriques | atan | retorna l'arc-tangent |
| Funcions trigonomètriques | atan2 | retorna l'arc-tangent en el quadrant correcte, usa dos paràmetres (y i x) |
| Funcions hiperbòliques | sinh | retorna el sinus hiperbòlic |
| Funcions hiperbòliques | cosh | retorna el cosinus hiperbòlic |
| Funcions hiperbòliques | tanh | retorna la tangent hiperbòlica |
| Funcions hiperbòliques | asinh | retorna l'arc-sinus hiperbòlic |
| Funcions hiperbòliques | acosh | retorna l'arc-cosinus hiperbòlic |
| Funcions hiperbòliques | atanh | retorna l'arc-tangent hiperbòlica |
| Funcions Gamma i Error | erf | retorna la funció d'Error |
| Funcions Gamma i Error | erfc | retorna la funció d'Error complementària |
| Funcions Gamma i Error | lgamma | retorna el logaritme natural del valor absolut de la funció Gamma |
| Funcions Gamma i Error | tgamma | retorna la funció Gamma |
| Operacions d'aproximació en sencers de valors en coma flotant | ceil | retorna el sencer més proper, no menor al valor donat |
| Operacions d'aproximació en sencers de valors en coma flotant | floor | retorna el sencer més proper, no major al valor donat |
| Operacions d'aproximació en sencers de valors en coma flotant | trunc | retorna el sencer més proper, no major en valor absolut (valor més proper a 0) al valor donat |
| Operacions d'aproximació en sencers de valors en coma flotant | roundlroundllround | retorna el sencer més proper (si el valor és just entre dos sencers torna el més proper a 0). round retorna tipus double, lround retorna int i llround long long int |
| Operacions d'aproximació en sencers de valors en coma flotant | nearbyint | retorna el sencer més proper usant el mode d'arrodoniment corrent |
| Operacions d'aproximació en sencers de valors en coma flotant | rintlrintllrint | retorna el sencer més proper usant el mode d'arrodoniment corrent amb excepcions si el resultat difereix |
| Funcions de manipulació de coma flotant | frexp | descompon un nombre entre mantisa i potència de 2 |
| Funcions de manipulació de coma flotant | ldexp | multiplica un nombre per una potència de 2 |
| Funcions de manipulació de coma flotant | modf | descompon un nombre en sencer i part fraccional |
| Funcions de manipulació de coma flotant | scalbnscalbln | multiplica un nombre per una potència de FLT_RADIX |
| Funcions de manipulació de coma flotant | nextafternexttoward | amb 2 paràmetres, retorna el següent valor representable com a double després de from en direcció a to |
| Funcions de manipulació de coma flotant | copysign | copia el signe d'un valor de coma flotant |
| Funcions de classificació | fpclassify | categoritza un valor de coma flotant donat |
| Funcions de classificació | isfinite | comprova si el nombre té valor finit |
| Funcions de classificació | isinf | comprova si el nombre és infinit |
| Funcions de classificació | isnan | comprova si el nombre és NaN |
| Funcions de classificació | isnormal | comprova si el nombre és normal |
| Funcions de classificació | signbit | comprova si el nombre és negatiu (retorna no-0 si és negatiu, 0 si és positiu o 0) |

## Enllaços externs

* Documentació de la implementació de math.h de GCC, the GNU Compiler Collection - codi lliure, (en anglès)