File: sincos.3

package info (click to toggle)
manpages 6.16-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 20,476 kB
  • sloc: sh: 576; python: 222; perl: 191; makefile: 29; lisp: 22
file content (110 lines) | stat: -rw-r--r-- 2,164 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
'\" t
.\" Copyright, the authors of the Linux man-pages project
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
.TH sincos 3 2025-05-17 "Linux man-pages (unreleased)"
.SH NAME
sincos, sincosf, sincosl \- calculate sin and cos simultaneously
.SH LIBRARY
Math library
.RI ( libm ,\~ \-lm )
.SH SYNOPSIS
.nf
.BR "#define _GNU_SOURCE" "         /* See feature_test_macros(7) */"
.B #include <math.h>
.P
.BI "void sincos(double " x ", double *" sin ", double *" cos );
.BI "void sincosf(float " x ", float *" sin ", float *" cos );
.BI "void sincosl(long double " x ", long double *" sin ", long double *" cos );
.fi
.SH DESCRIPTION
Several applications need sine and cosine of the same angle
.IR x .
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).
.P
If
.I x
is a NaN,
a NaN is returned in
.I *sin
and
.IR *cos .
.P
If
.I x
is positive infinity or negative infinity,
a domain error occurs, and
a NaN is returned in
.I *sin
and
.IR *cos .
.SH RETURN VALUE
These functions return
.IR void .
.SH ERRORS
See
.BR math_error (7)
for information on how to determine whether an error has occurred
when calling these functions.
.P
The following errors can occur:
.TP
Domain error: \f[I]x\f[] is an infinity
.I errno
is set to
.B EDOM
(but see BUGS).
An invalid floating-point exception
.RB ( FE_INVALID )
is raised.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.na
.nh
.BR sincos (),
.BR sincosf (),
.BR sincosl ()
T}	Thread safety	MT-Safe
.TE
.SH STANDARDS
GNU.
.SH HISTORY
glibc 2.1.
.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:
.P
.in +4n
.EX
cc \-O \-lm \-fno\-builtin prog.c
.EE
.in
.SH BUGS
Before glibc 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)