Annotation of 43BSD/contrib/icon/src/lib/complex.icn, revision 1.1

1.1     ! root        1: #      COMPLEX(2)
        !             2: #
        !             3: #      Complex arithmetic
        !             4: #
        !             5: #      Ralph E. Griswold
        !             6: #
        !             7: #      Last modified 7/27/83
        !             8: #
        !             9: 
        !            10: record complex(rpart,ipart)
        !            11: 
        !            12: procedure strcpx(s)
        !            13:    i := upto('+-',s,2)
        !            14:    return complex(+s[1:i],+s[i:-1])
        !            15: end
        !            16: 
        !            17: procedure cpxstr(x)
        !            18:    if x.ipart < 0 then return x.rpart || x.ipart || "i"
        !            19:    else return x.rpart || "+" || x.ipart || "i"
        !            20: end
        !            21: 
        !            22: procedure cpxadd(x1,x2)
        !            23:    return complex(x1.rpart + x2.rpart,x1.ipart + x2.ipart)
        !            24: end
        !            25: 
        !            26: procedure cpxsub(x1,x2)
        !            27:    return complex(x1.rpart - x2.rpart,x1.ipart - x2.ipart)
        !            28: end
        !            29: 
        !            30: procedure cpxmul(x1,x2)
        !            31:    return complex(x1.rpart * x2.rpart - x1.ipart * x2.ipart,
        !            32:       x1.rpart * x2.ipart + x1.ipart * x2.rpart)
        !            33: end
        !            34: 
        !            35: procedure cpxdiv(x1,x2)
        !            36:    denom := x2.rpart ^ 2 + x2.ipart ^ 2
        !            37:    return complex((x1.rpart * x2.rpart + x1.ipart * x2.ipart) /
        !            38:       denom,(x1.ipart * x2.rpart - x1.rpart * x2.ipart) /
        !            39:       denom)
        !            40: end

unix.superglobalmegacorp.com

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