File:  [CSRG BSD Unix] / 43BSD / contrib / icon / book / 18 / add1.icn
Revision 1.1: download - view: text, annotated - select for diffs
Tue Apr 24 16:12:55 2018 UTC (8 years, 1 month ago) by root
CVS tags: MAIN, HEAD
Initial revision

procedure add(s1,s2,carry)
   local size, sum
   /carry := 0	# default carry
   if *s1 > *s2 then s1 :=: s2
   size := *s2
   if size <= segsize then return s1 + s2 + carry
   s1 := right(s1,size,"0")
   sum := right(s1,segsize) + right(s2,segsize) + carry
   return add(left(s1,size - segsize),
      left(s2,size - segsize),sum / base) ||
      right(sum % base,segsize,"0")
end

unix.superglobalmegacorp.com

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