Перейти к основному содержимому
Перейти к основному содержимому

sumKahan

sumKahan

Впервые появилась в: v1.1

Вычисляет сумму чисел с использованием алгоритма компенсированного суммирования Кэхэна. Работает медленнее, чем функция sum. Компенсация применяется только к типам данных Float.

Синтаксис

sumKahan(x)

Аргументы

Возвращаемое значение

Возвращает сумму чисел: (U)Int* или Float* или Decimal

Примеры

Демонстрация повышения точности с помощью алгоритма суммирования Кэхэна

SELECT sum(0.1), sumKahan(0.1) FROM numbers(10);
┌───────────sum(0.1)─┬─sumKahan(0.1)─┐
│ 0.9999999999999999 │             1 │
└────────────────────┴───────────────┘