diff options
Diffstat (limited to 'manual')
-rw-r--r-- | manual/Makefile | 4 | ||||
-rw-r--r-- | manual/arith.texi | 166 | ||||
-rw-r--r-- | manual/creature.texi | 2 | ||||
-rw-r--r-- | manual/math.texi | 234 |
4 files changed, 404 insertions, 2 deletions
diff --git a/manual/Makefile b/manual/Makefile index 0486dcad58..7647cb89ba 100644 --- a/manual/Makefile +++ b/manual/Makefile @@ -74,7 +74,7 @@ libc.dvi: texinfo.tex # Generate the summary from the Texinfo source files for each chapter. summary.texi: stamp-summary ; stamp-summary: summary.awk $(filter-out summary.texi, $(texis)) - $(AWK) -f $^ | sort -df +1 -2 | tr '\014' '\012' > summary-tmp + $(AWK) -f $^ | sort -t '' -df +0 -1 | tr '\014' '\012' > summary-tmp $(move-if-change) summary-tmp summary.texi touch $@ @@ -111,7 +111,7 @@ minimal-dist = summary.awk texis.awk libc-texinfo.sh libc.texinfo \ doc-only-dist = Makefile COPYING.LIB distribute = $(minimal-dist) $(examples) texis stdio-fp.c \ libc.info* libc.?? libc.??s texinfo.tex stamp-summary \ - xtract-typefun.awk dir-add.texinfo dir-add.info dir \ + xtract-typefun.awk dir-add.info dir \ chapters.texi top-menu.texi summary.texi export distribute := $(distribute) diff --git a/manual/arith.texi b/manual/arith.texi index 3f78c11d1e..b95946a034 100644 --- a/manual/arith.texi +++ b/manual/arith.texi @@ -152,7 +152,11 @@ not have to worry about the type of their argument. @comment math.h @comment BSD @deftypefun int isinf (double @var{x}) +@comment math.h +@comment BSD @deftypefunx int isinff (float @var{x}) +@comment math.h +@comment BSD @deftypefunx int isinfl (long double @var{x}) This function returns @code{-1} if @var{x} represents negative infinity, @code{1} if @var{x} represents positive infinity, and @code{0} otherwise. @@ -161,7 +165,11 @@ This function returns @code{-1} if @var{x} represents negative infinity, @comment math.h @comment BSD @deftypefun int isnan (double @var{x}) +@comment math.h +@comment BSD @deftypefunx int isnanf (float @var{x}) +@comment math.h +@comment BSD @deftypefunx int isnanl (long double @var{x}) This function returns a nonzero value if @var{x} is a ``not a number'' value, and zero otherwise. @@ -179,7 +187,11 @@ function for some reason, you can write @comment math.h @comment BSD @deftypefun int finite (double @var{x}) +@comment math.h +@comment BSD @deftypefunx int finitef (float @var{x}) +@comment math.h +@comment BSD @deftypefunx int finitel (long double @var{x}) This function returns a nonzero value if @var{x} is finite or a ``not a number'' value, and zero otherwise. @@ -566,7 +578,11 @@ to test for overflow on both old and new hardware. @comment math.h @comment ISO @deftypevr Macro double HUGE_VAL +@comment math.h +@comment ISO @deftypevrx Macro float HUGE_VALF +@comment math.h +@comment ISO @deftypevrx Macro {long double} HUGE_VALL An expression representing a particular very large number. On machines that use @w{IEEE 754} floating point format, @code{HUGE_VAL} is infinity. @@ -816,7 +832,11 @@ Prototypes for @code{abs}, @code{labs} and @code{llabs} are in @file{stdlib.h}; @comment stdlib.h @comment ISO @deftypefun int abs (int @var{number}) +@comment stdlib.h +@comment ISO @deftypefunx {long int} labs (long int @var{number}) +@comment stdlib.h +@comment ISO @deftypefunx {long long int} llabs (long long int @var{number}) These functions return the absolute value of @var{number}. @@ -830,7 +850,11 @@ cannot be represented; thus, @w{@code{abs (INT_MIN)}} is not defined. @comment math.h @comment ISO @deftypefun double fabs (double @var{number}) +@comment math.h +@comment ISO @deftypefunx float fabsf (float @var{number}) +@comment math.h +@comment ISO @deftypefunx {long double} fabsl (long double @var{number}) This function returns the absolute value of the floating-point number @var{number}. @@ -839,7 +863,11 @@ This function returns the absolute value of the floating-point number @comment complex.h @comment ISO @deftypefun double cabs (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx float cabsf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {long double} cabsl (complex long double @var{z}) These functions return the absolute value of the complex number @var{z} (@pxref{Complex Numbers}). The absolute value of a complex number is: @@ -872,7 +900,11 @@ All these functions are declared in @file{math.h}. @comment math.h @comment ISO @deftypefun double frexp (double @var{value}, int *@var{exponent}) +@comment math.h +@comment ISO @deftypefunx float frexpf (float @var{value}, int *@var{exponent}) +@comment math.h +@comment ISO @deftypefunx {long double} frexpl (long double @var{value}, int *@var{exponent}) These functions are used to split the number @var{value} into a normalized fraction and an exponent. @@ -893,7 +925,11 @@ zero is stored in @code{*@var{exponent}}. @comment math.h @comment ISO @deftypefun double ldexp (double @var{value}, int @var{exponent}) +@comment math.h +@comment ISO @deftypefunx float ldexpf (float @var{value}, int @var{exponent}) +@comment math.h +@comment ISO @deftypefunx {long double} ldexpl (long double @var{value}, int @var{exponent}) These functions return the result of multiplying the floating-point number @var{value} by 2 raised to the power @var{exponent}. (It can @@ -909,7 +945,11 @@ equivalent to those of @code{ldexp} and @code{frexp}. @comment math.h @comment BSD @deftypefun double logb (double @var{x}) +@comment math.h +@comment BSD @deftypefunx float logbf (float @var{x}) +@comment math.h +@comment BSD @deftypefunx {long double} logbl (long double @var{x}) These functions return the integer part of the base-2 logarithm of @var{x}, an integer value represented in type @code{double}. This is @@ -931,7 +971,11 @@ the value that @code{frexp} would store into @code{*@var{exponent}}. @comment math.h @comment BSD @deftypefun double scalb (double @var{value}, int @var{exponent}) +@comment math.h +@comment BSD @deftypefunx float scalbf (float @var{value}, int @var{exponent}) +@comment math.h +@comment BSD @deftypefunx {long double} scalbl (long double @var{value}, int @var{exponent}) The @code{scalb} function is the BSD name for @code{ldexp}. @end deftypefun @@ -939,7 +983,11 @@ The @code{scalb} function is the BSD name for @code{ldexp}. @comment math.h @comment BSD @deftypefun {long long int} scalbn (double @var{x}, int n) +@comment math.h +@comment BSD @deftypefunx {long long int} scalbnf (float @var{x}, int n) +@comment math.h +@comment BSD @deftypefunx {long long int} scalbnl (long double @var{x}, int n) @code{scalbn} is identical to @code{scalb}, except that the exponent @var{n} is an @code{int} instead of a floating-point number. @@ -948,7 +996,11 @@ The @code{scalb} function is the BSD name for @code{ldexp}. @comment math.h @comment BSD @deftypefun {long long int} scalbln (double @var{x}, long int n) +@comment math.h +@comment BSD @deftypefunx {long long int} scalblnf (float @var{x}, long int n) +@comment math.h +@comment BSD @deftypefunx {long long int} scalblnl (long double @var{x}, long int n) @code{scalbln} is identical to @code{scalb}, except that the exponent @var{n} is a @code{long int} instead of a floating-point number. @@ -957,7 +1009,11 @@ The @code{scalb} function is the BSD name for @code{ldexp}. @comment math.h @comment BSD @deftypefun {long long int} significand (double @var{x}) +@comment math.h +@comment BSD @deftypefunx {long long int} significandf (float @var{x}) +@comment math.h +@comment BSD @deftypefunx {long long int} significandl (long double @var{x}) @code{significand} returns the mantissa of @var{x} scaled to the range @math{[1, 2)}. @@ -987,7 +1043,11 @@ result as a @code{double} instead to get around this problem. @comment math.h @comment ISO @deftypefun double ceil (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float ceilf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} ceill (long double @var{x}) These functions round @var{x} upwards to the nearest integer, returning that value as a @code{double}. Thus, @code{ceil (1.5)} @@ -997,7 +1057,11 @@ is @code{2.0}. @comment math.h @comment ISO @deftypefun double floor (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float floorf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} floorl (long double @var{x}) These functions round @var{x} downwards to the nearest integer, returning that value as a @code{double}. Thus, @code{floor @@ -1007,7 +1071,11 @@ integer, returning that value as a @code{double}. Thus, @code{floor @comment math.h @comment ISO @deftypefun double trunc (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float truncf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} truncl (long double @var{x}) @code{trunc} is another name for @code{floor} @end deftypefun @@ -1015,7 +1083,11 @@ integer, returning that value as a @code{double}. Thus, @code{floor @comment math.h @comment ISO @deftypefun double rint (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float rintf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} rintl (long double @var{x}) These functions round @var{x} to an integer value according to the current rounding mode. @xref{Floating Point Parameters}, for @@ -1031,7 +1103,11 @@ inexact exception. @comment math.h @comment ISO @deftypefun double nearbyint (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float nearbyintf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} nearbyintl (long double @var{x}) These functions return the same value as the @code{rint} functions, but do not raise the inexact exception if @var{x} is not an integer. @@ -1040,7 +1116,11 @@ do not raise the inexact exception if @var{x} is not an integer. @comment math.h @comment ISO @deftypefun double round (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float roundf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} roundl (long double @var{x}) These functions are similar to @code{rint}, but they round halfway cases away from zero instead of to the nearest even integer. @@ -1049,7 +1129,11 @@ cases away from zero instead of to the nearest even integer. @comment math.h @comment ISO @deftypefun {long int} lrint (double @var{x}) +@comment math.h +@comment ISO @deftypefunx {long int} lrintf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long int} lrintl (long double @var{x}) These functions are just like @code{rint}, but they return a @code{long int} instead of a floating-point number. @@ -1058,7 +1142,11 @@ These functions are just like @code{rint}, but they return a @comment math.h @comment ISO @deftypefun {long long int} llrint (double @var{x}) +@comment math.h +@comment ISO @deftypefunx {long long int} llrintf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long long int} llrintl (long double @var{x}) These functions are just like @code{rint}, but they return a @code{long long int} instead of a floating-point number. @@ -1067,7 +1155,11 @@ These functions are just like @code{rint}, but they return a @comment math.h @comment ISO @deftypefun {long int} lround (double @var{x}) +@comment math.h +@comment ISO @deftypefunx {long int} lroundf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long int} lroundl (long double @var{x}) These functions are just like @code{round}, but they return a @code{long int} instead of a floating-point number. @@ -1076,7 +1168,11 @@ These functions are just like @code{round}, but they return a @comment math.h @comment ISO @deftypefun {long long int} llround (double @var{x}) +@comment math.h +@comment ISO @deftypefunx {long long int} llroundf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long long int} llroundl (long double @var{x}) These functions are just like @code{round}, but they return a @code{long long int} instead of a floating-point number. @@ -1086,7 +1182,11 @@ These functions are just like @code{round}, but they return a @comment math.h @comment ISO @deftypefun double modf (double @var{value}, double *@var{integer-part}) +@comment math.h +@comment ISO @deftypefunx float modff (float @var{value}, float *@var{integer-part}) +@comment math.h +@comment ISO @deftypefunx {long double} modfl (long double @var{value}, long double *@var{integer-part}) These functions break the argument @var{value} into an integer part and a fractional part (between @code{-1} and @code{1}, exclusive). Their sum @@ -1108,7 +1208,11 @@ suits your problem. @comment math.h @comment ISO @deftypefun double fmod (double @var{numerator}, double @var{denominator}) +@comment math.h +@comment ISO @deftypefunx float fmodf (float @var{numerator}, float @var{denominator}) +@comment math.h +@comment ISO @deftypefunx {long double} fmodl (long double @var{numerator}, long double @var{denominator}) These functions compute the remainder from the division of @var{numerator} by @var{denominator}. Specifically, the return value is @@ -1126,7 +1230,11 @@ If @var{denominator} is zero, @code{fmod} signals a domain error. @comment math.h @comment BSD @deftypefun double drem (double @var{numerator}, double @var{denominator}) +@comment math.h +@comment BSD @deftypefunx float dremf (float @var{numerator}, float @var{denominator}) +@comment math.h +@comment BSD @deftypefunx {long double} dreml (long double @var{numerator}, long double @var{denominator}) These functions are like @code{fmod} except that they rounds the internal quotient @var{n} to the nearest integer instead of towards zero @@ -1145,7 +1253,11 @@ If @var{denominator} is zero, @code{drem} signals a domain error. @comment math.h @comment BSD @deftypefun double remainder (double @var{numerator}, double @var{denominator}) +@comment math.h +@comment BSD @deftypefunx float remainderf (float @var{numerator}, float @var{denominator}) +@comment math.h +@comment BSD @deftypefunx {long double} remainderl (long double @var{numerator}, long double @var{denominator}) This function is another name for @code{drem}. @end deftypefun @@ -1162,7 +1274,11 @@ bits. @comment math.h @comment ISO @deftypefun double copysign (double @var{x}, double @var{y}) +@comment math.h +@comment ISO @deftypefunx float copysignf (float @var{x}, float @var{y}) +@comment math.h +@comment ISO @deftypefunx {long double} copysignl (long double @var{x}, long double @var{y}) These functions return @var{x} but with the sign of @var{y}. They work even if @var{x} or @var{y} are NaN or zero. Both of these can carry a @@ -1191,7 +1307,11 @@ false, but @code{signbit (-0.0)} will return a nonzero value. @comment math.h @comment ISO @deftypefun double nextafter (double @var{x}, double @var{y}) +@comment math.h +@comment ISO @deftypefunx float nextafterf (float @var{x}, float @var{y}) +@comment math.h +@comment ISO @deftypefunx {long double} nextafterl (long double @var{x}, long double @var{y}) The @code{nextafter} function returns the next representable neighbor of @var{x} in the direction towards @var{y}. The size of the step between @@ -1210,7 +1330,11 @@ recommended functions in @w{IEEE 754}/@w{IEEE 854}). @comment math.h @comment ISO @deftypefun {long long int} nextafterx (double @var{x}, long double @var{y}) +@comment math.h +@comment ISO @deftypefunx {long long int} nextafterxf (float @var{x}, long double @var{y}) +@comment math.h +@comment ISO @deftypefunx {long long int} nextafterxl (long double @var{x}, long double @var{y}) These functions are identical to the corresponding versions of @code{nextafter} except that their second argument is a @code{long @@ -1221,7 +1345,11 @@ double}. @comment math.h @comment ISO @deftypefun double nan (const char *@var{tagp}) +@comment math.h +@comment ISO @deftypefunx float nanf (const char *@var{tagp}) +@comment math.h +@comment ISO @deftypefunx {long double} nanl (const char *@var{tagp}) The @code{nan} function returns a representation of NaN, provided that NaN is supported by the target platform. @@ -1328,7 +1456,11 @@ perform these operations faster than the equivalent C code. @comment math.h @comment ISO @deftypefun double fmin (double @var{x}, double @var{y}) +@comment math.h +@comment ISO @deftypefunx float fminf (float @var{x}, float @var{y}) +@comment math.h +@comment ISO @deftypefunx {long double} fminl (long double @var{x}, long double @var{y}) The @code{fmin} function returns the lesser of the two values @var{x} and @var{y}. It is similar to the expression @@ -1344,7 +1476,11 @@ are NaN, NaN is returned. @comment math.h @comment ISO @deftypefun double fmax (double @var{x}, double @var{y}) +@comment math.h +@comment ISO @deftypefunx float fmaxf (float @var{x}, float @var{y}) +@comment math.h +@comment ISO @deftypefunx {long double} fmaxl (long double @var{x}, long double @var{y}) The @code{fmax} function returns the greater of the two values @var{x} and @var{y}. @@ -1356,7 +1492,11 @@ are NaN, NaN is returned. @comment math.h @comment ISO @deftypefun double fdim (double @var{x}, double @var{y}) +@comment math.h +@comment ISO @deftypefunx float fdimf (float @var{x}, float @var{y}) +@comment math.h +@comment ISO @deftypefunx {long double} fdiml (long double @var{x}, long double @var{y}) The @code{fdim} function returns the positive difference between @var{x} and @var{y}. The positive difference is @math{@var{x} - @@ -1368,7 +1508,11 @@ If @var{x}, @var{y}, or both are NaN, NaN is returned. @comment math.h @comment ISO @deftypefun double fma (double @var{x}, double @var{y}, double @var{z}) +@comment math.h +@comment ISO @deftypefunx float fmaf (float @var{x}, float @var{y}, float @var{z}) +@comment math.h +@comment ISO @deftypefunx {long double} fmal (long double @var{x}, long double @var{y}, long double @var{z}) @cindex butterfly The @code{fma} function performs floating-point multiply-add. This is @@ -1494,7 +1638,11 @@ available in three variants, one for each of the three complex types. @comment complex.h @comment ISO @deftypefun double creal (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx float crealf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {long double} creall (complex long double @var{z}) These functions return the real part of the complex number @var{z}. @end deftypefun @@ -1502,7 +1650,11 @@ These functions return the real part of the complex number @var{z}. @comment complex.h @comment ISO @deftypefun double cimag (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx float cimagf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {long double} cimagl (complex long double @var{z}) These functions return the imaginary part of the complex number @var{z}. @end deftypefun @@ -1510,7 +1662,11 @@ These functions return the imaginary part of the complex number @var{z}. @comment complex.h @comment ISO @deftypefun {complex double} conj (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} conjf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} conjl (complex long double @var{z}) These functions return the conjugate value of the complex number @var{z}. The conjugate of a complex number has the same real part and a @@ -1520,7 +1676,11 @@ negated imaginary part. In other words, @samp{conj(a + bi) = a + -bi}. @comment complex.h @comment ISO @deftypefun double carg (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx float cargf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {long double} cargl (complex long double @var{z}) These functions return the argument of the complex number @var{z}. The argument of a complex number is the angle in the complex plane @@ -1534,7 +1694,11 @@ to @math{2@pi{}}. @comment complex.h @comment ISO @deftypefun {complex double} cproj (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} cprojf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} cprojl (complex long double @var{z}) These functions return the projection of the complex value @var{z} onto the Riemann sphere. Values with a infinite imaginary part are projected @@ -1952,6 +2116,8 @@ examining @var{errno} and @var{tailptr}. @comment stdlib.h @comment GNU @deftypefun float strtof (const char *@var{string}, char **@var{tailptr}) +@comment stdlib.h +@comment GNU @deftypefunx {long double} strtold (const char *@var{string}, char **@var{tailptr}) These functions are analogous to @code{strtod}, but return @code{float} and @code{long double} values respectively. They report errors in the diff --git a/manual/creature.texi b/manual/creature.texi index f88a6d9615..befea10198 100644 --- a/manual/creature.texi +++ b/manual/creature.texi @@ -112,6 +112,8 @@ included as well as the @w{ISO C}, POSIX.1, POSIX.2, and X/Open material. @comment (none) @comment X/Open @defvr Macro _XOPEN_SOURCE +@comment (none) +@comment X/Open @defvrx Macro _XOPEN_SOURCE_EXTENDED If you define this macro, functionality described in the X/Open Portability Guide is included. This is a superset of the POSIX.1 and diff --git a/manual/math.texi b/manual/math.texi index 2b804300f2..8520de4835 100644 --- a/manual/math.texi +++ b/manual/math.texi @@ -150,7 +150,11 @@ You can also compute the value of pi with the expression @code{acos @comment math.h @comment ISO @deftypefun double sin (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float sinf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} sinl (long double @var{x}) These functions return the sine of @var{x}, where @var{x} is given in radians. The return value is in the range @code{-1} to @code{1}. @@ -159,7 +163,11 @@ radians. The return value is in the range @code{-1} to @code{1}. @comment math.h @comment ISO @deftypefun double cos (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float cosf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} cosl (long double @var{x}) These functions return the cosine of @var{x}, where @var{x} is given in radians. The return value is in the range @code{-1} to @code{1}. @@ -168,7 +176,11 @@ radians. The return value is in the range @code{-1} to @code{1}. @comment math.h @comment ISO @deftypefun double tan (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float tanf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} tanl (long double @var{x}) These functions return the tangent of @var{x}, where @var{x} is given in radians. @@ -186,7 +198,11 @@ function to do that. @comment math.h @comment GNU @deftypefun void sincos (double @var{x}, double *@var{sinx}, double *@var{cosx}) +@comment math.h +@comment GNU @deftypefunx void sincosf (float @var{x}, float *@var{sinx}, float *@var{cosx}) +@comment math.h +@comment GNU @deftypefunx void sincosl (long double @var{x}, long double *@var{sinx}, long double *@var{cosx}) These functions return the sine of @var{x} in @code{*@var{sinx}} and the cosine of @var{x} in @code{*@var{cos}}, where @var{x} is given in @@ -210,7 +226,11 @@ the implementation.) @comment complex.h @comment ISO @deftypefun {complex double} csin (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} csinf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} csinl (complex long double @var{z}) These functions return the complex sine of @var{z}. The mathematical definition of the complex sine is @@ -226,7 +246,11 @@ $$\sin(z) = {1\over 2i} (e^{zi} - e^{-zi})$$ @comment complex.h @comment ISO @deftypefun {complex double} ccos (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} ccosf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} ccosl (complex long double @var{z}) These functions return the complex cosine of @var{z}. The mathematical definition of the complex cosine is @@ -242,7 +266,11 @@ $$\cos(z) = {1\over 2} (e^{zi} + e^{-zi})$$ @comment complex.h @comment ISO @deftypefun {complex double} ctan (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} ctanf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} ctanl (complex long double @var{z}) These functions return the complex tangent of @var{z}. The mathematical definition of the complex tangent is @@ -272,7 +300,11 @@ respectively. @comment math.h @comment ISO @deftypefun double asin (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float asinf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} asinl (long double @var{x}) These functions compute the arc sine of @var{x}---that is, the value whose sine is @var{x}. The value is in units of radians. Mathematically, @@ -287,7 +319,11 @@ domain, @code{asin} signals a domain error. @comment math.h @comment ISO @deftypefun double acos (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float acosf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} acosl (long double @var{x}) These functions compute the arc cosine of @var{x}---that is, the value whose cosine is @var{x}. The value is in units of radians. @@ -302,7 +338,11 @@ domain, @code{acos} signals a domain error. @comment math.h @comment ISO @deftypefun double atan (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float atanf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} atanl (long double @var{x}) These functions compute the arc tangent of @var{x}---that is, the value whose tangent is @var{x}. The value is in units of radians. @@ -313,7 +353,11 @@ returned is the one between @code{-pi/2} and @code{pi/2} (inclusive). @comment math.h @comment ISO @deftypefun double atan2 (double @var{y}, double @var{x}) +@comment math.h +@comment ISO @deftypefunx float atan2f (float @var{y}, float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} atan2l (long double @var{y}, long double @var{x}) This function computes the arc tangent of @var{y}/@var{x}, but the signs of both arguments are used to determine the quadrant of the result, and @@ -337,7 +381,11 @@ If both @var{x} and @var{y} are zero, @code{atan2} returns zero. @comment complex.h @comment ISO @deftypefun {complex double} casin (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} casinf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} casinl (complex long double @var{z}) These functions compute the complex arc sine of @var{z}---that is, the value whose sine is @var{z}. The value returned is in radians. @@ -349,7 +397,11 @@ values of @var{z}. @comment complex.h @comment ISO @deftypefun {complex double} cacos (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} cacosf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} cacosl (complex long double @var{z}) These functions compute the complex arc cosine of @var{z}---that is, the value whose cosine is @var{z}. The value returned is in radians. @@ -362,7 +414,11 @@ values of @var{z}. @comment complex.h @comment ISO @deftypefun {complex double} catan (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} catanf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} catanl (complex long double @var{z}) These functions compute the complex arc tangent of @var{z}---that is, the value whose tangent is @var{z}. The value is in units of radians. @@ -378,7 +434,11 @@ the value whose tangent is @var{z}. The value is in units of radians. @comment math.h @comment ISO @deftypefun double exp (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float expf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} expl (long double @var{x}) These functions compute @code{e} (the base of natural logarithms) raised to the power @var{x}. @@ -390,7 +450,11 @@ If the magnitude of the result is too large to be representable, @comment math.h @comment ISO @deftypefun double exp2 (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float exp2f (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} exp2l (long double @var{x}) These functions compute @code{2} raised to the power @var{x}. Mathematically, @code{exp2 (x)} is the same as @code{exp (x * log (2))}. @@ -399,10 +463,20 @@ Mathematically, @code{exp2 (x)} is the same as @code{exp (x * log (2))}. @comment math.h @comment GNU @deftypefun double exp10 (double @var{x}) +@comment math.h +@comment GNU @deftypefunx float exp10f (float @var{x}) +@comment math.h +@comment GNU @deftypefunx {long double} exp10l (long double @var{x}) +@comment math.h +@comment GNU @deftypefunx double pow10 (double @var{x}) +@comment math.h +@comment GNU @deftypefunx float pow10f (float @var{x}) +@comment math.h +@comment GNU @deftypefunx {long double} pow10l (long double @var{x}) These functions compute @code{10} raised to the power @var{x}. Mathematically, @code{exp10 (x)} is the same as @code{exp (x * log (10))}. @@ -415,7 +489,11 @@ preferred, since it is analogous to @code{exp} and @code{exp2}. @comment math.h @comment ISO @deftypefun double log (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float logf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} logl (long double @var{x}) These functions compute the natural logarithm of @var{x}. @code{exp (log (@var{x}))} equals @var{x}, exactly in mathematics and approximately in @@ -429,7 +507,11 @@ it may signal overflow. @comment math.h @comment ISO @deftypefun double log10 (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float log10f (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} log10l (long double @var{x}) These functions return the base-10 logarithm of @var{x}. @code{log10 (@var{x})} equals @code{log (@var{x}) / log (10)}. @@ -439,7 +521,11 @@ These functions return the base-10 logarithm of @var{x}. @comment math.h @comment ISO @deftypefun double log2 (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float log2f (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} log2l (long double @var{x}) These functions return the base-2 logarithm of @var{x}. @code{log2 (@var{x})} equals @code{log (@var{x}) / log (2)}. @@ -448,7 +534,11 @@ These functions return the base-2 logarithm of @var{x}. @comment math.h @comment ISO @deftypefun double logb (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float logbf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} logbl (long double @var{x}) These functions extract the exponent of @var{x} and return it as a floating-point value. If @code{FLT_RADIX} is two, @code{logb} is equal @@ -463,7 +553,11 @@ negative), @code{logb} returns @math{@infinity{}}. If @var{x} is zero, @comment math.h @comment ISO @deftypefun int ilogb (double @var{x}) +@comment math.h +@comment ISO @deftypefunx int ilogbf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx int ilogbl (long double @var{x}) These functions are equivalent to the corresponding @code{logb} functions except that they return signed integer values. @@ -518,7 +612,11 @@ if (i == FP_ILOGB0 || i == FP_ILOGBNAN) @comment math.h @comment ISO @deftypefun double pow (double @var{base}, double @var{power}) +@comment math.h +@comment ISO @deftypefunx float powf (float @var{base}, float @var{power}) +@comment math.h +@comment ISO @deftypefunx {long double} powl (long double @var{base}, long double @var{power}) These are general exponentiation functions, returning @var{base} raised to @var{power}. @@ -533,7 +631,11 @@ underflow or overflow the destination type. @comment math.h @comment ISO @deftypefun double sqrt (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float sqrtf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} sqrtl (long double @var{x}) These functions return the nonnegative square root of @var{x}. @@ -545,7 +647,11 @@ Mathematically, it should return a complex number. @comment math.h @comment BSD @deftypefun double cbrt (double @var{x}) +@comment math.h +@comment BSD @deftypefunx float cbrtf (float @var{x}) +@comment math.h +@comment BSD @deftypefunx {long double} cbrtl (long double @var{x}) These functions return the cube root of @var{x}. They cannot fail; every representable real value has a representable real cube root. @@ -554,7 +660,11 @@ fail; every representable real value has a representable real cube root. @comment math.h @comment ISO @deftypefun double hypot (double @var{x}, double @var{y}) +@comment math.h +@comment ISO @deftypefunx float hypotf (float @var{x}, float @var{y}) +@comment math.h +@comment ISO @deftypefunx {long double} hypotl (long double @var{x}, long double @var{y}) These functions return @code{sqrt (@var{x}*@var{x} + @var{y}*@var{y})}. This is the length of the hypotenuse of a right @@ -567,7 +677,11 @@ much smaller. See also the function @code{cabs} in @ref{Absolute Value}. @comment math.h @comment ISO @deftypefun double expm1 (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float expm1f (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} expm1l (long double @var{x}) These functions return a value equivalent to @code{exp (@var{x}) - 1}. They are computed in a way that is accurate even if @var{x} is @@ -578,7 +692,11 @@ to subtraction of two numbers that are nearly equal. @comment math.h @comment ISO @deftypefun double log1p (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float log1pf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} log1pl (long double @var{x}) These functions returns a value equivalent to @w{@code{log (1 + @var{x})}}. They are computed in a way that is accurate even if @var{x} is @@ -594,7 +712,11 @@ logarithm functions. @comment complex.h @comment ISO @deftypefun {complex double} cexp (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} cexpf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} cexpl (complex long double @var{z}) These functions return @code{e} (the base of natural logarithms) raised to the power of @var{z}. @@ -611,7 +733,11 @@ $$\exp(z) = e^z = e^{{\rm Re}\,z} (\cos ({\rm Im}\,z) + i \sin ({\rm Im}\,z))$$ @comment complex.h @comment ISO @deftypefun {complex double} clog (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} clogf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} clogl (complex long double @var{z}) These functions return the natural logarithm of @var{z}. Mathematically this corresponds to the value @@ -633,7 +759,11 @@ or is very close to 0. It is well-defined for all other values of @comment complex.h @comment GNU @deftypefun {complex double} clog10 (complex double @var{z}) +@comment complex.h +@comment GNU @deftypefunx {complex float} clog10f (complex float @var{z}) +@comment complex.h +@comment GNU @deftypefunx {complex long double} clog10l (complex long double @var{z}) These functions return the base 10 logarithm of the complex value @var{z}. Mathematically this corresponds to the value @@ -651,7 +781,11 @@ These functions are GNU extensions. @comment complex.h @comment ISO @deftypefun {complex double} csqrt (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} csqrtf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} csqrtl (complex long double @var{z}) These functions return the complex square root of the argument @var{z}. Unlike the real-valued functions, they are defined for all values of @var{z}. @@ -660,7 +794,11 @@ the real-valued functions, they are defined for all values of @var{z}. @comment complex.h @comment ISO @deftypefun {complex double} cpow (complex double @var{base}, complex double @var{power}) +@comment complex.h +@comment ISO @deftypefunx {complex float} cpowf (complex float @var{base}, complex float @var{power}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} cpowl (complex long double @var{base}, complex long double @var{power}) These functions return @var{base} raised to the power of @var{power}. This is equivalent to @w{@code{cexp (y * clog (x))}} @@ -676,7 +814,11 @@ see @ref{Exponents and Logarithms}. @comment math.h @comment ISO @deftypefun double sinh (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float sinhf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} sinhl (long double @var{x}) These functions return the hyperbolic sine of @var{x}, defined mathematically as @w{@code{(exp (@var{x}) - exp (-@var{x})) / 2}}. They @@ -686,7 +828,11 @@ may signal overflow if @var{x} is too large. @comment math.h @comment ISO @deftypefun double cosh (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float coshf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} coshl (long double @var{x}) These function return the hyperbolic cosine of @var{x}, defined mathematically as @w{@code{(exp (@var{x}) + exp (-@var{x})) / 2}}. @@ -696,7 +842,11 @@ They may signal overflow if @var{x} is too large. @comment math.h @comment ISO @deftypefun double tanh (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float tanhf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} tanhl (long double @var{x}) These functions return the hyperbolic tangent of @var{x}, defined mathematically as @w{@code{sinh (@var{x}) / cosh (@var{x})}}. @@ -711,7 +861,11 @@ complex arguments. @comment complex.h @comment ISO @deftypefun {complex double} csinh (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} csinhf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} csinhl (complex long double @var{z}) These functions return the complex hyperbolic sine of @var{z}, defined mathematically as @w{@code{(exp (@var{z}) - exp (-@var{z})) / 2}}. @@ -720,7 +874,11 @@ mathematically as @w{@code{(exp (@var{z}) - exp (-@var{z})) / 2}}. @comment complex.h @comment ISO @deftypefun {complex double} ccosh (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} ccoshf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} ccoshl (complex long double @var{z}) These functions return the complex hyperbolic cosine of @var{z}, defined mathematically as @w{@code{(exp (@var{z}) + exp (-@var{z})) / 2}}. @@ -729,7 +887,11 @@ mathematically as @w{@code{(exp (@var{z}) + exp (-@var{z})) / 2}}. @comment complex.h @comment ISO @deftypefun {complex double} ctanh (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} ctanhf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} ctanhl (complex long double @var{z}) These functions return the complex hyperbolic tangent of @var{z}, defined mathematically as @w{@code{csinh (@var{z}) / ccosh (@var{z})}}. @@ -741,7 +903,11 @@ defined mathematically as @w{@code{csinh (@var{z}) / ccosh (@var{z})}}. @comment math.h @comment ISO @deftypefun double asinh (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float asinhf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} asinhl (long double @var{x}) These functions return the inverse hyperbolic sine of @var{x}---the value whose hyperbolic sine is @var{x}. @@ -750,7 +916,11 @@ value whose hyperbolic sine is @var{x}. @comment math.h @comment ISO @deftypefun double acosh (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float acoshf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} acoshl (long double @var{x}) These functions return the inverse hyperbolic cosine of @var{x}---the value whose hyperbolic cosine is @var{x}. If @var{x} is less than @@ -760,7 +930,11 @@ value whose hyperbolic cosine is @var{x}. If @var{x} is less than @comment math.h @comment ISO @deftypefun double atanh (double @var{x}) +@comment math.h +@comment ISO @deftypefunx float atanhf (float @var{x}) +@comment math.h +@comment ISO @deftypefunx {long double} atanhl (long double @var{x}) These functions return the inverse hyperbolic tangent of @var{x}---the value whose hyperbolic tangent is @var{x}. If the absolute value of @@ -773,7 +947,11 @@ if it is equal to 1, @code{atanh} returns infinity. @comment complex.h @comment ISO @deftypefun {complex double} casinh (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} casinhf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} casinhl (complex long double @var{z}) These functions return the inverse complex hyperbolic sine of @var{z}---the value whose complex hyperbolic sine is @var{z}. @@ -782,7 +960,11 @@ These functions return the inverse complex hyperbolic sine of @comment complex.h @comment ISO @deftypefun {complex double} cacosh (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} cacoshf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} cacoshl (complex long double @var{z}) These functions return the inverse complex hyperbolic cosine of @var{z}---the value whose complex hyperbolic cosine is @var{z}. Unlike @@ -792,7 +974,11 @@ the real-valued functions, there are no restrictions on the value of @var{z}. @comment complex.h @comment ISO @deftypefun {complex double} catanh (complex double @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex float} catanhf (complex float @var{z}) +@comment complex.h +@comment ISO @deftypefunx {complex long double} catanhl (complex long double @var{z}) These functions return the inverse complex hyperbolic tangent of @var{z}---the value whose complex hyperbolic tangent is @var{z}. Unlike @@ -812,7 +998,11 @@ useful. Currently they only have real-valued versions. @comment math.h @comment SVID @deftypefun double erf (double @var{x}) +@comment math.h +@comment SVID @deftypefunx float erff (float @var{x}) +@comment math.h +@comment SVID @deftypefunx {long double} erfl (long double @var{x}) @code{erf} returns the error function of @var{x}. The error function is defined as @@ -829,7 +1019,11 @@ erf (x) = 2/sqrt(pi) * integral from 0 to x of exp(-t^2) dt @comment math.h @comment SVID @deftypefun double erfc (double @var{x}) +@comment math.h +@comment SVID @deftypefunx float erfcf (float @var{x}) +@comment math.h +@comment SVID @deftypefunx {long double} erfcl (long double @var{x}) @code{erfc} returns @code{1.0 - erf(@var{x})}, but computed in a fashion that avoids round-off error when @var{x} is large. @@ -838,7 +1032,11 @@ fashion that avoids round-off error when @var{x} is large. @comment math.h @comment SVID @deftypefun double lgamma (double @var{x}) +@comment math.h +@comment SVID @deftypefunx float lgammaf (float @var{x}) +@comment math.h +@comment SVID @deftypefunx {long double} lgammal (long double @var{x}) @code{lgamma} returns the natural logarithm of the absolute value of the gamma function of @var{x}. The gamma function is defined as @@ -872,7 +1070,11 @@ singularity. @comment math.h @comment XPG @deftypefun double lgamma_r (double @var{x}, int *@var{signp}) +@comment math.h +@comment XPG @deftypefunx float lgammaf_r (float @var{x}, int *@var{signp}) +@comment math.h +@comment XPG @deftypefunx {long double} lgammal_r (long double @var{x}, int *@var{signp}) @code{lgamma_r} is just like @code{lgamma}, but it stores the sign of the intermediate result in the variable pointed to by @var{signp} @@ -882,7 +1084,11 @@ instead of in the @var{signgam} global. @comment math.h @comment SVID @deftypefun double gamma (double @var{x}) +@comment math.h +@comment SVID @deftypefunx float gammaf (float @var{x}) +@comment math.h +@comment SVID @deftypefunx {long double} gammal (long double @var{x}) These functions exist for compatibility reasons. They are equivalent to @code{lgamma} etc. It is better to use @code{lgamma} since for one the @@ -893,7 +1099,11 @@ standardized in @w{ISO C 9x} while @code{gamma} is not. @comment math.h @comment XPG @deftypefun double tgamma (double @var{x}) +@comment math.h +@comment XPG @deftypefunx float tgammaf (float @var{x}) +@comment math.h +@comment XPG @deftypefunx {long double} tgammal (long double @var{x}) @code{tgamma} applies the gamma function to @var{x}. The gamma function is defined as @@ -912,7 +1122,11 @@ This function was introduced in @w{ISO C 9x}. @comment math.h @comment SVID @deftypefun double j0 (double @var{x}) +@comment math.h +@comment SVID @deftypefunx float j0f (float @var{x}) +@comment math.h +@comment SVID @deftypefunx {long double} j0l (long double @var{x}) @code{j0} returns the Bessel function of the first kind of order 0 of @var{x}. It may signal underflow if @var{x} is too large. @@ -921,7 +1135,11 @@ This function was introduced in @w{ISO C 9x}. @comment math.h @comment SVID @deftypefun double j1 (double @var{x}) +@comment math.h +@comment SVID @deftypefunx float j1f (float @var{x}) +@comment math.h +@comment SVID @deftypefunx {long double} j1l (long double @var{x}) @code{j1} returns the Bessel function of the first kind of order 1 of @var{x}. It may signal underflow if @var{x} is too large. @@ -930,7 +1148,11 @@ This function was introduced in @w{ISO C 9x}. @comment math.h @comment SVID @deftypefun double jn (int n, double @var{x}) +@comment math.h +@comment SVID @deftypefunx float jnf (int n, float @var{x}) +@comment math.h +@comment SVID @deftypefunx {long double} jnl (int n, long double @var{x}) @code{jn} returns the Bessel function of the first kind of order @var{n} of @var{x}. It may signal underflow if @var{x} is too large. @@ -939,7 +1161,11 @@ This function was introduced in @w{ISO C 9x}. @comment math.h @comment SVID @deftypefun double y0 (double @var{x}) +@comment math.h +@comment SVID @deftypefunx float y0f (float @var{x}) +@comment math.h +@comment SVID @deftypefunx {long double} y0l (long double @var{x}) @code{y0} returns the Bessel function of the second kind of order 0 of @var{x}. It may signal underflow if @var{x} is too large. If @var{x} @@ -950,7 +1176,11 @@ is negative, @code{y0} signals a domain error; if it is zero, @comment math.h @comment SVID @deftypefun double y1 (double @var{x}) +@comment math.h +@comment SVID @deftypefunx float y1f (float @var{x}) +@comment math.h +@comment SVID @deftypefunx {long double} y1l (long double @var{x}) @code{y1} returns the Bessel function of the second kind of order 1 of @var{x}. It may signal underflow if @var{x} is too large. If @var{x} @@ -961,7 +1191,11 @@ is negative, @code{y1} signals a domain error; if it is zero, @comment math.h @comment SVID @deftypefun double yn (int n, double @var{x}) +@comment math.h +@comment SVID @deftypefunx float ynf (int n, float @var{x}) +@comment math.h +@comment SVID @deftypefunx {long double} ynl (int n, long double @var{x}) @code{yn} returns the Bessel function of the second kind of order @var{n} of @var{x}. It may signal underflow if @var{x} is too large. If @var{x} |