использовать суммирование Кахана для квадрата массива

0

Я хочу изменить ниже код Kahan sumation c++ для вычисления суммы квадрата массива. По умолчанию этот код вычисляет сумму массива.

T reduceCPU(T *data, int size)
{
    T sum = data[0];
    T c = (T)0.0;
    for (int i = 1; i < size; i++)
    {
        T y = data[i]- c;  
        T t = sum + y;      
        c = (t - sum) - y;  
        sum = t;            
    }
    return sum;
}

должен ли я редактировать, как показано ниже?

T y = data[i]*data[i] - c;
  • 0
    @ Gyapti это не так, вот как код. добавление первого элемента массива к сумме вместо присвоения ему 0.0.
Теги:
arrays

1 ответ

0

Указанное вами изменение - это точная копия строки 7. Также вы бы не вернули сумму суммы, или я не понимаю, что спрашивается?

  • 0
    Извините, что сделал ошибку, когда я спрашиваю, я исправил это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню