Annotation of 43BSD/contrib/icon/book/f/complex.icn, revision 1.1

1.1     ! root        1: record complex(rpart,ipart)
        !             2: 
        !             3: procedure strcpx(s)
        !             4:    i := upto('+-',s,2)
        !             5:    return complex(+s[1:i],+s[i:-1])
        !             6: end
        !             7: 
        !             8: procedure cpxstr(x)
        !             9:    if x.ipart < 0 then return x.rpart || x.ipart || "i"
        !            10:    else return x.rpart || "+" || x.ipart || "i"
        !            11: end
        !            12: 
        !            13: procedure cpxadd(x1,x2)
        !            14:    return complex(x1.rpart + x2.rpart,x1.ipart + x2.ipart)
        !            15: end
        !            16: 
        !            17: procedure cpxsub(x1,x2)
        !            18:    return complex(x1.rpart - x2.rpart,x1.ipart - x2.ipart)
        !            19: end
        !            20: 
        !            21: procedure cpxmul(x1,x2)
        !            22:    return complex(x1.rpart * x2.rpart - x1.ipart * x2.ipart,
        !            23:       x1.rpart * x2.ipart + x1.ipart * x2.rpart)
        !            24: end
        !            25: 
        !            26: procedure cpxdiv(x1,x2)
        !            27:    denom := x2.rpart ^ 2 + x2.ipart ^ 2
        !            28:    return complex((x1.rpart * x2.rpart + x1.ipart * x2.ipart) /
        !            29:       denom,(x1.ipart * x2.rpart - x1.rpart * x2.ipart) /
        !            30:       denom)
        !            31: end

unix.superglobalmegacorp.com

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