Текст подпрограммы и версий 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