clogf, clog, clogl
|
Défini dans l'en-tête
<complex.h>
|
||
| (1) | (depuis C99) | |
| (2) | (depuis C99) | |
| (3) | (depuis C99) | |
|
Défini dans l'en-tête
<tgmath.h>
|
||
|
#define log( z )
|
(4) | (depuis C99) |
z
avec une coupure de branche le long de l'axe réel négatif.
z
est de type
long
double
complex
,
clogl
est appelé. Si
z
est de type
double
complex
,
clog
est appelé. Si
z
est de type
float
complex
,
clogf
est appelé. Si
z
est réel ou entier, alors la macro appelle la fonction réelle correspondante (
logf
,
log
,
logl
). Si
z
est imaginaire, la version complexe correspondante est appelée.
Table des matières |
Paramètres
| z | - | argument complexe |
Valeur de retour
Si aucune erreur ne se produit, le logarithme naturel complexe de
z
est retourné, dans la plage d'une bande dans l'intervalle
[−iπ, +iπ]
le long de l'axe imaginaire et mathématiquement non borné le long de l'axe réel.
Gestion des erreurs et valeurs spéciales
Les erreurs sont signalées conformément à math_errhandling
Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE,
- La fonction est continue sur la coupure de branche en tenant compte du signe de la partie imaginaire
- clog ( conj ( z ) ) == conj ( clog ( z ) )
-
Si
zest-0+0i, le résultat est-∞+πiet FE_DIVBYZERO est déclenché -
Si
zest+0+0i, le résultat est-∞+0iet FE_DIVBYZERO est déclenché -
Si
zestx+∞i(pour tout x fini), le résultat est+∞+πi/2 -
Si
zestx+NaNi(pour tout x fini), le résultat estNaN+NaNiet FE_INVALID peut être déclenché -
Si
zest-∞+yi(pour tout y positif fini), le résultat est+∞+πi -
Si
zest+∞+yi(pour tout y positif fini), le résultat est+∞+0i -
Si
zest-∞+∞i, le résultat est+∞+3πi/4 -
Si
zest+∞+∞i, le résultat est+∞+πi/4 -
Si
zest±∞+NaNi, le résultat est+∞+NaNi -
Si
zestNaN+yi(pour tout y fini), le résultat estNaN+NaNiet FE_INVALID peut être déclenché -
Si
zestNaN+∞i, le résultat est+∞+NaNi -
Si
zestNaN+NaNi, le résultat estNaN+NaNi
Notes
Le logarithme naturel d'un nombre complexe z avec des composantes de coordonnées polaires (r,θ) est égal à ln r + i(θ+2nπ) , avec la valeur principale ln r + iθ
Exemple
#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double complex z = clog(I); // r = 1, θ = pi/2 printf("2*log(i) = %.1f%+fi\n", creal(2*z), cimag(2*z)); double complex z2 = clog(sqrt(2)/2 + sqrt(2)/2*I); // r = 1, θ = pi/4 printf("4*log(sqrt(2)/2+sqrt(2)i/2) = %.1f%+fi\n", creal(4*z2), cimag(4*z2)); double complex z3 = clog(-1); // r = 1, θ = pi printf("log(-1+0i) = %.1f%+fi\n", creal(z3), cimag(z3)); double complex z4 = clog(conj(-1)); // or clog(CMPLX(-1, -0.0)) in C11 printf("log(-1-0i) (the other side of the cut) = %.1f%+fi\n", creal(z4), cimag(z4)); }
Sortie :
2*log(i) = 0.0+3.141593i 4*log(sqrt(2)/2+sqrt(2)i/2) = 0.0+3.141593i log(-1+0i) = 0.0+3.141593i log(-1-0i) (the other side of the cut) = 0.0-3.141593i
Références
- Norme C11 (ISO/IEC 9899:2011) :
-
- 7.3.7.2 Les fonctions clog (p: 195)
-
- 7.25 Mathématiques génériques de type <tgmath.h> (p: 373-375)
-
- G.6.3.2 Les fonctions clog (p: 543-544)
-
- G.7 Mathématiques génériques de type <tgmath.h> (p: 545)
- Norme C99 (ISO/IEC 9899:1999) :
-
- 7.3.7.2 Les fonctions clog (p: 176-177)
-
- 7.22 Mathématiques génériques de type <tgmath.h> (p: 335-337)
-
- G.6.3.2 Les fonctions clog (p: 478-479)
-
- G.7 Mathématiques génériques de type <tgmath.h> (p: 480)
Voir aussi
|
(C99)
(C99)
(C99)
|
calcule l'exponentielle complexe en base e
(fonction) |
|
(C99)
(C99)
|
calcule le logarithme naturel (base-
e
) (
ln(x)
)
(fonction) |
|
Documentation C++
pour
log
|
|