- The C Standard Library
- C Library - Home
- C Library - <assert.h>
- C Library - <ctype.h>
- C Library - <errno.h>
- C Library - <float.h>
- C Library - <limits.h>
- C Library - <locale.h>
- C Library - <math.h>
- C Library - <setjmp.h>
- C Library - <signal.h>
- C Library - <stdarg.h>
- C Library - <stddef.h>
- C Library - <stdio.h>
- C Library - <stdlib.h>
- C Library - <string.h>
- C Library - <time.h>

- C Standard Library Resources
- C Library - Quick Guide
- C Library - Useful Resources
- C Library - Discussion

- C Programming Resources
- C Programming - Tutorial
- C - Useful Resources

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# C Library - <math.h>

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 −

Sr.No. | Macro & Description |
---|---|

1 |
This macro is used when 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 −

Sr.No. | 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(double 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 |

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 |

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

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

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 |

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

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

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

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

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