Namespaces
Variants

casinf, casin, casinl

From cppreference.net
Definido en el encabezado <complex.h>
float complex casinf ( float complex z ) ;
(1) (desde C99)
double complex casin ( double complex z ) ;
(2) (desde C99)
long double complex casinl ( long double complex z ) ;
(3) (desde C99)
Definido en el encabezado <tgmath.h>
#define asin( z )
(4) (desde C99)
1-3) Calcula el arco seno complejo de z con cortes de rama fuera del intervalo [−1,+1] a lo largo del eje real.
4) Macro genérico de tipos: Si z tiene tipo long double complex , casinl es llamado. Si z tiene tipo double complex , casin es llamado. Si z tiene tipo float complex , casinf es llamado. Si z es real o entero, entonces el macro invoca la función real correspondiente ( asinf , asin , asinl ). Si z es imaginario, entonces el macro invoca la versión real correspondiente de la función asinh , implementando la fórmula arcsin(iy) = i arsinh(y) , y el tipo de retorno del macro es imaginario.

Contenidos

Parámetros

z - argumento complejo

Valor de retorno

Si no ocurren errores, se devuelve el arco seno complejo de z , en el rango de una franja no acotada a lo largo del eje imaginario y en el intervalo [−π/2; +π/2] a lo largo del eje real.

Los errores y casos especiales se manejan como si la operación estuviera implementada por - I * casinh ( I * z )

Notas

El arco seno (o seno inverso) es una función multivaluada y requiere un corte de rama en el plano complejo. El corte de rama se coloca convencionalmente en los segmentos de línea (-∞,-1) y (1,∞) del eje real.

La definición matemática del valor principal del arco seno es arcsin z = - i ln( i z + 1-z 2
)

For any z, arcsin(z) = acos(-z) -
π
2

Ejemplo

#include <stdio.h>
#include <math.h>
#include <complex.h>
int main(void)
{
    double complex z = casin(-2);
    printf("casin(-2+0i) = %f%+fi\n", creal(z), cimag(z));
    double complex z2 = casin(conj(-2)); // or CMPLX(-2, -0.0)
    printf("casin(-2-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2));
    // for any z, asin(z) = acos(-z) - pi/2
    double pi = acos(-1);
    double complex z3 = csin(cacos(conj(-2))-pi/2);
    printf("csin(cacos(-2-0i)-pi/2) = %f%+fi\n", creal(z3), cimag(z3));
}

Salida:

casin(-2+0i) = -1.570796+1.316958i
casin(-2-0i) (the other side of the cut) = -1.570796-1.316958i
csin(cacos(-2-0i)-pi/2) = 2.000000+0.000000i

Referencias

  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.3.5.2 The casin functions (p: 190)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • G.7 Type-generic math <tgmath.h> (p: 545)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.3.5.2 The casin functions (p: 172)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • G.7 Type-generic math <tgmath.h> (p: 480)

Véase también

(C99) (C99) (C99)
calcula el arco coseno complejo
(función)
(C99) (C99) (C99)
calcula el arco tangente complejo
(función)
(C99) (C99) (C99)
calcula el seno complejo
(función)
(C99) (C99)
calcula el arco seno ( arcsin(x) )
(función)