NAME

sincos, sincosf, sincosl – calculate sin and cos simultaneously  

SYNOPSIS

#define _GNU_SOURCE         /* See feature_test_macros(7) */
#include <math.h>

void sincos(double x, double *sin, double *cos);

void sincosf(float x, float *sin, float *cos);
void sincosl(long double x, long double *sin, long double *cos);

Link with -lm.  

DESCRIPTION

Several applications need sine and cosine of the same angle x. This function computes both at the same time, and stores the results in *sin and *cos.

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

 

Multithreading (see pthreads(7))

The sincos(), sincosf(), and sincosl() functions are thread-safe.  

CONFORMING TO

This function is a GNU extension.  

Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.