program PolySA; uses Math, uPoly in '..\..\robfit\TemplFit\eff\uPoly.pas'; var Values : text; Xvals,FaPFvals: file; i,j,k,kd,NV,ND,NDAT,idum: integer; Fa: double; X,Cons,PF: array of double; vary: array of boolean; CPOL,CLOG: string[4]; sp,sp2:char; begin AssignFile(Values,'nlfit.tmp'); Reset(Values); ReadLn(Values,NV,ND,NDAT,sp,sp2,CPOL); if(sp <> ' ') or (sp2 <> ' ') then begin writeln(' input format problem '); readln; end; SetLength(X,ND); SetLength(Cons,NV+1); SetLength(PF,NV+1); SetLength(vary,NV+1); for i:= 1 to NV do begin ReadLn(Values,CLOG,Cons[i]); if CLOG = ' T' then vary[i] := true else vary[i] := false; end; CloseFile(Values); AssignFile(Xvals,'xdat.TMP'); Reset(Xvals,4); AssignFile(FaPfvals,'fapfa.tmp'); ReWrite(FaPfvals,4); for i:=1 to Ndat do begin BlockRead(Xvals,idum,1); BlockRead(Xvals, X[0], 2); BlockRead(Xvals,idum,1); poly(ND,NV,X,Cons,Fa,PF); k:=0; for j:=1 to NV do begin if vary[j] then begin k:=k+1; PF[k]:=PF[j]; end; end; k:=k+1; kd:=8*k; BlockWrite(FaPfvals,kd,1); BlockWrite(FaPfvals,Fa,2); BlockWrite(FaPfvals,PF[1],2*(k-1)); BlockWrite(FaPfvals,kd,1); end; CloseFile(Xvals); CloseFile(FaPfvals); end.