|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3072 (0xc00)
Types: TextFile
Names: »plotwftxt«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦97b7ffb00⟧ »ryplot«
└─⟦this⟧
;ali time.200 lines.7000
mode list.yes
lookup plotwftxt
clear plotwf
plotwf=set 280
permanent plotwf.18
lookup rydlist
if ok.yes
mode 15.yes
plotwf=hcalg
plotwf
1979-12-08
begin
integer i,j,cur,curve,curvemax,L,n,l,J,segm,bytes,bytesread,
xform,yform;
real x,xmax,y,ymax;
integer array t(1:10);
array inp,pname(1:3);
boolean first,a2,bs,seq;
algol list.off copy.rydstruct;
algol list.off copy.rydseg;
algol list.off copy.alutproc;
algol list.off copy.ryproc;
algol list.off copy.plotstate;
algol list.off copy.ryglobal;
readinfp(inp,1);
stackcuri;
connectcuri(inp);
lookuptail(inp,t);
bs:=t(1)>0;
bytes:=if bs then t(9) else maxinteger;
segm:=if bs then t(10) else maxinteger;
movestring(pname,1,<:houstona:>);
readsfp(<:plotname:>,pname);
i:=1;
setplotname(string pname(increase(i)),0);
if -,readifp(<:curve:>,curve) then curve:=1;
if -,readifpnext(fpnr,curvemax) then curvemax:=curve;
if -,readrfp(<:xmax:>,xmax) then xmax:=10;
if -,readrfp(<:ymax:>,ymax) then ymax:=.6;
if -,readbfp(<:a2:>,a2) then a2:=true;
if -,readbfp(<:seq:>,seq) then seq:=true;
xform:=if xmax<=11 then 2*xmax+2 else xmax+2;
yform:=12;
if -,seq then
begin
plotform(0,xform,yform);
plotadmini(0,xmax,if a2 then 0 else -.5,ymax,0);
end -,seq;
for cur:=curve step 1 until curvemax do
begin
if bs then setposition(in,0,(cur-1)*segm) else
setposition(in,cur-1,0);
inrec(in,8);
S:=in(1); atno:=in(2); Z:=in(3);
L:=in(4); n:=in(5); l:=in(6);
J:=in(7);
write(out,nl,1,<:curve :>,cur,sp,4);
writeatsym(out,S,atno,Z); write(out,sp,2);
writestate(out,L,n,l,J);
if seq then
begin
plotform(0,xform,yform);
xmax:=3*n*n;
plotadmini(0,xmax,if a2 then 0 else -.5/n,ymax/n,0);
end seq;
if cur=curve or seq then
begin
setmargin(6,11); writeplot(ff,1);
writeatsym(plotz,S,atno,Z);
setposition(plotz,0,0);
end;
if seq then setmargin(6,9) else
setmargin(0+(cur-curve+1)*2,9);
writeplot(ff,1);
writestate(plotz,L,n,l,J);
setposition(plotz,0,0);
comment plotstate(n,l,S,L,J);
first:=true;
x:=0;
bytesread:=0;
for j:=inrec(in,2) while bytesread<bytes and x>=0 and x<=xmax do
begin
bytesread:=bytesread+2*4;
x:=in(1); y:=in(2);
if a2 then y:=y*y;
plotmove(x,y);
if first then begin first:=false; pendown; end;
end move;
penup;
end curve loop;
unstackcuri;
end;
mode list.no 10.no
▶EOF◀