Namespaces
Variants

asin, asinf, asinl

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
Exponential functions
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators
Défini dans l'en-tête <math.h>
float asinf ( float arg ) ;
(1) (depuis C99)
double asin ( double arg ) ;
(2)
long double asinl ( long double arg ) ;
(3) (depuis C99)
_Decimal32  asind32 ( _Decimal32 arg ) ;
(4) (depuis C23)
_Decimal64  asind64 ( _Decimal64 arg ) ;
(5) (depuis C23)
_Decimal128 asind128 ( _Decimal128 arg ) ;
(6) (depuis C23)
Défini dans l'en-tête <tgmath.h>
#define asin( arg )
(7) (depuis C99)
1-6) Calcule les valeurs principales de l'arc sinus de arg .
7) Macro générique de type : Si l'argument a le type long double , (3) ( asinl ) est appelé. Sinon, si l'argument a un type entier ou le type double , (2) ( asin ) est appelé. Sinon, (1) ( asinf ) est appelé. Si l'argument est complexe, alors la macro appelle la fonction complexe correspondante ( casinf , casin , casinl ).

Les fonctions (4-6) sont déclarées si et seulement si l'implémentation prédéfinit __STDC_IEC_60559_DFP__ (c'est-à-dire que l'implémentation prend en charge les nombres à virgule flottante décimale).

(depuis C23)

Table des matières

Paramètres

arg - valeur en virgule flottante

Valeur de retour

If no errors occur, the arc sine of arg ( arcsin(arg) ) in the range [-
π
2
; +
π
2
]
, is returned.

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 .

Une erreur de domaine se produit si arg est en dehors de l'intervalle [-1.0; 1.0] .

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 |arg| > 1 , une erreur de domaine se produit et NaN est retourné ;
  • si l'argument est NaN, NaN est retourné.

Exemple

#include <errno.h>
#include <fenv.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#ifndef __GNUC__
#pragma STDC FENV_ACCESS ON
#endif
int main(void)
{
    printf("asin( 1.0) = %+f, 2*asin( 1.0)=%+f\n", asin(1), 2 * asin(1));
    printf("asin(-0.5) = %+f, 6*asin(-0.5)=%+f\n", asin(-0.5), 6 * asin(-0.5));
    // valeurs spéciales
    printf("asin(0.0) = %1f, asin(-0.0)=%f\n", asin(+0.0), asin(-0.0));
    // gestion des erreurs
    errno = 0; feclearexcept(FE_ALL_EXCEPT);
    printf("asin(1.1) = %f\n", asin(1.1));
    if (errno == EDOM)
        perror("    errno == EDOM");
    if (fetestexcept(FE_INVALID))
        puts("    FE_INVALID raised");
}

Sortie possible :

asin( 1.0) = +1.570796, 2*asin( 1.0)=+3.141593
asin(-0.5) = -0.523599, 6*asin(-0.5)=-3.141593
asin(0.0) = 0.000000, asin(-0.0)=-0.000000
asin(1.1) = nan
    errno == EDOM: Numerical argument out of domain
    FE_INVALID raised

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.12.4.2 Les fonctions asin (p: TBD)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: TBD)
  • F.10.1.2 Les fonctions asin (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.12.4.2 Les fonctions asin (p: 174)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: 272-273)
  • F.10.1.2 Les fonctions asin (p: 378)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.12.4.2 Les fonctions asin (p: 238)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: 373-375)
  • F.10.1.2 Les fonctions asin (p: 518)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.12.4.2 Les fonctions asin (p: 219)
  • 7.22 Mathématiques génériques de type <tgmath.h> (p: 335-337)
  • F.9.1.2 Les fonctions asin (p: 456)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.5.2.2 La fonction asin

Voir aussi

(C99) (C99)
calcule l'arc cosinus ( arccos(x) )
(fonction)
(C99) (C99)
calcule l'arc tangente ( arctan(x) )
(fonction)
calcule l'arc tangente, en utilisant les signes pour déterminer les quadrants
(fonction)
(C99) (C99)
calcule le sinus ( sin(x) )
(fonction)
(C99) (C99) (C99)
calcule l'arc sinus complexe
(fonction)