Текст подпрограммы и версий
pa16c_c.zip  pa16p_c.zip 
Тексты тестовых примеров
tpa16c_c.zip  tpa16p_c.zip 

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

Назначение

Возведение комплексного числа в комплексную степень.

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

Подпрограмма 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