Spec-Zone.ru › C

clogf, clog, clogl

Определено в заголовке <complex.h>
float complex       clogf( float complex z );
(1) (с C99)
double complex      clog( double complex z );
(2) (с C99)
long double complex clogl( long double complex z );
(3) (с C99)
Определено в заголовке <tgmath.h>
#define log( z )
(4) (с C99)
1-3) Вычисляет комплекный натуральный (основание e) логарифм z с разрывом ветви вдоль отрицательной вещественной оси.
4) Тип-обобщающий макрос: Если z имеет тип long double complex, вызывается clogl. Если z имеет тип double complex, вызывается clog, если z имеет тип float complex, вызывается clogf. Если z является вещественным или целочисленным, то макрос вызывает соответствующую вещественную функцию (logf, log, logl). Если z является мнимым, вызывается соответствующий комплексный вариант.

Параметры

z - комплекный аргумент

Значение возврата

Если ошибки не произошло, возвращается комплекный натуральный логарифм z, в диапазоне полосы на интервале [−iπ, +iπ] вдоль мнимой оси и математически неограничен вдоль вещественной оси.

Обработка ошибок и специальные значения

Ошибки сообщаются согласованно с math_errhandling

Если реализация поддерживает арифметику с плавающей запятой IEEE,

  • Функция непрерывна на разрыве ветви, учитывая знак мнимой части
  • clog(conj(z)) == conj(clog(z))
  • Если z является -0+0i, результат равен -∞+πi, и поднимается FE_DIVBYZERO
  • Если z является +0+0i, результат равен -∞+0i, и поднимается FE_DIVBYZERO
  • Если z является x+∞i (для любого конечного x), результат равен +∞+πi/2
  • Если z является x+NaNi (для любого конечного x), результат равен NaN+NaNi, и может быть поднято FE_INVALID
  • Если z является -∞+yi (для любого конечного положительного y), результат равен +∞+πi
  • Если z является +∞+yi (для любого конечного положительного y), результат равен +∞+0i
  • Если z является -∞+∞i, результат равен +∞+3πi/4
  • Если z является +∞+∞i, результат равен +∞+πi/4
  • Если z является ±∞+NaNi, результат равен +∞+NaNi
  • Если z является NaN+yi (для любого конечного y), результат равен NaN+NaNi, и может быть поднято FE_INVALID
  • Если z является NaN+∞i, результат равен +∞+NaNi
  • Если z является NaN+NaNi, результат равен NaN+NaNi

Примечания

Натуральный логарифм комплексного числа z с координатами полярной системы (r,θ) равен ln r + i(θ+2nπ), где основное значение ln r + iθ.

Пример

#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));
}

Вывод:

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

Ссылки

  • Стандарт C11 (ISO/IEC 9899:2011):
    • 7.3.7.2 Функции clog (стр: 195)
    • 7.25 Тип-обобщающая математика <tgmath.h> (стр: 373-375)
    • G.6.3.2 Функции clog (стр: 543-544)
    • G.7 Тип-обобщающая математика <tgmath.h> (стр: 545)
  • Стандарт C99 (ISO/IEC 9899:1999):
    • 7.3.7.2 Функции clog (стр: 176-177)
    • 7.22 Тип-обобщающая математика <tgmath.h> (стр: 335-337)
    • G.6.3.2 Функции clog (стр: 478-479)
    • G.7 Тип-обобщающая математика <tgmath.h> (стр: 480)

См. также

cexpcexpfcexpl
(C99)(C99)(C99)
вычисляет комплексную экспоненту по основанию e
(функция)
loglogflogl
(C99)(C99)
вычисляет натуральный логарифм (\({\small \ln{x} }\)ln(x))
(функция)
Документация C++ для log

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/complex/clog

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API