% HMLaTeX2e 34567890123456789012345678901234567890123456789012345678901234567890
%-------------------------------------------------------------------------------
\def\fileversion{2.4}
\def\filedate{1994/10/21}
\def\filename{random.sty}
\NeedsTeXFormat{LaTeX2e}[1993/12/01]
\ProvidesPackage{random}[\filedate\space Random rij lineair schuifregister]
%-------------------------------------------------------------------------------
%-------------------------------------------------------------------------------
% schuifregister gebaseerd op f(x)=1+x^21+x^22
% het register wordt \global bijgewerkt
\newcount\@SR
\def\@SRconst{2097152} % 2^21
% initialiseren van het schuifregister
\def\SRset#1{\global\@SR#1\relax\ignorespaces}	% niet moeilijk doen!
% initialisatie op constante stroom nullen
\SRset{0}
%-------------------------------------------------------------------------------
% advance het register een stap
\def\@SRadvance{
	\begingroup						% localiseer verandering \count@
	\ifnum\@SR<\@SRconst\relax
		\count@\z@
	\else
		\count@\@ne
	\fi
	\ifodd\@SR\advance\count@\@ne\fi
	\global\divide\@SR\tw@			% globale toekenning nieuwe waarde
	\ifodd\count@\global\advance\@SR\@SRconst\relax\fi
	\endgroup
	}
%-------------------------------------------------------------------------------
% produceer een bit
\def\SRbit{\@SRadvance\ifodd\@SR1\else0\fi}
%-------------------------------------------------------------------------------
% selectie en test; 0->#1, 1->#2
\def\SRtest#1#2{\@SRadvance\ifodd\@SR#2\else#1\fi\ignorespaces}
%-------------------------------------------------------------------------------
% geef actuele waarde van het register
\def\SRvalue{\number\@SR }
%-------------------------------------------------------------------------------
\endinput
