]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/sincos.3
dlopen.3: tfix
[thirdparty/man-pages.git] / man3 / sincos.3
index 8ced05756ecca6b6b393f72ef089c03f15c981f3..74fb4603fac5357f177c0d4f9dc48748929c547a 100644 (file)
@@ -1,32 +1,37 @@
 .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
-.\" Distributed under GPL, 2002-07-27 Walter Harms
 .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
 .\"     <mtk.manpages@gmail.com>
 .\"
-.TH SINCOS 3  2008-08-11 "GNU" "Linux Programmer's Manual"
+.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
+.\" Distributed under GPL
+.\" %%%LICENSE_END
+.\"
+.TH SINCOS 3  2017-09-15 "GNU" "Linux Programmer's Manual"
 .SH NAME
 sincos, sincosf, sincosl \- calculate sin and cos simultaneously
 .SH SYNOPSIS
 .nf
 .BR "#define _GNU_SOURCE" "         /* See feature_test_macros(7) */"
 .B #include <math.h>
-.sp
+.PP
 .BI "void sincos(double " x ", double *" sin ", double *" cos );
-.br
 .BI "void sincosf(float " x ", float *" sin ", float *" cos );
-.br
 .BI "void sincosl(long double " x ", long double *" sin ", long double *" cos );
 .fi
-.sp
+.PP
 Link with \fI\-lm\fP.
 .SH DESCRIPTION
 Several applications need sine and cosine of the same angle
 .IR x .
-This function computes both at the same time, and stores the results in
+These functions compute both at the same time, and store the results in
 .I *sin
 and
 .IR *cos .
-
+Using this function can be more efficient than two separate calls to
+.BR sin (3)
+and
+.BR cos (3).
+.PP
 If
 .I x
 is a NaN,
@@ -34,7 +39,7 @@ a NaN is returned in
 .I *sin
 and
 .IR *cos .
-
+.PP
 If
 .I x
 is positive infinity or negative infinity,
@@ -55,24 +60,51 @@ when calling these functions.
 The following errors can occur:
 .TP
 Domain error: \fIx\fP is an infinity
-.\" .I errno
-.\" is set to
-.\" .BR EDOM .
+.I errno
+is set to
+.BR EDOM
+(but see BUGS).
 An invalid floating-point exception
 .RB ( FE_INVALID )
 is raised.
-.PP
-These functions do not set
-.IR errno .
-.\" FIXME . Is it intentional that these functions do not set errno?
-.\" sin() and cos() also don't set errno; bugs have been raised for
-.\" those functions.
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
-.SH "CONFORMING TO"
-This function is a GNU extension.
-.SH "SEE ALSO"
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbw30 lb lb
+l l l.
+Interface      Attribute       Value
+T{
+.BR sincos (),
+.BR sincosf (),
+.BR sincosl ()
+T}     Thread safety   MT-Safe
+.TE
+.SH CONFORMING TO
+These functions are GNU extensions.
+.SH NOTES
+To see the performance advantage of
+.BR sincos (),
+it may be necessary to disable
+.BR gcc (1)
+built-in optimizations, using flags such as:
+.PP
+.in +4n
+.EX
+cc -O \-lm \-fno\-builtin prog.c
+.EE
+.in
+.SH BUGS
+Before version 2.22, the glibc implementation did not set
+.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=15467
+.I errno
+to
+.B EDOM
+when a domain error occurred.
+.SH SEE ALSO
 .BR cos (3),
 .BR sin (3),
-.BR tan (3),
-.BR feature_test_macros (7)
+.BR tan (3)