|
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: 5376 (0x1500) Types: TextFile Names: »epzx«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦this⟧ »epzx« └─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦this⟧ »epzx«
clear user epz epz=set 1 disc5 scope user epz epz=algol RAMAN2 program: epz (Udglatning) external procedure epz; 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= :>); setposition(out,0,0); readstring(in,spname,1); write(out,<:SNAME=:>); setposition(out,0,0); readstring(in,maname,1); write(out,<: a N=:>); setposition(out,0,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◀