4.77 Additional <math.h> library functions in C99

C99 supports additional macros, types, and functions in the standard header <math.h> that are not found in the corresponding C90 standard header.

New macros found in C99 that are not found in C90 include:
INFINITY // positive infinity
NAN      // IEEE not-a-number
New generic function macros found in C99 that are not found in C90 include:
#define isinf(x) // non-zero only if x is positive or negative infinity
#define isnan(x) // non-zero only if x is NaN
#define isless(x, y) // 1 only if x < y and x and y are not NaN, and 0 otherwise
#define isunordered(x, y) // 1 only if either x or y is NaN, and 0 otherwise
New mathematical functions found in C99 that are not found in C90 include:
double acosh(double x); // hyperbolic arccosine of x
double asinh(double x); // hyperbolic arcsine of x
double atanh(double x); // hyperbolic arctangent of x
double erf(double x); // returns the error function of x
double round(double x); // returns x rounded to the nearest integer
double tgamma(double x); // returns the gamma function of x
C99 supports the new mathematical functions for all real floating-point types.
Single precision versions of all existing <math.h> functions are also supported.
Related concepts
4.63 New library features of C99
4.78 Complex numbers in C99
4.79 Boolean type and <stdbool.h> in C99
4.80 Extended integer types and functions in <inttypes.h> and <stdint.h> in C99
4.81 <fenv.h> floating-point environment access in C99
4.82 <stdio.h> snprintf family of functions in C99
4.83 <tgmath.h> type-generic math macros in C99
4.84 <wchar.h> wide character I/O functions in C99
Related information
Institute of Electrical and Electronics Engineers
Non-ConfidentialPDF file icon PDF versionARM DUI0375E
Copyright © 2007, 2008, 2011, 2012, 2014 ARM. All rights reserved.