# C Library - <math.h>

## Introduction

The **math.h** header defines various mathematical functions and one macro. All the functions available in this library take **double** as an argument and return **double** as the result.

## Library Macros

There is only one macro defined in this library:

S.N. | Macro & Description |
---|---|

1 | HUGE_VALWhen the result of a function may not be representable as a floating point number. If magnitude of the correct result is too large to be represented, the function sets errno to ERANGE to indicate a range error, and returns a particular very large value named by the macro HUGE_VAL or its negation (- HUGE_VAL). If the magnitude of the result is too small, a value of zero is returned instead. In this case, errno might or might not be set to ERANGE. |

## Library Functions

Following are the functions defined in the header math.h:

S.N. | Function & Description |
---|---|

1 | double acos(double x) Returns the arc cosine of x in radians. |

2 | double asin(double x) Returns the arc sine of x in radians. |

3 | double atan(double x) Returns the arc tangent of x in radians. |

4 | double atan2(doubly y, double x) Returns the arc tangent in radians of y/x based on the signs of both values to determine the correct quadrant. |

5 | double cos(double x) Returns the cosine of a radian angle x. |

6 | double cosh(double x) Returns the hyperbolic cosine of x. |

7 | double sin(double x) Returns the sine of a radian angle x. |

8 | double sinh(double x) Returns the hyperbolic sine of x. |

9 | double tanh(double x) Returns the hyperbolic tangent of x. |

10 | double exp(double x) Returns the value of e raised to the xth power. |

11 | double frexp(double x, int *exponent) The returned value is the mantissa and the integer pointed to by exponent is the exponent. The resultant value is x = mantissa * 2 ^ exponent. |

12 | double ldexp(double x, int exponent) Returns x multiplied by 2 raised to the power of exponent. |

13 | double log(double x) Returns the natural logarithm (base-e logarithm) of x. |

14 | double log10(double x) Returns the common logarithm (base-10 logarithm) of x. |

15 | double modf(double x, double *integer) The returned value is the fraction component (part after the decimal), and sets integer to the integer component. |

16 | double pow(double x, double y) Returns x raised to the power of y. |

17 | double sqrt(double x) Returns the square root of x. |

18 | double ceil(double x) Returns the smallest integer value greater than or equal to x. |

19 | double fabs(double x) Returns the absolute value of x |

20 | double floor(double x) Returns the largest integer value less than or equal to x. |

21 | double fmod(double x, double y) Returns the remainder of x divided by y. |