Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

sumKahan

sumKahan

Добавленный в: v1.1.0

Вычисляет сумму чисел с помощью алгоритма компенсационного суммирования Кэхэна. Работает медленнее, чем функция 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 │
└────────────────────┴───────────────┘
Navigation