PSFRD(;A,V,n) [PolynomialSequenceFile read. If data exists on a file, that file will be opened and associated with unit PSFIU. Value of IUNIT at entry will be restored at exit.] const PSFIU=13. (1) [Check header.] C=CREADB(); if C~='(' then go to 5; SAVIU=IUNIT; H=GTTKN(); while EQUAL(H,"FILENAME") do { F=GTTKN(); OPENF(PSFIU, F); IUNIT=PSFIU; H=GTTKN() }; if NOT EQUAL(H,"POLYNOMIALSEQUENCEFILEFEB387") then go to 5; (2) [Coefficient domain.] D=GTTKN(); if EQUAL(D,"ALGEBRAICNUMBERFIELD") then ANRD(;M,J,W); (3) [Initialize for nonconstant polynomial.] r=LENGTH(V); V'=V; for i=1,...,r do ADV(V';W[i],V'); A'=A; b=1; U=RNINT(1). (4) [Write next term.] if A'==() then go to 5; ADV2(A';c,d,A'); if n==1 then { s=RNSIGN(c); c=RNABS(c) } else { s=ISIGNF(c); c=IABSF(c) }; if s<0 then CWRITE('-') else if b==0 then CWRITE('+'); CWRITE(' '); b=0; if n==1&RNCOMP(c,U)~=0 then { RNWRIT(c); CWRITE(' ') } else if n==0&c~=1 then { IWRITE(c); CWRITE(' ') }; z=1; d=CINV(d); while d~=() do { z=0; ADV2(d;e,j,d); CLOUT(W[j]); if e>1 then { CLOUT("**"); AWRITE(e) }; CWRITE(' ') }; if z==1&((n==1&RNCOMP(c,U)==0) |(n==0&c==1)) then { AWRITE(1); CWRITE(' ') }; go to 4. (5) [Error exit.] IUNIT=SAVIU; return.. Ę/˜JšĎfă˜ăJš‹˜‹J˜—…—r§