summaryrefslogtreecommitdiff
path: root/manual
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-04-30 15:51:34 +0000
committerUlrich Drepper <drepper@redhat.com>1997-04-30 15:51:34 +0000
commit779ae82ecdf88b7ed7c1f00d3ed3a639671c3c8d (patch)
tree287afe5ef732d76109129a142c5840cc42a2b34a /manual
parenta12ea214dbc999b98ab5ed4e53fb0089cf5e183a (diff)
1997-04-30 17:35 Ulrich Drepper <drepper@cygnus.com> * math/libm-test.c: Implement test for exceptions. Partly due to Andreas Jaeger. (csin_test): New function. * sysdeps/libm-i387/s_cexp.S: Raise correct exceptions. * sysdeps/libm-i387/s_cexpf.S: Likewise. * sysdeps/libm-i387/s_cexpl.S: Likewise. * sysdeps/libm-ieee754/s_ccos.c: Likewise. * sysdeps/libm-ieee754/s_ccosf.c: Likewise. * sysdeps/libm-ieee754/s_ccosl.c: Likewise. * sysdeps/libm-ieee754/s_ccosh.c: Likewise. * sysdeps/libm-ieee754/s_ccoshf.c: Likewise. * sysdeps/libm-ieee754/s_ccoshl.c: Likewise. * sysdeps/libm-ieee754/s_cexp.c: Likewise. * sysdeps/libm-ieee754/s_cexpf.c: Likewise. * sysdeps/libm-ieee754/s_cexpl.c: Likewise. * sysdeps/libm-ieee754/s_csinh.c: Likewise. * sysdeps/libm-ieee754/s_csinhf.c: Likewise. * sysdeps/libm-ieee754/s_csinhl.c: Likewise. * sysdeps/libm-ieee754/s_ctanh.c: Likewise. * sysdeps/libm-ieee754/s_ctanhf.c: Likewise. * sysdeps/libm-ieee754/s_ctanhl.c: Likewise. * sysdeps/libm-ieee754/s_ccosh.c: Correct computation. * sysdeps/libm-ieee754/s_ccoshf.c: Likewise. * sysdeps/libm-ieee754/s_ccoshl.c: Likewise. * sysdeps/libm-ieee754/s_csinh.c: Likewise. * sysdeps/libm-ieee754/s_csinhf.c: Likewise. * sysdeps/libm-ieee754/s_csinhl.c: Likewise. * sysdeps/libm-ieee754/s_csin.c: Rewrite. * sysdeps/libm-ieee754/s_csinf.c: Likewise. * sysdeps/libm-ieee754/s_csinl.c: Likewise. * stdlib/random_r.c (__srandom_r): Don't use seed 0. Use 1 in this case. * sysdeps/i386/dl-machine.h (elf_machine_load_address): Use notation for local label. * time/strftime.c (add): Respect `0' padding flag. Reported by Richard Stallman <rms@gnu.ai.mit.edu>. 1997-04-30 15:46 Ulrich Drepper <drepper@cygnus.com> * Makeconfig (start-installed-name): Define here, not in csu/Makefile. Use in +link macro. * csu/Makefile (distribute): Add abi-note.S and abi-tag.h. (start-installed-name): Don't define here. When ELF generate file named by start-installed-name from start.o and abi-note.o. * csu/abi-note.S: New file. * sysdeps/stub/abi-tag.h: New file. * sysdpes/unix/sysv/linux/abi-tag.h: New file. Patches by Roland McGrath <roland@gnu.ai.mit.edu>. 1997-04-30 01:32 Ulrich Drepper <drepper@cygnus.com> * manual/stdio.texi: Use @vtable where possible. Add TeX version of @multitable since texi2dvi cannot handle them correct in the moment. * po/de.po: Update. 1997-04-29 21:06 Ulrich Drepper <drepper@cygnus.com> * Makeconfig: Don't set cross-compiling based on $(BUILD_CC) != $(CC). * config.make.in: Set cross-compiling from configure result. * configure.in: Emit definition of `cross_compiling'. Patches by Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu>. 1997-04-27 21:50 Philip Blundell <pjb27@cam.ac.uk> * sysdeps/unix/sysv/linux/net/route.h (struct in6_rtmsg): Use correct `int' sizes for struct members. 1997-04-29 19:14 Ulrich Drepper <drepper@cygnus.com> * sysdeps/libm-i387/e_powf.S Generate invalid exception correctly. * sysdeps/libm-i387/e_pow.S: Likewise. * sysdeps/libm-i387/e_powl.S: Likewise. 1997-04-23 10:08 Andreas Jaeger <aj@arthur.rhein-neckar.de> * math/fenv.h: Correct typos. 1997-04-28 10:04 Richard Henderson <rth@tamu.edu> * sysdeps/unix/sysv/linux/alpha/clone.S: Save the function argument in t0 rather than a4 to avoid it being clobbered. 1997-04-27 23:52 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/summary.awk: Recognize @defmumblex. * manual/signal.texi (Miscellaneous Signals): Use @deftypevrx for second description header. 1997-04-27 23:29 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/arith.texi (Floating-Point Classes): Don't indent text, makeinfo doesn't like that. 1997-04-27 20:52 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * malloc/obstack.h (obstack_specify_allocation_with_arg, obstack_chunkfun, obstack_freefun): Fix casts. 1997-04-27 18:21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/xtract-typefun.awk: Allow names with only one character. 1997-04-26 14:16 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/netinet/ip_fw.h: Use <netinet/ip_icmp.h> not <netinet/icmp.h>. Reported by Michael Deutschmann <ldeutsch@mail.netshop.net>. 1997-04-25 12:31 Ulrich Drepper <drepper@cygnus.com> * csu/Makefile ($(objpfx)initfini.s): Add CPPFLAGS, CFLAGS and -g0 to command line of compiler. Patch by Marcus G. Daniels <marcus@sysc.pdx.edu>. * sysdeps/generic/sigset.h (__sigandset, __sigorset): Fix typos. Patch by Marcus G. Daniels <marcus@sysc.pdx.edu>. * signal/signal.h (_sys_siglist, sys_siglist): Use _NSIG, not NSIG in declaration. Patch by Michael Widenius <monty@tcx.se>. * time/strptime.c (strptime_internal): Fix %I format specifier being off by one. Patch by Mark Kettenis <kettenis@phys.uva.nl>. 1997-04-24 12:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * stdlib/lcong48_r.c: Include <limits.h>. * stdlib/seed48_r.c: Likewise. * stdio-common/printf_size.c (printf_size): Correct type of `units' and make robust against future changes. 1997-04-23 18:58 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/libm-ieee754/s_cproj.c: Use isfinite instead of finite. * sysdeps/libm-ieee754/s_cprojl.c: Likewise. * sysdeps/libm-ieee754/s_cprojf.c: Likewise. 1997-04-23 18:53 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * manual/arith.texi, manual/math.texi: Use @defmumblex for additional description headers. * manual/xtract-typefun.awk: Recognize them. 1997-04-22 15:58 Andreas Jaeger <aj@arthur.rhein-neckar.de> * stdio-common/printf_size.c (printf_size): Correct size of array units.
Diffstat (limited to 'manual')
-rw-r--r--manual/arith.texi154
-rw-r--r--manual/libc.texinfo7
-rw-r--r--manual/math.texi328
-rw-r--r--manual/signal.texi3
-rw-r--r--manual/stdio.texi46
-rw-r--r--manual/summary.awk24
-rw-r--r--manual/texinfo.tex134
-rw-r--r--manual/xtract-typefun.awk6
8 files changed, 326 insertions, 376 deletions
diff --git a/manual/arith.texi b/manual/arith.texi
index 86fb2667a0..efe0489e40 100644
--- a/manual/arith.texi
+++ b/manual/arith.texi
@@ -149,10 +149,8 @@ functions, and thus are available if you define @code{_BSD_SOURCE} or
@comment math.h
@comment BSD
@deftypefun int isinf (double @var{x})
-@end deftypefun
-@deftypefun int isinff (float @var{x})
-@end deftypefun
-@deftypefun int isinfl (long double @var{x})
+@deftypefunx int isinff (float @var{x})
+@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.
@end deftypefun
@@ -160,10 +158,8 @@ This function returns @code{-1} if @var{x} represents negative infinity,
@comment math.h
@comment BSD
@deftypefun int isnan (double @var{x})
-@end deftypefun
-@deftypefun int isnanf (float @var{x})
-@end deftypefun
-@deftypefun int isnanl (long double @var{x})
+@deftypefunx int isnanf (float @var{x})
+@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. (You can just as well use @code{@var{x} !=
@var{x}} to get the same result).
@@ -172,10 +168,8 @@ value, and zero otherwise. (You can just as well use @code{@var{x} !=
@comment math.h
@comment BSD
@deftypefun int finite (double @var{x})
-@end deftypefun
-@deftypefun int finitef (float @var{x})
-@end deftypefun
-@deftypefun int finitel (long double @var{x})
+@deftypefunx int finitef (float @var{x})
+@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.
@end deftypefun
@@ -213,21 +207,21 @@ which returns a value of type @code{int}. The possible values are:
@vtable @code
@item FP_NAN
- The floating-point number @var{x} is ``Not a Number'' (@pxref{Not a Number})
+The floating-point number @var{x} is ``Not a Number'' (@pxref{Not a Number})
@item FP_INFINITE
- The value of @var{x} is either plus or minus infinity (@pxref{Infinity})
+The value of @var{x} is either plus or minus infinity (@pxref{Infinity})
@item FP_ZERO
- The value of @var{x} is zero. In floating-point formats like @w{IEEE
- 754} where the zero value can be signed this value is also returned if
- @var{x} is minus zero.
+The value of @var{x} is zero. In floating-point formats like @w{IEEE
+754} where the zero value can be signed this value is also returned if
+@var{x} is minus zero.
@item FP_SUBNORMAL
- Some floating-point formats (such as @w{IEEE 754}) allow floating-point
- numbers to be represented in a denormalized format. This happens if the
- absolute value of the number is too small to be represented in the
- normal format. @code{FP_SUBNORMAL} is returned for such values of @var{x}.
+Some floating-point formats (such as @w{IEEE 754}) allow floating-point
+numbers to be represented in a denormalized format. This happens if the
+absolute value of the number is too small to be represented in the
+normal format. @code{FP_SUBNORMAL} is returned for such values of @var{x}.
@item FP_NORMAL
- This value is returned for all other cases which means the number is a
- plain floating-point number without special meaning.
+This value is returned for all other cases which means the number is a
+plain floating-point number without special meaning.
@end vtable
This macro is useful if more than property of a number must be
@@ -319,20 +313,16 @@ functions.
@comment complex.h
@comment ISO
@deftypefun double creal (complex double @var{z})
-@end deftypefun
-@deftypefun float crealf (complex float @var{z})
-@end deftypefun
-@deftypefun {long double} creall (complex long double @var{z})
+@deftypefunx float crealf (complex float @var{z})
+@deftypefunx {long double} creall (complex long double @var{z})
These functions return the real part of the complex number @var{z}.
@end deftypefun
@comment complex.h
@comment ISO
@deftypefun double cimag (complex double @var{z})
-@end deftypefun
-@deftypefun float cimagf (complex float @var{z})
-@end deftypefun
-@deftypefun {long double} cimagl (complex long double @var{z})
+@deftypefunx float cimagf (complex float @var{z})
+@deftypefunx {long double} cimagl (complex long double @var{z})
These functions return the imaginary part of the complex number @var{z}.
@end deftypefun
@@ -343,10 +333,8 @@ for the real part but the complex part is negated.
@comment complex.h
@comment ISO
@deftypefun {complex double} conj (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} conjf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} conjl (complex long double @var{z})
+@deftypefunx {complex float} conjf (complex float @var{z})
+@deftypefunx {complex long double} conjl (complex long double @var{z})
These functions return the conjugate complex value of the complex number
@var{z}.
@end deftypefun
@@ -354,10 +342,8 @@ These functions return the conjugate complex value of the complex number
@comment complex.h
@comment ISO
@deftypefun double carg (complex double @var{z})
-@end deftypefun
-@deftypefun float cargf (complex float @var{z})
-@end deftypefun
-@deftypefun {long double} cargl (complex long double @var{z})
+@deftypefunx float cargf (complex float @var{z})
+@deftypefunx {long double} cargl (complex long double @var{z})
These functions return argument of the complex number @var{z}.
Mathematically, the argument is the phase angle of @var{z} with a branch
@@ -367,10 +353,8 @@ cut along the negative real axis.
@comment complex.h
@comment ISO
@deftypefun {complex double} cproj (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} cprojf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} cprojl (complex long double @var{z})
+@deftypefunx {complex float} cprojf (complex float @var{z})
+@deftypefunx {complex long double} cprojl (complex long double @var{z})
Return the projection of the complex value @var{z} on the Riemann
sphere. Values with a infinite complex part (even if the real part
is NaN) are projected to positive infinte on the real axis. If the real part is infinite, the result is equivalent to
@@ -418,10 +402,8 @@ are of type @code{long int} rather than @code{int}.
@comment math.h
@comment ISO
@deftypefun double fabs (double @var{number})
-@end deftypefun
-@deftypefun float fabsf (float @var{number})
-@end deftypefun
-@deftypefun {long double} fabsl (long double @var{number})
+@deftypefunx float fabsf (float @var{number})
+@deftypefunx {long double} fabsl (long double @var{number})
This function returns the absolute value of the floating-point number
@var{number}.
@end deftypefun
@@ -429,10 +411,8 @@ This function returns the absolute value of the floating-point number
@comment complex.h
@comment ISO
@deftypefun double cabs (complex double @var{z})
-@end deftypefun
-@deftypefun float cabsf (complex float @var{z})
-@end deftypefun
-@deftypefun {long double} cabsl (complex long double @var{z})
+@deftypefunx float cabsf (complex float @var{z})
+@deftypefunx {long double} cabsl (complex long double @var{z})
These functions return the absolute value of the complex number @var{z}.
The compiler must support complex numbers to use these functions. (See
also the function @code{hypot} in @ref{Exponents and Logarithms}.) The
@@ -461,10 +441,8 @@ All these functions are declared in @file{math.h}.
@comment math.h
@comment ISO
@deftypefun double frexp (double @var{value}, int *@var{exponent})
-@end deftypefun
-@deftypefun float frexpf (float @var{value}, int *@var{exponent})
-@end deftypefun
-@deftypefun {long double} frexpl (long double @var{value}, int *@var{exponent})
+@deftypefunx float frexpf (float @var{value}, int *@var{exponent})
+@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.
@@ -484,10 +462,8 @@ zero is stored in @code{*@var{exponent}}.
@comment math.h
@comment ISO
@deftypefun double ldexp (double @var{value}, int @var{exponent})
-@end deftypefun
-@deftypefun float ldexpf (float @var{value}, int @var{exponent})
-@end deftypefun
-@deftypefun {long double} ldexpl (long double @var{value}, int @var{exponent})
+@deftypefunx float ldexpf (float @var{value}, int @var{exponent})
+@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
be used to reassemble floating-point numbers that were taken apart
@@ -502,20 +478,16 @@ equivalent to those of @code{ldexp} and @code{frexp}:
@comment math.h
@comment BSD
@deftypefun double scalb (double @var{value}, int @var{exponent})
-@end deftypefun
-@deftypefun float scalbf (float @var{value}, int @var{exponent})
-@end deftypefun
-@deftypefun {long double} scalbl (long double @var{value}, int @var{exponent})
+@deftypefunx float scalbf (float @var{value}, int @var{exponent})
+@deftypefunx {long double} scalbl (long double @var{value}, int @var{exponent})
The @code{scalb} function is the BSD name for @code{ldexp}.
@end deftypefun
@comment math.h
@comment BSD
@deftypefun double logb (double @var{x})
-@end deftypefun
-@deftypefun float logbf (float @var{x})
-@end deftypefun
-@deftypefun {long double} logbl (long double @var{x})
+@deftypefunx float logbf (float @var{x})
+@deftypefunx {long double} logbl (long double @var{x})
These BSD functions return the integer part of the base-2 logarithm of
@var{x}, an integer value represented in type @code{double}. This is
the highest integer power of @code{2} contained in @var{x}. The sign of
@@ -536,10 +508,8 @@ The value returned by @code{logb} is one less than the value that
@comment math.h
@comment ISO
@deftypefun double copysign (double @var{value}, double @var{sign})
-@end deftypefun
-@deftypefun float copysignf (float @var{value}, float @var{sign})
-@end deftypefun
-@deftypefun {long double} copysignl (long double @var{value}, long double @var{sign})
+@deftypefunx float copysignf (float @var{value}, float @var{sign})
+@deftypefunx {long double} copysignl (long double @var{value}, long double @var{sign})
These functions return a value whose absolute value is the
same as that of @var{value}, and whose sign matches that of @var{sign}.
This function appears in BSD and was standardized in @w{ISO C 9X}.
@@ -580,10 +550,8 @@ result as a @code{double} instead to get around this problem.
@comment math.h
@comment ISO
@deftypefun double ceil (double @var{x})
-@end deftypefun
-@deftypefun float ceilf (float @var{x})
-@end deftypefun
-@deftypefun {long double} ceill (long double @var{x})
+@deftypefunx float ceilf (float @var{x})
+@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)}
is @code{2.0}.
@@ -592,10 +560,8 @@ is @code{2.0}.
@comment math.h
@comment ISO
@deftypefun double floor (double @var{x})
-@end deftypefun
-@deftypefun float floorf (float @var{x})
-@end deftypefun
-@deftypefun {long double} floorl (long double @var{x})
+@deftypefunx float floorf (float @var{x})
+@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
(1.5)} is @code{1.0} and @code{floor (-1.5)} is @code{-2.0}.
@@ -604,10 +570,8 @@ integer, returning that value as a @code{double}. Thus, @code{floor
@comment math.h
@comment ISO
@deftypefun double rint (double @var{x})
-@end deftypefun
-@deftypefun float rintf (float @var{x})
-@end deftypefun
-@deftypefun {long double} rintl (long double @var{x})
+@deftypefunx float rintf (float @var{x})
+@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
information about the various rounding modes. The default
@@ -619,10 +583,8 @@ you explicit select another.
@comment math.h
@comment ISO
@deftypefun double nearbyint (double @var{x})
-@end deftypefun
-@deftypefun float nearbyintf (float @var{x})
-@end deftypefun
-@deftypefun {long double} nearbyintl (long double @var{x})
+@deftypefunx float nearbyintf (float @var{x})
+@deftypefunx {long double} nearbyintl (long double @var{x})
These functions return the same value as the @code{rint} functions but
even some rounding actually takes place @code{nearbyint} does @emph{not}
raise the inexact exception.
@@ -631,10 +593,8 @@ raise the inexact exception.
@comment math.h
@comment ISO
@deftypefun double modf (double @var{value}, double *@var{integer-part})
-@end deftypefun
-@deftypefun float modff (flaot @var{value}, float *@var{integer-part})
-@end deftypefun
-@deftypefun {long double} modfl (long double @var{value}, long double *@var{integer-part})
+@deftypefunx float modff (flaot @var{value}, float *@var{integer-part})
+@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
equals @var{value}. Each of the parts has the same sign as @var{value},
@@ -648,10 +608,8 @@ returns @code{0.5} and stores @code{2.0} into @code{intpart}.
@comment math.h
@comment ISO
@deftypefun double fmod (double @var{numerator}, double @var{denominator})
-@end deftypefun
-@deftypefun float fmodf (float @var{numerator}, float @var{denominator})
-@end deftypefun
-@deftypefun {long double} fmodl (long double @var{numerator}, long double @var{denominator})
+@deftypefunx float fmodf (float @var{numerator}, float @var{denominator})
+@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
@code{@var{numerator} - @w{@var{n} * @var{denominator}}}, where @var{n}
@@ -669,10 +627,8 @@ If @var{denominator} is zero, @code{fmod} fails and sets @code{errno} to
@comment math.h
@comment BSD
@deftypefun double drem (double @var{numerator}, double @var{denominator})
-@end deftypefun
-@deftypefun float dremf (float @var{numerator}, float @var{denominator})
-@end deftypefun
-@deftypefun {long double} dreml (long double @var{numerator}, long double @var{denominator})
+@deftypefunx float dremf (float @var{numerator}, float @var{denominator})
+@deftypefunx {long double} dreml (long double @var{numerator}, long double @var{denominator})
These functions are like @code{fmod} etc except that it rounds the
internal quotient @var{n} to the nearest integer instead of towards zero
to an integer. For example, @code{drem (6.5, 2.3)} returns @code{-0.4},
diff --git a/manual/libc.texinfo b/manual/libc.texinfo
index 50d42b53d6..aa72be16e3 100644
--- a/manual/libc.texinfo
+++ b/manual/libc.texinfo
@@ -3,12 +3,15 @@
@setfilename libc.info
@settitle The GNU C Library
@setchapternewpage odd
-@comment %**end of header (This is for running Texinfo on a region.)
@c This tells texinfo.tex to use the real section titles in xrefs in
@c place of the node name, when no section title is explicitly given.
@set xref-automatic-section-title
-@smallbook
+@c @smallbook
+@iftex
+@afourpaper
+@end iftex
+@comment %**end of header (This is for running Texinfo on a region.)
@c sold 0.06/1.09, print run out 21may96
@set EDITION 0.07 DRAFT
diff --git a/manual/math.texi b/manual/math.texi
index 78d567b367..e2adccddb3 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -146,10 +146,8 @@ You can also compute the value of pi with the expression @code{acos
@comment math.h
@comment ISO
@deftypefun double sin (double @var{x})
-@end deftypefun
-@deftypefun float sinf (float @var{x})
-@end deftypefun
-@deftypefun {long double} sinl (long double @var{x})
+@deftypefunx float sinf (float @var{x})
+@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}.
@end deftypefun
@@ -157,10 +155,8 @@ radians. The return value is in the range @code{-1} to @code{1}.
@comment math.h
@comment ISO
@deftypefun double cos (double @var{x})
-@end deftypefun
-@deftypefun float cosf (float @var{x})
-@end deftypefun
-@deftypefun {long double} cosl (long double @var{x})
+@deftypefunx float cosf (float @var{x})
+@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}.
@end deftypefun
@@ -168,10 +164,8 @@ radians. The return value is in the range @code{-1} to @code{1}.
@comment math.h
@comment ISO
@deftypefun double tan (double @var{x})
-@end deftypefun
-@deftypefun float tanf (float @var{x})
-@end deftypefun
-@deftypefun {long double} tanl (long double @var{x})
+@deftypefunx float tanf (float @var{x})
+@deftypefunx {long double} tanl (long double @var{x})
These functions return the tangent of @var{x}, where @var{x} is given in
radians.
@@ -189,16 +183,14 @@ either positive or negative @code{HUGE_VAL}.
In many applications where @code{sin} and @code{cos} are used, the value
for the same argument of both of these functions is used at the same
time. Since the algorithm to compute these values is very similar for
-both functions there is an additional function with computes both values
+both functions there is an additional function which computes both values
at the same time.
@comment math.h
@comment GNU
@deftypefun void sincos (double @var{x}, double *@var{sinx}, double *@var{cosx})
-@end deftypefun
-@deftypefun void sincosf (float @var{x}, float *@var{sinx}, float *@var{cosx})
-@end deftypefun
-@deftypefun void sincosl (long double @var{x}, long double *@var{sinx}, long double *@var{cosx})
+@deftypefunx void sincosf (float @var{x}, float *@var{sinx}, float *@var{cosx})
+@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
radians. Both values, @code{*@var{sinx}} and @code{*@var{cosx}}, are in
@@ -207,53 +199,62 @@ the range of @code{-1} to @code{1}.
@cindex complex trigonometric functions
-The trigonometric functions are in mathematics not only on real numbers.
-They can be extended to complex numbers and the @w{ISO C 9X} standard
-introduces these variants in the standard math library.
+The trigonometric functions are in mathematics not only defined on real
+numbers. They can be extended to complex numbers and the @w{ISO C 9X}
+standard introduces these variants in the standard math library.
@comment complex.h
@comment ISO
@deftypefun {complex double} csin (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} csinf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} csinl (complex long double @var{z})
+@deftypefunx {complex float} csinf (complex float @var{z})
+@deftypefunx {complex long double} csinl (complex long double @var{z})
These functions return the complex sine of the complex value in @var{z}.
The mathematical definition of the complex sine is
-@smallexample
-sin (z) = 1/(2*i) * (exp (z*i) - exp (-z*i))
-@end smallexample
+@ifinfo
+@math{sin (z) = 1/(2*i) * (exp (z*i) - exp (-z*i))}.
+@end ifinfo
+@iftex
+@tex
+$$\sin(z) = {1\over 2i} (e^{zi} - e^{-zi})$$
+@end tex
+@end iftex
@end deftypefun
@comment complex.h
@comment ISO
@deftypefun {complex double} ccos (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} ccosf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} ccosl (complex long double @var{z})
+@deftypefunx {complex float} ccosf (complex float @var{z})
+@deftypefunx {complex long double} ccosl (complex long double @var{z})
These functions return the complex cosine of the complex value in @var{z}.
The mathematical definition of the complex cosine is
-@smallexample
-cos (z) = 1/2 * (exp (z*i) + exp (-z*i))
-@end smallexample
+@ifinfo
+@math{cos (z) = 1/2 * (exp (z*i) + exp (-z*i))}
+@end ifinfo
+@iftex
+@tex
+$$\cos(z) = {1\over 2} (e^{zi} + e^{-zi})$$
+@end tex
+@end iftex
@end deftypefun
@comment complex.h
@comment ISO
@deftypefun {complex double} ctan (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} ctanf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} ctanl (complex long double @var{z})
+@deftypefunx {complex float} ctanf (complex float @var{z})
+@deftypefunx {complex long double} ctanl (complex long double @var{z})
These functions return the complex tangent of the complex value in @var{z}.
The mathematical definition of the complex tangent is
-@smallexample
-tan (z) = 1/i * (exp (z*i) - exp (-z*i)) / (exp (z*i) + exp (-z*i))
-@end smallexample
+@ifinfo
+@math{tan (z) = 1/i * (exp (z*i) - exp (-z*i)) / (exp (z*i) + exp (-z*i))}
+@end ifinfo
+@iftex
+@tex
+$$\tan(z) = {1\over i} {e^{zi} - e^{-zi}\over e^{zi} + e^{-zi}}$$
+@end tex
+@end iftex
@end deftypefun
@@ -268,10 +269,8 @@ respectively.
@comment math.h
@comment ISO
@deftypefun double asin (double @var{x})
-@end deftypefun
-@deftypefun float asinf (float @var{x})
-@end deftypefun
-@deftypefun {long double} asinl (long double @var{x})
+@deftypefunx float asinf (float @var{x})
+@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,
there are infinitely many such values; the one actually returned is the
@@ -285,10 +284,8 @@ over the domain @code{-1} to @code{1}.
@comment math.h
@comment ISO
@deftypefun double acos (double @var{x})
-@end deftypefun
-@deftypefun float acosf (float @var{x})
-@end deftypefun
-@deftypefun {long double} acosl (long double @var{x})
+@deftypefunx float acosf (float @var{x})
+@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.
Mathematically, there are infinitely many such values; the one actually
@@ -303,10 +300,8 @@ over the domain @code{-1} to @code{1}.
@comment math.h
@comment ISO
@deftypefun double atan (double @var{x})
-@end deftypefun
-@deftypefun float atanf (float @var{x})
-@end deftypefun
-@deftypefun {long double} atanl (long double @var{x})
+@deftypefunx float atanf (float @var{x})
+@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.
Mathematically, there are infinitely many such values; the one actually
@@ -317,10 +312,8 @@ returned is the one between @code{-pi/2} and @code{pi/2}
@comment math.h
@comment ISO
@deftypefun double atan2 (double @var{y}, double @var{x})
-@end deftypefun
-@deftypefun float atan2f (float @var{y}, float @var{x})
-@end deftypefun
-@deftypefun {long double} atan2l (long double @var{y}, long double @var{x})
+@deftypefunx float atan2f (float @var{y}, float @var{x})
+@deftypefunx {long double} atan2l (long double @var{y}, long double @var{x})
This is the two argument arc tangent function. It is similar to computing
the arc tangent of @var{y}/@var{x}, except that the signs of both arguments
are used to determine the quadrant of the result, and @var{x} is
@@ -347,10 +340,8 @@ which are usable with complex numbers.
@comment complex.h
@comment ISO
@deftypefun {complex double} casin (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} casinf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} casinl (complex long double @var{z})
+@deftypefunx {complex float} casinf (complex float @var{z})
+@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 is in units of radians.
@@ -361,10 +352,8 @@ limitation on the argument @var{z}.
@comment complex.h
@comment ISO
@deftypefun {complex double} cacos (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} cacosf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} cacosl (complex long double @var{z})
+@deftypefunx {complex float} cacosf (complex float @var{z})
+@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 is in units of radians.
@@ -376,10 +365,8 @@ limitation on the argument @var{z}.
@comment complex.h
@comment ISO
@deftypefun {complex double} catan (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} catanf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} catanl (complex long double @var{z})
+@deftypefunx {complex float} catanf (complex float @var{z})
+@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.
@end deftypefun
@@ -394,10 +381,8 @@ 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})
-@end deftypefun
-@deftypefun float expf (float @var{x})
-@end deftypefun
-@deftypefun {long double} expl (long double @var{x})
+@deftypefunx float expf (float @var{x})
+@deftypefunx {long double} expl (long double @var{x})
These functions return the value of @code{e} (the base of natural
logarithms) raised to power @var{x}.
@@ -408,10 +393,8 @@ magnitude of the result is too large to be representable.
@comment math.h
@comment ISO
@deftypefun double exp10 (double @var{x})
-@end deftypefun
-@deftypefun float exp10f (float @var{x})
-@end deftypefun
-@deftypefun {long double} exp10l (long double @var{x})
+@deftypefunx float exp10f (float @var{x})
+@deftypefunx {long double} exp10l (long double @var{x})
These functions return the value of @code{10} raised to the power @var{x}.
Mathematically, @code{exp10 (x)} is the same as @code{exp (x * log (10))}.
@@ -422,10 +405,8 @@ magnitude of the result is too large to be representable.
@comment math.h
@comment ISO
@deftypefun double exp2 (double @var{x})
-@end deftypefun
-@deftypefun float exp2f (float @var{x})
-@end deftypefun
-@deftypefun {long double} exp2l (long double @var{x})
+@deftypefunx float exp2f (float @var{x})
+@deftypefunx {long double} exp2l (long double @var{x})
These functions return the value of @code{2} raised to the power @var{x}.
Mathematically, @code{exp2 (x)} is the same as @code{exp (x * log (2))}.
@@ -437,10 +418,8 @@ magnitude of the result is too large to be representable.
@comment math.h
@comment ISO
@deftypefun double log (double @var{x})
-@end deftypefun
-@deftypefun float logf (floatdouble @var{x})
-@end deftypefun
-@deftypefun {long double} logl (long double @var{x})
+@deftypefunx float logf (floatdouble @var{x})
+@deftypefunx {long double} logl (long double @var{x})
These functions return the natural logarithm of @var{x}. @code{exp (log
(@var{x}))} equals @var{x}, exactly in mathematics and approximately in
C.
@@ -460,10 +439,8 @@ The argument is zero. The log of zero is not defined.
@comment math.h
@comment ISO
@deftypefun double log10 (double @var{x})
-@end deftypefun
-@deftypefun float log10f (float @var{x})
-@end deftypefun
-@deftypefun {long double} log10l (long double @var{x})
+@deftypefunx float log10f (float @var{x})
+@deftypefunx {long double} log10l (long double @var{x})
These functions return the base-10 logarithm of @var{x}. Except for the
different base, it is similar to the @code{log} function. In fact,
@code{log10 (@var{x})} equals @code{log (@var{x}) / log (10)}.
@@ -472,10 +449,8 @@ different base, it is similar to the @code{log} function. In fact,
@comment math.h
@comment ISO
@deftypefun double log2 (double @var{x})
-@end deftypefun
-@deftypefun float log2f (float @var{x})
-@end deftypefun
-@deftypefun {long double} log2l (long double @var{x})
+@deftypefunx float log2f (float @var{x})
+@deftypefunx {long double} log2l (long double @var{x})
These functions return the base-2 logarithm of @var{x}. Except for the
different base, it is similar to the @code{log} function. In fact,
@code{log2 (@var{x})} equals @code{log (@var{x}) / log (2)}.
@@ -484,10 +459,8 @@ different base, it is similar to the @code{log} function. In fact,
@comment math.h
@comment ISO
@deftypefun double pow (double @var{base}, double @var{power})
-@end deftypefun
-@deftypefun float powf (float @var{base}, float @var{power})
-@end deftypefun
-@deftypefun {long double} powl (long double @var{base}, long double @var{power})
+@deftypefunx float powf (float @var{base}, float @var{power})
+@deftypefunx {long double} powl (long double @var{base}, long double @var{power})
These are general exponentiation functions, returning @var{base} raised
to @var{power}.
@@ -508,10 +481,8 @@ An underflow or overflow condition was detected in the result.
@comment math.h
@comment ISO
@deftypefun double sqrt (double @var{x})
-@end deftypefun
-@deftypefun float sqrtf (float @var{x})
-@end deftypefun
-@deftypefun {long double} sqrtl (long double @var{x})
+@deftypefunx float sqrtf (float @var{x})
+@deftypefunx {long double} sqrtl (long double @var{x})
These functions return the nonnegative square root of @var{x}.
The @code{sqrt} function fails, and sets @code{errno} to @code{EDOM}, if
@@ -524,10 +495,8 @@ number.
@comment math.h
@comment BSD
@deftypefun double cbrt (double @var{x})
-@end deftypefun
-@deftypefun float cbrtf (float @var{x})
-@end deftypefun
-@deftypefun {long double} cbrtl (long double @var{x})
+@deftypefunx float cbrtf (float @var{x})
+@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.
@end deftypefun
@@ -535,10 +504,8 @@ 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})
-@end deftypefun
-@deftypefun float hypotf (float @var{x}, float @var{y})
-@end deftypefun
-@deftypefun {long double} hypotl (long double @var{x}, long double @var{y})
+@deftypefunx float hypotf (float @var{x}, float @var{y})
+@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
triangle with sides of length @var{x} and @var{y}, or the distance
@@ -550,10 +517,8 @@ much smaller. See also the function @code{cabs} in @ref{Absolute Value}.
@comment math.h
@comment ISO
@deftypefun double expm1 (double @var{x})
-@end deftypefun
-@deftypefun float expm1f (float @var{x})
-@end deftypefun
-@deftypefun {long double} expm1l (long double @var{x})
+@deftypefunx float expm1f (float @var{x})
+@deftypefunx {long double} expm1l (long double @var{x})
These functions return a value equivalent to @code{exp (@var{x}) - 1}.
It is computed in a way that is accurate even if the value of @var{x} is
near zero---a case where @code{exp (@var{x}) - 1} would be inaccurate due
@@ -563,10 +528,8 @@ to subtraction of two numbers that are nearly equal.
@comment math.h
@comment ISO
@deftypefun double log1p (double @var{x})
-@end deftypefun
-@deftypefun float log1pf (float @var{x})
-@end deftypefun
-@deftypefun {long double} log1pl (long double @var{x})
+@deftypefunx float log1pf (float @var{x})
+@deftypefunx {long double} log1pl (long double @var{x})
This function returns a value equivalent to @w{@code{log (1 + @var{x})}}.
It is computed in a way that is accurate even if the value of @var{x} is
near zero.
@@ -584,45 +547,51 @@ definition.
@comment complex.h
@comment ISO
@deftypefun {complex double} cexp (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} cexpf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} cexpl (complex long double @var{z})
+@deftypefunx {complex float} cexpf (complex float @var{z})
+@deftypefunx {complex long double} cexpl (complex long double @var{z})
These functions return the value of @code{e} (the base of natural
logarithms) raised to power of the complex value @var{z}.
+@noindent
Mathematically this corresponds to the value
-@smallexample
-exp (z) = exp (creal (z)) * (cos (cimag (z)) + I * sin (cimag (z)))
-@end smallexample
+@ifinfo
+@math{exp (z) = exp (creal (z)) * (cos (cimag (z)) + I * sin (cimag (z)))}
+@end ifinfo
+@iftex
+@tex
+$$\exp(z) = e^z = e^{{\rm Re} z} (\cos ({\rm Im} z) + i \sin ({\rm Im} z))$$
+@end tex
+@end iftex
@end deftypefun
@comment complex.h
@comment ISO
@deftypefun {complex double} clog (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} clogf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} clogl (complex long double @var{z})
+@deftypefunx {complex float} clogf (complex float @var{z})
+@deftypefunx {complex long double} clogl (complex long double @var{z})
These functions return the natural logarithm of the complex value
@var{z}. Unlike the real value version @code{log} and its variants,
@code{clog} has no limit for the range of its argument @var{z}.
+@noindent
Mathematically this corresponds to the value
-@smallexample
-log (z) = log (cabs (z)) + I * carg (z)
-@end smallexample
+@ifinfo
+@math{log (z) = log (cabs (z)) + I * carg (z)}
+@end ifinfo
+@iftex
+@tex
+$$\log(z) = \log(|z|) + i \arg(z)$$
+@end tex
+@end iftex
@end deftypefun
@comment complex.h
@comment ISO
@deftypefun {complex double} csqrt (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} csqrtf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} csqrtl (complex long double @var{z})
+@deftypefunx {complex float} csqrtf (complex float @var{z})
+@deftypefunx {complex long double} csqrtl (complex long double @var{z})
These functions return the complex root of the argument @var{z}. Unlike
the @code{sqrt} function these functions do not have any restriction on
the value of the argument.
@@ -631,16 +600,19 @@ the value of the argument.
@comment complex.h
@comment ISO
@deftypefun {complex double} cpow (complex double @var{base}, complex double @var{power})
-@end deftypefun
-@deftypefun {complex float} cpowf (complex float @var{base}, complex float @var{power})
-@end deftypefun
-@deftypefun {complex long double} cpowl (complex long double @var{base}, complex long double @var{power})
+@deftypefunx {complex float} cpowf (complex float @var{base}, complex float @var{power})
+@deftypefunx {complex long double} cpowl (complex long double @var{base}, complex long double @var{power})
These functions return the complex value @var{BASE} raised to the power of
@var{power}. This is computed as
-@smallexample
-cpow (x, y) = cexp (y * clog (x))
-@end smallexample
+@ifinfo
+@math{cpow (x, y) = cexp (y * clog (x))}
+@end ifinfo
+@iftex
+@tex
+$${\rm cpow}(x, y) = e^{y \log(x)}$$
+@end tex
+@end iftex
@end deftypefun
@@ -654,10 +626,8 @@ see @ref{Exponents and Logarithms}.
@comment math.h
@comment ISO
@deftypefun double sinh (double @var{x})
-@end deftypefun
-@deftypefun float sinhf (float @var{x})
-@end deftypefun
-@deftypefun {long double} sinhl (long double @var{x})
+@deftypefunx float sinhf (float @var{x})
+@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}}. The
function fails, and sets @code{errno} to @code{ERANGE}, if the value of
@@ -667,10 +637,8 @@ function fails, and sets @code{errno} to @code{ERANGE}, if the value of
@comment math.h
@comment ISO
@deftypefun double cosh (double @var{x})
-@end deftypefun
-@deftypefun float coshf (float @var{x})
-@end deftypefun
-@deftypefun {long double} coshl (long double @var{x})
+@deftypefunx float coshf (float @var{x})
+@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}}.
The function fails, and sets @code{errno} to @code{ERANGE}, if the value
@@ -680,10 +648,8 @@ of @var{x} is too large; that is, if overflow occurs.
@comment math.h
@comment ISO
@deftypefun double tanh (double @var{x})
-@end deftypefun
-@deftypefun float tanhf (float @var{x})
-@end deftypefun
-@deftypefun {long double} tanhl (long double @var{x})
+@deftypefunx float tanhf (float @var{x})
+@deftypefunx {long double} tanhl (long double @var{x})
These functions return the hyperbolic tangent of @var{x}, whose
mathematical definition is @w{@code{sinh (@var{x}) / cosh (@var{x})}}.
@end deftypefun
@@ -698,10 +664,8 @@ library are optimized for accuracy and speed.
@comment complex.h
@comment ISO
@deftypefun {complex double} csinh (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} csinhf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} csinhl (complex long double @var{z})
+@deftypefunx {complex float} csinhf (complex float @var{z})
+@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}}. The
function fails, and sets @code{errno} to @code{ERANGE}, if the value of
@@ -711,10 +675,8 @@ result is too large.
@comment complex.h
@comment ISO
@deftypefun {complex double} ccosh (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} ccoshf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} ccoshl (complex long double @var{z})
+@deftypefunx {complex float} ccoshf (complex float @var{z})
+@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}}. The
function fails, and sets @code{errno} to @code{ERANGE}, if the value of
@@ -724,10 +686,8 @@ result is too large.
@comment complex.h
@comment ISO
@deftypefun {complex double} ctanh (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} ctanhf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} ctanhl (complex long double @var{z})
+@deftypefunx {complex float} ctanhf (complex float @var{z})
+@deftypefunx {complex long double} ctanhl (complex long double @var{z})
These functions return the complex hyperbolic tangent of @var{z}, whose
mathematical definition is @w{@code{csinh (@var{z}) / ccosh (@var{z})}}.
@end deftypefun
@@ -738,10 +698,8 @@ mathematical definition is @w{@code{csinh (@var{z}) / ccosh (@var{z})}}.
@comment math.h
@comment ISO
@deftypefun double asinh (double @var{x})
-@end deftypefun
-@deftypefun float asinhf (float @var{x})
-@end deftypefun
-@deftypefun {long double} asinhl (long double @var{x})
+@deftypefunx float asinhf (float @var{x})
+@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}.
@end deftypefun
@@ -749,10 +707,8 @@ value whose hyperbolic sine is @var{x}.
@comment math.h
@comment ISO
@deftypefun double acosh (double @var{x})
-@end deftypefun
-@deftypefun float acoshf (float @var{x})
-@end deftypefun
-@deftypefun {long double} acoshl (long double @var{x})
+@deftypefunx float acoshf (float @var{x})
+@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
@code{1}, @code{acosh} returns @code{HUGE_VAL}.
@@ -761,10 +717,8 @@ value whose hyperbolic cosine is @var{x}. If @var{x} is less than
@comment math.h
@comment ISO
@deftypefun double atanh (double @var{x})
-@end deftypefun
-@deftypefun float atanhf (float @var{x})
-@end deftypefun
-@deftypefun {long double} atanhl (long double @var{x})
+@deftypefunx float atanhf (float @var{x})
+@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
@var{x} is greater than or equal to @code{1}, @code{atanh} returns
@@ -776,10 +730,8 @@ value whose hyperbolic tangent is @var{x}. If the absolute value of
@comment complex.h
@comment ISO
@deftypefun {complex double} casinh (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} casinhf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} casinhl (complex long double @var{z})
+@deftypefunx {complex float} casinhf (complex float @var{z})
+@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}.
@end deftypefun
@@ -787,10 +739,8 @@ These functions return the inverse complex hyperbolic sine of
@comment complex.h
@comment ISO
@deftypefun {complex double} cacosh (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} cacoshf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} cacoshl (complex long double @var{z})
+@deftypefunx {complex float} cacoshf (complex float @var{z})
+@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
the real valued function @code{acosh} there is not limit for the range
@@ -800,10 +750,8 @@ of the argument.
@comment complex.h
@comment ISO
@deftypefun {complex double} catanh (complex double @var{z})
-@end deftypefun
-@deftypefun {complex float} catanhf (complex float @var{z})
-@end deftypefun
-@deftypefun {complex long double} catanhl (complex long double @var{z})
+@deftypefunx {complex float} catanhf (complex float @var{z})
+@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
the real valued function @code{atanh} there is not limit for the range
diff --git a/manual/signal.texi b/manual/signal.texi
index 767ddabb41..bc69019e63 100644
--- a/manual/signal.texi
+++ b/manual/signal.texi
@@ -833,10 +833,9 @@ will not affect your program unless it explicitly uses them for something.
@comment signal.h
@comment POSIX.1
@deftypevr Macro int SIGUSR1
-@end deftypevr
@comment signal.h
@comment POSIX.1
-@deftypevr Macro int SIGUSR2
+@deftypevrx Macro int SIGUSR2
@cindex user signals
The @code{SIGUSR1} and @code{SIGUSR2} signals are set aside for you to
use any way you want. They're useful for simple interprocess
diff --git a/manual/stdio.texi b/manual/stdio.texi
index 97c3f581d1..3e73155f4a 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -1765,47 +1765,40 @@ extract just the basic type code.
Here are symbolic constants that represent the basic types; they stand
for integer values.
-@table @code
+@vtable @code
@comment printf.h
@comment GNU
@item PA_INT
-@vindex PA_INT
This specifies that the base type is @code{int}.
@comment printf.h
@comment GNU
@item PA_CHAR
-@vindex PA_CHAR
This specifies that the base type is @code{int}, cast to @code{char}.
@comment printf.h
@comment GNU
@item PA_STRING
-@vindex PA_STRING
This specifies that the base type is @code{char *}, a null-terminated string.
@comment printf.h
@comment GNU
@item PA_POINTER
-@vindex PA_POINTER
This specifies that the base type is @code{void *}, an arbitrary pointer.
@comment printf.h
@comment GNU
@item PA_FLOAT
-@vindex PA_FLOAT
This specifies that the base type is @code{float}.
@comment printf.h
@comment GNU
@item PA_DOUBLE
-@vindex PA_DOUBLE
This specifies that the base type is @code{double}.
@comment printf.h
@comment GNU
@item PA_LAST
-@vindex PA_LAST
You can define additional base types for your own programs as offsets
from @code{PA_LAST}. For example, if you have data types @samp{foo}
and @samp{bar} with their own specialized @code{printf} conversions,
@@ -1815,16 +1808,15 @@ you could define encodings for these types as:
#define PA_FOO PA_LAST
#define PA_BAR (PA_LAST + 1)
@end smallexample
-@end table
+@end vtable
Here are the flag bits that modify a basic type. They are combined with
the code for the basic type using inclusive-or.
-@table @code
+@vtable @code
@comment printf.h
@comment GNU
@item PA_FLAG_PTR
-@vindex PA_FLAG_PTR
If this bit is set, it indicates that the encoded type is a pointer to
the base type, rather than an immediate value.
For example, @samp{PA_INT|PA_FLAG_PTR} represents the type @samp{int *}.
@@ -1832,31 +1824,27 @@ For example, @samp{PA_INT|PA_FLAG_PTR} represents the type @samp{int *}.
@comment printf.h
@comment GNU
@item PA_FLAG_SHORT
-@vindex PA_FLAG_SHORT
If this bit is set, it indicates that the base type is modified with
@code{short}. (This corresponds to the @samp{h} type modifier.)
@comment printf.h
@comment GNU
@item PA_FLAG_LONG
-@vindex PA_FLAG_LONG
If this bit is set, it indicates that the base type is modified with
@code{long}. (This corresponds to the @samp{l} type modifier.)
@comment printf.h
@comment GNU
@item PA_FLAG_LONG_LONG
-@vindex PA_FLAG_LONG_LONG
If this bit is set, it indicates that the base type is modified with
@code{long long}. (This corresponds to the @samp{L} type modifier.)
@comment printf.h
@comment GNU
@item PA_FLAG_LONG_DOUBLE
-@vindex PA_FLAG_LONG_DOUBLE
This is a synonym for @code{PA_FLAG_LONG_LONG}, used by convention with
a base type of @code{PA_DOUBLE} to indicate a type of @code{long double}.
-@end table
+@end vtable
@ifinfo
For an example of using these facilities, see @ref{Example of Parsing}.
@@ -2234,7 +2222,8 @@ character is of lower case, 1024 is used. For upper case characters,
The postfix tag corresponds to bytes, kilobytes, megabytes, gigabytes,
etc. The full table is:
-@multitable {' '} {2^10 (1024)} {zetta} {Upper} {10^24 (1000)}
+@ifinfo
+@multitable @hsep @vsep {' '} {2^10 (1024)} {zetta} {Upper} {10^24 (1000)}
@item low @tab Multiplier @tab From @tab Upper @tab Multiplier
@item ' ' @tab 1 @tab @tab ' ' @tab 1
@item k @tab 2^10 (1024) @tab kilo @tab K @tab 10^3 (1000)
@@ -2246,6 +2235,29 @@ etc. The full table is:
@item z @tab 2^70 @tab zetta @tab Z @tab 10^21
@item y @tab 2^80 @tab yotta @tab Y @tab 10^24
@end multitable
+@end ifinfo
+@iftex
+@tex
+\hbox to\hsize{\hfil\vbox{\offinterlineskip
+\hrule
+\halign{\strut#& \vrule#\tabskip=1em plus2em& {\tt#}\hfil& \vrule#& #\hfil& \vrule#& #\hfil& \vrule#& {\tt#}\hfil& \vrule#& #\hfil& \vrule#\tabskip=0pt\cr
+\noalign{\hrule}
+\omit&height2pt&\omit&&\omit&&\omit&&\omit&&\omit&\cr
+&& \omit low && Multiplier && From && \omit Upper && Multiplier &\cr
+\omit&height2pt&\omit&&\omit&&\omit&&\omit&&\omit&\cr
+\noalign{\hrule}
+&& {\tt\char32} && 1 && && {\tt\char32} && 1 &\cr
+&& k && $2^{10} = 1024$ && kilo && K && $10^3 = 1000$ &\cr
+&& m && $2^{20}$ && mega && M && $10^6$ &\cr
+&& g && $2^{30}$ && giga && G && $10^9$ &\cr
+&& t && $2^{40}$ && tera && T && $10^{12}$ &\cr
+&& p && $2^{50}$ && peta && P && $10^{15}$ &\cr
+&& e && $2^{60}$ && exa && E && $10^{18}$ &\cr
+&& z && $2^{70}$ && zetta && Z && $10^{21}$ &\cr
+&& y && $2^{80}$ && yotta && Y && $10^{24}$ &\cr
+\noalign{\hrule}}}\hfil}
+@end tex
+@end iftex
The default precision is 3, i.e., 1024 is printed with a lower-case
format character as if it were @code{%.3fk} and will yield @code{1.000k}.
diff --git a/manual/summary.awk b/manual/summary.awk
index 2eade0c20d..d997a2080f 100644
--- a/manual/summary.awk
+++ b/manual/summary.awk
@@ -25,29 +25,53 @@
BEGIN { header = 0;
nameword["@defun"]=1
+nameword["@defunx"]=1
nameword["@defmac"]=1
+nameword["@defmacx"]=1
nameword["@defspec"]=1
+nameword["@defspecx"]=1
nameword["@defvar"]=1
+nameword["@defvarx"]=1
nameword["@defopt"]=1
+nameword["@defoptx"]=1
nameword["@deffn"]=2
+nameword["@deffnx"]=2
nameword["@defvr"]=2
+nameword["@defvrx"]=2
nameword["@deftp"]=2
+nameword["@deftpx"]=2
nameword["@deftypefun"]=2
+nameword["@deftypefunx"]=2
nameword["@deftypevar"]=2
+nameword["@deftypevarx"]=2
nameword["@deftypefn"]=3
+nameword["@deftypefnx"]=3
nameword["@deftypevr"]=3
+nameword["@deftypevrx"]=3
firstword["@defun"]=1
+firstword["@defunx"]=1
firstword["@defmac"]=1
+firstword["@defmacx"]=1
firstword["@defspec"]=1
+firstword["@defspecx"]=1
firstword["@defvar"]=1
+firstword["@defvarx"]=1
firstword["@defopt"]=1
+firstword["@defoptx"]=1
firstword["@deffn"]=2
+firstword["@deffnx"]=2
firstword["@defvr"]=2
+firstword["@defvrx"]=2
firstword["@deftp"]=2
+firstword["@deftpx"]=2
firstword["@deftypefun"]=1
+firstword["@deftypefunx"]=1
firstword["@deftypevar"]=1
+firstword["@deftypevarx"]=1
firstword["@deftypefn"]=2
+firstword["@deftypefnx"]=2
firstword["@deftypevr"]=2
+firstword["@deftypevrx"]=2
nameword["@item"]=1
firstword["@item"]=1
nameword["@itemx"]=1
diff --git a/manual/texinfo.tex b/manual/texinfo.tex
index 37af9b68a6..4059d0a811 100644
--- a/manual/texinfo.tex
+++ b/manual/texinfo.tex
@@ -1,5 +1,5 @@
%% TeX macros to handle Texinfo files.
-%% $Id: texinfo.tex,v 2.196 1997/01/04 19:24:13 karl Exp $
+%% $Id: texinfo.tex,v 2.197 1997/04/30 15:34:30 drepper Exp $
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93,
% 94, 95, 96, 97 Free Software Foundation, Inc.
@@ -36,7 +36,7 @@
% This automatically updates the version number based on RCS.
\def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}}
-\deftexinfoversion$Revision: 2.196 $
+\deftexinfoversion$Revision: 2.197 $
\message{Loading texinfo package [Version \texinfoversion]:}
% If in a .fmt file, print the version number
@@ -118,33 +118,41 @@
\showboxbreadth\maxdimen\showboxdepth\maxdimen
}%
-%---------------------Begin change-----------------------
+% For @cropmarks command.
+% Do @cropmarks to get crop marks.
+%
+\newif\ifcropmarks
+\let\cropmarks = \cropmarkstrue
%
-%%%% For @cropmarks command.
-% Dimensions to add cropmarks at corners Added by P. A. MacKay, 12 Nov. 1986
+% Dimensions to add cropmarks at corners.
+% Added by P. A. MacKay, 12 Nov. 1986
%
\newdimen\cornerlong \newdimen\cornerthick
-\newdimen \topandbottommargin
-\newdimen \outerhsize \newdimen \outervsize
+\newdimen\topandbottommargin
+\newdimen\outerhsize \newdimen\outervsize
\cornerlong=1pc\cornerthick=.3pt % These set size of cropmarks
\outerhsize=7in
%\outervsize=9.5in
% Alternative @smallbook page size is 9.25in
\outervsize=9.25in
\topandbottommargin=.75in
-%
-%---------------------End change-----------------------
% Main output routine.
\chardef\PAGE = 255
\output = {\onepageout{\pagecontents\PAGE}}
-\newbox\headlinebox \newbox\footlinebox
+\newbox\headlinebox
+\newbox\footlinebox
% \onepageout takes a vbox as an argument. Note that \pagecontents
% does insertions, but you have to call it yourself.
\def\onepageout#1{%
- \hoffset=\normaloffset
+ \ifcropmarks
+ \hoffset = 0pt
+ \else
+ \hoffset = \normaloffset
+ \fi
+ %
\ifodd\pageno \advance\hoffset by \bindingoffset
\else \advance\hoffset by -\bindingoffset\fi
%
@@ -163,53 +171,41 @@
\normalturnoffactive % \ in index entries must not stay \, e.g., if
% the page break happens to be in the middle of an example.
\shipout\vbox{%
+ \ifcropmarks
+ \vbox to \outervsize\bgroup
+ \hsize = \outerhsize
+ \vbox{\line{\ewtop\hfill\ewtop}}%
+ \nointerlineskip
+ \line{%
+ \vbox{\moveleft\cornerthick\nstop}%
+ \hfill
+ \vbox{\moveright\cornerthick\nstop}%
+ }%
+ \vskip\topandbottommargin
+ \fi
+ %
\unvbox\headlinebox
\pagebody{#1}%
\unvbox\footlinebox
+ %
+ \ifcropmarks
+ \vskip\topandbottommargin plus1fill minus1fill
+ \boxmaxdepth = \cornerthick
+ \line{%
+ \vbox{\moveleft\cornerthick\nsbot}%
+ \hfill
+ \vbox{\moveright\cornerthick\nsbot}%
+ }%
+ \nointerlineskip
+ \vbox{\line{\ewbot\hfill\ewbot}}%
+ \egroup % \vbox from first cropmarks clause
+ \fi
}%
}%
\advancepageno
\ifnum\outputpenalty>-20000 \else\dosupereject\fi
}
-%%%% For @cropmarks command %%%%
-
-% Here is a modification of the main output routine for Near East Publications
-% This provides right-angle cropmarks at all four corners.
-% The contents of the page are centerlined into the cropmarks,
-% and any desired binding offset is added as an \hskip on either
-% site of the centerlined box. (P. A. MacKay, 12 November, 1986)
-%
-\def\croppageout#1{\hoffset=0pt % make sure this doesn't mess things up
-{\escapechar=`\\\relax % makes sure backslash is used in output files.
- \shipout
- \vbox to \outervsize{\hsize=\outerhsize
- \vbox{\line{\ewtop\hfill\ewtop}}
- \nointerlineskip
- \line{\vbox{\moveleft\cornerthick\nstop}
- \hfill
- \vbox{\moveright\cornerthick\nstop}}
- \vskip \topandbottommargin
- \centerline{\ifodd\pageno\hskip\bindingoffset\fi
- \vbox{
- {\let\hsize=\pagewidth \makeheadline}
- \pagebody{#1}
- {\let\hsize=\pagewidth \makefootline}}
- \ifodd\pageno\else\hskip\bindingoffset\fi}
- \vskip \topandbottommargin plus1fill minus1fill
- \boxmaxdepth\cornerthick
- \line{\vbox{\moveleft\cornerthick\nsbot}
- \hfill
- \vbox{\moveright\cornerthick\nsbot}}
- \nointerlineskip
- \vbox{\line{\ewbot\hfill\ewbot}}
- }}
- \advancepageno
- \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
-%
-% Do @cropmarks to get crop marks
-\def\cropmarks{\let\onepageout=\croppageout }
-
\newinsert\margin \dimen\margin=\maxdimen
\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
@@ -2240,6 +2236,7 @@ width0pt\relax} \fi
\def\r##1{\realbackslash r {##1}}%
\def\i##1{\realbackslash i {##1}}%
\def\b##1{\realbackslash b {##1}}%
+\def\sc##1{\realbackslash sc {##1}}%
\def\cite##1{\realbackslash cite {##1}}%
\def\key##1{\realbackslash key {##1}}%
\def\file##1{\realbackslash file {##1}}%
@@ -2774,7 +2771,8 @@ width0pt\relax} \fi
% because we don't want its macros evaluated now.
\xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}%
{\chapternofonts%
-\edef\temp{{\realbackslash chapentry {#1}{\the\chapno}{\noexpand\folio}}}%
+\toks0 = {#1}%
+\edef\temp{{\realbackslash chapentry{\the\toks0}{\the\chapno}{\noexpand\folio}}}%
\escapechar=`\\%
\write \contentsfile \temp %
\donoderef %
@@ -2793,8 +2791,9 @@ width0pt\relax} \fi
\gdef\thischaptername{#1}%
\xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}%
{\chapternofonts%
-\edef\temp{{\realbackslash chapentry
- {#1}{\putwordAppendix{} \appendixletter}{\noexpand\folio}}}%
+\toks0 = {#1}%
+\edef\temp{{\realbackslash chapentry{\the\toks0}%
+ {\putwordAppendix{} \appendixletter}{\noexpand\folio}}}%
\escapechar=`\\%
\write \contentsfile \temp %
\appendixnoderef %
@@ -2828,7 +2827,8 @@ width0pt\relax} \fi
\unnumbchapmacro {#1}%
\gdef\thischapter{#1}\gdef\thissection{#1}%
{\chapternofonts%
-\edef\temp{{\realbackslash unnumbchapentry {#1}{\noexpand\folio}}}%
+\toks0 = {#1}%
+\edef\temp{{\realbackslash unnumbchapentry{\the\toks0}{\noexpand\folio}}}%
\escapechar=`\\%
\write \contentsfile \temp %
\unnumbnoderef %
@@ -2843,8 +2843,9 @@ width0pt\relax} \fi
\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
{\chapternofonts%
+\toks0 = {#1}%
\edef\temp{{\realbackslash secentry %
-{#1}{\the\chapno}{\the\secno}{\noexpand\folio}}}%
+{\the\toks0}{\the\chapno}{\the\secno}{\noexpand\folio}}}%
\escapechar=`\\%
\write \contentsfile \temp %
\donoderef %
@@ -2858,8 +2859,9 @@ width0pt\relax} \fi
\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
{\chapternofonts%
+\toks0 = {#1}%
\edef\temp{{\realbackslash secentry %
-{#1}{\appendixletter}{\the\secno}{\noexpand\folio}}}%
+{\the\toks0}{\appendixletter}{\the\secno}{\noexpand\folio}}}%
\escapechar=`\\%
\write \contentsfile \temp %
\appendixnoderef %
@@ -2871,7 +2873,8 @@ width0pt\relax} \fi
\def\unnumberedseczzz #1{\seccheck{unnumberedsec}%
\plainsecheading {#1}\gdef\thissection{#1}%
{\chapternofonts%
-\edef\temp{{\realbackslash unnumbsecentry{#1}{\noexpand\folio}}}%
+\toks0 = {#1}%
+\edef\temp{{\realbackslash unnumbsecentry{\the\toks0}{\noexpand\folio}}}%
\escapechar=`\\%
\write \contentsfile \temp %
\unnumbnoderef %
@@ -2884,8 +2887,9 @@ width0pt\relax} \fi
\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
{\chapternofonts%
+\toks0 = {#1}%
\edef\temp{{\realbackslash subsecentry %
-{#1}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
+{\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
\escapechar=`\\%
\write \contentsfile \temp %
\donoderef %
@@ -2898,8 +2902,9 @@ width0pt\relax} \fi
\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
{\chapternofonts%
+\toks0 = {#1}%
\edef\temp{{\realbackslash subsecentry %
-{#1}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
+{\the\toks0}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
\escapechar=`\\%
\write \contentsfile \temp %
\appendixnoderef %
@@ -2911,7 +2916,8 @@ width0pt\relax} \fi
\def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}%
\plainsubsecheading {#1}\gdef\thissection{#1}%
{\chapternofonts%
-\edef\temp{{\realbackslash unnumbsubsecentry{#1}{\noexpand\folio}}}%
+\toks0 = {#1}%
+\edef\temp{{\realbackslash unnumbsubsecentry{\the\toks0}{\noexpand\folio}}}%
\escapechar=`\\%
\write \contentsfile \temp %
\unnumbnoderef %
@@ -2925,8 +2931,8 @@ width0pt\relax} \fi
\subsubsecheading {#1}
{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
{\chapternofonts%
-\edef\temp{{\realbackslash subsubsecentry %
- {#1}
+\toks0 = {#1}%
+\edef\temp{{\realbackslash subsubsecentry{\the\toks0}
{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}
{\noexpand\folio}}}%
\escapechar=`\\%
@@ -2942,7 +2948,8 @@ width0pt\relax} \fi
\subsubsecheading {#1}
{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
{\chapternofonts%
-\edef\temp{{\realbackslash subsubsecentry{#1}%
+\toks0 = {#1}%
+\edef\temp{{\realbackslash subsubsecentry{\the\toks0}%
{\appendixletter}
{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%
\escapechar=`\\%
@@ -2956,7 +2963,8 @@ width0pt\relax} \fi
\def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}%
\plainsubsubsecheading {#1}\gdef\thissection{#1}%
{\chapternofonts%
-\edef\temp{{\realbackslash unnumbsubsubsecentry{#1}{\noexpand\folio}}}%
+\toks0 = {#1}%
+\edef\temp{{\realbackslash unnumbsubsubsecentry{\the\toks0}{\noexpand\folio}}}%
\escapechar=`\\%
\write \contentsfile \temp %
\unnumbnoderef %
diff --git a/manual/xtract-typefun.awk b/manual/xtract-typefun.awk
index 6450ac10eb..2f0bbc748e 100644
--- a/manual/xtract-typefun.awk
+++ b/manual/xtract-typefun.awk
@@ -9,18 +9,18 @@ BEGIN {
/^@deftypefun/ {
printf ("* %s: (libc)%s.\n",
- gensub (/@deftypefun +([^{ ]+|\{[^}]+\}) +([[:alpha:]_][[:alnum:]_]+).*/, "\\2", 1),
+ gensub (/@deftypefunx? +([^{ ]+|\{[^}]+\}) +([[:alpha:]_][[:alnum:]_]*).*/, "\\2", 1),
last_node);
}
/^@deftypevr/ {
printf ("* %s: (libc)%s.\n",
- gensub (/@deftypevr +([^{ ]+|\{[^}]+\}) +([^{ ]+|\{[^}]+\}) +([[:alpha:]_][[:alnum:]_]+).*/, "\\3", 1),
+ gensub (/@deftypevrx? +([^{ ]+|\{[^}]+\}) +([^{ ]+|\{[^}]+\}) +([[:alpha:]_][[:alnum:]_]*).*/, "\\3", 1),
last_node);
}
/^@deftypefn/ {
printf ("* %s: (libc)%s.\n",
- gensub (/@deftypefn +([^{ ]+|\{[^}]+\}) +[^{ ]*(\{[^}]+\})? +([[:alpha:]_][[:alnum:]_]+).*/, "\\3", 1),
+ gensub (/@deftypefnx? +([^{ ]+|\{[^}]+\}) +[^{ ]*(\{[^}]+\})? +([[:alpha:]_][[:alnum:]_]*).*/, "\\3", 1),
last_node);
}