|
Текст подпрограммы и версий av00r_c.zip av00d_c.zip av00c_c.zip |
Тексты тестовых примеров tav00r_c.zip tav00d_c.zip tav00c_c.zip |
Суммирование компонент вектора с повышенной точностью.
Вычисляется сумма компoнeнт вектора длины N с помощью алгоритма попарного суммирования.
real av00r_c (real *s, integer *n)
Параметры
| s - | одномерный массив длины n, в котором задается исходный вектор (тип: вещественный); |
| n - | длина вектора s (тип: целый). |
Версии
| av00d_c - | суммирование элементов вектора при помощи алгоритма попарного суммирования с удвоенной точностью; |
| av00c_c - | суммирование элементов комплексного вектора при помощи алгоритма попарного суммирования. |
Вызываемые подпрограммы: нет
Замечания по использованию
| 1. |
В функции av00d_c параметр s имеет тип double. | |
| 2. |
В функции av00c_c параметр s имеет тип complex. | |
| 3. | Исходная информация, заданная в массиве s, не сохраняется. |
int main(void)
{
/* Initialized data */
static float p[100] = { 9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,
9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f,9.876e-5f };
/* Local variables */
extern float av00r_c(float *, int *);
static int n;
static float r__;
n = 100;
r__ = (float)av00r_c(p, &n);
printf("\n %16.7e \n", r__);
return 0;
} /* main */
Результат: r__ = 0.009876