sin, sinf, sinl
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Défini dans l'en-tête
<math.h>
|
||
|
float
sinf
(
float
arg
)
;
|
(1) | (depuis C99) |
|
double
sin
(
double
arg
)
;
|
(2) | |
|
long
double
sinl
(
long
double
arg
)
;
|
(3) | (depuis C99) |
|
_Decimal32 sind32
(
_Decimal32 arg
)
;
|
(4) | (depuis C23) |
|
_Decimal64 sind64
(
_Decimal64 arg
)
;
|
(5) | (depuis C23) |
|
_Decimal128 sind128
(
_Decimal128 arg
)
;
|
(6) | (depuis C23) |
|
Défini dans l'en-tête
<tgmath.h>
|
||
|
#define sin( arg )
|
(7) | (depuis C99) |
sinl
) est appelé. Sinon, si l'argument a un type entier ou le type
double
,
(2)
(
sin
) est appelé. Sinon,
(1)
(
sinf
) est appelé. Si l'argument est complexe, alors la macro appelle la fonction complexe correspondante (
csinl
,
csin
,
csinf
).
|
Les fonctions
(4-6)
sont déclarées si et seulement si l'implémentation prédéfinit
|
(depuis C23) |
Table des matières |
Paramètres
| arg | - | valeur en virgule flottante représentant un angle en radians |
Valeur de retour
Si aucune erreur ne se produit, le sinus de arg ( sin(arg) ) dans l'intervalle [-1 ; +1] , est retourné.
|
Le résultat peut avoir peu ou pas de signification si l'amplitude de arg est grande. |
(until C99) |
Si une erreur de domaine se produit, une valeur définie par l'implémentation est retournée (NaN là où supporté).
Si une erreur de plage se produit en raison d'un dépassement inférieur, le résultat correct (après arrondi) est retourné.
Gestion des erreurs
Les erreurs sont signalées comme spécifié dans
math_errhandling
.
Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE (IEC 60559) :
- si l'argument est ±0, il est retourné inchangé ;
- si l'argument est ±∞, NaN est retourné et FE_INVALID est déclenché ;
- si l'argument est NaN, NaN est retourné.
Notes
Le cas où l'argument est infini n'est pas spécifié comme une erreur de domaine en C, mais il est défini comme une erreur de domaine dans POSIX .
POSIX spécifie également qu'en cas de dépassement inférieur, arg est retourné inchangé, et si cela n'est pas pris en charge, une valeur définie par l'implémentation non supérieure à DBL_MIN , FLT_MIN , et LDBL_MIN est retournée.
Exemple
#include <errno.h> #include <fenv.h> #include <math.h> #include <stdio.h> #ifndef __GNUC__ #pragma STDC FENV_ACCESS ON #endif int main(void) { const double pi = acos(-1); // utilisation typique printf("sin(pi/6) = %f\n", sin(pi / 6)); printf("sin(pi/2) = %f\n", sin(pi / 2)); printf("sin(-3*pi/4) = %f\n", sin(-3 * pi / 4)); // valeurs spéciales printf("sin(+0) = %f\n", sin(0.0)); printf("sin(-0) = %f\n", sin(-0.0)); // gestion des erreurs feclearexcept(FE_ALL_EXCEPT); printf("sin(INFINITY) = %f\n", sin(INFINITY)); if (fetestexcept(FE_INVALID)) puts(" FE_INVALID raised"); }
Sortie possible :
sin(pi/6) = 0.500000
sin(pi/2) = 1.000000
sin(-3*pi/4) = -0.707107
sin(+0) = 0.000000
sin(-0) = -0.000000
sin(INFINITY) = -nan
FE_INVALID raised
Références
- Norme C23 (ISO/CEI 9899:2024) :
-
- 7.12.4.6 Les fonctions sin (p: TBD)
-
- 7.27 Mathématiques génériques de type <tgmath.h> (p: TBD)
-
- F.10.1.6 Les fonctions sin (p: TBD)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.12.4.6 Les fonctions sin (p: 175)
-
- 7.25 Mathématiques génériques de type <tgmath.h> (p: 272-273)
-
- F.10.1.6 Les fonctions sin (p: 378)
- Norme C11 (ISO/CEI 9899:2011) :
-
- 7.12.4.6 Les fonctions sin (p: 239-240)
-
- 7.25 Mathématiques génériques de type <tgmath.h> (p: 373-375)
-
- F.10.1.6 Les fonctions sin (p: 519)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.12.4.6 Les fonctions sin (p. 220)
-
- 7.22 Mathématiques génériques de type <tgmath.h> (p. 335-337)
-
- F.9.1.6 Les fonctions sin (p. 456)
- Norme C89/C90 (ISO/IEC 9899:1990) :
-
- 4.5.2.6 La fonction sin
Voir aussi
|
(C99)
(C99)
|
calcule le cosinus (
\({\small\cos{x} }\)
cos(x)
)
(fonction) |
|
(C99)
(C99)
|
calcule la tangente (
\({\small\tan{x} }\)
tan(x)
)
(fonction) |
|
(C99)
(C99)
|
calcule l'arc sinus (
\({\small\arcsin{x} }\)
arcsin(x)
)
(fonction) |
|
(C99)
(C99)
(C99)
|
calcule le sinus complexe
(fonction) |
|
Documentation C++
pour
sin
|
|