]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/sincos.3
dlopen.3: tfix
[thirdparty/man-pages.git] / man3 / sincos.3
index ffcbda90026ec61733a3a860d0408ba1d2b08761..74fb4603fac5357f177c0d4f9dc48748929c547a 100644 (file)
@@ -6,30 +6,32 @@
 .\" Distributed under GPL
 .\" %%%LICENSE_END
 .\"
-.TH SINCOS 3  2013-12-23 "GNU" "Linux Programmer's Manual"
+.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,
@@ -37,7 +39,7 @@ a NaN is returned in
 .I *sin
 and
 .IR *cos .
-
+.PP
 If
 .I x
 is positive infinity or negative infinity,
@@ -58,19 +60,13 @@ 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.
-.\" See https://www.sourceware.org/bugzilla/show_bug.cgi?id=15467
 .SH VERSIONS
 These functions first appeared in glibc in version 2.1.
 .SH ATTRIBUTES
@@ -88,7 +84,26 @@ T{
 T}     Thread safety   MT-Safe
 .TE
 .SH CONFORMING TO
-This function is a GNU extension.
+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),