|
Текст подпрограммы и версий 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