Kahano sudėties algoritmas

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką

Kahano sudėties algoritmas randa daugelio slankaus kablelio tipo skaičių sumą tiksliau, nei ji gaunama tiesiog sudedant šiuos skaičius. Suma visada randama ribotu tikslumu, nes veiksmai su slankaus kablelio (angl. real, double) skaičiais yra apytiksliai. Algoritmą pasiūlė Viljamas Kahanas.

Pseudokodu algoritmas užrašomas taip:

function kahanSum(input, n)
    var sum = input[1]
    var c = 0.0
    for i = 2 to n
        y = input[i] – c
        t = sum + y
        c = (t – sum) – y
        sum = t
    return sum

Nuorodos[taisyti | redaguoti kodą]