summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/computational-complexity/ccalgo.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/computational-complexity/ccalgo.sty')
-rw-r--r--Master/texmf-dist/tex/latex/computational-complexity/ccalgo.sty581
1 files changed, 581 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/computational-complexity/ccalgo.sty b/Master/texmf-dist/tex/latex/computational-complexity/ccalgo.sty
new file mode 100644
index 00000000000..9171a0d01b3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/computational-complexity/ccalgo.sty
@@ -0,0 +1,581 @@
+%%
+%% This is file `ccalgo.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cc.dtx (with options: `ccalgo,chartab')
+%%
+%% This is a generated file.
+%%
+%% Copyright 2000-2003
+%% Michael N"usken, Joachim von zur Gathen, computational complexity
+%%
+%% IMPORTANT NOTICE:
+%%
+%% You are *not* allowed to modify this file.
+%%
+%% You are *not* allowed to distribute this file.
+%% For distribution of the original source see the terms
+%% for copying and modification in the file cc.dtx.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{ccalgo}[2005/08/27 v2.04
+ algorithm environment for cc. Michael Nuesken, Bonn.]
+\let\namedalgorithm\@undefined
+\let\endnamedalgorithm\@undefined
+\let\algorithm\@undefined
+\let\endalgorithm\@undefined
+{\def\algonumerate@item[#1]{%
+ \if@noparitem
+ \@donoparitem
+ \else
+ \if@inlabel
+ \indent \par
+ \fi
+ \ifhmode
+ \unskip\unskip \par
+ \fi
+ \if@newlist
+ \if@nobreak
+ \@nbitem
+ \else
+ \addpenalty\@beginparpenalty
+ \addvspace\@topsep
+ \addvspace{-\parskip}%
+ \fi
+ \else
+ \addpenalty\@itempenalty
+ \addvspace\itemsep
+ \fi
+ \global\@inlabeltrue
+ \fi
+ \everypar{%
+ \@minipagefalse
+ \global\@newlistfalse
+ \if@inlabel
+ \global\@inlabelfalse
+ {\setbox\z@\lastbox
+ \ifvoid\z@
+ \kern-\itemindent
+ \fi}%
+ \box\@labels
+ \penalty\z@
+ \fi
+ \if@nobreak
+ \@nobreakfalse
+ \clubpenalty \@M
+ \else
+ \clubpenalty \@clubpenalty
+ \everypar{}%
+ \fi}%
+ \if@noitemarg
+ \@noitemargfalse
+ \if@nmbrlist
+ \refstepcounter\@listctr
+ \fi
+ \fi
+ \sbox\@tempboxa{\makelabel{#1}}%
+ \global\setbox\@labels\hbox{%
+ \unhbox\@labels
+ \hskip \itemindent
+ \hskip -\labelwidth
+ \hskip -\labelsep
+ \ifdim \wd\@tempboxa >\labelwidth
+ \box\@tempboxa
+ \else
+ \hbox to\labelwidth {\unhbox\@tempboxa}%
+ \fi
+ \hskip \labelsep}%
+ \ignorespaces}
+\ifx\algonumerate@item\@item\else
+\PackageWarningNoLine{ccalgo}{%
+ Command \protect\@item\space has changed.\MessageBreak
+ Check if current package is valid}
+\fi}
+\RequirePackage{theorem}
+\RequirePackage{thcc}
+\RequirePackage{relabel}
+\def\list@parshape{%
+ %%\typeout{parshape 1 \the\@totalleftmargin+\the\linewidth}%
+ \parshape \@ne \@totalleftmargin \linewidth}
+\newdimen\reinit@list@last
+\def\reinit@list#1{%
+ \advance\itemindent\reinit@list@last
+ \advance\@totalleftmargin-\reinit@list@last
+ \advance\linewidth\reinit@list@last
+ \global\reinit@list@last#1\relax
+ \ifdim\reinit@list@last>\algonumerate@maxindent
+ \global\reinit@list@last\algonumerate@maxindent\fi
+ \advance\itemindent-\reinit@list@last
+ \advance\@totalleftmargin\reinit@list@last
+ \advance\linewidth-\reinit@list@last
+ %%\typeout{\the\@totalleftmargin + \the\linewidth}%
+ \list@parshape}
+\def\reinit@list@label{%
+ \reinit@list{\wd\@tempboxa}%
+ }
+\newcommand{\makealgolabel}[1]{#1.}
+\newcommand{\makeoptalgolabel}[1]{(#1)}
+\let\makeoptalgocurrentlabel\makeoptalgolabel
+\newcounter{algonumerate}
+\defprefix{algonumerate}{}
+\newcount\algonumerate@items
+\renewcommand{\thealgonumerate}{%
+ \expandafter\ifnum\value{algonumerate}<\@ne
+ \algonumfield%
+ \else
+ \arabic{algonumerate}\fi}%
+\def\algonumfield{\ignorespaces
+ \ifx\@algonumfield\relax\else
+ \expandafter\@algonumfield\csname c@algonumerate\endcsname\fi
+ \unskip}
+\newif\if@speciallabel
+\newcommand{\labelalgonumerate}{%
+ \count@\value{algonumerate}%
+ \ifnum\count@<\z@
+ \algonumfield:%
+ \else
+ \makealgolabel{\thealgonumerate}\fi
+ }%
+\newdimen\algo@labelsep
+\newdimen\steplabelwidth
+\newtoks\AtNextItem
+\newif\if@requireditemscomplete
+\newcommand{\algonumerate@label}[1]{%
+ \def\@tempa{#1}\def\@tempc{\@itemlabel}%
+ %%\show\@tempa\show\@tempc
+ \ifx\@tempa\@tempc\global\@speciallabelfalse
+ \else\global\@speciallabeltrue\fi
+ \expandafter\ifnum\value{algonumerate}<\z@
+ #1\hskip\algo@labelsep%
+ \else
+ \ifx\@tempa\@empty
+ \hskip\steplabelwidth\hskip\algo@labelsep
+ \else
+ \hb@xt@\steplabelwidth{\hss
+ \hb@xt@\steplabelwidth{\hfill
+ \if@speciallabel
+ \makeoptalgolabel{#1}%
+ \else
+ #1%
+ \fi
+ }}\hskip\algo@labelsep%
+ \fi\fi
+ \global\let\algonumerate@global\global
+ \gdef\global{\algonumerate@global\let\global\algonumerate@global
+ \expandafter\count@\value{algonumerate}%
+ %%{\tracingall\nonstopmode\showbox\@tempboxa}%
+ \ifnum\count@=\m@ne
+ \stepcounter{algonumerate}%
+ \fi
+ \ifnum\count@=\z@
+ \if@requireditemscomplete\else
+ \global\@requireditemscompletetrue
+ \ifnum\algonumerate@items>\z@\medskip\fi
+ \fi
+ \fi
+ \ifnum\count@=\@ne
+ \if@requireditemscomplete\else
+ \global\@requireditemscompletetrue
+ \ifnum\algonumerate@items>\z@\medskip\fi
+ \fi
+ \fi
+ \if@speciallabel
+ \protected@edef\@currentlabel{\csname p@\@listctr\endcsname
+ {\makeoptalgocurrentlabel{#1}}}%
+ \protected@edef\@bare@currentlabel{#1}%
+ \fi
+ \global\let\latest@item@currentlabel\@currentlabel
+ \global\let\latest@item@bare@currentlabel\@bare@currentlabel
+ \global\@speciallabeltrue
+ \the\AtNextItem \global\AtNextItem{}%
+ \reinit@list@label
+ \global}%
+ }
+\newdimen\algonumerate@maxindent
+\AtBeginDocument{\ifdim\algonumerate@maxindent=\z@
+ \algonumerate@maxindent.2\textwidth\fi}
+\def\algonumerateinit#1{%
+ \def\@algonumfield{}%
+ \let\ccorg@or\or\let\or\relax
+ \algonumerate@items\z@
+ \@for\@tempa:=#1\do{%
+ \advance\algonumerate@items\@ne
+ \@temptokena\expandafter{\@tempa}%
+ \toks@\expandafter{\@algonumfield}%
+ \edef\@algonumfield{\the\@temptokena\or\the\toks@}%
+ }%
+ \let\or\ccorg@or
+ \toks@\expandafter{\@algonumfield}%
+ \edef\@algonumfield##1{\noexpand\ifcase-##1\noexpand\or
+ \the\toks@\noexpand\fi}%
+ }
+\newenvironment{algonumerate}{%
+ \if@inlabel~\fi\par
+ \list{\labelalgonumerate}{%
+ \usecounter{algonumerate}%
+ \let\makelabel\algonumerate@label
+ \parsep\z@%
+ \topsep\z@%
+ \itemsep\z@%
+ \parskip\z@%
+ %\leftmargin\z@
+ %\algo@labelsep\labelsep
+ %\labelsep\z@
+ \leftmargin\labelsep
+ \algo@labelsep\z@
+ \settowidth\steplabelwidth{\makealgolabel{99}}%
+ \labelwidth\z@
+ \global\reinit@list@last\z@
+ }%
+ \setcounter{algonumerate}{-\algonumerate@items}%
+ \ifnum\algonumerate@items>\z@
+ \addtocounter{algonumerate}\m@ne
+ \global\@requireditemscompletefalse
+ \else
+ \global\@requireditemscompletetrue
+ \fi
+ \setcounter{block@cnt}\z@
+ \let\step\algo@step
+ \let\block\algo@block
+ \let\endblock\endalgo@block
+ \let\range\algo@range
+ \let\endrange\endalgo@range
+ \let\indention\algo@indention
+ \let\endindention\endalgo@indention
+ \let\body\algo@block
+ \let\endbody\endalgo@block
+ \let\meta\algo@meta
+ \let\endmeta\endalgo@meta
+ }{%
+ \endlist\vskip\topskip}
+\newdimen\blockindent \blockindent\parindent
+\newcounter{block@cnt}
+\newcommand{\nextblock}{%
+ \stepcounter{block@cnt}\edef\currentblock{\arabic{block@cnt}}%
+ }
+\newif\if@trivialrange
+\newcommand{\refsetrange}[2]{%
+ {\shortlabeltrue
+ \let\@tempa\relax
+ \protected@edef\@tempa{%
+ \csname r@\the\algorithmmasterkey-#1\endcsname}%
+ %%\show\@tempa
+ \let\@tempc\relax
+ \protected@edef\@tempc{%
+ \csname r@\the\algorithmmasterkey-#2\endcsname}%
+ %%\show\@tempc
+ \ifx\@tempa\@tempc\global\@trivialrangetrue
+ \else\global\@trivialrangefalse\fi
+ }%
+ \if@trivialrange
+ \protected@edef\@currentlabel{}%
+ \else
+ \protected@edef\@currentlabel{%
+ \csname p@\@listctr\endcsname{%
+ \protect\short\protect\ref{\the\algorithmmasterkey-#1}%
+ --%
+ \protect\short\protect\ref{\the\algorithmmasterkey-#2}%
+ }}%
+ \fi
+ \protected@edef\@bare@currentlabel{%
+ \protect\bare\protect\ref{\the\algorithmmasterkey-#1}%
+ --%
+ \protect\bare\protect\ref{\the\algorithmmasterkey-#2}%
+ }%
+ }
+\newenvironment{algo@range}{%
+ \par
+ \stepcounter{block@cnt}\edef\block@{\arabic{block@cnt}}%
+ \refsetrange{bob\block@}{eob\block@}%
+ \AtNextItem{\algolabel{bob\block@}}%
+ }{%
+ \algolabel{eob\block@}%
+ \par
+ \global\let\algo@block@currentlabel\@currentlabel
+ \global\let\algo@block@bare@currentlabel\@bare@currentlabel
+ \aftergroup\algo@endrange@aftergroup
+ }
+\def\algo@endrange@aftergroup{%
+ \let\@currentlabel\latest@item@currentlabel
+ \let\@bare@currentlabel\latest@item@bare@currentlabel
+ }
+\newenvironment{algo@indention}{%
+ \par
+ \if@requireditemscomplete
+ \advance\leftmargin\blockindent
+ \advance\labelsep\blockindent
+ \advance\@totalleftmargin\blockindent
+ \advance\linewidth-\blockindent
+ \def\algo@indention@undo{%
+ \advance\leftmargin-\blockindent
+ \advance\labelsep-\blockindent
+ \advance\@totalleftmargin-\blockindent
+ \advance\linewidth\blockindent
+ }
+ \list@parshape
+ \else
+ \let\algo@indention@undo\relax
+ \fi
+ }{%
+ \par
+ \algo@indention@undo
+ \list@parshape
+ \aftergroup\list@parshape
+ \global\let\algo@block@currentlabel\@currentlabel
+ \global\let\algo@block@bare@currentlabel\@bare@currentlabel
+ \aftergroup\algo@endrange@aftergroup
+ }
+\newif\ifindented@block
+\newenvironment{algo@block}{%
+ \indented@blockfalse
+ \if@requireditemscomplete\indented@blocktrue\fi
+ \ifindented@block\algo@indention
+ \else
+ \sbox\@tempboxa{\makelabel{}}%
+ \fi
+ \algo@range}{%
+ \endalgo@range
+ \ifindented@block\endalgo@indention\fi
+ }
+\newdimen\meta@indent
+\newenvironment{algo@meta}{%
+ \@newlistfalse
+ \vskip\topskip
+ \par
+ %%\meta@indent\leftmargin
+ %%\advance\meta@indent\algo@labelsep
+ %%\advance\meta@indent\steplabelwidth
+ \meta@indent\@totalleftmargin
+ \advance\labelsep-\meta@indent
+ \advance\@totalleftmargin-\meta@indent
+ \advance\linewidth\meta@indent
+ \advance\leftmargin-\meta@indent
+ \list@parshape
+ }{%
+ \vskip\topskip
+ \par
+ \advance\labelsep\meta@indent
+ \advance\@totalleftmargin\meta@indent
+ \advance\linewidth-\meta@indent
+ \advance\leftmargin\meta@indent
+ \aftergroup\list@parshape
+ }
+\newcommand{\algo@step}[2][]{%
+ \expandafter\ifnum\value{algonumerate}<\m@ne
+ \PackageError{ccalgo}{Missing \protect\item}{}%
+ \fi
+ \cc@ifempty{#1}{\item}{\item[#1]}%
+ \def\@tempa{#2}\ifx\@tempa\@empty\else\algolabel{#2}\fi%
+ }
+\newtoks\algotitle
+\theorembodyfont{}%
+\theoremstyle{ccalgonn}
+\newtheorem{named@lg@r@thm*}{\the\algotitle}
+\defprefix{named@lg@r@thm*}#1{\the\algotitle}
+\theoremstyle{ccalgo}
+\newtheorem{named@lg@r@thm}{\the\algotitle}
+\defprefix{named@lg@r@thm}#1{\the\algotitle~#1}
+\let\c@named@lg@r@thm\c@namedth@@r@m
+\let\thenamed@lg@r@thm\thenamedth@@r@m
+\babel\def\babelInput{Input}[german=Eingabe,french=Entr\'ee]
+\babel\def\babelOutput{Output}[german=Ausgabe,french=Sortie]
+\babel\def\babelstep{step}[german=Schritt,french=pas]%% ??? pas?
+\babel\def\babelStep{Step}[german=Schritt,french=Pas]%% ??? pas?
+\newtoks\algorithmmasterkey
+\newenvironment{namedalgorithm}[1]{%
+ \pagebreak[3]%
+ \def\algo@theorem{named@lg@r@thm}%
+ \algotitle{#1}%
+ \n@medalgorithm}
+{\endalgonumerate\csname end\algo@theorem\endcsname}
+\newenvironment{namedalgorithm*}[1]{%
+ \def\algo@theorem{named@lg@r@thm*}%
+ \algotitle{#1}%
+ \n@medalgorithm}
+{\endalgonumerate\csname end\algo@theorem\endcsname}
+\newcommand{\n@medalgorithm}[2][\babelInput,\protect\babelOutput]{%
+ \algonumerateinit{#1}%
+ \algorithmmasterkey{#2}%
+ \edef\@tempa{\the\algorithmmasterkey}\ifx\@tempa\@empty
+ \PackageError{ccalgo}{Empty key for algorithm like environment}{}\fi%
+ \n@m@d@lgorithm}
+\newcommand{\n@m@d@lgorithm}[1][]{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty\csname\algo@theorem\endcsname
+ \else\csname\algo@theorem\endcsname[#1]\fi%
+ \label{\the\algorithmmasterkey}%
+ \algo@keywords
+ \defprefix{algonumerate}{%
+ \Iflabelchanged{\algo@theorem}{\uselabel{\algo@theorem} %
+ \ifnum\c@algonumerate>\z@ \babelstep~\fi}}%
+ \algonumerate
+ }%
+\def\algolabel#1{\label{\the\algorithmmasterkey-#1}}%
+\newcommand{\stepref}[2]{\babelStep~\short\ref{#1-#2} in \whole\ref{#1}}
+\newcommand{\newalgorithm}[2]{%
+ \def\newalgo@name{#1}%
+ \def\newalgo@title{#2}%
+ \n@walgorithm}
+\newcommand{\n@walgorithm}[1][\babelInput,\protect\babelOutput]{%
+ \protected@edef\@tempa{%
+ \noexpand\newenvironment{\newalgo@name}%
+ {\noexpand\namedalgorithm{\newalgo@title}[\noexpand#1]}%
+ {\noexpand\endnamedalgorithm}%
+ \noexpand\newenvironment{\newalgo@name*}%
+ {\noexpand\csname namedalgorithm*\endcsname
+ {\newalgo@title}[\noexpand#1]}%
+ {\noexpand\csname endnamedalgorithm*\endcsname}%
+ }\@tempa
+ }
+\babel\def\algorithmname{Algorithm}[%
+ german=Algorithmus,french=Algorithme]
+\newalgorithm{algorithm}{\protect\algorithmname}
+\def\algo@keywords{%
+ \def\keyword##1{\textsf{##1} \ignorespaces}%
+ \babel\def\FOR{\keyword{For}}[german=\keyword{F{\"{u}}r}]%
+ \babel\def\DO{\keyword{do}}[german=\keyword{erledige}]%
+ \babel\def\endFOR{}[]%
+ \babel\def\WHILE{\keyword{While}}[german=\keyword{Solange}]%
+ \babel\def\endWHILE{}[]%
+ \babel\def\REPEAT{\keyword{Repeat}}[german=\keyword{Wiederhole}]%
+ \babel\def\UNTIL{\keyword{Until}}[german=\keyword{Bis}]%
+ \babel\def\IF{\keyword{If}}[german=\keyword{Falls}]%
+ \babel\def\THEN{\keyword{then}}[german=\keyword{dann}]%
+ \babel\def\ELIF{\keyword{Else if}}[german=\keyword{Sonst wenn}]%
+ \babel\def\ELSE{\keyword{Else}}[german=\keyword{Sonst}]%
+ \babel\def\endIF{}[]%
+ \babel\def\CALL{\keyword{Call}}[german=\keyword{Rufe}]%
+ \babel\def\RETURN{\keyword{Return}}[german=\keyword{Antworte}]%
+ \expandafter\selectlanguage\expandafter{\languagename}
+ \def\COMMENT##1{$\{$ ##1 $\}$}%
+ }
+\newcommand{\optitem}[1]{%
+ \cc@ifempty{#1}{\if@inlabel\par\else\item\fi}{\item[#1]}%
+ }
+\newcommand{\algoprettify}[3]{%
+ \setbox2\hbox{#1}%
+ \setbox4\hbox{#2}%
+ \setbox6\hbox{#3}%
+ \setbox0\hbox{\unhcopy2\unhcopy4{ }\unhcopy6}%
+ \ifdim\wd0<\linewidth
+ \unhbox0
+ \else
+ \dimen0=\linewidth \advance\dimen0 by -\wd2
+ \unhbox2\parbox[t]{\dimen0}{\unhbox4\strut}\par\unhbox6
+ \fi
+ }
+\newenvironment{ifblock}[2][]
+{%
+ \optitem{#1}%
+ \nextblock
+ \algolabel{if\currentblock}%
+ \algoprettify{\IF}{#2}{\THEN}
+ \indention
+ \refsetrange{if\currentblock}{endif\currentblock}%
+ }
+{%
+ \algolabel{endif\currentblock}%
+ \endindention}
+\newenvironment{elifblock}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \algoprettify{\ELIF}{#2}{\THEN}
+ \algolabel{elif\currentblock}%
+ \indention
+ \refsetrange{elif\currentblock}{endelif\currentblock}%
+ }{%
+ \algolabel{endelif\currentblock}%
+ \endindention}
+\newenvironment{elseblock}[1][]{%
+ \optitem{#1}%
+ \nextblock
+ \ELSE%
+ \algolabel{else\currentblock}%
+ \indention
+ \refsetrange{else\currentblock}{endelse\currentblock}%
+ }{%
+ \algolabel{endelse\currentblock}%
+ \endindention}
+\newenvironment{forblock}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \algoprettify{\FOR}{#2}{%
+ \DO \short\ref{\the\algorithmmasterkey-body\currentblock}}%
+ \algolabel{for\currentblock}%
+ \block\algolabel{body\currentblock}%
+ \refsetrange{for\currentblock}{endfor\currentblock}%
+ }{%
+ \algolabel{endfor\currentblock}%
+ \endblock}
+\newenvironment{whileblock}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \algoprettify{\WHILE}{#2}{%
+ \DO \short\ref{\the\algorithmmasterkey-body\currentblock}}%
+ \algolabel{while\currentblock}%
+ \block
+ \algolabel{body\currentblock}%
+ \refsetrange{while\currentblock}{endwhile\currentblock}%
+ }{%
+ \algolabel{endwhile\currentblock}%
+ \endblock}
+\newenvironment{untilblock}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \algoprettify{\UNTIL}{#2}{%
+ \DO \short\ref{\the\algorithmmasterkey-body\currentblock}}%
+ \algolabel{until\currentblock}%
+ \block
+ \algolabel{body\currentblock}%
+ \refsetrange{until\currentblock}{enduntil\currentblock}%
+ }{%
+ \algolabel{enduntil\currentblock}%
+ \endblock}
+\newenvironment{blockuntil}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \def\repeat@cond{#2}%
+ \REPEAT \short\ref{\the\algorithmmasterkey-body\currentblock}%
+ \algolabel{repeat\currentblock}%
+ \block
+ \algolabel{body\currentblock}%
+ \refsetrange{repeat\currentblock}{endrepeat\currentblock}%
+ }{%
+ \endblock
+\item
+ \algolabel{endrepeat\currentblock}%
+ \algoprettify{\UNTIL}{\repeat@cond}{}}
+\newenvironment{blockwhile}[2][]{%
+ \optitem{#1}%
+ \nextblock
+ \def\repeat@cond{#2}%
+ \REPEAT \short\ref{\the\algorithmmasterkey-body\currentblock}%
+ \algolabel{repeat\currentblock}%
+ \block
+ \algolabel{body\currentblock}%
+ \refsetrange{repeat\currentblock}{endrepeat\currentblock}%
+ }{%
+ \endblock
+\item
+ \algolabel{endrepeat\currentblock}%
+ \algoprettify{\WHILE}{\repeat@cond}{}}
+\endinput
+%%
+%% End of file `ccalgo.sty'.