sumKahan
sumKahan
Kahan 보정 합산(Kahan compensated summation) 알고리즘으로 숫자들의 합계를 계산해요. sum 함수보다 느리지만 정밀도가 높아요. 보정은 Float 타입에서만 동작해요.
출처: 문서
본문
sumKahan은 Kahan 보정 합산 알고리즘으로 숫자들의 합계를 계산하는 집계 함수예요. v1.1.0에 도입되었어요.
Kahan 보정 합산 알고리즘을 사용해서 숫자들의 합계를 계산해요. sum 함수보다 느리지만 정밀도가 더 높아요. 보정은 Float 타입에서만 동작해요.
구문 (Syntax)
sumKahan(x)
인자 (Arguments)
x— 입력 값이에요. 정수(Integer) 또는 Float 또는 Decimal 타입이에요.
반환 값 (Returned value)
숫자들의 합계를 반환해요.
- (U)Int* 또는 Float* 또는 Decimal 타입이에요.
예시 (Examples)
Kahan 합산으로 정밀도가 개선되는 것을 보여 주는 예시예요.
쿼리:
SELECT sum(0.1), sumKahan(0.1) FROM numbers(10);
응답:
┌───────────sum(0.1)─┬─sumKahan(0.1)─┐
│ 0.9999999999999999 │ 1 │
└────────────────────┴───────────────┘