---
name: "sincosf"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/sincos"
---

# sincosf(3)

sine and cosine functions

Part of [sincos(3)](/sincos/3.md).

## NAME

**sincos**, **sincosf**, **sincosl** – sine and cosine functions

## LIBRARY

Math Library (libm, -lm)

## SYNOPSIS

**#include \<math.h\>**

*void*\

**sincos**(*double x*, *double \*s*, *double \*c*);

*void*\

**sincosf**(*float x*, *float \*s*, *float \*c*);

*void*\

**sincosl**(*long double x*, *long double \*s*, *long double \*c*);

## DESCRIPTION

The **sincos**(), **sincosf**(), and **sincosl**() functions compute the sine and cosine of *x*. Using these functions allows argument reduction to occur only once instead of twice with individual invocations of **sin**() and **cos**(). Like **sin**() and **cos**(), a large magnitude argument may yield a result with little or no significance.

## RETURN VALUES

Upon returning from **sincos**(), **sincosf**(), and **sincosl**(), the memory pointed to by *\*s* and *\*c* are assigned the values of sine and cosine, respectively.

## SEE ALSO

[cos(3)](/cos/3.md), [sin(3)](/sin/3.md)

## HISTORY

These functions were added to FreeBSD 11.2 to aid in writing various complex function contained in ISO/IEC 9899:1999 (“ISO C99”).
