Kahano sudėties algoritmas

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.[1]

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

Šaltiniai redaguoti

Nuorodos redaguoti