### 3. Library calls (functions within program libraries)

# SINCOS

Section: Linux Programmer's Manual (3)Updated: 2017-09-15

Index | Return to Main Contents

## NAME

sincos, sincosf, sincosl - calculate sin and cos simultaneously## SYNOPSIS

#define _GNU_SOURCE/* See feature_test_macros(7) */#include <math.h>void sincos(doublex, double *sin, double *cos);void sincosf(floatx, float *sin, float *cos);void sincosl(long doublex, long double *sin, long double *cos);

## DESCRIPTION

Several applications need sine and cosine of the same angle*x*. These functions compute both at the same time, and store the results in

**sin*and

**cos*. Using this function can be more efficient than two separate calls to

**sin**(3) and

**cos**(3).

If
*x*
is a NaN,
a NaN is returned in
**sin*
and
**cos*.

If
*x*
is positive infinity or negative infinity,
a domain error occurs, and
a NaN is returned in
**sin*
and
**cos*.

## RETURN VALUE

These functions return*void*.

## ERRORS

See**math_error**(7) for information on how to determine whether an error has occurred when calling these functions.

The following errors can occur:

- Domain error:
*x*is an infinity -
An invalid floating-point exception
(
**FE_INVALID**) is raised.

These functions do not set
*errno*.

## VERSIONS

These functions first appeared in glibc in version 2.1.## ATTRIBUTES

For an explanation of the terms used in this section, see**attributes**(7).

Interface | Attribute | Value |

sincos(),
sincosf(),
sincosl()
| Thread safety | MT-Safe |

## CONFORMING TO

These functions are GNU extensions.## NOTES

To see the performance advantage of**sincos**(), it may be necessary to disable

**gcc**(1) builtin optimizations, using flags such as:

## SEE ALSO

**cos**(3),

**sin**(3),

**tan**(3)

## COLOPHON

This page is part of release 4.15 of the Linux*man-pages*project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

## Index

- NAME
- SYNOPSIS
- DESCRIPTION
- RETURN VALUE
- ERRORS
- VERSIONS
- ATTRIBUTES
- CONFORMING TO
- NOTES
- SEE ALSO
- COLOPHON

Return to Main Contents

Close