Headers tgmath.h(3HEAD)
NAME
tgmath.h, tgmath - type-generic macros
SYNOPSIS
#include
DESCRIPTION
The
header includes the headers and Of the functions contained within the
and defines several type-generic macros. and headers without an f (float) or l (long double) suffix, several have one or more parameters whose corresponding real type is double. For each such function except modf(3M), there is a corresponding type-generic
macro. The parameters whose corresponding real type is dou-
ble in the function synopsis are generic parameters. Use of the macro invokes a function whose corresponding real typeand type domain are determined by the arguments for the gen-
eric parameters. Use of the macro invokes a function whose generic parameters have the corresponding real type determined as follows: o First, if any argument for generic parameters hastype long double, the type determined is long dou-
ble. o Otherwise, if any argument for generic parameters has type double or is of integer type, the type determined is double. o Otherwise, the type determined is float. For each unsuffixed function in theheader for which there is a function in the header with the same name except for a c prefix, the corresponding type-
generic macro (for both functions) has the same name as thefunction in the
generic macro for fabs() and cabs() is fabs().header. The corresponding type-
Function Function Type-Generic Macro _______________________________________________________________
acos() cacos() acos() asin() casin() asin() atan() catan() atan()SunOS 5.11 Last change: 17 Dec 2003 1
Headers tgmath.h(3HEAD)
acosh() cacosh() acosh() asinh() casinh() asinh() atanh() catanh() atanh() cos() ccos() cos() sin() csin() sin() tan() ctan() tan() cosh() ccosh() cosh() sinh() csinh() sinh() tanh() ctanh() tanh() exp() cexp() exp() log() clog() log() pow() cpow() pow() sqrt() csqrt() sqrt() fabs() cfabs() fabs() If at least one argument for a generic parameter is complex, then use of the macro invokes a complex function; otherwise, use of the macro invokes a real function. For each unsuffixed function in theheader without a c-prefixed counterpart in the
header, the corresponding type-generic macro has the same name as the
function. These type-generic macros are:
atan2() fma() llround() remainder() cbrt() fmax() log10() remquo() ceil() fmin() log1p() rint() copysign() fmod() log2() round() erf() frexp() logb() scalbn() erfc() hypot() lrint() scalbln() exp2() ilogb() lround() tgamma() expm1() ldexp() nearbyint() trunc() fdim() lgamma() nextafter() floor() llrint() nexttoward() If all arguments for generic parameters are real, then use of the macro invokes a real function; otherwise, use of the macro results in undefined behavior. For each unsuffixed function in theheader that is not a c-prefixed counterpart to a function in the
header, the corresponding type-generic macro has the same name as the function. These type-generic macros
are: carg()SunOS 5.11 Last change: 17 Dec 2003 2
Headers tgmath.h(3HEAD)
cimag() conj() cproj() creal() Use of the macro with any real or complex argument invokes a complex function.USAGE
Functions invoked by use of type-generic macros are invoked
with the declarations listed below.#include
int n; float f; double d; long double ld; float complex fc; double complex dc; long double complex ldc;The following are the type-generic macros that invoke the
functions that are invoked with the preceding declarations. Macro Use Invokes___________________________________________________________
exp(n) exp(n), the function acosh(f) acoshf(f) sin(d) sin(d), the function atan(ld) atanl(ld) log(fc) clogf(fc) sqrt(dc) csqrt(dc) pow(ldc,f) cpowl(ldc, f) remainder(n,n) remainder(n, n), the function nextafter(d,f) nextafter(d, f), the function nexttoward(f,ld) nexttowardf(f, ld) copysign(n,ld) copysignl(n, ld) ceil(fc) undefined behavior rint(dc) undefined behavior fmax(ldc,ld) undefined behavior carg(n) carg(n), the function cproj(f) cprojf(f) creal(d) creal(d), the function cimag(ld) cimagl(ld) cabs(fc) cabsf(fc) carg(dc) carg(dc), the functionSunOS 5.11 Last change: 17 Dec 2003 3
Headers tgmath.h(3HEAD)
cproj(ldc) cprojl(ldc)ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| Standard | See standards(5). ||_____________________________|_____________________________|
SEE ALSO
modf(3M), complex.h(3HEAD), math.h(3HEAD), cabs(3M), fabs(3M), attributes(5), standards(5)SunOS 5.11 Last change: 17 Dec 2003 4