Annotation of 43BSD/contrib/icon/book/18/add1.icn, revision 1.1.1.1

1.1       root        1: procedure add(s1,s2,carry)
                      2:    local size, sum
                      3:    /carry := 0 # default carry
                      4:    if *s1 > *s2 then s1 :=: s2
                      5:    size := *s2
                      6:    if size <= segsize then return s1 + s2 + carry
                      7:    s1 := right(s1,size,"0")
                      8:    sum := right(s1,segsize) + right(s2,segsize) + carry
                      9:    return add(left(s1,size - segsize),
                     10:       left(s2,size - segsize),sum / base) ||
                     11:       right(sum % base,segsize,"0")
                     12: end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.