sincos(3)

NOM
sincos, sincosf, sincosl - Calculer simultanément des sinus et cosinus

BIBLIOTHÈQUE
Bibliothèque de math (libm, -lm)

SYNOPSIS
#define _GNU_SOURCE         /* Consultez 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);

DESCRIPTION
De nombreuses applications ont besoin de calculer le sinus et le cosinus du même angle x. Ces fonctions calculent les deux en même temps et stockent les résultats dans *sin et *cos. L'utilisation de cette fonction peut s'avérer plus efficace que deux appels séparés à sin(3) et cos(3).

Si x est un NaN, un NaN est renvoyé dans *sin et *cos.

Si x est une valeur infinie positive ou négative, une erreur de domaine se produit et un NaN est renvoyé dans *sin et *cos.

VALEUR RENVOYÉE
Ces fonctions renvoient (void).

ERREURS
Voir math_error(7) pour savoir comment déterminer si une erreur s'est produite lors de l'appel d'une de ces fonctions.

Les erreurs suivantes peuvent se produire :

Erreur de domaine : x est une valeur infinie
    errno prend la valeur EDOM (mais consultez la section BOGUES). Une exception indiquant une virgule flottante incorrecte (FE_INVALID) est levée.

VERSIONS
Ces fonctions ont été ajoutées dans la glibc 2.1.

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
sincos(), sincosf(), sincosl() | Sécurité des threads | MT-Safe

STANDARDS
Ces fonctions sont des extensions GNU.

NOTES
Pour observer l'avantage de performance de sincos(), il est peut-être nécessaire de désactiver les optimisations intégrées à gcc(1), en utilisant des options telles que :

    cc -O -lm -fno-builtin prog.c

BOGUES
Avant la glibc 2.22, l'implémentation de la glibc ne positionne pas errno à EDOM quand une erreur de domaine se produit.

VOIR AUSSI
cos(3), sin(3), tan(3)

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com> et Jean-Philippe MENGUAL <jpmengual@debian.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.