sincos, sincosf, sincosl - Calculer simultanément des sinus et cosinus
Bibliothèque de math (
libm,
-lm)
#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);
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.
Ces fonctions renvoient (
void).
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.
Ces fonctions ont été ajoutées dans la glibc 2.1.
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 |
Ces fonctions sont des extensions GNU.
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
Avant la glibc 2.22, l'implémentation de la glibc ne positionne
pas
errno à
EDOM quand une erreur de domaine se produit.
cos(3),
sin(3),
tan(3)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]>,
Cédric Boutillier <
[email protected]> et Jean-Philippe
MENGUAL <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 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 à
[email protected]