|
|
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: 2304 (0x900)
Types: TextFile
Names: »testplotfx«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦this⟧ »testplotfx«
program for interactiv plotting of f(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;
Y:=
1; 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:=maxinteger;
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
end
▶EOF◀