csqrtf, csqrt, csqrtl
From cppreference.net
|
Definido en el encabezado
<complex.h>
|
||
| (1) | (desde C99) | |
| (2) | (desde C99) | |
| (3) | (desde C99) | |
|
Definido en el encabezado
<tgmath.h>
|
||
|
#define sqrt( z )
|
(4) | (desde C99) |
1-3)
Calcula la raíz cuadrada compleja de
z
con corte de rama a lo largo del eje real negativo.
4)
Macro genérico de tipos: Si
z
tiene tipo
long
double
complex
,
csqrtl
es llamado. Si
z
tiene tipo
double
complex
,
csqrt
es llamado. Si
z
tiene tipo
float
complex
,
csqrtf
es llamado. Si
z
es real o entero, entonces el macro invoca la función real correspondiente (
sqrtf
,
sqrt
,
sqrtl
). Si
z
es imaginario, se llama la versión correspondiente de número complejo.
Contenidos |
Parámetros
| z | - | argumento complejo |
Valor de retorno
Si no ocurren errores, devuelve la raíz cuadrada de
z
, en el rango del semiplano derecho, incluyendo el eje imaginario (
[0; +∞)
a lo largo del eje real y
(−∞; +∞)
a lo largo del eje imaginario.)
Manejo de errores y valores especiales
Los errores se reportan de manera consistente con math_errhandling
Si la implementación admite aritmética de punto flotante IEEE,
- La función es continua sobre el corte de rama teniendo en cuenta el signo de la parte imaginaria
- csqrt ( conj ( z ) ) == conj ( csqrt ( z ) )
-
Si
zes±0+0i, el resultado es+0+0i -
Si
zesx+∞i, el resultado es+∞+∞iincluso si x es NaN -
Si
zesx+NaNi, el resultado esNaN+NaNi(a menos que x sea ±∞) y FE_INVALID puede generarse -
Si
zes-∞+yi, el resultado es+0+∞ipara y finito positivo -
Si
zes+∞+yi, el resultado es+∞+0i)para y finito positivo -
Si
zes-∞+NaNi, el resultado esNaN±∞i(signo de la parte imaginaria no especificado) -
Si
zes+∞+NaNi, el resultado es+∞+NaNi -
Si
zesNaN+yi, el resultado esNaN+NaNiy FE_INVALID puede generarse -
Si
zesNaN+NaNi, el resultado esNaN+NaNi
Ejemplo
Ejecutar este código
#include <stdio.h> #include <complex.h> int main(void) { double complex z1 = csqrt(-4); printf("Square root of -4 is %.1f%+.1fi\n", creal(z1), cimag(z1)); double complex z2 = csqrt(conj(-4)); // or, in C11, CMPLX(-4, -0.0) printf("Square root of -4-0i, the other side of the cut, is " "%.1f%+.1fi\n", creal(z2), cimag(z2)); }
Salida:
Square root of -4 is 0.0+2.0i Square root of -4-0i, the other side of the cut, is 0.0-2.0i
Referencias
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.3.8.3 Las funciones csqrt (p: 196)
-
- 7.25 Matemáticas genéricas de tipos <tgmath.h> (p: 373-375)
-
- G.6.4.2 Las funciones csqrt (p: 544)
-
- G.7 Matemáticas genéricas de tipos <tgmath.h> (p: 545)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.3.8.3 Las funciones csqrt (p: 178)
-
- 7.22 Matemáticas genéricas de tipos <tgmath.h> (p: 335-337)
-
- G.6.4.2 Las funciones csqrt (p: 479)
-
- G.7 Matemáticas genéricas de tipos <tgmath.h> (p: 480)
Véase también
|
(C99)
(C99)
(C99)
|
calcula la función de potencia compleja
(función) |
|
(C99)
(C99)
|
calcula la raíz cuadrada (
√
x
)
(función) |
|
Documentación para C++
para
sqrt
|
|