|
Текст подпрограммы и версий av00r_p.zip av00e_p.zip av00c_p.zip |
Тексты тестовых примеров tav00r_p.zip tav00e_p.zip tav00c_p.zip |
Суммирование компонент вектора с расширенной (Extended) точностью.
Вычисляется сумма компонент вектора длины N с помощью алгоритма попарного суммирования.
function AV00R(var S :Array of Real; N :Integer): Real;
Параметры
| S - | одномерный массив длины N, в котором задается исходный вектор (тип: вещественный); |
| N - | длина вектора S (тип: целый). |
Версии
| AV00E - | суммирование элементов вектора при помощи алгоритма попарного суммирования с расширенной (Extended) точностью. |
| AV00C - | суммирование элементов комплексного вектора при помощи алгоритма попарного суммирования. |
Вызываемые подпрограммы: нет
Замечания по использованию
| 1. |
В функции АV00E параметр S имеет тип Extended. | |
| 2. |
В функции АV00С параметр S имеет тип Complex. | |
| 3. | Исходная информация, заданная в массиве S, не сохраняется. |
Unit TAV00R_p;
interface
uses
SysUtils, Math, { Delphi }
LStruct, Lfunc, UtRes_p, AV00R_p;
function TAV00R: String;
implementation
function TAV00R: String;
var
N :Integer;
R :Real;
const
P :Array [0..99] of Real = ( 0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876,
0.00009876,0.00009876,0.00009876,0.00009876 );
begin
Result := '';
N := 100;
R := AV00R(P,N);
Result := Result + Format(' %20.16f',[R]) + #$0D#$0A;
UtRes('TAV00R',Result); { вывод результатов в файл TAV00R.res }
exit;
end;
end.
Результат: R = 0.009876