|
|
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: »plotfx«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦this⟧ »plotfx«
;inputfil til plotfx system
;rene moss 8-4-80/29-3-82
map=set 150
fx=set 12
yfx=set 12
c=message type expression fx
fx=copy message.no c
o points
yfx=edit fx
r@@Y:=@,l b,i@
;
@,f
points=set 12
scope day map points
mode 1.no
map=algol message.no
program for interactive plotting of y(x)
;rene moss 31-3-80/29-3-82
begin
integer i,asize,lin,char,xsize,ysize,formmode,N,segm,val,valg;
real xmin,xmax,ymin,ymax,x,y,dx,xm;
integer field fi;
real field fx,fy;
long array field fla;
integer array ZD(1:20);
array tname(1:2);
zone z(128,1,stderror);
boolean first;
fi:=2; fx:=6; fy:=10;
fla:=lin:=xsize:= ysize:= 0;
asize:= 5; formmode:= 2; first:=true;
xmin:=ymin:='600; xmax:=ymax:=-'600;
initfp;
write(out,<:output stored on :>);
readlsfp(tname);
open(z,4,tname.fla,0);
write(out,tname.fla);
for i:=0,i+1 while val<>25 do
begin
readchar(in,val);
if (val<>10 or valg<>10) and val<>0 then
begin
if val=10 then lin:=lin+1;
valg:=val;
outchar(z,val)
end
end;
connectcuri(<:v:>);
write(z,false,6);
setposition(z,0,1);
outrec6(z,10);
begin
real procedure Y(x);
real x;
algol copy.yfx;
if first then
begin
if formmode=2 then xsize:=5
else
begin
if xsize<=0 then xsize:=readr(<:xsize:>);
if ysize<=0 then ysize:=readr(<:ysize:>)
end;
first:=false
end;
N:=2**9-1;
x:=readr(<:xmin:>);
xm:=readr(<:xmax:>);
dx:=(xm-x)/N;
if x<xmin then xmin:=x;
if xm>xmax then xmax:=xm;
z.fi:=-1; z.fx:=x; z.fy:=y:=Y(x);
if y<ymin then ymin:=y;
if y>ymax then ymax:=y;
outrec6(z,10);
z.fi:=-2; z.fx:=x; z.fy:=y;
for x:=x+dx while x<=xm do
begin
outrec6(z,10);
z.fi:=0; z.fx:=x; z.fy:=y:=Y(x);
if y<ymin then ymin:=y else if y>ymax then ymax:=y
end;
outrec6(z,10);
z.fi:=8000000;
getposition(z,0,segm); getzone6(z,ZD);
setposition(z,0,0); swoprec(z,128);
z(117):=formmode; z(118):=xsize; z(119):=ysize;
z(120):=(lin+2)*.7;
z(125):=xmin; z(126):=xmax;
z(127):=ymin; z(128):=ymax;
setposition(z,0,segm); setzone6(z,ZD);
end; fpproc(7,0,0,0)
end
if ok.yes warning.no
if 1.yes
(c=message syntax error in
c=copy message.no fx
c=char nl
end)
lookup execplot
if ok.no
i execplotxt
o c
points=map fx
execplot points plotter.houstona
if ok.no
(c=message plotting not ok
end)
c=message plotting finished
▶EOF◀