Предположим, что у нас есть массив небольших (около 10^(-15)) двойных чисел в С++. Если мы вычислим сумму чисел в этом массиве последовательно, например
double sum = 0;
for (int i = 0; i < n; i++) sum+=array[i];
получаем значение x.
Но если мы разделим массив на некоторые части, а затем вычислим сумму в каждой части и после этого добавим все частичные суммы вместе, получим некоторое значение x2, которое близко к x, но не точно x. Поэтому я потерял начисление при расчете суммы.
Кто-нибудь знает, как вычислить сумму небольших двойных чисел, разделив эти числа на некоторые части без потери точности?