Текст подпрограммы и версий
pa03r_c.zip  pa03d_c.zip 
Тексты тестовых примеров
tpa03r_c.zip  tpa03d_c.zip 

Подпрограмма:  pa03r_c

Назначение

Вычисление квадратного корня из комплексного числа.

Математическое описание

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