Annotation of 43BSD/contrib/icon/src/lib/radcon.icn, revision 1.1.1.1

1.1       root        1: #      RADCON(2)
                      2: #
                      3: #      Radix conversion procedures
                      4: #
                      5: #      Ralph E. Griswold
                      6: #
                      7: #      Last modified 5/29/83
                      8: #
                      9: 
                     10: 
                     11: procedure exbase10(i,j)
                     12:    static digits
                     13:    local s, d, sign
                     14:    initial digits := "0123456789" || &lcase
                     15:    if i = 0 then return 0
                     16:    if i < 0 then {
                     17:       sign := "-"
                     18:       i := -i
                     19:       }
                     20:    else sign := ""
                     21:    s := ""
                     22:    while i > 0 do {
                     23:       d := i % j
                     24:       if d > 9 then d := digits[d + 1]
                     25:       s := d || s
                     26:       i /:= j
                     27:       }
                     28:    return sign || s
                     29: end
                     30: 
                     31: procedure inbase10(s,i)
                     32:    if s[1] == "-" then return "-" || integer(i || "r" || s[2:0])
                     33:    else return integer(i || "r" || s)
                     34: end
                     35: 
                     36: procedure radcon(s,i,j)
                     37:    return exbase10(inbase10(s,i),j)
                     38: end

unix.superglobalmegacorp.com

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