code 31254; procedure RECCOF(N,M,X,WX,B,C,L,SYM); value N,M,SYM;integer N,M; boolean SYM; real X,WX;array B,C,L; begin integer I,J,UP;real R,S,PIM,H,HH,ARG,SA; PIM:=4*ARCTAN(1)/M; if SYM then begin for J:=0 step 1 until N"DO" begin R:=B[J]:=0;UP:=M "DIV" 2; for I:=1 step 1 until UP"DO" begin ARG:=(I-.5)*PIM;X:=COS(ARG); R:=R+SIN(ARG)*WX*ORTPOL(J,X,B,C)**2; end;if UP*2=M then L[J]:=2*R*PIM else begin X:=0;L[J]:=(2*R+WX*ORTPOL(J,0,B,C)**2)*PIM end; C[J]:=if J=0 then 0 else L[J]/L[J-1]; end end else for J:=0 step 1 until N do begin R:=S:=0;UP:=M"DIV" 2; for I:=1 step 1 until UP do begin ARG:=(I-.5)*PIM;SA:=SIN(ARG);X:=COS(ARG); H:=WX*ORTPOL(J,X,B,C)**2;X:=-X;HH:=WX*ORTPOL(J,X,B,C)**2; R:=R+(H+HH)*SA;S:=S+(HH-H)*X*SA; end;B[J]:=S*PIM; if UP*2=M then L[J]:=R*PIM"ELSE" begin X:=0;L[J]:=(R+WX*ORTPOL(J,0,B,C)**2)*PIM end; C[J]:=if J=0 then 0 else L[J]/L[J-1]; end; end RECCOF eop