The **math.h header file** includes C standard library functions to perform common mathematical operations and transformations. It contains *Trigonometric, Exponential, logarithmic, Rounding off* functions etc.

All the functions math.h library take double as input argument and return a double. Even if we pass a float value, it gets promoted(type casted) to a double value.

## List of math.h Library Functions

Click on function names below to see detailed description of functions.

Function |
Description |

acos |
It returns the arc cosine in radians. |

asin() |
It returns the arc sine in radians. |

atan |
It returns the arc tangent in radians. |

atan2 |
It returns the arc tangent with two parameters. |

ceil |
It returns the smallest integer value greater than or equal to x. |

cos |
It returns the cosine of an angle in radians. |

cosh |
It returns the hyperbolic cosine. |

exp |
It returns the value of e raised to the power of x(e^{x}). |

fabs |
It returns the absolute value of x. |

floor |
It returns the largest integral value less than or equal to x. |

fmod |
It returns the floating point remainder of x divided by y. |

frexp |
It breaks the floating point number x into its mantisa and an integer exponent of 2. |

idexp |
It returns the result of multiplying x with 2 raised to the power of exponent. |

log |
It returns the natural logarithm(base-e logarithm) of x. |

log10 |
It returns the common logarithm(base 10 logarithm) of x. |

modf |
It breaks a floating point number into an integral and a fractional part. |

pow |
It returns base raised to the power of exponent(x^{y}). |

sin |
It returns the sine of a radian angle. |

sinh |
It returns the hyperbolic sine of a radian angle. |

sqrt |
It returns the square root of a number. |

tan |
It returns the tangent of a radian angle. |

tanh |
It returns the hyperbolic tangent of a radian angle. |

## Macros Defined in math.h Library

Macro |
Description |

HUGE_VAL |
Some math.h functions returns this MACRO to represent very large value(greater than the range of floating point number) of the calculated result. If magnitude of the result is large enough to be represented as floating point number, then it sets errno to ERANGE and returns HUGE_VAL or its negation -HUGE_VAL. |