"CODE"34345; "PROCEDURE" COMKWD(PR,PI,QR,QI,GR,GI,KR,KI); "VALUE" PR,PI,QR,QI;"REAL" PR,PI,QR,QI,GR,GI,KR,KI; "BEGIN" "IF" QR=0 & QI = 0 "THEN" "BEGIN" KR:=KI:=0 ;GR:=PR*2;GI:=PI*2 "END" "ELSE" "IF" PR=0 & PI= 0 "THEN" "BEGIN" COMSQRT(QR,QI,GR,GI);KR:=-GR;KI:=-GI "END" "ELSE" "BEGIN" "REAL" HR,HI; "IF" ABS(PR) > 1 "OR" ABS(PI) >1 "THEN" "BEGIN" COMDIV(QR,QI,PR,PI,HR,HI); COMDIV(HR,HI,PR,PI,HR,HI); COMSQRT(1+HR,HI,HR,HI); COMMUL(PR,PI,HR+1,HI,GR,GI); "END" "ELSE" "BEGIN" COMSQRT(QR+(PR+PI)*(PR-PI),QI+ PR*PI*2,HR,HI); "IF" PR * HR + PI * HI > 0 "THEN" "BEGIN" GR := PR + HR;GI := PI + HI "END" "ELSE" "BEGIN" GR := PR - HR;GI:= PI - HI "END"; "END"; COMDIV(-QR,-QI,GR,GI,KR,KI); "END" "END" COMKWD; "EOP"