code 34355; boolean procedure HSHCOMCOL(L, U, J, AR, AI, TOL, K, C, S, T); value L, U, J, TOL; integer L, U, J; real TOL, K, C, S, T; array AR, AI; begin real VR, DEL, MOD, H, ARLJ, AILJ; VR:= TAMMAT(L + 1, U, J, J, AR, AR) + TAMMAT(L + 1, U, J, J, AI, AI); ARLJ:= AR[L,J]; AILJ:= AI[L,J]; CARPOL(ARLJ, AILJ, MOD, C, S); if VR > TOL then begin VR:= VR + ARLJ ** 2 + AILJ ** 2; H:= K:= SQRT(VR); T:= VR + MOD * H; if ARLJ = 0 and AILJ = 0 then AR[L,J]:= H else begin AR[L,J]:= ARLJ + C * K; AI[L,J]:= AILJ + S * K; S:= - S end; C:= - C; HSHCOMCOL:= true end else begin HSHCOMCOL:= false; K:= MOD; T:= - 1 end end HSHCOMCOL; eop