tgmath.h
C standard library (libc) |
---|
General topics |
Miscellaneous headers |
tgmath.h is a Standard C header that defines many type-generic macros that can be used for a variety of mathematical operations. This header also includes math.h
and complex.h
. For all of the functions in the math.h
and complex.h
headers that do not have an f (float) or l (long double) suffix, and whose corresponding type is double (with the exception of modf()
), there is a corresponding macro.[1]
Type-generic macro
A type generic macro is something which allows calling a function whose type is determined by the type of argument in the macro. This means, for example, x is declared as an int data type but tan has been called this way:
tan((float)x)
then this expression will have a type float.
Also, if any one of the parameters or arguments of a type-generic macro is complex, it will call a complex function, otherwise a real function will be called. The type of function that is called, ultimately depends upon the final converted type of parameter.[2].
Functions from math.h
Name | Description |
---|---|
acos |
inverse cosine |
asin |
inverse sine |
atan |
one-parameter inverse tangent |
atan2 |
two-parameter inverse tangent |
ceil |
ceiling, the smallest integer not less than parameter |
cos |
cosine |
cosh |
hyperbolic cosine |
exp |
exponential function |
fabs |
absolute value (of a floating-point number) |
floor |
floor, the largest integer not greater than parameter |
fmod |
floating-point remainder |
frexp |
break floating-point number down into mantissa and exponent |
ldexp |
scale floating-point number by exponent (see article) |
log |
natural logarithm |
log10 |
base-10 logarithm |
modf(x,p) |
returns fractional part of x and stores integral part where pointer p points to |
pow(x,y) |
raise x to the power of y, xy |
sin |
sine |
sinh |
hyperbolic sine |
sqrt |
square root |
tan |
tangent |
tanh |
hyperbolic tangent |
Functions from complex.h
Name | Description |
---|---|
cacos |
inverse cosine |
casin |
inverse sine |
catan |
one-parameter inverse tangent |
catan2 |
two-parameter inverse tangent |
cceil |
ceiling, the smallest integer not less than parameter |
ccos |
cosine |
ccosh |
hyperbolic cosine |
cexp |
exponential function |
cfabs |
absolute value (of a floating-point number) |
cfloor |
floor, the largest integer not greater than parameter |
cfmod |
floating-point remainder |
cfrexp |
break floating-point number down into mantissa and exponent |
cldexp |
scale floating-point number by exponent (see article) |
clog |
natural logarithm |
clog10 |
base-10 logarithm |
cmodf(x,p) |
returns fractional part of x and stores integral part where pointer p points to |
cpow(x,y) |
raise x to the power of y, xy |
csin |
sine |
csinh |
hyperbolic sine |
csqrt |
square root |
ctan |
tangent |
ctanh |
hyperbolic tangent |