|
Текст подпрограммы и версий pa03r_c.zip pa03d_c.zip |
Тексты тестовых примеров tpa03r_c.zip tpa03d_c.zip |
Вычисление квадратного корня из комплексного числа.
pa03r_c вычисляет квадратный корень из комплексного числа y = XR + XI i .
int pa03r_c (real *xr, real *xi, real *yr, real *yi)
Параметры
| xr, xi - | действительная и мнимая часть заданного комплексного числа (тип: вещественный); |
| yr, yi - | вещественные переменные, значения которых полагаются равными действительной и мнимой части результата. |
Версии
| pa03d_c - | вычисление квадратного корня из комплексного числа в режиме удвоенной точности. При этом параметры xr, xi, yr и yi должны иметь тип double. |
Вызываемые подпрограммы
| pa02r_c - | вычисление модуля комплексного числа; используется в подпрограмме pa03r_c. |
| pa02d_c - | вычисление модуля комплексного числа в режиме удвоенной точности; используется в подпрограмме pa03d_c. |
Замечания по использованию: нет
int main(void)
{
/* System generated locals */
complex q__1;
/* Builtin functions */
void c_sqrt(complex *, complex *);
/* Local variables */
extern int pa03r_c(float *, float *, float *, float *);
static float xi, yi, xr, yr;
static complex res;
xr = 16.f;
xi = 0.f;
pa03r_c(&xr, &xi, &yr, &yi);
c_sqrt(&q__1, &c_b1);
res.r = q__1.r, res.i = q__1.i;
printf("\n %13.3e %13.3e \n", yr, yi);
printf("\n %13.3e %13.3e \n", res.r, res.i);
return 0;
} /* main */
Результаты: yr = 4.0 , yi = 0.0