DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦6db127891⟧ TextFile

    Length: 2304 (0x900)
    Types: TextFile
    Names: »tsymin«

Derivation

└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
    └─⟦b2ec5d50f⟧ 
        └─⟦09b4e9619⟧ »thcømat« 
            └─⟦this⟧ 

TextFile

\f


message symin

symin=algol message.no
external
boolean procedure symin(n,a);
value n; integer n; array a;
begin
  integer i,i1,j,k,t,ti,tj,tk;
  real x,y,z;
  ti:=0;
  for i:=1 step 1 until n do 
  begin
    i1:=i-1;
    tj:=0;
    for j:=1 step 1 until i1 do 
    begin
      x:=a(ti+j);
      for k:=j-1 step -1 until 1 do x:=x-a(ti+k)*a(tj+k);
      a(ti+j):=x;
      tj:=tj+j 
    end;
    x:=a(ti+i);
    for k:=i-1 step -1 until 1 do 
    begin
      y:=a(ti+k);
      z:=a(ti+k):=y*a(k*(k+1)/2);
      x:=x-y*z 
    end;
    if x= 0 then 
    begin
      symin:=false;
      goto S 
    end;
    ti:=ti+i;
    a(ti):=1/x
  end;
  tk:=0;
  ti:=1;
  for i:=2 step 1 until n do 
  begin
    tj:=ti;
    for j:=2 step 1 until i do 
    begin
      tj:=tj+1;
      x:=-a(tj);
      t:=tk+j-1;
      for k:=i-1 step -1 until j do 
      begin
        x:=x-a(ti+k)*a(t);
        t:=t-k+1 
      end;
      a(tj):=x 
    end;
    tk:=ti;
    ti:=ti+i
  end;
  tj:=0;
  for j:=1 step 1 until n do 
  begin
    ti:=tj;
    for i:=j step 1 until n do 
    begin
      t:=ti+j;
      i1:=ti+i;
      x:=a(t);
      if i<>j then 
      begin
        tk:=i1;
        for k:=i+1 step 1 until n do 
        begin
          x:=x+a(tk+i)*a(tk+j);
          tk:=tk+k 
        end
      end
      else 
      begin
        tk:=i1;
        for k:=i+1 step 1 until n do 
        begin
          y:=a(tk+j);
          z:=a(tk+j):=a(tk+k)*y;
          x:=x+y*z;
          tk:=tk+k 
        end 
      end;
      a(t):=x;
      ti:=i1 
    end;
    tj:=tj+j
  end;
  symin:=true;
S:
end symin
; end
▶EOF◀