|
Текст подпрограммы и версий sf31r_c.zip sf31d_c.zip |
Тексты тестовых примеров tsf31r_c.zip tsf31d_c.zip |
Вычисление значений интегрального косинуса.
Функция sf31r_c вычисляет значение интегрального косинуса
x
Ci (x) = ∫ cos t / t dt
∞
для вещественных значений аргумента x.
J.F.Hart, E.W.Cheney, C.L.Lawson, Computer Approximations, Wiley, New York, 1968.
real sf31r_c (real *x, integer *ierr)
Параметры
| x - | заданное значение аргумента x (тип: вещественный); |
| ierr - | целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы функции; при этом: |
| ierr=65 - | когда аргумент принимает значение меньшее или pавное 0.; значение функции полагается равным 3.4e38. |
Версии
| sf31d_c - | вычисление значений интегрального косинуса с повышенной точностью. |
Вызываемые подпрограммы
| utsf10_c - | подпрограмма выдачи диагностических сообщений при работе функции sf31r_c. |
| utsf11_c - | подпрограмма выдачи диагностических сообщений при работе функции sf31d_c. |
Замечания по использованию
| Для функции sf31d_c параметр x имеет тип double. Если значение аргумента x меньше или pавно 0, значение ierr полагается равным 65, а значение функции равным 1.7e308. |
int main(void)
{
/* Local variables */
extern float sf31r_c(float *, int *);
static int ierr;
static float x, y;
x = 1.5707963267945f;
y = (float)sf31r_c(&x, &ierr);
printf("\n %16.7e %16.7e \n",x,y);
printf("\n %5i \n",ierr);
return 0;
} /* main */
Результаты:
y = 0.472000651432, ierr = 0