code 31096;
procedure COMFOUSER1(N,THETA,AR,AI,RR,RI);
value N,THETA;integer N;real THETA,RR,RI;array AR,AI;
begin integer K;real H,HR,HI,CO,SI;
   HR:=HI:=0;CO:=COS(THETA);SI:=SIN(THETA);
   for K:=N"STEP"-1until 1do 
   begin H:=CO*HR-SI*HI+AR[K];
         HI:=CO*HI+SI*HR+AI[K];
         HR:=H
   end;
   RR:=CO*HR-SI*HI+AR[0];
   RI:=CO*HI+SI*HR+AI[0]
end COMFOUSER1;
        eop