%% %% This is file `flags.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% flags.dtx (with options: `package') %% %% This is a generated file. %% %% Copyright (C) 2007 by Heiko Oberdiek %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3 of this license or (at your option) any later %% version. The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% %% This work has the LPPL maintenance status "maintained". %% %% This Current Maintainer of this work is Heiko Oberdiek. %% %% This work consists of the main source file flags.dtx %% and the derived files %% flags.sty, flags.pdf, flags.ins, flags.drv. %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{flags}% [2007/02/18 v0.1 Flag setting in bit fields (HO)] \newcommand*{\resetflags}[1]{% \expandafter\let\csname flags@#1\endcsname\@empty } \newcommand*{\printflags}[1]{% \expandafter\@printflags\csname flags@#1\endcsname } \def\@printflags#1{% \expandafter\@firstofone\expandafter{% \number\numexpr \ifx#1\@empty 0% \else \expandafter\@@printflags#1% \fi }% } \def\@@printflags#1#2\fi{% \fi #1% \ifx\\#2\\% \else +2*\numexpr\expandafter\@@printflags#2% \fi } \newcommand*{\setflag}[2]{% \expandafter\@setflag\csname flags@#1\expandafter\endcsname \expandafter{\romannumeral\number\numexpr#2-1\relax000}% } \def\@setflag#1#2{% \edef#1{% \expandafter\@@setflag\expandafter{#1}{#2}% }% } \def\@@setflag#1#2{% \ifx\\#1\\% \FLAGS@zero#2\relax 1% \else \ifx\\#2\\% 1\@gobble#1% \else \@car#1\@nil \expandafter\@@@setflag\expandafter{\@gobble#2}{#1}% \fi \fi } \def\@@@setflag#1#2\fi\fi{% \fi\fi \expandafter\@@setflag\expandafter{\@cdr#2\@nil}{#1}% } \newcommand*{\clearflag}[2]{% \expandafter\@clearflag\csname flags@#1\expandafter\endcsname \expandafter{\romannumeral\number\numexpr#2-1\relax000}% } \def\@clearflag#1#2{% \edef#1{% \expandafter\@@clearflag\expandafter{#1}{#2}% }% } \def\@@clearflag#1#2{% \ifx\\#1\\% \else \ifx\\#2\\% 0\@gobble#1% \else \@car#1\@nil \expandafter\@@@clearflag\expandafter{\@gobble#2}{#1}% \fi \fi } \def\@@@clearflag#1#2\fi\fi{% \fi\fi \expandafter\@@clearflag\expandafter{\@cdr#2\@nil}{#1}% } \def\FLAGS@zero#1{% \ifx#1\relax \else 0% \expandafter\FLAGS@zero \fi } \endinput %% %% End of file `flags.sty'.