|
|
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: 6144 (0x1800)
Types: TextFile
Names: »epz«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt.
└─⟦0364f57e3⟧
└─⟦this⟧ »epz«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦this⟧ »epz«
;pal
slet c416.procz
clear procz
beskyt c416.procz.11
procz=algol
Udglatning
external procedure z;
begin
integer i,j,k,h,l,m,n,u,t,N,p,a,norm,max;
real npf,tm,umax,fmax,bmin,nsum;
array spname(1:2), maname(1:2);
integer array sptail(1:10), matail(1:10);
zone sp, ma(128,1,stderror);
for i:=1 step 1 until 10 do sptail(i):=matail(i):=0;
write(out,<:NAME= :>); writeend; readstring(in,spname,1);
write(out,<:SNAME=:>); writeend; readstring(in,maname,1);
write(out,<:
a N=:>); outend(0); read(in,a,N);
n:=0;
p:=2*a;
open(sp,4,string inc(spname),0);
if monitor(42,sp,0,sptail) <> 0 then
begin
write(out,<:***:>,string inc(spname),<: unknown:>);
goto slut;
end;
matail(1):=400;
open(ma,4,string inc(maname),0);
if monitor(42,ma,0,matail)=0 then monitor(48,ma,0,matail);
monitor(40,ma,0,matail); monitor(50,ma,0,matail);
inrec(sp,128); matail(1):=1; outrec(ma,128);
matail(1):=sptail(1):=sp(1); t:=sp(2);
tm:=sp(8); bmin:=sp(11);
for j:=1 step 1 until 128 do ma(j):=sp(j);
begin array s(1:2*p), x(1:p+1);
if n=0 then begin
for i:=1 step 1 until p+1 do x(i):=1;
norm:=p+1;
end n=0;
if n=1 then begin
case a of
begin begin end;
begin end;
begin for i:=1 step 1 until a+1 do
x(i):=case i of(
-2,3,6,7);
for i:=1 step 1 until a do x(i+a+1):=x(a+1-i);
norm:=21;
end a=3;
begin for i:=1 step 1 until a+1 do
x(i):=case i of(
-21,14,39,54,59);
for i:=1 step 1 until a do x(i+a+1):=x(a+1-i);
norm:=231;
end a=4;
begin for i:=1 step 1 until a+1 do
x(i):=case i of(
-36,9,44,69,84,89);
for i:=1 step 1 until a do x(a+1+i):=x(a+1-i);
norm:=429;
end a=5;
begin for i:=1 step 1 until a+1 do
x(i):=case i of(
-11,0,9,16,21,24,25);
for i:=1 step 1 until a do x(a+1+i):=x(a+1-i);
norm:=143;
end a=6;
begin end;
begin for i:=1 step 1 until a+1 do
x(i):=case i of(
-21,-6,7,18,27,34,39,42,43);
for i:=1 step 1 until a do x(i+a+1):=x(a+1-i);
norm:=323;
end a=8;
begin end;
begin end;
begin end;
begin for i:=1 step 1 until a+1 do
x(i):=case i of(
-253,-138,-33,62,147,222,287,322,387,422,447,462,467
);
for i:=1 step 1 until a do x(i+a+1):=x(a+1-i);
norm:=5175;
end a=12;
end;
end n=1;
if n=2 then begin
case a of
begin begin end;
begin end;
begin end;
begin end;
begin end;
begin end;
begin end;
begin end;
begin end;
begin end;
begin end;
begin for i:=1 step 1 until a+1 do
x(i):=case i of(
1265,-345,-1122,-1255,-915,-255,590,1503,
2385,3155,3750,4125,4253);
for i:=1 step 1 until a do x(i+a+1):=x(a+1-i);
norm:=30015;
end a=12;
end;
end n=2;
h:=0;
start: h:=h+1; setposition(sp,0,2); inrec(sp,128);
setposition(ma,0,2); outrec(ma,128);
for k:=0 step 1 until sptail(1)-3 do
begin
for j:=1 step 1 until 128-p do
begin
u:=k*128+j;
if u<t-p then
begin
nsum:=0;
for l:=0 step 1 until p do
nsum:=sp(l+j)*x(l+1) + nsum;
ma(j+a):=nsum/norm;
end;
end j;
if u<t-p then
begin
for i:=1 step 1 until p do s(i):=sp(i+128-p);
inrec(sp,128);
for i:=1 step 1 until p do s(i+p):=sp(i);
for j:=1 step 1 until p do
begin
u:=k*128+128-p+j;
if u<t-p then
begin
nsum:=0;
for l:=0 step 1 until p do
nsum:=s(l+j)*x(l+1) + nsum;
s(j):=nsum/norm;
end;
end j;
for j:=1 step 1 until a do ma(j+128-a):=s(j);
outrec(ma,128);
for j:=1 step 1 until a do ma(j):=s(j+a);
end;
end k;
monitor(44,ma,15,matail);
setposition(ma,0,2);
max:=0;
for k:=0 step 1 until sptail(1)-3 do
begin
inrec(ma,128);
for j:=1 step 1 until 128 do
begin
u:=k*128+j;
if u>a and u<t-a then
begin if ma(j)>max then begin max:=ma(j); umax:=u; end; end;
end j;
end;
setposition(out,0,0); write(out,<< d>,h);
if h<N then goto start;
setposition(sp,0,2); inrec(sp,128);
setposition(ma,0,2); swoprec(ma,128);
for j:=1 step 1 until a do ma(j):=sp(j);
fmax:=bmin+umax/10;
write(out,<:
max= :>,<< dddddddd>,max,<: fmax = :>,<< ddd>,fmax, <: cm-1:>);
close(sp,true); close(ma,true);
end blok;
slut:
end;
end
▶EOF◀