Текст подпрограммы и версий pa16c_c.zip pa16p_c.zip |
Тексты тестовых примеров tpa16c_c.zip tpa16p_c.zip |
Возведение комплексного числа в комплексную степень.
Подпрограмма pa16c_c выполняет возведение заданного комплексного числа a + i b в комплексную степень c + i d по формуле
x + i y = ( a + i b )c + id = ecr - dp ( cos v + i sin v ) , где v = cθ + dr , r = ln (a2 + b2)1/2 , θ = arctg (b/a)
int pa16c_c(real *a, real *b, real *c, real *d, real *x, real *y)
Параметры
a, b - | вещественная и мнимая части заданного комплексного числа a + ib (тип: вещественный); |
c, d - | вещественная и мнимая части заданной комплексной степени c + id, в которую необходимо возвести число a + ib (тип: вещественный); |
x, y - | вещественные переменные, значения которых на выходе полагаются равными вещественной и мнимой частям числа (a + ib) c + id . |
Версии
pa16p_c - | возведение комплексного числа в комплексную степень в режиме удвоенной точности; при этом параметры a, b, c, d, x и y должны иметь тип double. |
Вызываемые подпрограммы
pa02r_c - pa02d_c | вычисление модуля комплексного числа в режимах одинарной и удвоенной точности; используются в подпрограммах pa16c_c и pa16p_c cooтвeтcтвeннo. |
Замечания по использованию: нет
int main(void) { /* Local variables */ extern int pa16c_c(float *, float *, float *, float *, float *, float *); static float a, b, c__, d__, x, y; a = 2.f; b = 1.f; c__ = 1.f; d__ = -1.f; pa16c_c(&a, &b, &c__, &d__, &x, &y); printf("\n %16.7e %16.7e \n", x, y); return 0; } /* main */ Результаты: x = 3.35026 y = -1.18915