Merge branch 'master' of ssh://sourceware.org/git/glibc
This commit is contained in:
commit
67c6a3d919
70
ChangeLog
70
ChangeLog
|
@ -1,3 +1,73 @@
|
|||
2012-03-08 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #6911]
|
||||
* manual/macros.texi (gnusystems): New macro.
|
||||
(nongnusystems): Likewise.
|
||||
(gnulinuxhurdsystems): Likewise.
|
||||
(gnuhurdsystems): Likewise..
|
||||
(gnulinuxsystems): Likewise.
|
||||
* manual/charset.texi: Use new macros or @theglibc{} to refer to
|
||||
variants of the GNU system, not "GNU system".
|
||||
* manual/conf.texi: Likewise.
|
||||
* manual/errno.texi: Likewise. Update example of errno macro
|
||||
expansion.
|
||||
* manual/filesys.texi: Likewise.
|
||||
(getumask): Document as specific to GNU/Hurd.
|
||||
* manual/install.texi: Likewise. Reword some references to
|
||||
GNU/Linux.
|
||||
* manual/intro.texi: Likewise.
|
||||
* manual/io.texi: Likewise.
|
||||
(File Name Portability): Detail which constraints are inapplicable
|
||||
to all GNU systems and which are only inapplicable to GNU/Hurd.
|
||||
* manual/job.texi: Likewise.
|
||||
* manual/llio.texi: Likewise.
|
||||
(O_NOCTTY): Document as present on GNU/Linux.
|
||||
* manual/maint.texi: Likewise.
|
||||
* manual/memory.texi: Likewise.
|
||||
* manual/pattern.texi: Likewise.
|
||||
* manual/pipe.texi: Likewise.
|
||||
* manual/process.texi: Likewise.
|
||||
* manual/resource.texi: Likewise.
|
||||
(RUSAGE_CHILDREN): Remove statement about specifying a particular
|
||||
child on GNU/Hurd.
|
||||
* manual/setjmp.texi: Likewise.
|
||||
* manual/signal.texi: Likewise.
|
||||
* manual/startup.texi: Likewise.
|
||||
* manual/stdio.texi: Likewise.
|
||||
* manual/terminal.texi: Likewise.
|
||||
(ONLCR): Document as POSIX.
|
||||
(OXTABS): Document availability on GNU/Linux as XTABS.
|
||||
(ONOEOT): Document availability separately from other bits.
|
||||
(VLNEXT, VDISCARD, VSTATUS): Document availability individually.
|
||||
* manual/time.texi: Likewise.
|
||||
* manual/users.texi: Likewise.
|
||||
* INSTALL: Regenerated.
|
||||
* sysdeps/gnu/errlist.c: Regenerated.
|
||||
|
||||
* aclocal.m4 (LIBC_TRY_LINK_STATIC): New macro.
|
||||
* configure.in (libc_cv_preinit_array): Use LIBC_TRY_LINK_STATIC.
|
||||
(libc_cv_ctors_header): Likewise. Use asm ("") instead of calling
|
||||
puts.
|
||||
* configure: Regenerated.
|
||||
|
||||
2012-03-07 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* sysdeps/i386/configure.in (cpuid.h): Use AC_CHECK_HEADER with no
|
||||
default includes instead of AC_HEADER_CHECK.
|
||||
* sysdeps/i386/configure: Regenerated.
|
||||
|
||||
[BZ #10716]
|
||||
* math/s_cacosh.c (__cacosh): Convert negative log results to 0.
|
||||
* math/s_cacoshf.c (__cacoshf): Likewise.
|
||||
* math/s_cacoshl.c (__cacoshl): Likewise.
|
||||
* math/s_casinh.c (__casinh): Set signs of result from argument.
|
||||
* math/s_casinhf.c (__casinhf): Likewise.
|
||||
* math/s_casinhl.c (__casinhl): Likewise.
|
||||
* math/libm-test.inc (cacos_test, cacosh_test, casin_test)
|
||||
(casinh_test): Add more tests.
|
||||
* sysdeps/i386/fpu/libm-test-ulps: Update.
|
||||
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
|
||||
|
||||
2012-03-07 Ulrich Drepper <drepper@gmail.com>
|
||||
|
||||
* po/zh_TW.po: Update from translation team.
|
||||
|
|
13
INSTALL
13
INSTALL
|
@ -339,7 +339,7 @@ patches, although we try to avoid this.
|
|||
Specific advice for GNU/Linux systems
|
||||
=====================================
|
||||
|
||||
If you are installing the GNU C Library on a GNU/Linux system, you need
|
||||
If you are installing the GNU C Library on GNU/Linux systems, you need
|
||||
to have the header files from a 2.6.19.1 or newer kernel around for
|
||||
reference. These headers must be installed using `make
|
||||
headers_install'; the headers present in the kernel source directory
|
||||
|
@ -370,11 +370,12 @@ required if not compiling programs using those interfaces. You do not
|
|||
need to copy kernel headers if you did not specify an alternate kernel
|
||||
header source using `--with-headers'.
|
||||
|
||||
GNU/Linux expects some components of the GNU C Library installation
|
||||
to be in `/lib' and some in `/usr/lib'. This is handled automatically
|
||||
if you configure the GNU C Library with `--prefix=/usr'. If you set
|
||||
some other prefix or allow it to default to `/usr/local', then all the
|
||||
components are installed there.
|
||||
The Filesystem Hierarchy Standard for GNU/Linux systems expects some
|
||||
components of the GNU C Library installation to be in `/lib' and some
|
||||
in `/usr/lib'. This is handled automatically if you configure the GNU
|
||||
C Library with `--prefix=/usr'. If you set some other prefix or allow
|
||||
it to default to `/usr/local', then all the components are installed
|
||||
there.
|
||||
|
||||
You cannot use `nscd' with 2.0 kernels, due to bugs in the
|
||||
kernel-side thread support. `nscd' happens to hit these bugs
|
||||
|
|
10
NEWS
10
NEWS
|
@ -10,11 +10,11 @@ Version 2.16
|
|||
* The following bugs are resolved with this release:
|
||||
|
||||
174, 350, 411, 2541, 2547, 2548, 3335, 3976, 3992, 4026, 4108, 4596, 4822,
|
||||
5077, 5461, 5805, 5993, 6884, 6907, 9739, 9902, 10110, 10135, 10140,
|
||||
10210, 11174, 11322, 11365, 11494, 12047, 13058, 13525, 13526, 13527,
|
||||
13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553,
|
||||
13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, 13706, 13726,
|
||||
13738, 13786, 13792
|
||||
5077, 5461, 5805, 5993, 6884, 6907, 6911, 9739, 9902, 10110, 10135, 10140,
|
||||
10210, 10545, 10716, 11174, 11322, 11365, 11494, 12047, 13058, 13525,
|
||||
13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551,
|
||||
13552, 13553, 13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704,
|
||||
13706, 13726, 13738, 13786, 13792
|
||||
|
||||
* ISO C11 support:
|
||||
|
||||
|
|
|
@ -113,3 +113,17 @@ AC_CACHE_CHECK(whether $LD is GNU ld, libc_cv_prog_ld_gnu,
|
|||
[LIBC_PROG_FOO_GNU($LD, libc_cv_prog_ld_gnu=yes, libc_cv_prog_ld_gnu=no)])
|
||||
gnu_ld=$libc_cv_prog_ld_gnu
|
||||
])
|
||||
|
||||
dnl Run a static link test with -nostdlib -nostartfiles.
|
||||
dnl LIBC_TRY_LINK_STATIC([code], [action-if-true], [action-if-false])
|
||||
AC_DEFUN([LIBC_TRY_LINK_STATIC],
|
||||
[cat > conftest.c <<EOF
|
||||
int _start (void) { return 0; }
|
||||
int __start (void) { return 0; }
|
||||
$1
|
||||
EOF
|
||||
AS_IF([AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
|
||||
conftest.c -static -nostartfiles -nostdlib
|
||||
1>&AS_MESSAGE_LOG_FD])],
|
||||
[$2], [$3])
|
||||
rm -f conftest*])
|
||||
|
|
|
@ -5999,17 +5999,19 @@ else
|
|||
cat > conftest.c <<EOF
|
||||
int _start (void) { return 0; }
|
||||
int __start (void) { return 0; }
|
||||
|
||||
int foo (void) { return 1; }
|
||||
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
|
||||
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
|
||||
-static -nostartfiles -nostdlib 1>&5'
|
||||
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
|
||||
conftest.c -static -nostartfiles -nostdlib
|
||||
1>&5'
|
||||
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }
|
||||
then
|
||||
test $ac_status = 0; }; }; then :
|
||||
if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
|
||||
libc_cv_initfini_array=yes
|
||||
else
|
||||
|
@ -6019,6 +6021,7 @@ else
|
|||
libc_cv_initfini_array=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_initfini_array" >&5
|
||||
$as_echo "$libc_cv_initfini_array" >&6; }
|
||||
|
@ -6032,21 +6035,22 @@ if ${libc_cv_ctors_header+:} false; then :
|
|||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
libc_cv_ctors_header=yes
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
cat > conftest.c <<EOF
|
||||
int _start (void) { return 0; }
|
||||
int __start (void) { return 0; }
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
__attribute__ ((constructor)) void ctor (void) { asm (""); }
|
||||
__attribute__ ((destructor)) void dtor (void) { asm (""); }
|
||||
|
||||
__attribute__ ((constructor)) void ctor (void) { puts("ctor"); }
|
||||
__attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
EOF
|
||||
if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
|
||||
conftest.c -static -nostartfiles -nostdlib
|
||||
1>&5'
|
||||
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }; then :
|
||||
if $READELF -WS conftest$ac_exeext | $AWK '
|
||||
{ gsub(/\[ */, "[") }
|
||||
$2 == ".ctors" || $2 == ".dtors" {
|
||||
|
@ -6068,8 +6072,7 @@ else
|
|||
as_fn_error $? "missing __attribute__ ((constructor)) support??" "$LINENO" 5
|
||||
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
rm -f conftest*
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ctors_header" >&5
|
||||
|
|
25
configure.in
25
configure.in
|
@ -1349,24 +1349,17 @@ fi
|
|||
|
||||
AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
|
||||
libc_cv_initfini_array, [dnl
|
||||
cat > conftest.c <<EOF
|
||||
int _start (void) { return 0; }
|
||||
int __start (void) { return 0; }
|
||||
LIBC_TRY_LINK_STATIC([
|
||||
int foo (void) { return 1; }
|
||||
int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
|
||||
EOF
|
||||
if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
|
||||
-static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
|
||||
then
|
||||
if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
|
||||
],
|
||||
[if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
|
||||
libc_cv_initfini_array=yes
|
||||
else
|
||||
libc_cv_initfini_array=no
|
||||
fi
|
||||
else
|
||||
libc_cv_initfini_array=no
|
||||
fi
|
||||
rm -f conftest*])
|
||||
fi],
|
||||
[libc_cv_initfini_array=no])
|
||||
])
|
||||
if test $libc_cv_initfini_array != yes; then
|
||||
AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
|
||||
fi
|
||||
|
@ -1374,9 +1367,9 @@ fi
|
|||
AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer,
|
||||
libc_cv_ctors_header, [dnl
|
||||
libc_cv_ctors_header=yes
|
||||
AC_TRY_LINK([], [
|
||||
__attribute__ ((constructor)) void ctor (void) { puts("ctor"); }
|
||||
__attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
|
||||
LIBC_TRY_LINK_STATIC([
|
||||
__attribute__ ((constructor)) void ctor (void) { asm (""); }
|
||||
__attribute__ ((destructor)) void dtor (void) { asm (""); }
|
||||
],
|
||||
[dnl
|
||||
AS_IF([$READELF -WS conftest$ac_exeext | $AWK '
|
||||
|
|
|
@ -112,7 +112,7 @@ this type is capable of storing all elements of the basic character set.
|
|||
Therefore it would be legitimate to define @code{wchar_t} as @code{char},
|
||||
which might make sense for embedded systems.
|
||||
|
||||
But for GNU systems @code{wchar_t} is always 32 bits wide and, therefore,
|
||||
But in @theglibc{} @code{wchar_t} is always 32 bits wide and, therefore,
|
||||
capable of representing all UCS-4 values and, therefore, covering all of
|
||||
@w{ISO 10646}. Some Unix systems define @code{wchar_t} as a 16-bit type
|
||||
and thereby follow Unicode very strictly. This definition is perfectly
|
||||
|
@ -393,7 +393,7 @@ We already said above that the currently selected locale for the
|
|||
by the functions we are about to describe. Each locale uses its own
|
||||
character set (given as an argument to @code{localedef}) and this is the
|
||||
one assumed as the external multibyte encoding. The wide character
|
||||
set is always UCS-4, at least on GNU systems.
|
||||
set is always UCS-4 in @theglibc{}.
|
||||
|
||||
A characteristic of each multibyte character set is the maximum number
|
||||
of bytes that can be necessary to represent one character. This
|
||||
|
@ -537,8 +537,8 @@ Code using @code{mbsinit} often looks similar to this:
|
|||
|
||||
The code to emit the escape sequence to get back to the initial state is
|
||||
interesting. The @code{wcsrtombs} function can be used to determine the
|
||||
necessary output code (@pxref{Converting Strings}). Please note that on
|
||||
GNU systems it is not necessary to perform this extra action for the
|
||||
necessary output code (@pxref{Converting Strings}). Please note that with
|
||||
@theglibc{} it is not necessary to perform this extra action for the
|
||||
conversion from multibyte text to wide character text since the wide
|
||||
character encoding is not stateful. But there is nothing mentioned in
|
||||
any standard that prohibits making @code{wchar_t} using a stateful
|
||||
|
|
|
@ -1185,7 +1185,7 @@ represents the maximum length of a file name string. It is defined in
|
|||
|
||||
Unlike @code{PATH_MAX}, this macro is defined even if there is no actual
|
||||
limit imposed. In such a case, its value is typically a very large
|
||||
number. @strong{This is always the case on the GNU system.}
|
||||
number. @strong{This is always the case on @gnuhurdsystems{}.}
|
||||
|
||||
@strong{Usage Note:} Don't use @code{FILENAME_MAX} as the size of an
|
||||
array in which to store a file name! You can't possibly make an array
|
||||
|
@ -1252,7 +1252,7 @@ particular file, call @code{pathconf} or @code{fpathconf}.
|
|||
Here are the names for the POSIX minimum upper bounds for some of the
|
||||
above parameters. The significance of these values is that you can
|
||||
safely push to these limits without checking whether the particular
|
||||
system you are using can go that far. In most cases GNU systems do not
|
||||
system you are using can go that far. In most cases @gnusystems{} do not
|
||||
have these strict limitations. The actual limit should be requested if
|
||||
necessary.
|
||||
|
||||
|
|
|
@ -66,8 +66,9 @@ function returns an error.
|
|||
@strong{Portability Note:} @w{ISO C} specifies @code{errno} as a
|
||||
``modifiable lvalue'' rather than as a variable, permitting it to be
|
||||
implemented as a macro. For example, its expansion might involve a
|
||||
function call, like @w{@code{*_errno ()}}. In fact, that is what it is
|
||||
on the GNU system itself. @Theglibc{}, on non-GNU systems, does
|
||||
function call, like @w{@code{*__errno_location ()}}. In fact, that is
|
||||
what it is
|
||||
on @gnulinuxhurdsystems{}. @Theglibc{}, on each system, does
|
||||
whatever is right for the particular system.
|
||||
|
||||
There are a few library functions, like @code{sqrt} and @code{atan},
|
||||
|
@ -96,10 +97,10 @@ codes of their own for other situations. The only values that are
|
|||
guaranteed to be meaningful for a particular library function are the
|
||||
ones that this manual lists for that function.
|
||||
|
||||
On non-GNU systems, almost any system call can return @code{EFAULT} if
|
||||
Except on @gnuhurdsystems{}, almost any system call can return @code{EFAULT} if
|
||||
it is given an invalid pointer as an argument. Since this could only
|
||||
happen as a result of a bug in your program, and since it will not
|
||||
happen on the GNU system, we have saved space by not mentioning
|
||||
happen on @gnuhurdsystems{}, we have saved space by not mentioning
|
||||
@code{EFAULT} in the descriptions of individual functions.
|
||||
|
||||
In some Unix systems, many system calls can also return @code{EFAULT} if
|
||||
|
@ -114,7 +115,7 @@ allocated memory instead of stack memory on that system.
|
|||
@pindex errno.h
|
||||
The error code macros are defined in the header file @file{errno.h}.
|
||||
All of them expand into integer constant values. Some of these error
|
||||
codes can't occur on the GNU system, but they can occur using @theglibc{}
|
||||
codes can't occur on @gnusystems{}, but they can occur using @theglibc{}
|
||||
on other systems.
|
||||
|
||||
@comment errno.h
|
||||
|
@ -178,8 +179,8 @@ computer.
|
|||
@comment errno 7 @c DO NOT REMOVE
|
||||
Argument list too long; used when the arguments passed to a new program
|
||||
being executed with one of the @code{exec} functions (@pxref{Executing a
|
||||
File}) occupy too much memory space. This condition never arises in the
|
||||
GNU system.
|
||||
File}) occupy too much memory space. This condition never arises on
|
||||
@gnuhurdsystems{}.
|
||||
@end deftypevr
|
||||
|
||||
@comment errno.h
|
||||
|
@ -238,7 +239,7 @@ Permission denied; the file permissions do not allow the attempted operation.
|
|||
@deftypevr Macro int EFAULT
|
||||
@comment errno 14 @c DO NOT REMOVE
|
||||
Bad address; an invalid pointer was detected.
|
||||
In the GNU system, this error never happens; you get a signal instead.
|
||||
On @gnuhurdsystems{}, this error never happens; you get a signal instead.
|
||||
@end deftypevr
|
||||
|
||||
@comment errno.h
|
||||
|
@ -326,7 +327,7 @@ want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
|
|||
@comment errno 23 @c DO NOT REMOVE
|
||||
There are too many distinct file openings in the entire system. Note
|
||||
that any number of linked channels count as just one file opening; see
|
||||
@ref{Linked Channels}. This error never occurs in the GNU system.
|
||||
@ref{Linked Channels}. This error never occurs on @gnuhurdsystems{}.
|
||||
@end deftypevr
|
||||
|
||||
@comment errno.h
|
||||
|
@ -345,7 +346,7 @@ An attempt to execute a file that is currently open for writing, or
|
|||
write to a file that is currently being executed. Often using a
|
||||
debugger to run a program is considered having it open for writing and
|
||||
will cause this error. (The name stands for ``text file busy''.) This
|
||||
is not an error in the GNU system; the text is copied as necessary.
|
||||
is not an error on @gnuhurdsystems{}; the text is copied as necessary.
|
||||
@end deftypevr
|
||||
|
||||
@comment errno.h
|
||||
|
@ -533,7 +534,7 @@ The socket type is not supported.
|
|||
@comment errno 45 @c DO NOT REMOVE
|
||||
The operation you requested is not supported. Some socket functions
|
||||
don't make sense for all types of sockets, and others may not be
|
||||
implemented for all communications protocols. In the GNU system, this
|
||||
implemented for all communications protocols. On @gnuhurdsystems{}, this
|
||||
error can happen for many calls when the object does not support the
|
||||
particular operation; it is a generic indication that the server knows
|
||||
nothing to do for that call.
|
||||
|
@ -754,7 +755,7 @@ the NFS file system on the local host.
|
|||
An attempt was made to NFS-mount a remote file system with a file name that
|
||||
already specifies an NFS-mounted file.
|
||||
(This is an error on some operating systems, but we expect it to work
|
||||
properly on the GNU system, making this error code impossible.)
|
||||
properly on @gnuhurdsystems{}, making this error code impossible.)
|
||||
@end deftypevr
|
||||
|
||||
@comment errno.h
|
||||
|
@ -797,7 +798,7 @@ properly on the GNU system, making this error code impossible.)
|
|||
@deftypevr Macro int ENOLCK
|
||||
@comment errno 77 @c DO NOT REMOVE
|
||||
No locks available. This is used by the file locking facilities; see
|
||||
@ref{File Locks}. This error is never generated by the GNU system, but
|
||||
@ref{File Locks}. This error is never generated by @gnuhurdsystems{}, but
|
||||
it can result from an operation to an NFS server running another
|
||||
operating system.
|
||||
@end deftypevr
|
||||
|
@ -868,7 +869,7 @@ or an incomplete sequence of bytes or the given wide character is invalid.
|
|||
@comment GNU: Inappropriate operation for background process
|
||||
@deftypevr Macro int EBACKGROUND
|
||||
@comment errno 100 @c DO NOT REMOVE
|
||||
In the GNU system, servers supporting the @code{term} protocol return
|
||||
On @gnuhurdsystems{}, servers supporting the @code{term} protocol return
|
||||
this error for certain operations when the caller is not in the
|
||||
foreground process group of the terminal. Users do not usually see this
|
||||
error because functions such as @code{read} and @code{write} translate
|
||||
|
@ -880,7 +881,7 @@ for information on process groups and these signals.
|
|||
@comment GNU: Translator died
|
||||
@deftypevr Macro int EDIED
|
||||
@comment errno 101 @c DO NOT REMOVE
|
||||
In the GNU system, opening a file returns this error when the file is
|
||||
On @gnuhurdsystems{}, opening a file returns this error when the file is
|
||||
translated by a program and the translator program dies while starting
|
||||
up, before it has connected to the file.
|
||||
@end deftypevr
|
||||
|
@ -1346,8 +1347,8 @@ The function @code{perror} is declared in @file{stdio.h}.
|
|||
@end deftypefun
|
||||
|
||||
@code{strerror} and @code{perror} produce the exact same message for any
|
||||
given error code; the precise text varies from system to system. On the
|
||||
GNU system, the messages are fairly short; there are no multi-line
|
||||
given error code; the precise text varies from system to system. With
|
||||
@theglibc{}, the messages are fairly short; there are no multi-line
|
||||
messages or embedded newlines. Each error message begins with a capital
|
||||
letter and does not include any terminating punctuation.
|
||||
|
||||
|
|
|
@ -121,8 +121,8 @@ the buffer. @Theglibc{} provides @code{getwd} only
|
|||
for backwards compatibility with BSD.
|
||||
|
||||
The @var{buffer} argument should be a pointer to an array at least
|
||||
@code{PATH_MAX} bytes long (@pxref{Limits for Files}). In the GNU
|
||||
system there is no limit to the size of a file name, so this is not
|
||||
@code{PATH_MAX} bytes long (@pxref{Limits for Files}). On @gnuhurdsystems{}
|
||||
there is no limit to the size of a file name, so this is not
|
||||
necessarily enough space to contain the directory name. That is why
|
||||
this function is deprecated.
|
||||
@end deftypefn
|
||||
|
@ -242,7 +242,7 @@ field you can count on in all POSIX systems.
|
|||
|
||||
@item ino_t d_fileno
|
||||
This is the file serial number. For BSD compatibility, you can also
|
||||
refer to this member as @code{d_ino}. In the GNU system and most POSIX
|
||||
refer to this member as @code{d_ino}. On @gnulinuxhurdsystems{} and most POSIX
|
||||
systems, for most files this the same as the @code{st_ino} member that
|
||||
@code{stat} will return for the file. @xref{File Attributes}.
|
||||
|
||||
|
@ -354,7 +354,7 @@ The process has too many files open.
|
|||
@item ENFILE
|
||||
The entire system, or perhaps the file system which contains the
|
||||
directory, cannot support any additional open files at the moment.
|
||||
(This problem cannot happen on the GNU system.)
|
||||
(This problem cannot happen on @gnuhurdsystems{}.)
|
||||
|
||||
@item ENOMEM
|
||||
Not enough memory available.
|
||||
|
@ -1075,7 +1075,8 @@ The directory or file system that would contain the new link is full
|
|||
and cannot be extended.
|
||||
|
||||
@item EPERM
|
||||
In the GNU system and some others, you cannot make links to directories.
|
||||
On @gnulinuxhurdsystems{} and some others, you cannot make links to
|
||||
directories.
|
||||
Many systems allow only privileged users to do so. This error
|
||||
is used to report the problem.
|
||||
|
||||
|
@ -1099,7 +1100,7 @@ A hardware error occurred while trying to read or write the to filesystem.
|
|||
@cindex symbolic link
|
||||
@cindex link, symbolic
|
||||
|
||||
The GNU system supports @dfn{soft links} or @dfn{symbolic links}. This
|
||||
@gnusystems{} support @dfn{soft links} or @dfn{symbolic links}. This
|
||||
is a kind of ``file'' that is essentially a pointer to another file
|
||||
name. Unlike hard links, symbolic links can be made to directories or
|
||||
across file systems with no restrictions. You can also make a symbolic
|
||||
|
@ -1352,8 +1353,8 @@ The file name to be deleted doesn't exist.
|
|||
@item EPERM
|
||||
On some systems @code{unlink} cannot be used to delete the name of a
|
||||
directory, or at least can only be used this way by a privileged user.
|
||||
To avoid such problems, use @code{rmdir} to delete directories. (In the
|
||||
GNU system @code{unlink} can never delete the name of a directory.)
|
||||
To avoid such problems, use @code{rmdir} to delete directories. (On
|
||||
@gnulinuxhurdsystems{} @code{unlink} can never delete the name of a directory.)
|
||||
|
||||
@item EROFS
|
||||
The directory containing the file name to be deleted is on a read-only
|
||||
|
@ -1381,7 +1382,7 @@ The directory to be deleted is not empty.
|
|||
@end table
|
||||
|
||||
These two error codes are synonymous; some systems use one, and some use
|
||||
the other. The GNU system always uses @code{ENOTEMPTY}.
|
||||
the other. @gnulinuxhurdsystems{} always use @code{ENOTEMPTY}.
|
||||
|
||||
The prototype for this function is declared in the header file
|
||||
@file{unistd.h}.
|
||||
|
@ -1458,7 +1459,7 @@ that are the current working directories of processes.
|
|||
|
||||
@item ENOTEMPTY
|
||||
@itemx EEXIST
|
||||
The directory @var{newname} isn't empty. The GNU system always returns
|
||||
The directory @var{newname} isn't empty. @gnulinuxhurdsystems{} always return
|
||||
@code{ENOTEMPTY} for this, but some other systems return @code{EEXIST}.
|
||||
|
||||
@item EINVAL
|
||||
|
@ -2480,16 +2481,16 @@ read_umask (void)
|
|||
@end smallexample
|
||||
|
||||
@noindent
|
||||
However, it is better to use @code{getumask} if you just want to read
|
||||
the mask value, because it is reentrant (at least if you use the GNU
|
||||
operating system).
|
||||
However, on @gnuhurdsystems{} it is better to use @code{getumask} if
|
||||
you just want to read the mask value, because it is reentrant.
|
||||
@end deftypefun
|
||||
|
||||
@comment sys/stat.h
|
||||
@comment GNU
|
||||
@deftypefun mode_t getumask (void)
|
||||
Return the current value of the file creation mask for the current
|
||||
process. This function is a GNU extension.
|
||||
process. This function is a GNU extension and is only available on
|
||||
@gnuhurdsystems{}.
|
||||
@end deftypefun
|
||||
|
||||
@comment sys/stat.h
|
||||
|
|
|
@ -58,8 +58,8 @@ directory, especially some files in the manual subdirectory.
|
|||
mandatory is @samp{--prefix}. This option tells @code{configure}
|
||||
where you want @theglibc{} installed. This defaults to @file{/usr/local},
|
||||
but the normal setting to install as the standard system library is
|
||||
@samp{--prefix=/usr} for GNU/Linux systems and @samp{--prefix=} (an
|
||||
empty prefix) for GNU/Hurd systems.
|
||||
@samp{--prefix=/usr} for @gnulinuxsystems{} and @samp{--prefix=} (an
|
||||
empty prefix) for @gnuhurdsystems{}.
|
||||
|
||||
It may also be useful to set the @var{CC} and @var{CFLAGS} variables in
|
||||
the environment when running @code{configure}. @var{CC} selects the C
|
||||
|
@ -104,7 +104,7 @@ relative to the build directory (that is, the current working directory).
|
|||
For example, @samp{--enable-add-ons=nptl,../glibc-libidn-@var{version}}.
|
||||
|
||||
@item --enable-kernel=@var{version}
|
||||
This option is currently only useful on GNU/Linux systems. The
|
||||
This option is currently only useful on @gnulinuxsystems{}. The
|
||||
@var{version} parameter should have the form X.Y.Z and describes the
|
||||
smallest version of the Linux kernel the generated library is expected
|
||||
to support. The higher the @var{version} number is, the less
|
||||
|
@ -386,10 +386,10 @@ You may also need these packages if you upgrade your source tree using
|
|||
patches, although we try to avoid this.
|
||||
|
||||
@node Linux
|
||||
@appendixsec Specific advice for GNU/Linux systems
|
||||
@appendixsec Specific advice for @gnulinuxsystems{}
|
||||
@cindex kernel header files
|
||||
|
||||
If you are installing @theglibc{} on a GNU/Linux system, you need to have
|
||||
If you are installing @theglibc{} on @gnulinuxsystems{}, you need to have
|
||||
the header files from a 2.6.19.1 or newer kernel around for reference.
|
||||
These headers must be installed using @samp{make headers_install}; the
|
||||
headers present in the kernel source directory are not suitable for
|
||||
|
@ -421,7 +421,8 @@ are not required if not compiling programs using those interfaces.
|
|||
You do not need to copy kernel headers if you did not specify an
|
||||
alternate kernel header source using @samp{--with-headers}.
|
||||
|
||||
GNU/Linux expects some components of the @glibcadj{} installation to be in
|
||||
The Filesystem Hierarchy Standard for @gnulinuxsystems{} expects some
|
||||
components of the @glibcadj{} installation to be in
|
||||
@file{/lib} and some in @file{/usr/lib}. This is handled automatically
|
||||
if you configure @theglibc{} with @samp{--prefix=/usr}. If you set some other
|
||||
prefix or allow it to default to @file{/usr/local}, then all the
|
||||
|
|
|
@ -12,7 +12,7 @@ programs.
|
|||
@Theglibc{}, described in this document, defines all of the
|
||||
library functions that are specified by the @w{ISO C} standard, as well as
|
||||
additional features specific to POSIX and other derivatives of the Unix
|
||||
operating system, and extensions specific to the GNU system.
|
||||
operating system, and extensions specific to @gnusystems{}.
|
||||
|
||||
The purpose of this manual is to tell you how to use the facilities
|
||||
of @theglibc{}. We have mentioned which features belong to which
|
||||
|
|
|
@ -121,7 +121,7 @@ and formatted output functions (@pxref{Formatted Output}).
|
|||
If you are concerned about portability of your programs to systems other
|
||||
than GNU, you should also be aware that file descriptors are not as
|
||||
portable as streams. You can expect any system running @w{ISO C} to
|
||||
support streams, but non-GNU systems may not support file descriptors at
|
||||
support streams, but @nongnusystems{} may not support file descriptors at
|
||||
all, or may only implement a subset of the GNU functions that operate on
|
||||
file descriptors. Most of the file descriptor functions in @theglibc{}
|
||||
are included in the POSIX.1 standard, however.
|
||||
|
@ -131,7 +131,7 @@ are included in the POSIX.1 standard, however.
|
|||
|
||||
One of the attributes of an open file is its @dfn{file position} that
|
||||
keeps track of where in the file the next character is to be read or
|
||||
written. In the GNU system, and all POSIX.1 systems, the file position
|
||||
written. On @gnusystems{}, and all POSIX.1 systems, the file position
|
||||
is simply an integer representing the number of bytes from the beginning
|
||||
of the file.
|
||||
|
||||
|
@ -304,7 +304,7 @@ but the empty string is not a meaningful file name. If you want to
|
|||
refer to the current working directory, use a file name of @file{.} or
|
||||
@file{./}.
|
||||
|
||||
Unlike some other operating systems, the GNU system doesn't have any
|
||||
Unlike some other operating systems, @gnusystems{} don't have any
|
||||
built-in support for file types (or extensions) or file versions as part
|
||||
of its file name syntax. Many programs and utilities use conventions
|
||||
for file names---for example, files containing C source code usually
|
||||
|
@ -332,7 +332,7 @@ This error is used when either the total length of a file name is
|
|||
greater than @code{PATH_MAX}, or when an individual file name component
|
||||
has a length greater than @code{NAME_MAX}. @xref{Limits for Files}.
|
||||
|
||||
In the GNU system, there is no imposed limit on overall file name
|
||||
On @gnuhurdsystems{}, there is no imposed limit on overall file name
|
||||
length, but some file systems may place limits on the length of a
|
||||
component.
|
||||
|
||||
|
@ -357,7 +357,7 @@ way to detect loops. @xref{Symbolic Links}.
|
|||
@subsection Portability of File Names
|
||||
|
||||
The rules for the syntax of file names discussed in @ref{File Names},
|
||||
are the rules normally used by the GNU system and by other POSIX
|
||||
are the rules normally used by @gnusystems{} and by other POSIX
|
||||
systems. However, other operating systems may use other conventions.
|
||||
|
||||
There are two reasons why it can be important for you to be aware of
|
||||
|
@ -389,7 +389,7 @@ some operating systems and not by others.
|
|||
The POSIX.1 standard allows implementations to put additional
|
||||
restrictions on file name syntax, concerning what characters are
|
||||
permitted in file names and on the length of file name and file name
|
||||
component strings. However, in the GNU system, you do not need to worry
|
||||
about these restrictions; any character except the null character is
|
||||
permitted in a file name string, and there are no limits on the length
|
||||
of file name strings.
|
||||
component strings. However, on @gnusystems{}, any character except
|
||||
the null character is permitted in a file name string, and
|
||||
on @gnuhurdsystems{} there are no limits on the length of file name
|
||||
strings.
|
||||
|
|
|
@ -106,7 +106,7 @@ controlling terminal,
|
|||
@section Job Control is Optional
|
||||
@cindex job control is optional
|
||||
|
||||
Not all operating systems support job control. The GNU system does
|
||||
Not all operating systems support job control. @gnusystems{} do
|
||||
support job control, but if you are using @theglibc{} on some other
|
||||
system, that system may not support job control itself.
|
||||
|
||||
|
|
|
@ -120,7 +120,7 @@ The maximum number of file descriptors is controlled by the
|
|||
@item ENFILE
|
||||
The entire system, or perhaps the file system which contains the
|
||||
directory, cannot support any additional open files at the moment.
|
||||
(This problem cannot happen on the GNU system.)
|
||||
(This problem cannot happen on @gnuhurdsystems{}.)
|
||||
|
||||
@item ENOENT
|
||||
The named file does not exist, and @code{O_CREAT} is not specified.
|
||||
|
@ -341,8 +341,8 @@ file can also fail with @code{EAGAIN} if the kernel cannot find enough
|
|||
physical memory to lock down the user's pages. This is limited to
|
||||
devices that transfer with direct memory access into the user's memory,
|
||||
which means it does not include terminals, since they always use
|
||||
separate buffers inside the kernel. This problem never happens in the
|
||||
GNU system.
|
||||
separate buffers inside the kernel. This problem never happens on
|
||||
@gnuhurdsystems{}.
|
||||
|
||||
Any condition that could result in @code{EAGAIN} can instead result in a
|
||||
successful @code{read} which returns fewer bytes than requested.
|
||||
|
@ -492,8 +492,8 @@ file can also fail with @code{EAGAIN} if the kernel cannot find enough
|
|||
physical memory to lock down the user's pages. This is limited to
|
||||
devices that transfer with direct memory access into the user's memory,
|
||||
which means it does not include terminals, since they always use
|
||||
separate buffers inside the kernel. This problem does not arise in the
|
||||
GNU system.
|
||||
separate buffers inside the kernel. This problem does not arise on
|
||||
@gnuhurdsystems{}.
|
||||
|
||||
@item EBADF
|
||||
The @var{filedes} argument is not a valid file descriptor,
|
||||
|
@ -687,7 +687,7 @@ file offset is not valid. A file offset is invalid.
|
|||
@item ESPIPE
|
||||
The @var{filedes} corresponds to an object that cannot be positioned,
|
||||
such as a pipe, FIFO or terminal device. (POSIX.1 specifies this error
|
||||
only for pipes and FIFOs, but in the GNU system, you always get
|
||||
only for pipes and FIFOs, but on @gnusystems{}, you always get
|
||||
@code{ESPIPE} if the object is not seekable.)
|
||||
@end table
|
||||
|
||||
|
@ -830,7 +830,7 @@ The @code{fdopen} function returns a new stream for the file descriptor
|
|||
|
||||
The @var{opentype} argument is interpreted in the same way as for the
|
||||
@code{fopen} function (@pxref{Opening Streams}), except that
|
||||
the @samp{b} option is not permitted; this is because GNU makes no
|
||||
the @samp{b} option is not permitted; this is because @gnusystems{} make no
|
||||
distinction between text and binary files. Also, @code{"w"} and
|
||||
@code{"w+"} do not cause truncation of the file; these have an effect only
|
||||
when opening a file, and in this case the file has already been opened.
|
||||
|
@ -2154,7 +2154,7 @@ the moment. The error status for each element of @var{list} must be
|
|||
checked to determine which request failed.
|
||||
|
||||
Another reason could be that the system wide limit of AIO requests is
|
||||
exceeded. This cannot be the case for the implementation on GNU systems
|
||||
exceeded. This cannot be the case for the implementation on @gnusystems{}
|
||||
since no arbitrary limits exist.
|
||||
@item EINVAL
|
||||
The @var{mode} parameter is invalid or @var{nent} is larger than
|
||||
|
@ -2895,7 +2895,7 @@ The symbols in this section are defined in the header file
|
|||
@subsection File Access Modes
|
||||
|
||||
The file access modes allow a file descriptor to be used for reading,
|
||||
writing, or both. (In the GNU system, they can also allow none of these,
|
||||
writing, or both. (On @gnuhurdsystems{}, they can also allow none of these,
|
||||
and allow execution of the file as a program.) The access modes are chosen
|
||||
when the file is opened, and never change.
|
||||
|
||||
|
@ -2917,13 +2917,13 @@ Open the file for write access.
|
|||
Open the file for both reading and writing.
|
||||
@end deftypevr
|
||||
|
||||
In the GNU system (and not in other systems), @code{O_RDONLY} and
|
||||
On @gnuhurdsystems{} (and not on other systems), @code{O_RDONLY} and
|
||||
@code{O_WRONLY} are independent bits that can be bitwise-ORed together,
|
||||
and it is valid for either bit to be set or clear. This means that
|
||||
@code{O_RDWR} is the same as @code{O_RDONLY|O_WRONLY}. A file access
|
||||
mode of zero is permissible; it allows no operations that do input or
|
||||
output to the file, but does allow other operations such as
|
||||
@code{fchmod}. On the GNU system, since ``read-only'' or ``write-only''
|
||||
@code{fchmod}. On @gnuhurdsystems{}, since ``read-only'' or ``write-only''
|
||||
is a misnomer, @file{fcntl.h} defines additional names for the file
|
||||
access modes. These names are preferred when writing GNU-specific code.
|
||||
But most programs will want to be portable to other POSIX.1 systems and
|
||||
|
@ -2948,8 +2948,9 @@ Open the file for executing. Only defined on GNU.
|
|||
@end deftypevr
|
||||
|
||||
To determine the file access mode with @code{fcntl}, you must extract
|
||||
the access mode bits from the retrieved file status flags. In the GNU
|
||||
system, you can just test the @code{O_READ} and @code{O_WRITE} bits in
|
||||
the access mode bits from the retrieved file status flags. On
|
||||
@gnuhurdsystems{},
|
||||
you can just test the @code{O_READ} and @code{O_WRITE} bits in
|
||||
the flags word. But in other POSIX.1 systems, reading and writing
|
||||
access modes are not stored as distinct bit flags. The portable way to
|
||||
extract the file access mode bits is with @code{O_ACCMODE}.
|
||||
|
@ -2960,7 +2961,7 @@ extract the file access mode bits is with @code{O_ACCMODE}.
|
|||
This macro stands for a mask that can be bitwise-ANDed with the file
|
||||
status flag value to produce a value representing the file access mode.
|
||||
The mode will be @code{O_RDONLY}, @code{O_WRONLY}, or @code{O_RDWR}.
|
||||
(In the GNU system it could also be zero, and it never includes the
|
||||
(On @gnuhurdsystems{} it could also be zero, and it never includes the
|
||||
@code{O_EXEC} bit.)
|
||||
@end deftypevr
|
||||
|
||||
|
@ -3033,15 +3034,16 @@ If the named file is a terminal device, don't make it the controlling
|
|||
terminal for the process. @xref{Job Control}, for information about
|
||||
what it means to be the controlling terminal.
|
||||
|
||||
In the GNU system and 4.4 BSD, opening a file never makes it the
|
||||
controlling terminal and @code{O_NOCTTY} is zero. However, other
|
||||
systems may use a nonzero value for @code{O_NOCTTY} and set the
|
||||
On @gnuhurdsystems{} and 4.4 BSD, opening a file never makes it the
|
||||
controlling terminal and @code{O_NOCTTY} is zero. However, @gnulinuxsystems{}
|
||||
and some other systems use a nonzero value for @code{O_NOCTTY} and set the
|
||||
controlling terminal when you open a file that is a terminal device; so
|
||||
to be portable, use @code{O_NOCTTY} when it is important to avoid this.
|
||||
@cindex controlling terminal, setting
|
||||
@end deftypevr
|
||||
|
||||
The following three file name translation flags exist only in the GNU system.
|
||||
The following three file name translation flags exist only on
|
||||
@gnuhurdsystems{}.
|
||||
|
||||
@comment fcntl.h
|
||||
@comment GNU
|
||||
|
@ -3417,7 +3419,7 @@ function:
|
|||
The lock cannot be set because it is blocked by an existing lock on the
|
||||
file. Some systems use @code{EAGAIN} in this case, and other systems
|
||||
use @code{EACCES}; your program should treat them alike, after
|
||||
@code{F_SETLK}. (The GNU system always uses @code{EAGAIN}.)
|
||||
@code{F_SETLK}. (@gnulinuxhurdsystems{} always use @code{EAGAIN}.)
|
||||
|
||||
@item EBADF
|
||||
Either: the @var{filedes} argument is invalid; you requested a read lock
|
||||
|
@ -3594,7 +3596,7 @@ There is no process or process group corresponding to @var{pid}.
|
|||
@cindex generic i/o control operations
|
||||
@cindex IOCTLs
|
||||
|
||||
The GNU system can handle most input/output operations on many different
|
||||
@gnusystems{} can handle most input/output operations on many different
|
||||
devices and objects in terms of a few file primitives - @code{read},
|
||||
@code{write} and @code{lseek}. However, most devices also have a few
|
||||
peculiar operations which do not fit into this model. Such as:
|
||||
|
|
|
@ -17,4 +17,34 @@ the GNU C Library
|
|||
GNU C Library
|
||||
@end macro
|
||||
|
||||
@c Description applying to all GNU systems; that is, used in
|
||||
@c describing a property of a system such that no system without that
|
||||
@c property would be considered a variant of the GNU system.
|
||||
@macro gnusystems
|
||||
GNU systems
|
||||
@end macro
|
||||
|
||||
@c Systems that are not GNU systems.
|
||||
@macro nongnusystems
|
||||
non-GNU systems
|
||||
@end macro
|
||||
|
||||
@c Description applying to GNU/Linux and GNU/Hurd systems, but not
|
||||
@c necessarily to other variants of the GNU system.
|
||||
@macro gnulinuxhurdsystems
|
||||
GNU/Linux and GNU/Hurd systems
|
||||
@end macro
|
||||
|
||||
@c Descrption applying to GNU/Hurd systems; that is, systems using the
|
||||
@c GNU Hurd with the GNU C Library.
|
||||
@macro gnuhurdsystems
|
||||
GNU/Hurd systems
|
||||
@end macro
|
||||
|
||||
@c Descrption applying to GNU/Linux systems; that is, systems using
|
||||
@c the Linux kernel with the GNU C Library.
|
||||
@macro gnulinuxsystems
|
||||
GNU/Linux systems
|
||||
@end macro
|
||||
|
||||
@end ifclear
|
||||
|
|
|
@ -399,7 +399,7 @@ This directory is for @code{socket} and related functions on Unix systems.
|
|||
|
||||
@item mach
|
||||
This is the directory for things based on the Mach microkernel from CMU
|
||||
(including the GNU operating system). Other basic operating systems
|
||||
(including @gnuhurdsystems{}). Other basic operating systems
|
||||
(VMS, for example) would have their own directories at the top level of
|
||||
the @file{sysdeps} hierarchy, parallel to @file{unix} and @file{mach}.
|
||||
@end table
|
||||
|
|
|
@ -379,7 +379,7 @@ savestring (const char *ptr, size_t len)
|
|||
@end smallexample
|
||||
|
||||
The block that @code{malloc} gives you is guaranteed to be aligned so
|
||||
that it can hold any type of data. In the GNU system, the address is
|
||||
that it can hold any type of data. On @gnusystems{}, the address is
|
||||
always a multiple of eight on most systems, and a multiple of 16 on
|
||||
64-bit systems. Only rarely is any higher boundary (such as a page
|
||||
boundary) necessary; for those cases, use @code{memalign},
|
||||
|
@ -614,7 +614,7 @@ after calling @code{free} wastes memory. The size threshold for
|
|||
@cindex alignment (with @code{malloc})
|
||||
@pindex stdlib.h
|
||||
The address of a block returned by @code{malloc} or @code{realloc} in
|
||||
the GNU system is always a multiple of eight (or sixteen on 64-bit
|
||||
@gnusystems{} is always a multiple of eight (or sixteen on 64-bit
|
||||
systems). If you need a block whose address is a multiple of a higher
|
||||
power of two than that, use @code{memalign}, @code{posix_memalign}, or
|
||||
@code{valloc}. @code{memalign} is declared in @file{malloc.h} and
|
||||
|
@ -2295,7 +2295,7 @@ the one you would get from an infinite recursion; probably a
|
|||
segmentation violation (@pxref{Program Error Signals}).
|
||||
|
||||
@item
|
||||
Some non-GNU systems fail to support @code{alloca}, so it is less
|
||||
Some @nongnusystems{} fail to support @code{alloca}, so it is less
|
||||
portable. However, a slower emulation of @code{alloca} written in C
|
||||
is available for use on systems with this deficiency.
|
||||
@end itemize
|
||||
|
|
|
@ -670,7 +670,7 @@ type @code{glob64_t} which were allocated by @code{glob64}.
|
|||
|
||||
@Theglibc{} supports two interfaces for matching regular
|
||||
expressions. One is the standard POSIX.2 interface, and the other is
|
||||
what the GNU system has had for many years.
|
||||
what @theglibc{} has had for many years.
|
||||
|
||||
Both interfaces are declared in the header file @file{regex.h}.
|
||||
If you define @w{@code{_POSIX_C_SOURCE}}, then only the POSIX.2
|
||||
|
|
|
@ -74,8 +74,8 @@ The process has too many files open.
|
|||
|
||||
@item ENFILE
|
||||
There are too many open files in the entire system. @xref{Error Codes},
|
||||
for more information about @code{ENFILE}. This error never occurs in
|
||||
the GNU system.
|
||||
for more information about @code{ENFILE}. This error never occurs on
|
||||
@gnuhurdsystems{}.
|
||||
@end table
|
||||
@end deftypefun
|
||||
|
||||
|
|
|
@ -350,8 +350,8 @@ file name searching as the @code{execvp} function.
|
|||
@end deftypefun
|
||||
|
||||
The size of the argument list and environment list taken together must
|
||||
not be greater than @code{ARG_MAX} bytes. @xref{General Limits}. In
|
||||
the GNU system, the size (which compares against @code{ARG_MAX})
|
||||
not be greater than @code{ARG_MAX} bytes. @xref{General Limits}. On
|
||||
@gnuhurdsystems{}, the size (which compares against @code{ARG_MAX})
|
||||
includes, for each string, the number of characters in the string, plus
|
||||
the size of a @code{char *}, plus one, rounded up to a multiple of the
|
||||
size of a @code{char *}. Other systems may have somewhat different
|
||||
|
@ -366,7 +366,7 @@ usual file name errors (@pxref{File Name Errors}), the following
|
|||
@table @code
|
||||
@item E2BIG
|
||||
The combined size of the new program's argument list and environment
|
||||
list is larger than @code{ARG_MAX} bytes. The GNU system has no
|
||||
list is larger than @code{ARG_MAX} bytes. @gnuhurdsystems{} have no
|
||||
specific limit on the argument list size, so this error code cannot
|
||||
result, but you may get @code{ENOMEM} instead if the arguments are too
|
||||
big for available memory.
|
||||
|
@ -406,7 +406,7 @@ Pending alarms. @xref{Setting an Alarm}.
|
|||
|
||||
@item
|
||||
Current working directory and root directory. @xref{Working
|
||||
Directory}. In the GNU system, the root directory is not copied when
|
||||
Directory}. On @gnuhurdsystems{}, the root directory is not copied when
|
||||
executing a setuid program; instead the system default root directory
|
||||
is used for the new program.
|
||||
|
||||
|
|
|
@ -42,9 +42,6 @@ Just the current process.
|
|||
All child processes (direct and indirect) that have already terminated.
|
||||
@end table
|
||||
|
||||
In the GNU system, you can also inquire about a particular child process
|
||||
by specifying its process ID.
|
||||
|
||||
The return value of @code{getrusage} is zero for success, and @code{-1}
|
||||
for failure.
|
||||
|
||||
|
|
|
@ -182,7 +182,7 @@ behavior.
|
|||
|
||||
The behavior of @code{setjmp} and @code{longjmp} in @theglibc{} is
|
||||
controlled by feature test macros; see @ref{Feature Test Macros}. The
|
||||
default in the GNU system is the POSIX.1 behavior rather than the BSD
|
||||
default in @theglibc{} is the POSIX.1 behavior rather than the BSD
|
||||
behavior.
|
||||
|
||||
The facilities in this section are declared in the header file
|
||||
|
|
|
@ -274,7 +274,7 @@ When one of these program error signals terminates a process, it also
|
|||
writes a @dfn{core dump file} which records the state of the process at
|
||||
the time of termination. The core dump file is named @file{core} and is
|
||||
written in whichever directory is current in the process at the time.
|
||||
(On the GNU system, you can specify the file name for core dumps with
|
||||
(On @gnuhurdsystems{}, you can specify the file name for core dumps with
|
||||
the environment variable @code{COREFILE}.) The purpose of core dump
|
||||
files is so that you can examine them with a debugger to investigate
|
||||
what caused the error.
|
||||
|
@ -309,7 +309,7 @@ this argument, you must define the handler to accept two arguments,
|
|||
which means you must cast it to a one-argument function type in order to
|
||||
establish the handler. @Theglibc{} does provide this extra
|
||||
argument, but the value is meaningful only on operating systems that
|
||||
provide the information (BSD systems and GNU systems).
|
||||
provide the information (BSD systems and @gnusystems{}).
|
||||
|
||||
@table @code
|
||||
@comment signal.h
|
||||
|
@ -625,7 +625,7 @@ On most operating systems, terminals and sockets are the only kinds of
|
|||
files that can generate @code{SIGIO}; other kinds, including ordinary
|
||||
files, never generate @code{SIGIO} even if you ask them to.
|
||||
|
||||
In the GNU system @code{SIGIO} will always be generated properly
|
||||
On @gnusystems{} @code{SIGIO} will always be generated properly
|
||||
if you successfully set asynchronous mode with @code{fcntl}.
|
||||
@end deftypevr
|
||||
|
||||
|
@ -759,14 +759,14 @@ process would probably not be very useful, since there is no shell
|
|||
program that will notice it stop and allow the user to continue it.
|
||||
What happens instead depends on the operating system you are using.
|
||||
Some systems may do nothing; others may deliver another signal instead,
|
||||
such as @code{SIGKILL} or @code{SIGHUP}. In the GNU system, the process
|
||||
such as @code{SIGKILL} or @code{SIGHUP}. On @gnuhurdsystems{}, the process
|
||||
dies with @code{SIGKILL}; this avoids the problem of many stopped,
|
||||
orphaned processes lying around the system.
|
||||
|
||||
@ignore
|
||||
On the GNU system, it is possible to reattach to the orphaned process
|
||||
On @gnuhurdsystems{}, it is possible to reattach to the orphaned process
|
||||
group and continue it, so stop signals do stop the process as usual on
|
||||
a GNU system unless you have requested POSIX compatibility ``till it
|
||||
@gnuhurdsystems{} unless you have requested POSIX compatibility ``till it
|
||||
hurts.''
|
||||
@end ignore
|
||||
|
||||
|
@ -805,7 +805,7 @@ that isn't connected. @xref{Sending Data}.
|
|||
Resource lost. This signal is generated when you have an advisory lock
|
||||
on an NFS file, and the NFS server reboots and forgets about your lock.
|
||||
|
||||
In the GNU system, @code{SIGLOST} is generated when any server program
|
||||
On @gnuhurdsystems{}, @code{SIGLOST} is generated when any server program
|
||||
dies unexpectedly. It is usually fine to ignore the signal; whatever
|
||||
call was made to the server that died just returns an error.
|
||||
@end deftypevr
|
||||
|
@ -864,7 +864,7 @@ reformat its display accordingly.
|
|||
@comment signal.h
|
||||
@comment BSD
|
||||
@deftypevr Macro int SIGINFO
|
||||
Information request. In 4.4 BSD and the GNU system, this signal is sent
|
||||
Information request. On 4.4 BSD and @gnuhurdsystems{}, this signal is sent
|
||||
to all the processes in the foreground process group of the controlling
|
||||
terminal when the user types the STATUS character in canonical mode;
|
||||
@pxref{Signal Characters}.
|
||||
|
@ -1223,7 +1223,7 @@ examine it with @code{sigaction}, the handler address that you get may
|
|||
not be the same as what you specified with @code{signal}. It may not
|
||||
even be suitable for use as an action argument with @code{signal}. But
|
||||
you can rely on using it as an argument to @code{sigaction}. This
|
||||
problem never happens on the GNU system.
|
||||
problem never happens on @gnusystems{}.
|
||||
|
||||
So, you're better off using one or the other of the mechanisms
|
||||
consistently within a single program.
|
||||
|
@ -1894,7 +1894,7 @@ could ``lose'' one of the objects.
|
|||
|
||||
@ignore
|
||||
!!! not true
|
||||
On the GNU system, @code{malloc} and @code{free} are safe to use in
|
||||
In @theglibc{}, @code{malloc} and @code{free} are safe to use in
|
||||
signal handlers because they block signals. As a result, the library
|
||||
functions that allocate space for a result are also safe in signal
|
||||
handlers. The obstack allocation functions are safe as long as you
|
||||
|
|
|
@ -169,7 +169,7 @@ To specify an argument for a long option, write
|
|||
@samp{--@var{name}=@var{value}}. This syntax enables a long option to
|
||||
accept an argument that is itself optional.
|
||||
|
||||
Eventually, the GNU system will provide completion for long option names
|
||||
Eventually, @gnusystems{} will provide completion for long option names
|
||||
in the shell.
|
||||
|
||||
@node Parsing Program Arguments, , Argument Syntax, Program Arguments
|
||||
|
@ -423,7 +423,7 @@ If you just want to get the value of an environment variable, use
|
|||
@code{getenv}.
|
||||
@end deftypevar
|
||||
|
||||
Unix systems, and the GNU system, pass the initial value of
|
||||
Unix systems, and @gnusystems{}, pass the initial value of
|
||||
@code{environ} as the third argument to @code{main}.
|
||||
@xref{Program Arguments}.
|
||||
|
||||
|
|
|
@ -110,7 +110,7 @@ diagnostics issued by the program.
|
|||
@end deftypevar
|
||||
@cindex standard error stream
|
||||
|
||||
In the GNU system, you can specify what files or processes correspond to
|
||||
On @gnusystems{}, you can specify what files or processes correspond to
|
||||
these streams using the pipe and redirection facilities provided by the
|
||||
shell. (The primitives shells use to implement these facilities are
|
||||
described in @ref{File System Interface}.) Most other operating systems
|
||||
|
@ -206,7 +206,7 @@ Closing Files}).
|
|||
|
||||
The character @samp{b} in @var{opentype} has a standard meaning; it
|
||||
requests a binary stream rather than a text stream. But this makes no
|
||||
difference in POSIX systems (including the GNU system). If both
|
||||
difference in POSIX systems (including @gnusystems{}). If both
|
||||
@samp{+} and @samp{b} are specified, they can appear in either order.
|
||||
@xref{Binary Streams}.
|
||||
|
||||
|
@ -2174,7 +2174,7 @@ The @samp{%p} conversion prints a pointer value. The corresponding
|
|||
argument must be of type @code{void *}. In practice, you can use any
|
||||
type of pointer.
|
||||
|
||||
In the GNU system, non-null pointers are printed as unsigned integers,
|
||||
In @theglibc{}, non-null pointers are printed as unsigned integers,
|
||||
as if a @samp{%#x} conversion were used. Null pointers print as
|
||||
@samp{(nil)}. (Pointers might print differently in other systems.)
|
||||
|
||||
|
@ -4045,7 +4045,7 @@ descriptor is not usually advisable.
|
|||
@node Binary Streams
|
||||
@section Text and Binary Streams
|
||||
|
||||
The GNU system and other POSIX-compatible operating systems organize all
|
||||
@gnusystems{} and other POSIX-compatible operating systems organize all
|
||||
files as uniform sequences of characters. However, some other systems
|
||||
make a distinction between files containing text and files containing
|
||||
binary data, and the input and output facilities of @w{ISO C} provide for
|
||||
|
@ -4108,7 +4108,7 @@ restrictions that text streams sometimes have.
|
|||
|
||||
The @dfn{file position} of a stream describes where in the file the
|
||||
stream is currently reading or writing. I/O on the stream advances the
|
||||
file position through the file. In the GNU system, the file position is
|
||||
file position through the file. On @gnusystems{}, the file position is
|
||||
represented as an integer, which counts the number of bytes from the
|
||||
beginning of the file. @xref{File Position}.
|
||||
|
||||
|
@ -4301,7 +4301,7 @@ An alias for @code{SEEK_END}.
|
|||
@node Portable Positioning
|
||||
@section Portable File-Position Functions
|
||||
|
||||
On the GNU system, the file position is truly a character count. You
|
||||
On @gnusystems{}, the file position is truly a character count. You
|
||||
can specify any character count value as an argument to @code{fseek} or
|
||||
@code{fseeko} and get reliable results for any random access file.
|
||||
However, some @w{ISO C} systems do not represent file positions in this
|
||||
|
@ -4361,7 +4361,7 @@ This is the type of an object that can encode information about the
|
|||
file position of a stream, for use by the functions @code{fgetpos} and
|
||||
@code{fsetpos}.
|
||||
|
||||
In the GNU system, @code{fpos_t} is an opaque data structure that
|
||||
In @theglibc{}, @code{fpos_t} is an opaque data structure that
|
||||
contains internal data to represent file offset and conversion state
|
||||
information. In other systems, it might have a different internal
|
||||
representation.
|
||||
|
@ -4378,7 +4378,7 @@ This is the type of an object that can encode information about the
|
|||
file position of a stream, for use by the functions @code{fgetpos64} and
|
||||
@code{fsetpos64}.
|
||||
|
||||
In the GNU system, @code{fpos64_t} is an opaque data structure that
|
||||
In @theglibc{}, @code{fpos64_t} is an opaque data structure that
|
||||
contains internal data to represent file offset and conversion state
|
||||
information. In other systems, it might have a different internal
|
||||
representation.
|
||||
|
@ -4578,7 +4578,7 @@ This function is declared in the @file{stdio_ext.h} header.
|
|||
been known to be so thoroughly fixated on line-oriented input and output
|
||||
that flushing a line buffered stream causes a newline to be written!
|
||||
Fortunately, this ``feature'' seems to be becoming less common. You do
|
||||
not need to worry about this in the GNU system.
|
||||
not need to worry about this with @theglibc{}.
|
||||
|
||||
In some situations it might be useful to not flush the output pending
|
||||
for a stream but instead simply forget it. If transmission is costly
|
||||
|
|
|
@ -319,7 +319,7 @@ This is like @code{TCSADRAIN}, but also discards any queued input.
|
|||
This is a flag bit that you can add to any of the above alternatives.
|
||||
Its meaning is to inhibit alteration of the state of the terminal
|
||||
hardware. It is a BSD extension; it is only supported on BSD systems
|
||||
and the GNU system.
|
||||
and @gnuhurdsystems{}.
|
||||
|
||||
Using @code{TCSASOFT} is exactly the same as setting the @code{CIGNORE}
|
||||
bit in the @code{c_cflag} member of the structure @var{termios-p} points
|
||||
|
@ -574,7 +574,8 @@ If this bit is set, any input character restarts output when output has
|
|||
been suspended with the STOP character. Otherwise, only the START
|
||||
character restarts output.
|
||||
|
||||
This is a BSD extension; it exists only on BSD systems and the GNU system.
|
||||
This is a BSD extension; it exists only on BSD systems and
|
||||
@gnulinuxhurdsystems{}.
|
||||
@end deftypevr
|
||||
|
||||
@comment termios.h
|
||||
|
@ -611,12 +612,10 @@ carriage return and linefeed pairs.
|
|||
If this bit isn't set, the characters are transmitted as-is.
|
||||
@end deftypevr
|
||||
|
||||
The following three bits are BSD features, and they exist only BSD
|
||||
systems and the GNU system. They are effective only if @code{OPOST} is
|
||||
set.
|
||||
The following three bits are effective only if @code{OPOST} is set.
|
||||
|
||||
@comment termios.h
|
||||
@comment BSD
|
||||
@comment POSIX.1
|
||||
@deftypevr Macro tcflag_t ONLCR
|
||||
If this bit is set, convert the newline character on output into a pair
|
||||
of characters, carriage return followed by linefeed.
|
||||
|
@ -626,7 +625,9 @@ of characters, carriage return followed by linefeed.
|
|||
@comment BSD
|
||||
@deftypevr Macro tcflag_t OXTABS
|
||||
If this bit is set, convert tab characters on output into the appropriate
|
||||
number of spaces to emulate a tab stop every eight columns.
|
||||
number of spaces to emulate a tab stop every eight columns. This bit
|
||||
exists only on BSD systems and @gnuhurdsystems{}; on
|
||||
@gnulinuxsystems{} it is available as @code{XTABS}.
|
||||
@end deftypevr
|
||||
|
||||
@comment termios.h
|
||||
|
@ -634,6 +635,7 @@ number of spaces to emulate a tab stop every eight columns.
|
|||
@deftypevr Macro tcflag_t ONOEOT
|
||||
If this bit is set, discard @kbd{C-d} characters (code @code{004}) on
|
||||
output. These characters cause many dial-up terminals to disconnect.
|
||||
This bit exists only on BSD systems and @gnuhurdsystems{}.
|
||||
@end deftypevr
|
||||
|
||||
@node Control Modes
|
||||
|
@ -747,8 +749,8 @@ This specifies seven bits per byte.
|
|||
This specifies eight bits per byte.
|
||||
@end deftypevr
|
||||
|
||||
The following four bits are BSD extensions; this exist only on BSD
|
||||
systems and the GNU system.
|
||||
The following four bits are BSD extensions; these exist only on BSD
|
||||
systems and @gnuhurdsystems{}.
|
||||
|
||||
@comment termios.h
|
||||
@comment BSD
|
||||
|
@ -839,8 +841,8 @@ character erased. Typing the ERASE character again just prints the next
|
|||
character erased. Then, the next time you type a normal character, a
|
||||
@samp{/} character is printed before the character echoes.
|
||||
|
||||
This is a BSD extension, and exists only in BSD systems and the
|
||||
GNU system.
|
||||
This is a BSD extension, and exists only in BSD systems and
|
||||
@gnulinuxhurdsystems{}.
|
||||
@end deftypevr
|
||||
|
||||
@comment termios.h
|
||||
|
@ -865,8 +867,8 @@ input, without which @code{ECHOK} is simply irrelevant.
|
|||
@deftypevr Macro tcflag_t ECHOKE
|
||||
This bit is similar to @code{ECHOK}. It enables special display of the
|
||||
KILL character by erasing on the screen the entire line that has been
|
||||
killed. This is a BSD extension, and exists only in BSD systems and the
|
||||
GNU system.
|
||||
killed. This is a BSD extension, and exists only in BSD systems and
|
||||
@gnulinuxhurdsystems{}.
|
||||
@end deftypevr
|
||||
|
||||
@comment termios.h
|
||||
|
@ -886,8 +888,8 @@ Thus, control-A echoes as @samp{^A}. This is usually the preferred mode
|
|||
for interactive input, because echoing a control character back to the
|
||||
terminal could have some undesired effect on the terminal.
|
||||
|
||||
This is a BSD extension, and exists only in BSD systems and the
|
||||
GNU system.
|
||||
This is a BSD extension, and exists only in BSD systems and
|
||||
@gnulinuxhurdsystems{}.
|
||||
@end deftypevr
|
||||
|
||||
@comment termios.h
|
||||
|
@ -914,7 +916,8 @@ signals associated with these characters, or to escape from the program.
|
|||
POSIX.1 gives @code{IEXTEN} implementation-defined meaning,
|
||||
so you cannot rely on this interpretation on all systems.
|
||||
|
||||
On BSD systems and the GNU system, it enables the LNEXT and DISCARD characters.
|
||||
On BSD systems and @gnulinuxhurdsystems{}, it enables the LNEXT and
|
||||
DISCARD characters.
|
||||
@xref{Other Special}.
|
||||
@end deftypevr
|
||||
|
||||
|
@ -934,8 +937,8 @@ If this bit is set and the system supports job control, then
|
|||
attempt to write to the terminal. @xref{Access to the Terminal}.
|
||||
@end deftypevr
|
||||
|
||||
The following bits are BSD extensions; they exist only in BSD systems
|
||||
and the GNU system.
|
||||
The following bits are BSD extensions; they exist only on BSD systems
|
||||
and @gnuhurdsystems{}.
|
||||
|
||||
@comment termios.h
|
||||
@comment BSD
|
||||
|
@ -1245,7 +1248,7 @@ terminate an input line, by setting EOL to one of them and EOL2 to the
|
|||
other.
|
||||
|
||||
The EOL2 character is a BSD extension; it exists only on BSD systems
|
||||
and the GNU system.
|
||||
and @gnulinuxhurdsystems{}.
|
||||
@end deftypevr
|
||||
|
||||
@comment termios.h
|
||||
|
@ -1404,7 +1407,7 @@ The DSUSP (suspend) character is recognized only if the implementation
|
|||
supports job control (@pxref{Job Control}). It sends a @code{SIGTSTP}
|
||||
signal, like the SUSP character, but not right away---only when the
|
||||
program tries to read it as input. Not all systems with job control
|
||||
support DSUSP; only BSD-compatible systems (including the GNU system).
|
||||
support DSUSP; only BSD-compatible systems (including @gnuhurdsystems{}).
|
||||
|
||||
@xref{Signal Handling}, for more information about signals.
|
||||
|
||||
|
@ -1461,8 +1464,6 @@ regardless of what you specify.
|
|||
@node Other Special
|
||||
@subsubsection Other Special Characters
|
||||
|
||||
These special characters exist only in BSD systems and the GNU system.
|
||||
|
||||
@comment termios.h
|
||||
@comment BSD
|
||||
@deftypevr Macro int VLNEXT
|
||||
|
@ -1479,6 +1480,8 @@ signal, it is read as a plain character. This is the analogue of the
|
|||
@kbd{C-q} command in Emacs. ``LNEXT'' stands for ``literal next.''
|
||||
|
||||
The LNEXT character is usually @kbd{C-v}.
|
||||
|
||||
This character is available on BSD systems and @gnulinuxhurdsystems{}.
|
||||
@end deftypevr
|
||||
|
||||
@comment termios.h
|
||||
|
@ -1494,6 +1497,8 @@ in both canonical and noncanonical mode. Its effect is to toggle the
|
|||
discard-output flag. When this flag is set, all program output is
|
||||
discarded. Setting the flag also discards all output currently in the
|
||||
output buffer. Typing any other character resets the flag.
|
||||
|
||||
This character is available on BSD systems and @gnulinuxhurdsystems{}.
|
||||
@end deftypevr
|
||||
|
||||
@comment termios.h
|
||||
|
@ -1509,6 +1514,8 @@ the current process is running.
|
|||
|
||||
The STATUS character is recognized only in canonical mode, and only if
|
||||
@code{NOKERNINFO} is not set.
|
||||
|
||||
This character is available only on BSD systems and @gnuhurdsystems{}.
|
||||
@end deftypevr
|
||||
|
||||
@node Noncanonical Input
|
||||
|
|
|
@ -84,7 +84,7 @@ time between calendar time @var{time1} and calendar time @var{time0}, as
|
|||
a value of type @code{double}. The difference ignores leap seconds
|
||||
unless leap second support is enabled.
|
||||
|
||||
In the GNU system, you can simply subtract @code{time_t} values. But on
|
||||
In @theglibc{}, you can simply subtract @code{time_t} values. But on
|
||||
other systems, the @code{time_t} data type might use some other encoding
|
||||
where subtraction doesn't work directly.
|
||||
@end deftypefun
|
||||
|
@ -163,7 +163,7 @@ you can get the information with the functions in this section.
|
|||
CPU time (@pxref{Time Basics}) is represented by the data type
|
||||
@code{clock_t}, which is a number of @dfn{clock ticks}. It gives the
|
||||
total amount of time a process has actively used a CPU since some
|
||||
arbitrary event. On the GNU system, that event is the creation of the
|
||||
arbitrary event. On @gnusystems{}, that event is the creation of the
|
||||
process. While arbitrary in general, the event is always the same event
|
||||
for any particular process, so you can always measure how much time on
|
||||
the CPU a particular computation takes by examining the process' CPU
|
||||
|
@ -172,7 +172,7 @@ time before and after the computation.
|
|||
@cindex clock ticks
|
||||
@cindex ticks, clock
|
||||
|
||||
In the GNU system, @code{clock_t} is equivalent to @code{long int} and
|
||||
On @gnulinuxhurdsystems{}, @code{clock_t} is equivalent to @code{long int} and
|
||||
@code{CLOCKS_PER_SEC} is an integer value. But in other systems, both
|
||||
@code{clock_t} and the macro @code{CLOCKS_PER_SEC} can be either integer
|
||||
or floating-point types. Casting CPU time values to @code{double}, as
|
||||
|
@ -319,7 +319,7 @@ indicate failure.
|
|||
|
||||
@strong{Portability Note:} The @code{clock} function described in
|
||||
@ref{CPU Time} is specified by the @w{ISO C} standard. The
|
||||
@code{times} function is a feature of POSIX.1. In the GNU system, the
|
||||
@code{times} function is a feature of POSIX.1. On @gnusystems{}, the
|
||||
CPU time is defined to be equivalent to the sum of the @code{tms_utime}
|
||||
and @code{tms_stime} fields returned by @code{times}.
|
||||
|
||||
|
@ -487,7 +487,7 @@ following @code{errno} error condition is defined for this function:
|
|||
@table @code
|
||||
@item ENOSYS
|
||||
The operating system does not support getting time zone information, and
|
||||
@var{tzp} is not a null pointer. The GNU operating system does not
|
||||
@var{tzp} is not a null pointer. @gnusystems{} do not
|
||||
support using @w{@code{struct timezone}} to represent time zone
|
||||
information; that is an obsolete feature of 4.3 BSD.
|
||||
Instead, use the facilities described in @ref{Time Zone Functions}.
|
||||
|
@ -2462,7 +2462,7 @@ handler. And, if @code{sleep} is interrupted by delivery of a signal
|
|||
whose handler requests an alarm or alters the handling of @code{SIGALRM},
|
||||
this handler and @code{sleep} will interfere.
|
||||
|
||||
On the GNU system, it is safe to use @code{sleep} and @code{SIGALRM} in
|
||||
On @gnusystems{}, it is safe to use @code{sleep} and @code{SIGALRM} in
|
||||
the same program, because @code{sleep} does not work by means of
|
||||
@code{SIGALRM}.
|
||||
|
||||
|
|
|
@ -884,7 +884,7 @@ The exit status of the process.
|
|||
|
||||
@deftp {Data Type} {struct utmp}
|
||||
The @code{utmp} data structure is used to hold information about entries
|
||||
in the user accounting database. On the GNU system it has the following
|
||||
in the user accounting database. On @gnusystems{} it has the following
|
||||
members:
|
||||
|
||||
@table @code
|
||||
|
@ -1217,7 +1217,7 @@ database specified by @var{wtmp_file}. For possible values for the
|
|||
subset of these functions, they are not standardized. There are often
|
||||
subtle differences in the return types, and there are considerable
|
||||
differences between the various definitions of @code{struct utmp}. When
|
||||
programming for the GNU system, it is probably best to stick
|
||||
programming for @theglibc{}, it is probably best to stick
|
||||
with the functions described in this section. If however, you want your
|
||||
program to be portable, consider using the XPG functions described in
|
||||
@ref{XPG Functions}, or take a look at the BSD compatible functions in
|
||||
|
@ -1257,14 +1257,14 @@ Time the entry was made. For entries of type @code{OLD_TIME} this is
|
|||
the time when the system clock changed, and for entries of type
|
||||
@code{NEW_TIME} this is the time the system clock was set to.
|
||||
@end table
|
||||
On the GNU system, @code{struct utmpx} is identical to @code{struct
|
||||
In @theglibc{}, @code{struct utmpx} is identical to @code{struct
|
||||
utmp} except for the fact that including @file{utmpx.h} does not make
|
||||
visible the declaration of @code{struct exit_status}.
|
||||
@end deftp
|
||||
|
||||
The following macros are defined for use as values for the
|
||||
@code{ut_type} member of the @code{utmpx} structure. The values are
|
||||
integer constants and are, on the GNU system, identical to the
|
||||
integer constants and are, in @theglibc{}, identical to the
|
||||
definitions in @file{utmp.h}.
|
||||
|
||||
@table @code
|
||||
|
@ -1330,7 +1330,7 @@ can be found using the @code{sizeof} operator.
|
|||
@comment utmpx.h
|
||||
@comment XPG4.2
|
||||
@deftypefun void setutxent (void)
|
||||
This function is similar to @code{setutent}. On the GNU system it is
|
||||
This function is similar to @code{setutent}. In @theglibc{} it is
|
||||
simply an alias for @code{setutent}.
|
||||
@end deftypefun
|
||||
|
||||
|
@ -1338,14 +1338,14 @@ simply an alias for @code{setutent}.
|
|||
@comment XPG4.2
|
||||
@deftypefun {struct utmpx *} getutxent (void)
|
||||
The @code{getutxent} function is similar to @code{getutent}, but returns
|
||||
a pointer to a @code{struct utmpx} instead of @code{struct utmp}. On
|
||||
the GNU system it simply is an alias for @code{getutent}.
|
||||
a pointer to a @code{struct utmpx} instead of @code{struct utmp}. In
|
||||
@theglibc{} it simply is an alias for @code{getutent}.
|
||||
@end deftypefun
|
||||
|
||||
@comment utmpx.h
|
||||
@comment XPG4.2
|
||||
@deftypefun void endutxent (void)
|
||||
This function is similar to @code{endutent}. On the GNU system it is
|
||||
This function is similar to @code{endutent}. In @theglibc{} it is
|
||||
simply an alias for @code{endutent}.
|
||||
@end deftypefun
|
||||
|
||||
|
@ -1353,7 +1353,7 @@ simply an alias for @code{endutent}.
|
|||
@comment XPG4.2
|
||||
@deftypefun {struct utmpx *} getutxid (const struct utmpx *@var{id})
|
||||
This function is similar to @code{getutid}, but uses @code{struct utmpx}
|
||||
instead of @code{struct utmp}. On the GNU system it is simply an alias
|
||||
instead of @code{struct utmp}. In @theglibc{} it is simply an alias
|
||||
for @code{getutid}.
|
||||
@end deftypefun
|
||||
|
||||
|
@ -1361,7 +1361,7 @@ for @code{getutid}.
|
|||
@comment XPG4.2
|
||||
@deftypefun {struct utmpx *} getutxline (const struct utmpx *@var{line})
|
||||
This function is similar to @code{getutid}, but uses @code{struct utmpx}
|
||||
instead of @code{struct utmp}. On the GNU system it is simply an alias
|
||||
instead of @code{struct utmp}. In @theglibc{} it is simply an alias
|
||||
for @code{getutline}.
|
||||
@end deftypefun
|
||||
|
||||
|
@ -1370,7 +1370,7 @@ for @code{getutline}.
|
|||
@deftypefun {struct utmpx *} pututxline (const struct utmpx *@var{utmp})
|
||||
The @code{pututxline} function is functionally identical to
|
||||
@code{pututline}, but uses @code{struct utmpx} instead of @code{struct
|
||||
utmp}. On the GNU system, @code{pututxline} is simply an alias for
|
||||
utmp}. In @theglibc{}, @code{pututxline} is simply an alias for
|
||||
@code{pututline}.
|
||||
@end deftypefun
|
||||
|
||||
|
@ -1378,12 +1378,12 @@ utmp}. On the GNU system, @code{pututxline} is simply an alias for
|
|||
@comment XPG4.2
|
||||
@deftypefun int utmpxname (const char *@var{file})
|
||||
The @code{utmpxname} function is functionally identical to
|
||||
@code{utmpname}. On the GNU system, @code{utmpxname} is simply an
|
||||
@code{utmpname}. In @theglibc{}, @code{utmpxname} is simply an
|
||||
alias for @code{utmpname}.
|
||||
@end deftypefun
|
||||
|
||||
You can translate between a traditional @code{struct utmp} and an XPG
|
||||
@code{struct utmpx} with the following functions. On the GNU system,
|
||||
@code{struct utmpx} with the following functions. In @theglibc{},
|
||||
these functions are merely copies, since the two structures are
|
||||
identical.
|
||||
|
||||
|
|
|
@ -1065,6 +1065,32 @@ cacos_test (void)
|
|||
|
||||
TEST_c_c (cacos, nan_value, nan_value, nan_value, nan_value);
|
||||
|
||||
TEST_c_c (cacos, plus_zero, -1.5L, M_PI_2l, 1.194763217287109304111930828519090523536L);
|
||||
TEST_c_c (cacos, minus_zero, -1.5L, M_PI_2l, 1.194763217287109304111930828519090523536L);
|
||||
TEST_c_c (cacos, plus_zero, -1.0L, M_PI_2l, 0.8813735870195430252326093249797923090282L);
|
||||
TEST_c_c (cacos, minus_zero, -1.0L, M_PI_2l, 0.8813735870195430252326093249797923090282L);
|
||||
TEST_c_c (cacos, plus_zero, -0.5L, M_PI_2l, 0.4812118250596034474977589134243684231352L);
|
||||
TEST_c_c (cacos, minus_zero, -0.5L, M_PI_2l, 0.4812118250596034474977589134243684231352L);
|
||||
TEST_c_c (cacos, plus_zero, 0.5L, M_PI_2l, -0.4812118250596034474977589134243684231352L);
|
||||
TEST_c_c (cacos, minus_zero, 0.5L, M_PI_2l, -0.4812118250596034474977589134243684231352L);
|
||||
TEST_c_c (cacos, plus_zero, 1.0L, M_PI_2l, -0.8813735870195430252326093249797923090282L);
|
||||
TEST_c_c (cacos, minus_zero, 1.0L, M_PI_2l, -0.8813735870195430252326093249797923090282L);
|
||||
TEST_c_c (cacos, plus_zero, 1.5L, M_PI_2l, -1.194763217287109304111930828519090523536L);
|
||||
TEST_c_c (cacos, minus_zero, 1.5L, M_PI_2l, -1.194763217287109304111930828519090523536L);
|
||||
|
||||
TEST_c_c (cacos, -1.5L, plus_zero, M_PIl, -0.9624236501192068949955178268487368462704L);
|
||||
TEST_c_c (cacos, -1.5L, minus_zero, M_PIl, 0.9624236501192068949955178268487368462704L);
|
||||
TEST_c_c (cacos, -1.0L, plus_zero, M_PIl, minus_zero);
|
||||
TEST_c_c (cacos, -1.0L, minus_zero, M_PIl, plus_zero);
|
||||
TEST_c_c (cacos, -0.5L, plus_zero, 2.094395102393195492308428922186335256131L, minus_zero);
|
||||
TEST_c_c (cacos, -0.5L, minus_zero, 2.094395102393195492308428922186335256131L, plus_zero);
|
||||
TEST_c_c (cacos, 0.5L, plus_zero, 1.047197551196597746154214461093167628066L, minus_zero);
|
||||
TEST_c_c (cacos, 0.5L, minus_zero, 1.047197551196597746154214461093167628066L, plus_zero);
|
||||
TEST_c_c (cacos, 1.0L, plus_zero, plus_zero, minus_zero);
|
||||
TEST_c_c (cacos, 1.0L, minus_zero, plus_zero, plus_zero);
|
||||
TEST_c_c (cacos, 1.5L, plus_zero, plus_zero, -0.9624236501192068949955178268487368462704L);
|
||||
TEST_c_c (cacos, 1.5L, minus_zero, plus_zero, 0.9624236501192068949955178268487368462704L);
|
||||
|
||||
TEST_c_c (cacos, 0.75L, 1.25L, 1.11752014915610270578240049553777969L, -1.13239363160530819522266333696834467L);
|
||||
TEST_c_c (cacos, -2, -3, 2.1414491111159960199416055713254211L, 1.9833870299165354323470769028940395L);
|
||||
|
||||
|
@ -1127,6 +1153,32 @@ cacosh_test (void)
|
|||
|
||||
TEST_c_c (cacosh, nan_value, nan_value, nan_value, nan_value);
|
||||
|
||||
TEST_c_c (cacosh, plus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -M_PI_2l);
|
||||
TEST_c_c (cacosh, minus_zero, -1.5L, 1.194763217287109304111930828519090523536L, -M_PI_2l);
|
||||
TEST_c_c (cacosh, plus_zero, -1.0L, 0.8813735870195430252326093249797923090282L, -M_PI_2l);
|
||||
TEST_c_c (cacosh, minus_zero, -1.0L, 0.8813735870195430252326093249797923090282L, -M_PI_2l);
|
||||
TEST_c_c (cacosh, plus_zero, -0.5L, 0.4812118250596034474977589134243684231352L, -M_PI_2l);
|
||||
TEST_c_c (cacosh, minus_zero, -0.5L, 0.4812118250596034474977589134243684231352L, -M_PI_2l);
|
||||
TEST_c_c (cacosh, plus_zero, 0.5L, 0.4812118250596034474977589134243684231352L, M_PI_2l);
|
||||
TEST_c_c (cacosh, minus_zero, 0.5L, 0.4812118250596034474977589134243684231352L, M_PI_2l);
|
||||
TEST_c_c (cacosh, plus_zero, 1.0L, 0.8813735870195430252326093249797923090282L, M_PI_2l);
|
||||
TEST_c_c (cacosh, minus_zero, 1.0L, 0.8813735870195430252326093249797923090282L, M_PI_2l);
|
||||
TEST_c_c (cacosh, plus_zero, 1.5L, 1.194763217287109304111930828519090523536L, M_PI_2l);
|
||||
TEST_c_c (cacosh, minus_zero, 1.5L, 1.194763217287109304111930828519090523536L, M_PI_2l);
|
||||
|
||||
TEST_c_c (cacosh, -1.5L, plus_zero, 0.9624236501192068949955178268487368462704L, M_PIl);
|
||||
TEST_c_c (cacosh, -1.5L, minus_zero, 0.9624236501192068949955178268487368462704L, -M_PIl);
|
||||
TEST_c_c (cacosh, -1.0L, plus_zero, plus_zero, M_PIl);
|
||||
TEST_c_c (cacosh, -1.0L, minus_zero, plus_zero, -M_PIl);
|
||||
TEST_c_c (cacosh, -0.5L, plus_zero, plus_zero, 2.094395102393195492308428922186335256131L);
|
||||
TEST_c_c (cacosh, -0.5L, minus_zero, plus_zero, -2.094395102393195492308428922186335256131L);
|
||||
TEST_c_c (cacosh, 0.5L, plus_zero, plus_zero, 1.047197551196597746154214461093167628066L);
|
||||
TEST_c_c (cacosh, 0.5L, minus_zero, plus_zero, -1.047197551196597746154214461093167628066L);
|
||||
TEST_c_c (cacosh, 1.0L, plus_zero, plus_zero, plus_zero);
|
||||
TEST_c_c (cacosh, 1.0L, minus_zero, plus_zero, minus_zero);
|
||||
TEST_c_c (cacosh, 1.5L, plus_zero, 0.9624236501192068949955178268487368462704L, plus_zero);
|
||||
TEST_c_c (cacosh, 1.5L, minus_zero, 0.9624236501192068949955178268487368462704L, minus_zero);
|
||||
|
||||
TEST_c_c (cacosh, 0.75L, 1.25L, 1.13239363160530819522266333696834467L, 1.11752014915610270578240049553777969L);
|
||||
TEST_c_c (cacosh, -2, -3, 1.9833870299165354323470769028940395L, -2.1414491111159960199416055713254211L);
|
||||
|
||||
|
@ -1258,6 +1310,32 @@ casin_test (void)
|
|||
|
||||
TEST_c_c (casin, nan_value, nan_value, nan_value, nan_value);
|
||||
|
||||
TEST_c_c (casin, plus_zero, -1.5L, plus_zero, -1.194763217287109304111930828519090523536L);
|
||||
TEST_c_c (casin, minus_zero, -1.5L, minus_zero, -1.194763217287109304111930828519090523536L);
|
||||
TEST_c_c (casin, plus_zero, -1.0L, plus_zero, -0.8813735870195430252326093249797923090282L);
|
||||
TEST_c_c (casin, minus_zero, -1.0L, minus_zero, -0.8813735870195430252326093249797923090282L);
|
||||
TEST_c_c (casin, plus_zero, -0.5L, plus_zero, -0.4812118250596034474977589134243684231352L);
|
||||
TEST_c_c (casin, minus_zero, -0.5L, minus_zero, -0.4812118250596034474977589134243684231352L);
|
||||
TEST_c_c (casin, plus_zero, 0.5L, plus_zero, 0.4812118250596034474977589134243684231352L);
|
||||
TEST_c_c (casin, minus_zero, 0.5L, minus_zero, 0.4812118250596034474977589134243684231352L);
|
||||
TEST_c_c (casin, plus_zero, 1.0L, plus_zero, 0.8813735870195430252326093249797923090282L);
|
||||
TEST_c_c (casin, minus_zero, 1.0L, minus_zero, 0.8813735870195430252326093249797923090282L);
|
||||
TEST_c_c (casin, plus_zero, 1.5L, plus_zero, 1.194763217287109304111930828519090523536L);
|
||||
TEST_c_c (casin, minus_zero, 1.5L, minus_zero, 1.194763217287109304111930828519090523536L);
|
||||
|
||||
TEST_c_c (casin, -1.5L, plus_zero, -M_PI_2l, 0.9624236501192068949955178268487368462704L);
|
||||
TEST_c_c (casin, -1.5L, minus_zero, -M_PI_2l, -0.9624236501192068949955178268487368462704L);
|
||||
TEST_c_c (casin, -1.0L, plus_zero, -M_PI_2l, plus_zero);
|
||||
TEST_c_c (casin, -1.0L, minus_zero, -M_PI_2l, minus_zero);
|
||||
TEST_c_c (casin, -0.5L, plus_zero, -0.5235987755982988730771072305465838140329L, plus_zero);
|
||||
TEST_c_c (casin, -0.5L, minus_zero, -0.5235987755982988730771072305465838140329L, minus_zero);
|
||||
TEST_c_c (casin, 0.5L, plus_zero, 0.5235987755982988730771072305465838140329L, plus_zero);
|
||||
TEST_c_c (casin, 0.5L, minus_zero, 0.5235987755982988730771072305465838140329L, minus_zero);
|
||||
TEST_c_c (casin, 1.0L, plus_zero, M_PI_2l, plus_zero);
|
||||
TEST_c_c (casin, 1.0L, minus_zero, M_PI_2l, minus_zero);
|
||||
TEST_c_c (casin, 1.5L, plus_zero, M_PI_2l, 0.9624236501192068949955178268487368462704L);
|
||||
TEST_c_c (casin, 1.5L, minus_zero, M_PI_2l, -0.9624236501192068949955178268487368462704L);
|
||||
|
||||
TEST_c_c (casin, 0.75L, 1.25L, 0.453276177638793913448921196101971749L, 1.13239363160530819522266333696834467L);
|
||||
TEST_c_c (casin, -2, -3, -0.57065278432109940071028387968566963L, -1.9833870299165354323470769028940395L);
|
||||
|
||||
|
@ -1322,6 +1400,32 @@ casinh_test (void)
|
|||
|
||||
TEST_c_c (casinh, nan_value, nan_value, nan_value, nan_value);
|
||||
|
||||
TEST_c_c (casinh, plus_zero, -1.5L, 0.9624236501192068949955178268487368462704L, -M_PI_2l);
|
||||
TEST_c_c (casinh, minus_zero, -1.5L, -0.9624236501192068949955178268487368462704L, -M_PI_2l);
|
||||
TEST_c_c (casinh, plus_zero, -1.0L, plus_zero, -M_PI_2l);
|
||||
TEST_c_c (casinh, minus_zero, -1.0L, minus_zero, -M_PI_2l);
|
||||
TEST_c_c (casinh, plus_zero, -0.5L, plus_zero, -0.5235987755982988730771072305465838140329L);
|
||||
TEST_c_c (casinh, minus_zero, -0.5L, minus_zero, -0.5235987755982988730771072305465838140329L);
|
||||
TEST_c_c (casinh, plus_zero, 0.5L, plus_zero, 0.5235987755982988730771072305465838140329L);
|
||||
TEST_c_c (casinh, minus_zero, 0.5L, minus_zero, 0.5235987755982988730771072305465838140329L);
|
||||
TEST_c_c (casinh, plus_zero, 1.0L, plus_zero, M_PI_2l);
|
||||
TEST_c_c (casinh, minus_zero, 1.0L, minus_zero, M_PI_2l);
|
||||
TEST_c_c (casinh, plus_zero, 1.5L, 0.9624236501192068949955178268487368462704L, M_PI_2l);
|
||||
TEST_c_c (casinh, minus_zero, 1.5L, -0.9624236501192068949955178268487368462704L, M_PI_2l);
|
||||
|
||||
TEST_c_c (casinh, -1.5L, plus_zero, -1.194763217287109304111930828519090523536L, plus_zero);
|
||||
TEST_c_c (casinh, -1.5L, minus_zero, -1.194763217287109304111930828519090523536L, minus_zero);
|
||||
TEST_c_c (casinh, -1.0L, plus_zero, -0.8813735870195430252326093249797923090282L, plus_zero);
|
||||
TEST_c_c (casinh, -1.0L, minus_zero, -0.8813735870195430252326093249797923090282L, minus_zero);
|
||||
TEST_c_c (casinh, -0.5L, plus_zero, -0.4812118250596034474977589134243684231352L, plus_zero);
|
||||
TEST_c_c (casinh, -0.5L, minus_zero, -0.4812118250596034474977589134243684231352L, minus_zero);
|
||||
TEST_c_c (casinh, 0.5L, plus_zero, 0.4812118250596034474977589134243684231352L, plus_zero);
|
||||
TEST_c_c (casinh, 0.5L, minus_zero, 0.4812118250596034474977589134243684231352L, minus_zero);
|
||||
TEST_c_c (casinh, 1.0L, plus_zero, 0.8813735870195430252326093249797923090282L, plus_zero);
|
||||
TEST_c_c (casinh, 1.0L, minus_zero, 0.8813735870195430252326093249797923090282L, minus_zero);
|
||||
TEST_c_c (casinh, 1.5L, plus_zero, 1.194763217287109304111930828519090523536L, plus_zero);
|
||||
TEST_c_c (casinh, 1.5L, minus_zero, 1.194763217287109304111930828519090523536L, minus_zero);
|
||||
|
||||
TEST_c_c (casinh, 0.75L, 1.25L, 1.03171853444778027336364058631006594L, 0.911738290968487636358489564316731207L);
|
||||
TEST_c_c (casinh, -2, -3, -1.9686379257930962917886650952454982L, -0.96465850440760279204541105949953237L);
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Return arc hyperbole cosine for double value.
|
||||
Copyright (C) 1997, 2006, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
|
@ -66,9 +66,13 @@ __cacosh (__complex__ double x)
|
|||
}
|
||||
/* The factor 16 is just a guess. */
|
||||
else if (16.0 * fabs (__imag__ x) < fabs (__real__ x))
|
||||
{
|
||||
/* Kahan's formula which avoid cancellation through subtraction in
|
||||
some cases. */
|
||||
res = 2.0 * __clog (__csqrt ((x + 1.0) / 2.0) + __csqrt ((x - 1.0) / 2.0));
|
||||
if (signbit (__real__ res))
|
||||
__real__ res = 0.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
__complex__ double y;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Return arc hyperbole cosine for float value.
|
||||
Copyright (C) 1997, 2006, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
|
@ -66,10 +66,14 @@ __cacoshf (__complex__ float x)
|
|||
}
|
||||
/* The factor 16 is just a guess. */
|
||||
else if (16.0 * fabsf (__imag__ x) < fabsf (__real__ x))
|
||||
{
|
||||
/* Kahan's formula which avoid cancellation through subtraction in
|
||||
some cases. */
|
||||
res = 2.0 * __clogf (__csqrtf ((x + 1.0) / 2.0)
|
||||
+ __csqrtf ((x - 1.0) / 2.0));
|
||||
if (signbit (__real__ res))
|
||||
__real__ res = 0.0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
__complex__ float y;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Return arc hyperbole cosine for long double value.
|
||||
Copyright (C) 1997, 1998, 2006, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
|
@ -66,10 +66,14 @@ __cacoshl (__complex__ long double x)
|
|||
}
|
||||
/* The factor 16 is just a guess. */
|
||||
else if (16.0L * fabsl (__imag__ x) < fabsl (__real__ x))
|
||||
{
|
||||
/* Kahan's formula which avoid cancellation through subtraction in
|
||||
some cases. */
|
||||
res = 2.0L * __clogl (__csqrtl ((x + 1.0L) / 2.0L)
|
||||
+ __csqrtl ((x - 1.0L) / 2.0L));
|
||||
if (signbit (__real__ res))
|
||||
__real__ res = 0.0L;
|
||||
}
|
||||
else
|
||||
{
|
||||
__complex__ long double y;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Return arc hyperbole sine for double value.
|
||||
Copyright (C) 1997, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
|
@ -73,6 +73,11 @@ __casinh (__complex__ double x)
|
|||
__imag__ y += __imag__ x;
|
||||
|
||||
res = __clog (y);
|
||||
|
||||
/* Ensure zeros have correct sign and results are correct if
|
||||
very close to branch cuts. */
|
||||
__real__ res = __copysign (__real__ res, __real__ x);
|
||||
__imag__ res = __copysign (__imag__ res, __imag__ x);
|
||||
}
|
||||
|
||||
return res;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Return arc hyperbole sine for float value.
|
||||
Copyright (C) 1997, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
|
@ -73,6 +73,11 @@ __casinhf (__complex__ float x)
|
|||
__imag__ y += __imag__ x;
|
||||
|
||||
res = __clogf (y);
|
||||
|
||||
/* Ensure zeros have correct sign and results are correct if
|
||||
very close to branch cuts. */
|
||||
__real__ res = __copysignf (__real__ res, __real__ x);
|
||||
__imag__ res = __copysignf (__imag__ res, __imag__ x);
|
||||
}
|
||||
|
||||
return res;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Return arc hyperbole sine for long double value.
|
||||
Copyright (C) 1997, 1998, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
|
@ -73,6 +73,11 @@ __casinhl (__complex__ long double x)
|
|||
__imag__ y += __imag__ x;
|
||||
|
||||
res = __clogl (y);
|
||||
|
||||
/* Ensure zeros have correct sign and results are correct if
|
||||
very close to branch cuts. */
|
||||
__real__ res = __copysignl (__real__ res, __real__ x);
|
||||
__imag__ res = __copysignl (__imag__ res, __imag__ x);
|
||||
}
|
||||
|
||||
return res;
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
2012-03-07 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #10545]
|
||||
* sysdeps/pthread/configure.in (libc_cv_forced_unwind): Change
|
||||
link test to a compile test.
|
||||
(libc_cv_c_cleanup): Likewise. Declare puts rather than including
|
||||
<stdio.h>.
|
||||
* sysdeps/pthread/configure: Regenerated.
|
||||
|
||||
2012-03-07 Ulrich Drepper <drepper@gmail.com>
|
||||
|
||||
* Makefile (distribute): Remove variable.
|
||||
|
|
|
@ -81,21 +81,21 @@ $as_echo X/"$0" |
|
|||
}
|
||||
|
||||
|
||||
# ac_fn_c_try_link LINENO
|
||||
# -----------------------
|
||||
# Try to link conftest.$ac_ext, and return whether this succeeded.
|
||||
ac_fn_c_try_link ()
|
||||
# ac_fn_c_try_compile LINENO
|
||||
# --------------------------
|
||||
# Try to compile conftest.$ac_ext, and return whether this succeeded.
|
||||
ac_fn_c_try_compile ()
|
||||
{
|
||||
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||
if { { ac_try="$ac_link"
|
||||
rm -f conftest.$ac_objext
|
||||
if { { ac_try="$ac_compile"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo"; } >&5
|
||||
(eval "$ac_link") 2>conftest.err
|
||||
(eval "$ac_compile") 2>conftest.err
|
||||
ac_status=$?
|
||||
if test -s conftest.err; then
|
||||
grep -v '^ *+' conftest.err >conftest.er1
|
||||
|
@ -106,10 +106,7 @@ $as_echo "$ac_try_echo"; } >&5
|
|||
test $ac_status = 0; } && {
|
||||
test -z "$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest$ac_exeext && {
|
||||
test "$cross_compiling" = yes ||
|
||||
$as_test_x conftest$ac_exeext
|
||||
}; then :
|
||||
} && test -s conftest.$ac_objext; then :
|
||||
ac_retval=0
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
|
@ -117,15 +114,10 @@ sed 's/^/| /' conftest.$ac_ext >&5
|
|||
|
||||
ac_retval=1
|
||||
fi
|
||||
# Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
|
||||
# created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
|
||||
# interfere with the next link command; also delete a directory that is
|
||||
# left behind by Apple's compiler. We do this before executing the actions.
|
||||
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
|
||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_try_link
|
||||
} # ac_fn_c_try_compile
|
||||
# This file is generated from configure.in by Autoconf. DO NOT EDIT!
|
||||
|
||||
if test "x$libc_cv_gcc___thread" != xyes; then
|
||||
|
@ -165,13 +157,12 @@ _Unwind_GetCFA (context)
|
|||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
libc_cv_forced_unwind=yes
|
||||
else
|
||||
libc_cv_forced_unwind=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_forced_unwind" >&5
|
||||
$as_echo "$libc_cv_forced_unwind" >&6; }
|
||||
|
@ -188,25 +179,24 @@ else
|
|||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <stdio.h>
|
||||
extern void some_function (void);
|
||||
void cl (void *a) { }
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
int a __attribute__ ((cleanup (cl)));
|
||||
puts ("test")
|
||||
some_function ()
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
libc_cv_c_cleanup=yes
|
||||
else
|
||||
libc_cv_c_cleanup=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_c_cleanup" >&5
|
||||
$as_echo "$libc_cv_c_cleanup" >&6; }
|
||||
|
|
|
@ -23,7 +23,7 @@ dnl Iff <unwind.h> is available, make sure it is the right one and it
|
|||
dnl contains struct _Unwind_Exception.
|
||||
AC_CACHE_CHECK(dnl
|
||||
for forced unwind support, libc_cv_forced_unwind, [dnl
|
||||
AC_TRY_LINK([#include <unwind.h>], [
|
||||
AC_TRY_COMPILE([#include <unwind.h>], [
|
||||
struct _Unwind_Exception exc;
|
||||
struct _Unwind_Context *context;
|
||||
_Unwind_GetCFA (context)],
|
||||
|
@ -34,11 +34,11 @@ dnl Check for C cleanup handling.
|
|||
old_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Werror -fexceptions"
|
||||
AC_CACHE_CHECK([for C cleanup handling], libc_cv_c_cleanup, [dnl
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
AC_TRY_COMPILE([
|
||||
extern void some_function (void);
|
||||
void cl (void *a) { }], [
|
||||
int a __attribute__ ((cleanup (cl)));
|
||||
puts ("test")],
|
||||
some_function ()],
|
||||
libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)])
|
||||
CFLAGS="$old_CFLAGS"
|
||||
if test $libc_cv_c_cleanup = no; then
|
||||
|
|
|
@ -89,8 +89,8 @@ TRANS computer. */
|
|||
/*
|
||||
TRANS Argument list too long; used when the arguments passed to a new program
|
||||
TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
|
||||
TRANS File}) occupy too much memory space. This condition never arises in the
|
||||
TRANS GNU system. */
|
||||
TRANS File}) occupy too much memory space. This condition never arises on
|
||||
TRANS @gnuhurdsystems{}. */
|
||||
[ERR_REMAP (E2BIG)] = N_("Argument list too long"),
|
||||
# if E2BIG > ERR_MAX
|
||||
# undef ERR_MAX
|
||||
|
@ -163,7 +163,7 @@ TRANS Permission denied; the file permissions do not allow the attempted operati
|
|||
#ifdef EFAULT
|
||||
/*
|
||||
TRANS Bad address; an invalid pointer was detected.
|
||||
TRANS In the GNU system, this error never happens; you get a signal instead. */
|
||||
TRANS On @gnuhurdsystems{}, this error never happens; you get a signal instead. */
|
||||
[ERR_REMAP (EFAULT)] = N_("Bad address"),
|
||||
# if EFAULT > ERR_MAX
|
||||
# undef ERR_MAX
|
||||
|
@ -271,7 +271,7 @@ TRANS @pxref{Limits on Resources}. */
|
|||
/*
|
||||
TRANS There are too many distinct file openings in the entire system. Note
|
||||
TRANS that any number of linked channels count as just one file opening; see
|
||||
TRANS @ref{Linked Channels}. This error never occurs in the GNU system. */
|
||||
TRANS @ref{Linked Channels}. This error never occurs on @gnuhurdsystems{}. */
|
||||
[ERR_REMAP (ENFILE)] = N_("Too many open files in system"),
|
||||
# if ENFILE > ERR_MAX
|
||||
# undef ERR_MAX
|
||||
|
@ -294,7 +294,7 @@ TRANS An attempt to execute a file that is currently open for writing, or
|
|||
TRANS write to a file that is currently being executed. Often using a
|
||||
TRANS debugger to run a program is considered having it open for writing and
|
||||
TRANS will cause this error. (The name stands for ``text file busy''.) This
|
||||
TRANS is not an error in the GNU system; the text is copied as necessary. */
|
||||
TRANS is not an error on @gnuhurdsystems{}; the text is copied as necessary. */
|
||||
[ERR_REMAP (ETXTBSY)] = N_("Text file busy"),
|
||||
# if ETXTBSY > ERR_MAX
|
||||
# undef ERR_MAX
|
||||
|
@ -520,7 +520,7 @@ TRANS The socket type is not supported. */
|
|||
/*
|
||||
TRANS The operation you requested is not supported. Some socket functions
|
||||
TRANS don't make sense for all types of sockets, and others may not be
|
||||
TRANS implemented for all communications protocols. In the GNU system, this
|
||||
TRANS implemented for all communications protocols. On @gnuhurdsystems{}, this
|
||||
TRANS error can happen for many calls when the object does not support the
|
||||
TRANS particular operation; it is a generic indication that the server knows
|
||||
TRANS nothing to do for that call. */
|
||||
|
@ -795,7 +795,7 @@ TRANS the NFS file system on the local host. */
|
|||
TRANS An attempt was made to NFS-mount a remote file system with a file name that
|
||||
TRANS already specifies an NFS-mounted file.
|
||||
TRANS (This is an error on some operating systems, but we expect it to work
|
||||
TRANS properly on the GNU system, making this error code impossible.) */
|
||||
TRANS properly on @gnuhurdsystems{}, making this error code impossible.) */
|
||||
[ERR_REMAP (EREMOTE)] = N_("Object is remote"),
|
||||
# if EREMOTE > ERR_MAX
|
||||
# undef ERR_MAX
|
||||
|
@ -850,7 +850,7 @@ TRANS ??? */
|
|||
#ifdef ENOLCK
|
||||
/*
|
||||
TRANS No locks available. This is used by the file locking facilities; see
|
||||
TRANS @ref{File Locks}. This error is never generated by the GNU system, but
|
||||
TRANS @ref{File Locks}. This error is never generated by @gnuhurdsystems{}, but
|
||||
TRANS it can result from an operation to an NFS server running another
|
||||
TRANS operating system. */
|
||||
[ERR_REMAP (ENOLCK)] = N_("No locks available"),
|
||||
|
@ -935,7 +935,7 @@ TRANS or an incomplete sequence of bytes or the given wide character is invalid.
|
|||
#endif
|
||||
#ifdef EBACKGROUND
|
||||
/*
|
||||
TRANS In the GNU system, servers supporting the @code{term} protocol return
|
||||
TRANS On @gnuhurdsystems{}, servers supporting the @code{term} protocol return
|
||||
TRANS this error for certain operations when the caller is not in the
|
||||
TRANS foreground process group of the terminal. Users do not usually see this
|
||||
TRANS error because functions such as @code{read} and @code{write} translate
|
||||
|
@ -949,7 +949,7 @@ TRANS for information on process groups and these signals. */
|
|||
#endif
|
||||
#ifdef EDIED
|
||||
/*
|
||||
TRANS In the GNU system, opening a file returns this error when the file is
|
||||
TRANS On @gnuhurdsystems{}, opening a file returns this error when the file is
|
||||
TRANS translated by a program and the translator program dies while starting
|
||||
TRANS up, before it has connected to the file. */
|
||||
[ERR_REMAP (EDIED)] = N_("Translator died"),
|
||||
|
|
|
@ -16,23 +16,6 @@ as_fn_exit ()
|
|||
as_fn_set_status $1
|
||||
exit $1
|
||||
} # as_fn_exit
|
||||
# as_fn_arith ARG...
|
||||
# ------------------
|
||||
# Perform arithmetic evaluation on the ARGs, and store the result in the
|
||||
# global $as_val. Take advantage of shells that can avoid forks. The arguments
|
||||
# must be portable across $(()) and expr.
|
||||
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
|
||||
eval 'as_fn_arith ()
|
||||
{
|
||||
as_val=$(( $* ))
|
||||
}'
|
||||
else
|
||||
as_fn_arith ()
|
||||
{
|
||||
as_val=`expr "$@" || test $? -eq 1`
|
||||
}
|
||||
fi # as_fn_arith
|
||||
|
||||
if expr a : '\(a\)' >/dev/null 2>&1 &&
|
||||
test "X`expr 00001 : '.*\(...\)'`" = X001; then
|
||||
as_expr=expr
|
||||
|
@ -97,42 +80,6 @@ $as_echo X/"$0" |
|
|||
exit
|
||||
}
|
||||
|
||||
# Factoring default headers for most tests.
|
||||
ac_includes_default="\
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_STAT_H
|
||||
# include <sys/stat.h>
|
||||
#endif
|
||||
#ifdef STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
# include <stddef.h>
|
||||
#else
|
||||
# ifdef HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
# endif
|
||||
#endif
|
||||
#ifdef HAVE_STRING_H
|
||||
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
|
||||
# include <memory.h>
|
||||
# endif
|
||||
# include <string.h>
|
||||
#endif
|
||||
#ifdef HAVE_STRINGS_H
|
||||
# include <strings.h>
|
||||
#endif
|
||||
#ifdef HAVE_INTTYPES_H
|
||||
# include <inttypes.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDINT_H
|
||||
# include <stdint.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif"
|
||||
|
||||
|
||||
# ac_fn_c_try_compile LINENO
|
||||
# --------------------------
|
||||
|
@ -172,172 +119,6 @@ fi
|
|||
|
||||
} # ac_fn_c_try_compile
|
||||
|
||||
# ac_fn_c_try_cpp LINENO
|
||||
# ----------------------
|
||||
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
|
||||
ac_fn_c_try_cpp ()
|
||||
{
|
||||
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
if { { ac_try="$ac_cpp conftest.$ac_ext"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo"; } >&5
|
||||
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
|
||||
ac_status=$?
|
||||
if test -s conftest.err; then
|
||||
grep -v '^ *+' conftest.err >conftest.er1
|
||||
cat conftest.er1 >&5
|
||||
mv -f conftest.er1 conftest.err
|
||||
fi
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; } > conftest.i && {
|
||||
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
}; then :
|
||||
ac_retval=0
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_retval=1
|
||||
fi
|
||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_try_cpp
|
||||
|
||||
# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
|
||||
# -------------------------------------------------------
|
||||
# Tests whether HEADER exists, giving a warning if it cannot be compiled using
|
||||
# the include files in INCLUDES and setting the cache variable VAR
|
||||
# accordingly.
|
||||
ac_fn_c_check_header_mongrel ()
|
||||
{
|
||||
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
if eval \${$3+:} false; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
||||
$as_echo_n "checking for $2... " >&6; }
|
||||
if eval \${$3+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
fi
|
||||
eval ac_res=\$$3
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
else
|
||||
# Is the header compilable?
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
|
||||
$as_echo_n "checking $2 usability... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
$4
|
||||
#include <$2>
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_header_compiler=yes
|
||||
else
|
||||
ac_header_compiler=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
|
||||
$as_echo "$ac_header_compiler" >&6; }
|
||||
|
||||
# Is the header present?
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
|
||||
$as_echo_n "checking $2 presence... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <$2>
|
||||
_ACEOF
|
||||
if ac_fn_c_try_cpp "$LINENO"; then :
|
||||
ac_header_preproc=yes
|
||||
else
|
||||
ac_header_preproc=no
|
||||
fi
|
||||
rm -f conftest.err conftest.i conftest.$ac_ext
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
|
||||
$as_echo "$ac_header_preproc" >&6; }
|
||||
|
||||
# So? What about this header?
|
||||
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
|
||||
yes:no: )
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
|
||||
$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
|
||||
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
|
||||
;;
|
||||
no:yes:* )
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
|
||||
$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
|
||||
$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
|
||||
$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
|
||||
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
|
||||
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
|
||||
;;
|
||||
esac
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
||||
$as_echo_n "checking for $2... " >&6; }
|
||||
if eval \${$3+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
eval "$3=\$ac_header_compiler"
|
||||
fi
|
||||
eval ac_res=\$$3
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
fi
|
||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
|
||||
} # ac_fn_c_check_header_mongrel
|
||||
|
||||
# ac_fn_c_try_run LINENO
|
||||
# ----------------------
|
||||
# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
|
||||
# that executables *can* be run.
|
||||
ac_fn_c_try_run ()
|
||||
{
|
||||
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
if { { ac_try="$ac_link"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo"; } >&5
|
||||
(eval "$ac_link") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
|
||||
{ { case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo"; } >&5
|
||||
(eval "$ac_try") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }; then :
|
||||
ac_retval=0
|
||||
else
|
||||
$as_echo "$as_me: program exited with status $ac_status" >&5
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_retval=$ac_status
|
||||
fi
|
||||
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
|
||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_try_run
|
||||
|
||||
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
|
||||
# -------------------------------------------------------
|
||||
# Tests whether HEADER exists and can be compiled using the include files in
|
||||
|
@ -372,267 +153,8 @@ $as_echo "$ac_res" >&6; }
|
|||
# Local configure fragment for sysdeps/i386.
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
|
||||
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
|
||||
if ${ac_cv_path_GREP+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -z "$GREP"; then
|
||||
ac_path_GREP_found=false
|
||||
# Loop through the user's path and test for each of PROGNAME-LIST
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_prog in grep ggrep; do
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
|
||||
{ test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
|
||||
# Check for GNU ac_path_GREP and select it if it is found.
|
||||
# Check for GNU $ac_path_GREP
|
||||
case `"$ac_path_GREP" --version 2>&1` in
|
||||
*GNU*)
|
||||
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
|
||||
*)
|
||||
ac_count=0
|
||||
$as_echo_n 0123456789 >"conftest.in"
|
||||
while :
|
||||
do
|
||||
cat "conftest.in" "conftest.in" >"conftest.tmp"
|
||||
mv "conftest.tmp" "conftest.in"
|
||||
cp "conftest.in" "conftest.nl"
|
||||
$as_echo 'GREP' >> "conftest.nl"
|
||||
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
|
||||
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
|
||||
as_fn_arith $ac_count + 1 && ac_count=$as_val
|
||||
if test $ac_count -gt ${ac_path_GREP_max-0}; then
|
||||
# Best one so far, save it but keep looking for a better one
|
||||
ac_cv_path_GREP="$ac_path_GREP"
|
||||
ac_path_GREP_max=$ac_count
|
||||
fi
|
||||
# 10*(2^10) chars as input seems more than enough
|
||||
test $ac_count -gt 10 && break
|
||||
done
|
||||
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
|
||||
esac
|
||||
|
||||
$ac_path_GREP_found && break 3
|
||||
done
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
if test -z "$ac_cv_path_GREP"; then
|
||||
as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
|
||||
fi
|
||||
else
|
||||
ac_cv_path_GREP=$GREP
|
||||
fi
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
|
||||
$as_echo "$ac_cv_path_GREP" >&6; }
|
||||
GREP="$ac_cv_path_GREP"
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
|
||||
$as_echo_n "checking for egrep... " >&6; }
|
||||
if ${ac_cv_path_EGREP+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
|
||||
then ac_cv_path_EGREP="$GREP -E"
|
||||
else
|
||||
if test -z "$EGREP"; then
|
||||
ac_path_EGREP_found=false
|
||||
# Loop through the user's path and test for each of PROGNAME-LIST
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_prog in egrep; do
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
|
||||
{ test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
|
||||
# Check for GNU ac_path_EGREP and select it if it is found.
|
||||
# Check for GNU $ac_path_EGREP
|
||||
case `"$ac_path_EGREP" --version 2>&1` in
|
||||
*GNU*)
|
||||
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
|
||||
*)
|
||||
ac_count=0
|
||||
$as_echo_n 0123456789 >"conftest.in"
|
||||
while :
|
||||
do
|
||||
cat "conftest.in" "conftest.in" >"conftest.tmp"
|
||||
mv "conftest.tmp" "conftest.in"
|
||||
cp "conftest.in" "conftest.nl"
|
||||
$as_echo 'EGREP' >> "conftest.nl"
|
||||
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
|
||||
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
|
||||
as_fn_arith $ac_count + 1 && ac_count=$as_val
|
||||
if test $ac_count -gt ${ac_path_EGREP_max-0}; then
|
||||
# Best one so far, save it but keep looking for a better one
|
||||
ac_cv_path_EGREP="$ac_path_EGREP"
|
||||
ac_path_EGREP_max=$ac_count
|
||||
fi
|
||||
# 10*(2^10) chars as input seems more than enough
|
||||
test $ac_count -gt 10 && break
|
||||
done
|
||||
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
|
||||
esac
|
||||
|
||||
$ac_path_EGREP_found && break 3
|
||||
done
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
if test -z "$ac_cv_path_EGREP"; then
|
||||
as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
|
||||
fi
|
||||
else
|
||||
ac_cv_path_EGREP=$EGREP
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
|
||||
$as_echo "$ac_cv_path_EGREP" >&6; }
|
||||
EGREP="$ac_cv_path_EGREP"
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
|
||||
$as_echo_n "checking for ANSI C header files... " >&6; }
|
||||
if ${ac_cv_header_stdc+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <float.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_cv_header_stdc=yes
|
||||
else
|
||||
ac_cv_header_stdc=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <string.h>
|
||||
|
||||
_ACEOF
|
||||
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
$EGREP "memchr" >/dev/null 2>&1; then :
|
||||
|
||||
else
|
||||
ac_cv_header_stdc=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
fi
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <stdlib.h>
|
||||
|
||||
_ACEOF
|
||||
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
$EGREP "free" >/dev/null 2>&1; then :
|
||||
|
||||
else
|
||||
ac_cv_header_stdc=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
fi
|
||||
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
|
||||
if test "$cross_compiling" = yes; then :
|
||||
:
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
#if ((' ' & 0x0FF) == 0x020)
|
||||
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
||||
#else
|
||||
# define ISLOWER(c) \
|
||||
(('a' <= (c) && (c) <= 'i') \
|
||||
|| ('j' <= (c) && (c) <= 'r') \
|
||||
|| ('s' <= (c) && (c) <= 'z'))
|
||||
# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
|
||||
#endif
|
||||
|
||||
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
|
||||
int
|
||||
main ()
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 256; i++)
|
||||
if (XOR (islower (i), ISLOWER (i))
|
||||
|| toupper (i) != TOUPPER (i))
|
||||
return 2;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_run "$LINENO"; then :
|
||||
|
||||
else
|
||||
ac_cv_header_stdc=no
|
||||
fi
|
||||
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
|
||||
$as_echo "$ac_cv_header_stdc" >&6; }
|
||||
if test $ac_cv_header_stdc = yes; then
|
||||
|
||||
$as_echo "#define STDC_HEADERS 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
||||
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
|
||||
inttypes.h stdint.h unistd.h
|
||||
do :
|
||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
|
||||
ac_fn_c_check_header_compile "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "/* No default includes. */
|
||||
"
|
||||
if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "$ac_includes_default"
|
||||
if test "x$ac_cv_header_cpuid_h" = xyes; then :
|
||||
|
||||
else
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
||||
# Local configure fragment for sysdeps/i386.
|
||||
|
||||
AC_HEADER_CHECK([cpuid.h], ,
|
||||
[AC_MSG_ERROR([gcc must provide the <cpuid.h> header])])
|
||||
AC_CHECK_HEADER([cpuid.h], ,
|
||||
[AC_MSG_ERROR([gcc must provide the <cpuid.h> header])],
|
||||
[/* No default includes. */])
|
||||
|
||||
AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp,
|
||||
libc_cv_cpp_asm_debuginfo, [dnl
|
||||
|
|
|
@ -28,13 +28,147 @@ ildouble: 2
|
|||
ldouble: 1
|
||||
|
||||
# cacos
|
||||
Test "Imaginary part of: cacos (+0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i":
|
||||
double: 2
|
||||
idouble: 2
|
||||
Test "Imaginary part of: cacos (+0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: cacos (+0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (+0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (+0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (+0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: cacos (-0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i":
|
||||
double: 2
|
||||
idouble: 2
|
||||
Test "Imaginary part of: cacos (-0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: cacos (-0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (-0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (-0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (-0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: cacos (-1.5 + +0 i) == pi - 0.9624236501192068949955178268487368462704 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (-1.5 - 0 i) == pi + 0.9624236501192068949955178268487368462704 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: cacos (0.5 + +0 i) == 1.047197551196597746154214461093167628066 - 0 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: cacos (0.5 - 0 i) == 1.047197551196597746154214461093167628066 + +0 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Imaginary part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: cacos (1.5 + +0 i) == +0 - 0.9624236501192068949955178268487368462704 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (1.5 - 0 i) == +0 + 0.9624236501192068949955178268487368462704 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
|
||||
# cacosh
|
||||
Test "Real part of: cacosh (+0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (+0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (+0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Real part of: cacosh (+0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (+0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (+0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Real part of: cacosh (-0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Real part of: cacosh (-0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: cacosh (-0.5 + +0 i) == +0 + 2.094395102393195492308428922186335256131 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: cacosh (-0.5 - 0 i) == +0 - 2.094395102393195492308428922186335256131 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Real part of: cacosh (-1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + pi i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - pi i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
|
||||
double: 1
|
||||
float: 9
|
||||
|
@ -52,8 +186,74 @@ ldouble: 1
|
|||
Test "Real part of: cacosh (0.75 + 1.25 i) == 1.13239363160530819522266333696834467 + 1.11752014915610270578240049553777969 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: cacosh (1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + +0 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - 0 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
||||
# casin
|
||||
Test "Imaginary part of: casin (+0 + 0.5 i) == +0 + 0.4812118250596034474977589134243684231352 i":
|
||||
double: 2
|
||||
idouble: 2
|
||||
Test "Imaginary part of: casin (+0 + 1.0 i) == +0 + 0.8813735870195430252326093249797923090282 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: casin (+0 + 1.5 i) == +0 + 1.194763217287109304111930828519090523536 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (+0 - 0.5 i) == +0 - 0.4812118250596034474977589134243684231352 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (+0 - 1.0 i) == +0 - 0.8813735870195430252326093249797923090282 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (+0 - 1.5 i) == +0 - 1.194763217287109304111930828519090523536 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: casin (-0 + 0.5 i) == -0 + 0.4812118250596034474977589134243684231352 i":
|
||||
double: 2
|
||||
idouble: 2
|
||||
Test "Imaginary part of: casin (-0 + 1.0 i) == -0 + 0.8813735870195430252326093249797923090282 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: casin (-0 + 1.5 i) == -0 + 1.194763217287109304111930828519090523536 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (-0 - 0.5 i) == -0 - 0.4812118250596034474977589134243684231352 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (-0 - 1.0 i) == -0 - 0.8813735870195430252326093249797923090282 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (-0 - 1.5 i) == -0 - 1.194763217287109304111930828519090523536 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: casin (-1.5 + +0 i) == -pi/2 + 0.9624236501192068949955178268487368462704 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (-1.5 - 0 i) == -pi/2 - 0.9624236501192068949955178268487368462704 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
|
||||
double: 1
|
||||
float: 1
|
||||
|
@ -66,8 +266,62 @@ float: 1
|
|||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: casin (1.5 + +0 i) == pi/2 + 0.9624236501192068949955178268487368462704 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (1.5 - 0 i) == pi/2 - 0.9624236501192068949955178268487368462704 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
|
||||
# casinh
|
||||
Test "Real part of: casinh (+0 + 1.5 i) == 0.9624236501192068949955178268487368462704 + pi/2 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: casinh (+0 - 1.5 i) == 0.9624236501192068949955178268487368462704 - pi/2 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: casinh (-0 + 1.5 i) == -0.9624236501192068949955178268487368462704 + pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (-0 - 1.5 i) == -0.9624236501192068949955178268487368462704 - pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (-0.5 + +0 i) == -0.4812118250596034474977589134243684231352 + +0 i":
|
||||
double: 2
|
||||
idouble: 2
|
||||
Test "Real part of: casinh (-0.5 - 0 i) == -0.4812118250596034474977589134243684231352 - 0 i":
|
||||
double: 2
|
||||
idouble: 2
|
||||
Test "Real part of: casinh (-1.0 + +0 i) == -0.8813735870195430252326093249797923090282 + +0 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Real part of: casinh (-1.0 - 0 i) == -0.8813735870195430252326093249797923090282 - 0 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Real part of: casinh (-1.5 + +0 i) == -1.194763217287109304111930828519090523536 + +0 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (-1.5 - 0 i) == -1.194763217287109304111930828519090523536 - 0 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
|
||||
double: 5
|
||||
float: 1
|
||||
|
@ -82,6 +336,12 @@ idouble: 3
|
|||
ifloat: 6
|
||||
ildouble: 5
|
||||
ldouble: 5
|
||||
Test "Real part of: casinh (0.5 + +0 i) == 0.4812118250596034474977589134243684231352 + +0 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (0.5 - 0 i) == 0.4812118250596034474977589134243684231352 - 0 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
@ -92,6 +352,22 @@ idouble: 1
|
|||
ifloat: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: casinh (1.0 + +0 i) == 0.8813735870195430252326093249797923090282 + +0 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (1.0 - 0 i) == 0.8813735870195430252326093249797923090282 - 0 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (1.5 + +0 i) == 1.194763217287109304111930828519090523536 + +0 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Real part of: casinh (1.5 - 0 i) == 1.194763217287109304111930828519090523536 - 0 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
|
||||
# catan
|
||||
Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
|
||||
|
@ -1544,8 +1820,16 @@ Function: "atanh":
|
|||
ildouble: 2
|
||||
ldouble: 1
|
||||
|
||||
Function: Real part of "cacos":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
|
||||
Function: Imaginary part of "cacos":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
|
@ -1575,7 +1859,9 @@ ildouble: 2
|
|||
ldouble: 2
|
||||
|
||||
Function: Imaginary part of "casin":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
|
|
|
@ -41,13 +41,151 @@ ildouble: 1
|
|||
ldouble: 1
|
||||
|
||||
# cacos
|
||||
Test "Imaginary part of: cacos (+0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (+0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: cacos (+0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (+0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (+0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (+0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: cacos (-0 + 0.5 i) == pi/2 - 0.4812118250596034474977589134243684231352 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (-0 + 1.0 i) == pi/2 - 0.8813735870195430252326093249797923090282 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: cacos (-0 + 1.5 i) == pi/2 - 1.194763217287109304111930828519090523536 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (-0 - 0.5 i) == pi/2 + 0.4812118250596034474977589134243684231352 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (-0 - 1.0 i) == pi/2 + 0.8813735870195430252326093249797923090282 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (-0 - 1.5 i) == pi/2 + 1.194763217287109304111930828519090523536 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: cacos (-1.5 + +0 i) == pi - 0.9624236501192068949955178268487368462704 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (-1.5 - 0 i) == pi + 0.9624236501192068949955178268487368462704 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: cacos (0.5 + +0 i) == 1.047197551196597746154214461093167628066 - 0 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: cacos (0.5 - 0 i) == 1.047197551196597746154214461093167628066 + +0 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Imaginary part of: cacos (0.75 + 1.25 i) == 1.11752014915610270578240049553777969 - 1.13239363160530819522266333696834467 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: cacos (1.5 + +0 i) == +0 - 0.9624236501192068949955178268487368462704 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: cacos (1.5 - 0 i) == +0 + 0.9624236501192068949955178268487368462704 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
|
||||
# cacosh
|
||||
Test "Real part of: cacosh (+0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (+0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (+0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Real part of: cacosh (+0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (+0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (+0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Real part of: cacosh (-0 + 0.5 i) == 0.4812118250596034474977589134243684231352 + pi/2 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-0 + 1.0 i) == 0.8813735870195430252326093249797923090282 + pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-0 + 1.5 i) == 1.194763217287109304111930828519090523536 + pi/2 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Real part of: cacosh (-0 - 0.5 i) == 0.4812118250596034474977589134243684231352 - pi/2 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-0 - 1.0 i) == 0.8813735870195430252326093249797923090282 - pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-0 - 1.5 i) == 1.194763217287109304111930828519090523536 - pi/2 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: cacosh (-0.5 + +0 i) == +0 + 2.094395102393195492308428922186335256131 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: cacosh (-0.5 - 0 i) == +0 - 2.094395102393195492308428922186335256131 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Real part of: cacosh (-1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + pi i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - pi i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
|
||||
double: 1
|
||||
float: 7
|
||||
|
@ -65,8 +203,78 @@ ldouble: 1
|
|||
Test "Real part of: cacosh (0.75 + 1.25 i) == 1.13239363160530819522266333696834467 + 1.11752014915610270578240049553777969 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: cacosh (1.5 + +0 i) == 0.9624236501192068949955178268487368462704 + +0 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: cacosh (1.5 - 0 i) == 0.9624236501192068949955178268487368462704 - 0 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
||||
# casin
|
||||
Test "Imaginary part of: casin (+0 + 0.5 i) == +0 + 0.4812118250596034474977589134243684231352 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (+0 + 1.0 i) == +0 + 0.8813735870195430252326093249797923090282 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: casin (+0 + 1.5 i) == +0 + 1.194763217287109304111930828519090523536 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (+0 - 0.5 i) == +0 - 0.4812118250596034474977589134243684231352 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (+0 - 1.0 i) == +0 - 0.8813735870195430252326093249797923090282 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (+0 - 1.5 i) == +0 - 1.194763217287109304111930828519090523536 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: casin (-0 + 0.5 i) == -0 + 0.4812118250596034474977589134243684231352 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (-0 + 1.0 i) == -0 + 0.8813735870195430252326093249797923090282 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: casin (-0 + 1.5 i) == -0 + 1.194763217287109304111930828519090523536 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (-0 - 0.5 i) == -0 - 0.4812118250596034474977589134243684231352 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (-0 - 1.0 i) == -0 - 0.8813735870195430252326093249797923090282 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (-0 - 1.5 i) == -0 - 1.194763217287109304111930828519090523536 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Imaginary part of: casin (-1.5 + +0 i) == -pi/2 + 0.9624236501192068949955178268487368462704 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (-1.5 - 0 i) == -pi/2 - 0.9624236501192068949955178268487368462704 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
|
||||
double: 1
|
||||
float: 1
|
||||
|
@ -79,8 +287,66 @@ float: 1
|
|||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Imaginary part of: casin (1.5 + +0 i) == pi/2 + 0.9624236501192068949955178268487368462704 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Imaginary part of: casin (1.5 - 0 i) == pi/2 - 0.9624236501192068949955178268487368462704 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
|
||||
# casinh
|
||||
Test "Real part of: casinh (+0 + 1.5 i) == 0.9624236501192068949955178268487368462704 + pi/2 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: casinh (+0 - 1.5 i) == 0.9624236501192068949955178268487368462704 - pi/2 i":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: casinh (-0 + 1.5 i) == -0.9624236501192068949955178268487368462704 + pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (-0 - 1.5 i) == -0.9624236501192068949955178268487368462704 - pi/2 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (-0.5 + +0 i) == -0.4812118250596034474977589134243684231352 + +0 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (-0.5 - 0 i) == -0.4812118250596034474977589134243684231352 - 0 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (-1.0 + +0 i) == -0.8813735870195430252326093249797923090282 + +0 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Real part of: casinh (-1.0 - 0 i) == -0.8813735870195430252326093249797923090282 - 0 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
Test "Real part of: casinh (-1.5 + +0 i) == -1.194763217287109304111930828519090523536 + +0 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (-1.5 - 0 i) == -1.194763217287109304111930828519090523536 - 0 i":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
|
||||
double: 5
|
||||
float: 1
|
||||
|
@ -95,6 +361,12 @@ idouble: 3
|
|||
ifloat: 6
|
||||
ildouble: 5
|
||||
ldouble: 5
|
||||
Test "Real part of: casinh (0.5 + +0 i) == 0.4812118250596034474977589134243684231352 + +0 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (0.5 - 0 i) == 0.4812118250596034474977589134243684231352 - 0 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
@ -105,6 +377,22 @@ idouble: 1
|
|||
ifloat: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "Real part of: casinh (1.0 + +0 i) == 0.8813735870195430252326093249797923090282 + +0 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (1.0 - 0 i) == 0.8813735870195430252326093249797923090282 - 0 i":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "Real part of: casinh (1.5 + +0 i) == 1.194763217287109304111930828519090523536 + +0 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "Real part of: casinh (1.5 - 0 i) == 1.194763217287109304111930828519090523536 - 0 i":
|
||||
double: 1
|
||||
idouble: 1
|
||||
|
||||
# catan
|
||||
Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
|
||||
|
@ -1498,8 +1786,16 @@ ifloat: 1
|
|||
ildouble: 1
|
||||
ldouble: 1
|
||||
|
||||
Function: Real part of "cacos":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
|
||||
Function: Imaginary part of "cacos":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
|
@ -1529,7 +1825,9 @@ ildouble: 2
|
|||
ldouble: 2
|
||||
|
||||
Function: Imaginary part of "casin":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
|
|
Loading…
Reference in New Issue