Metropoli BBS
VIEWER: rwrd.src MODE: TEXT (ASCII)
%%HP:T(3);
@ RWRD - Matrix Row Reduction ( matrix - reduced matrix )
@ Robert T. Wilson - University of Iowa
\<< DUP OBJ\-> OBJ\-> DROP \-> r c \<< r r 1 \-> m n s \<<
   1 r START c \->ARRY DEPTH ROLLD NEXT 1 r START DEPTH ROLL NEXT
   1 r START 0 's' STO
    1 c FOR z IF DUP z GET 0 \=/ THEN z 's' STO c 'z' STO END NEXT
    IF s 0 > THEN DUP s GET IF 1 \=/ THEN DUP s GET / END
     1 r 1 - START
      r ROLL IF DUP s GET 0 \=/ THEN DUP2 s GET * - 1 'n' STO END SWAP
     NEXT
    END
    r ROLLD
   NEXT
   r 'n' STO
   1 c FOR z 1 r FOR y
     IF DUP z GET 1 == THEN
      n ROLLD 'n' DECR IF 1 == THEN r 'y' STO c 'z' STO END ELSE n ROLLD END
   NEXT NEXT
  1 r START DEPTH ROLLD NEXT 1 r START DEPTH ROLL OBJ\-> DROP NEXT
  r c 2 \->LIST \->ARRY
\>> \>> \>>

[ RETURN TO DIRECTORY ]