mirror of https://github.com/mkerrisk/man-pages
72 lines
1.6 KiB
Groff
72 lines
1.6 KiB
Groff
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
|
|
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
|
|
.\" <mtk.manpages@gmail.com>
|
|
.\"
|
|
.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
|
|
.\" Distributed under GPL
|
|
.\" %%%LICENSE_END
|
|
.\"
|
|
.\" Based on glibc infopages, copyright Free Software Foundation
|
|
.\"
|
|
.TH SIGNBIT 3 2013-07-04 "GNU" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
signbit \- test sign of a real floating-point number
|
|
.SH SYNOPSIS
|
|
.B "#include <math.h>"
|
|
.sp
|
|
.BI "int signbit(" x ");"
|
|
.sp
|
|
Link with \fI\-lm\fP.
|
|
.sp
|
|
.in -4n
|
|
Feature Test Macro Requirements for glibc (see
|
|
.BR feature_test_macros (7)):
|
|
.in
|
|
.sp
|
|
.ad l
|
|
.BR signbit ():
|
|
.RS 4
|
|
_XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
|
|
_POSIX_C_SOURCE\ >=\ 200112L;
|
|
.br
|
|
or
|
|
.I cc\ -std=c99
|
|
.RE
|
|
.ad
|
|
.SH DESCRIPTION
|
|
.BR signbit ()
|
|
is a generic macro which can work on all real floating-point types.
|
|
It returns a nonzero value if the value of
|
|
.I x
|
|
has its sign bit set.
|
|
.PP
|
|
This is not the same as
|
|
.IR "x < 0.0" ,
|
|
because IEEE 754 floating point allows zero to be signed.
|
|
The comparison
|
|
.IR "-0.0 < 0.0"
|
|
is false, but
|
|
.IR "signbit(\-0.0)"
|
|
will return a nonzero value.
|
|
|
|
NaNs and infinities have a sign bit.
|
|
.SH RETURN VALUE
|
|
The
|
|
.BR signbit ()
|
|
macro returns nonzero if the sign of
|
|
.I x
|
|
is negative; otherwise it returns zero.
|
|
.SH ERRORS
|
|
No errors occur.
|
|
.SH ATTRIBUTES
|
|
.SS Multithreading (see pthreads(7))
|
|
The
|
|
.BR signbit ()
|
|
macro is thread-safe.
|
|
.SH CONFORMING TO
|
|
C99, POSIX.1-2001.
|
|
This function is defined in IEC 559 (and the appendix with
|
|
recommended functions in IEEE 754/IEEE 854).
|
|
.SH SEE ALSO
|
|
.BR copysign (3)
|