diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex')
84 files changed, 5255 insertions, 19 deletions
diff --git a/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf b/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf Binary files differindex d8f232c2205..721c61b3c8f 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/accsupp.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf b/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf Binary files differindex 5cb281e2c94..64d2075f792 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/aliascnt.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf b/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf Binary files differindex 80b0d68e2a3..5ecde69c044 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/alphalph.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf b/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf Binary files differindex e514d3da4ad..4b0ca47d8db 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/atbegshi.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf b/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf Binary files differindex c03fe6d863a..8bb1df67130 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/atenddvi.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf b/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf Binary files differindex 5b1c5a51921..436d28e819e 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/attachfile2.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf b/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf Binary files differindex df9b3d31017..c22e69a0bde 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/auxhook.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/bigintcalc-test1.tex b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc-test1.tex new file mode 100644 index 00000000000..acedbc7d1bf --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc-test1.tex @@ -0,0 +1,74 @@ +%% +%% This is file `bigintcalc-test1.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bigintcalc.dtx (with options: `test1') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 bigintcalc.dtx +%% and the derived files +%% bigintcalc.sty, bigintcalc.pdf, bigintcalc.ins, bigintcalc.drv, +%% bigintcalc-test1.tex, bigintcalc-test2.tex, +%% bigintcalc-test3.tex. +%% +\catcode`\@=11 % +\def\RestoreCatcodes{} +\count@=0 % +\loop + \edef\RestoreCatcodes{% + \RestoreCatcodes + \catcode\the\count@=\the\catcode\count@\relax + }% +\ifnum\count@<255 % + \advance\count@\@ne +\repeat + +\def\RangeCatcodeInvalid#1#2{% + \count@=#1\relax + \loop + \catcode\count@=15 % + \ifnum\count@<#2\relax + \advance\count@\@ne + \repeat +} +\def\Test{% + \RangeCatcodeInvalid{0}{47}% + \RangeCatcodeInvalid{58}{64}% + \RangeCatcodeInvalid{91}{96}% + \RangeCatcodeInvalid{123}{255}% + \catcode`\@=12 % + \catcode`\\=0 % + \catcode`\{=1 % + \catcode`\}=2 % + \catcode`\#=6 % + \catcode`\[=12 % + \catcode`\]=12 % + \catcode`\%=14 % + \catcode`\ =10 % + \catcode13=5 % + \input bigintcalc.sty\relax + \RestoreCatcodes +} +\Test +\csname @@end\endcsname +\end +\endinput +%% +%% End of file `bigintcalc-test1.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/bigintcalc-test2.tex b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc-test2.tex new file mode 100644 index 00000000000..3d34ec0e48f --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc-test2.tex @@ -0,0 +1,812 @@ +%% +%% This is file `bigintcalc-test2.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bigintcalc.dtx (with options: `test2,etex') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 bigintcalc.dtx +%% and the derived files +%% bigintcalc.sty, bigintcalc.pdf, bigintcalc.ins, bigintcalc.drv, +%% bigintcalc-test1.tex, bigintcalc-test2.tex, +%% bigintcalc-test3.tex. +%% +\NeedsTeXFormat{LaTeX2e} +\nofiles +\documentclass{article} +\makeatletter +\chardef\BIC@TestMode=1 % +\makeatother +\usepackage{bigintcalc}[2007/09/27] +\usepackage{qstest} +\IncludeTests{*} +\LogTests{log}{*}{*} +\newcommand*{\TestSpaceAtEnd}[1]{% + \edef\resultA{#1}% + \edef\resultB{#1 }% + \Expect*{\resultA\space}*{\resultB}% +} +\newcommand*{\TestResult}[2]{% + \edef\result{#1}% + \Expect*{\result}{#2}% +} +\newcommand*{\TestResultTwoExpansions}[2]{% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{#1}{#2}% +} +\newcount\TestCount +\newcommand*{\TestArg}[1]{\numexpr#1\relax} +\newcommand*{\TestTeXDivide}[2]{% + \TestCount=\TestArg{#1}\relax + \divide\TestCount by \TestArg{#2}\relax + \Expect*{\bigintcalcDiv{#1}{#2}}*{\the\TestCount}% +} +\newcommand*{\Test}[2]{% + \TestResult{#1}{#2}% + \TestResultTwoExpansions{#1}{#2}% + \TestSpaceAtEnd{#1}% +} +\newcommand*{\TestExch}[2]{\Test{#2}{#1}} +\newcommand*{\TestInv}[2]{% + \Test{\bigintcalcInv{#1}}{#2}% +} +\newcommand*{\TestAbs}[2]{% + \Test{\bigintcalcAbs{#1}}{#2}% +} +\newcommand*{\TestSgn}[2]{% + \Test{\bigintcalcSgn{#1}}{#2}% +} +\newcommand*{\TestMin}[3]{% + \Test{\bigintcalcMin{#1}{#2}}{#3}% +} +\newcommand*{\TestMax}[3]{% + \Test{\bigintcalcMax{#1}{#2}}{#3}% +} +\newcommand*{\TestCmp}[3]{% + \Test{\bigintcalcCmp{#1}{#2}}{#3}% +} +\newcommand*{\TestOdd}[2]{% + \Test{\bigintcalcOdd{#1}}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcOdd + \bigintcalcAbs{#1}!% + }{#2}% + }% + \x +} +\newcommand*{\TestInc}[2]{% + \Test{\bigintcalcInc{#1}}{#2}% + \ifnum\bigintcalcSgn{#1}>-1 % + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcInc\bigintcalcNum{#1}!% + }{#2}% + }% + \x + \fi +} +\newcommand*{\TestDec}[2]{% + \Test{\bigintcalcDec{#1}}{#2}% + \ifnum\bigintcalcSgn{#1}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcDec\bigintcalcNum{#1}!% + }{#2}% + }% + \x + \fi +} +\newcommand*{\TestAdd}[3]{% + \Test{\bigintcalcAdd{#1}{#2}}{#3}% + \ifnum\bigintcalcSgn{#1}>0 % + \ifnum\bigintcalcSgn{#2}> 0 % + \ifnum\bigintcalcCmp{#1}{#2}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcAdd + \bigintcalcNum{#1}!\bigintcalcNum{#2}!% + }{#3}% + }% + \x + \else + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcAdd + \bigintcalcNum{#2}!\bigintcalcNum{#1}!% + }{#3}% + }% + \x + \fi + \fi + \fi +} +\newcommand*{\TestSub}[3]{% + \Test{\bigintcalcSub{#1}{#2}}{#3}% + \ifnum\bigintcalcSgn{#1}>0 % + \ifnum\bigintcalcSgn{#2}> 0 % + \ifnum\bigintcalcCmp{#1}{#2}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcSub + \bigintcalcNum{#1}!\bigintcalcNum{#2}!% + }{#3}% + }% + \x + \fi + \fi + \fi +} +\newcommand*{\TestShl}[2]{% + \Test{\bigintcalcShl{#1}}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcShl\bigintcalcAbs{#1}!% + }{\bigintcalcAbs{#2}}% + }% + \x +} +\newcommand*{\TestShr}[2]{% + \Test{\bigintcalcShr{#1}}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcShr\bigintcalcAbs{#1}!% + }{\bigintcalcAbs{#2}}% + }% + \x +} +\newcommand*{\TestMul}[3]{% + \Test{\bigintcalcMul{#1}{#2}}{#3}% + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcMul + \bigintcalcAbs{#1}!\bigintcalcAbs{#2}!% + }{\bigintcalcAbs{#3}}% + }% + \x +} +\newcommand*{\TestSqr}[2]{% + \Test{\bigintcalcSqr{#1}}{#2}% +} +\newcommand*{\TestFac}[2]{% + \expandafter\TestExch\expandafter{% + \the\numexpr#2% + }{\bigintcalcFac{#1}}% +} +\newcommand*{\TestFacBig}[2]{% + \Test{\bigintcalcFac{#1}}{#2}% +} +\newcommand*{\TestPow}[3]{% + \Test{\bigintcalcPow{#1}{#2}}{#3}% +} +\newcommand*{\TestDiv}[3]{% + \Test{\bigintcalcDiv{#1}{#2}}{#3}% + \TestTeXDivide{#1}{#2}% +} +\newcommand*{\TestDivBig}[3]{% + \Test{\bigintcalcDiv{#1}{#2}}{#3}% + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcDiv\bigintcalcAbs{#1}!\bigintcalcAbs{#2}!% + }{\bigintcalcAbs{#3}}% + }% +} +\newcommand*{\TestMod}[3]{% + \Test{\bigintcalcMod{#1}{#2}}{#3}% + \ifcase\ifcase\bigintcalcSgn{#1} 0% + \or + \ifcase\bigintcalcSgn{#2} 1% + \or 0% + \else 1% + \fi + \else + \ifcase\bigintcalcSgn{#2} 1% + \or 1% + \else 0% + \fi + \fi\relax + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcMod + \bigintcalcAbs{#1}!\bigintcalcAbs{#2}!% + }{\bigintcalcAbs{#3}}% + }% + \x + \fi +} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfresettimer\endcsname\relax +\else + \makeatletter + \newcount\SummaryTime + \newcount\TestTime + \SummaryTime=\z@ + \newcommand*{\PrintTime}[2]{% + \typeout{% + [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]% + }% + }% + \newcommand*{\StartTime}[1]{% + \renewcommand*{\TimeDescription}{#1}% + \pdfresettimer + }% + \newcommand*{\TimeDescription}{}% + \newcommand*{\StopTime}{% + \TestTime=\pdfelapsedtime + \global\advance\SummaryTime\TestTime + \PrintTime\TimeDescription\TestTime + }% + \let\saved@qstest\qstest + \let\saved@endqstest\endqstest + \def\qstest#1#2{% + \saved@qstest{#1}{#2}% + \StartTime{#1}% + }% + \def\endqstest{% + \StopTime + \saved@endqstest + }% + \AtEndDocument{% + \PrintTime{summary}\SummaryTime + }% + \makeatother +\fi +\makeatletter + +\begin{qstest}{inv}{inv}% + \TestInv{0}{0}% + \TestInv{1}{-1}% + \TestInv{-1}{1}% + \TestInv{10}{-10}% + \TestInv{-10}{10}% + \TestInv{2147483647}{-2147483647}% + \TestInv{-2147483647}{2147483647}% + \TestInv{12345678901234567890}{-12345678901234567890}% + \TestInv{-12345678901234567890}{12345678901234567890}% + \TestInv{ 0 }{0}% + \TestInv{ 1 }{-1}% + \TestInv{--1}{-1}% + \TestInv{\number\z@}{0}% + \TestInv{\ifx\relax\relax1\fi}{-1}% + \TestInv{\ifx\relax\relax-\fi\ifx234\else1\fi}{1}% +\end{qstest} + +\begin{qstest}{abs}{abs}% + \TestAbs{0}{0}% + \TestAbs{1}{1}% + \TestAbs{-1}{1}% + \TestAbs{10}{10}% + \TestAbs{-10}{10}% + \TestAbs{2147483647}{2147483647}% + \TestAbs{-2147483647}{2147483647}% + \TestAbs{12345678901234567890}{12345678901234567890}% + \TestAbs{-12345678901234567890}{12345678901234567890}% + \TestAbs{ 0 }{0}% + \TestAbs{ 1 }{1}% + \TestAbs{--1}{1}% + \TestAbs{-+-+1}{1}% + \TestAbs{00000000000}{0}% + \TestAbs{00000001000}{1000}% + \TestAbs{\ifx\relax\relax 0\else 1\fi}{0}% +\end{qstest} + +\begin{qstest}{sign}{sign}% + \TestSgn{0}{0}% + \TestSgn{1}{1}% + \TestSgn{-1}{-1}% + \TestSgn{10}{1}% + \TestSgn{-10}{-1}% + \TestSgn{2147483647}{1}% + \TestSgn{-2147483647}{-1}% + \TestSgn{12345678901234567890}{1}% + \TestSgn{-12345678901234567890}{-1}% + \TestSgn{ 0 }{0}% + \TestSgn{ 2 }{1}% + \TestSgn{ -2 }{-1}% + \TestSgn{--2}{1}% + \TestSgn{\number\z@}{0}% + \TestSgn{\number\@ne}{1}% + \TestSgn{\number\m@ne}{-1}% + \TestSgn{% + -+-+\number\z@\number\z@ + \iftrue1\fi\iftrue2\fi\iftrue3\fi + }{1}% +\end{qstest} + +\begin{qstest}{min}{min}% + \TestMin{0}{1}{0}% + \TestMin{1}{0}{0}% + \TestMin{-10}{-20}{-20}% + \TestMin{ 1 }{ 2 }{1}% + \TestMin{ 2 }{ 1 }{1}% + \TestMin{1}{1}{1}% + \TestMin{\number\z@}{\number\@ne}{0}% + \TestMin{\number\@ne}{\number\m@ne}{-1}% +\end{qstest} + +\begin{qstest}{max}{max}% + \TestMax{0}{1}{1}% + \TestMax{1}{0}{1}% + \TestMax{-10}{-20}{-10}% + \TestMax{ 1 }{ 2 }{2}% + \TestMax{ 2 }{ 1 }{2}% + \TestMax{1}{1}{1}% + \TestMax{\number\z@}{\number\@ne}{1}% + \TestMax{\number\@ne}{\number\m@ne}{1}% +\end{qstest} + +\begin{qstest}{cmp}{cmp}% + \TestCmp{0}{0}{0}% + \TestCmp{-21}{17}{-1}% + \TestCmp{3}{4}{-1}% + \TestCmp{-10}{-10}{0}% + \TestCmp{-10}{-11}{1}% + \TestCmp{100}{5}{1}% + \TestCmp{9}{10}{-1}% + \TestCmp{10}{9}{1}% + \TestCmp{ 3 }{ 3 }{0}% + \TestCmp{-9}{-10}{1}% + \TestCmp{-10}{-9}{-1}% + \TestCmp{-3}{-3}{0}% + \TestCmp{0}{-2}{1}% + \TestCmp{0}{2}{-1}% + \TestCmp{2}{0}{1}% + \TestCmp{-2}{0}{-1}% + \TestCmp{12}{11}{1}% + \TestCmp{11}{12}{-1}% + \TestCmp{2147483647}{-2147483647}{1}% + \TestCmp{-2147483647}{2147483647}{-1}% + \TestCmp{2147483647}{2147483647}{0}% + \TestCmp{\number\z@}{\number\@ne}{-1}% + \TestCmp{\number\@ne}{\number\m@ne}{1}% + \TestCmp{ 4 }{ 5 }{-1}% + \TestCmp{ -3 }{ -7 }{1}% +\end{qstest} + +\begin{qstest}{odd}{odd} +\tracingmacros=1 + \TestOdd{0}{0}% + \TestOdd{1}{1}% + \TestOdd{2}{0}% + \TestOdd{3}{1}% + \TestOdd{14}{0}% + \TestOdd{15}{1}% + \TestOdd{12345678901234567896}{0}% + \TestOdd{12345678901234567897}{1}% +\end{qstest} + +\begin{qstest}{inc}{inc}% + \TestInc{0}{1}% + \TestInc{1}{2}% + \TestInc{-1}{0}% + \TestInc{10}{11}% + \TestInc{-10}{-9}% + \TestInc{ 3 }{4}% + \TestInc{999}{1000}% + \TestInc{-1000}{-999}% + \TestInc{129}{130}% + \TestInc{2147483646}{2147483647}% + \TestInc{-2147483647}{-2147483646}% + \TestInc{12345678901234567890}{12345678901234567891}% + \TestInc{99999999999999999999}{100000000000000000000}% + \TestInc{-12345678901234567891}{-12345678901234567890}% + \TestInc{-100000000000000000000}{-99999999999999999999}% +\end{qstest} + +\begin{qstest}{dec}{dec}% + \TestDec{0}{-1}% + \TestDec{1}{0}% + \TestDec{-1}{-2}% + \TestDec{10}{9}% + \TestDec{-10}{-11}% + \TestDec{1000}{999}% + \TestDec{-999}{-1000}% + \TestDec{130}{129}% + \TestDec{2147483647}{2147483646}% + \TestDec{-2147483646}{-2147483647}% + \TestDec{12345678901234567891}{12345678901234567890}% + \TestDec{100000000000000000000}{99999999999999999999}% + \TestDec{-12345678901234567890}{-12345678901234567891}% + \TestDec{-99999999999999999999}{-100000000000000000000}% +\end{qstest} + +\begin{qstest}{add}{add}% + \TestAdd{0}{0}{0}% + \TestAdd{1}{0}{1}% + \TestAdd{0}{1}{1}% + \TestAdd{1}{2}{3}% + \TestAdd{-1}{-1}{-2}% + \TestAdd{2147483646}{1}{2147483647}% + \TestAdd{-2147483647}{2147483647}{0}% + \TestAdd{20}{-5}{15}% + \TestAdd{-4}{-1}{-5}% + \TestAdd{-1}{-4}{-5}% + \TestAdd{-4}{1}{-3}% + \TestAdd{-1}{4}{3}% + \TestAdd{4}{-1}{3}% + \TestAdd{1}{-4}{-3}% + \TestAdd{-4}{-1}{-5}% + \TestAdd{-1}{-4}{-5}% + \TestAdd{ -4 }{ -1 }{-5}% + \TestAdd{ -1 }{ -4 }{-5}% + \TestAdd{ -4 }{ 1 }{-3}% + \TestAdd{ -1 }{ 4 }{3}% + \TestAdd{ 4 }{ -1 }{3}% + \TestAdd{ 1 }{ -4 }{-3}% + \TestAdd{ -4 }{ -1 }{-5}% + \TestAdd{ -1 }{ -4 }{-5}% + \TestAdd{876543210}{111111111}{987654321}% + \TestAdd{999999999}{2}{1000000001}% +\end{qstest} + +\begin{qstest}{sub}{sub} + \TestSub{0}{0}{0}% + \TestSub{1}{0}{1}% + \TestSub{1}{2}{-1}% + \TestSub{-1}{-1}{0}% + \TestSub{2147483646}{-1}{2147483647}% + \TestSub{-2147483647}{-2147483647}{0}% + \TestSub{-4}{-1}{-3}% + \TestSub{-1}{-4}{3}% + \TestSub{-4}{1}{-5}% + \TestSub{-1}{4}{-5}% + \TestSub{4}{-1}{5}% + \TestSub{1}{-4}{5}% + \TestSub{-4}{-1}{-3}% + \TestSub{-1}{-4}{3}% + \TestSub{ -4 }{ -1 }{-3}% + \TestSub{ -1 }{ -4 }{3}% + \TestSub{ -4 }{ 1 }{-5}% + \TestSub{ -1 }{ 4 }{-5}% + \TestSub{ 4 }{ -1 }{5}% + \TestSub{ 1 }{ -4 }{5}% + \TestSub{ -4 }{ -1 }{-3}% + \TestSub{ -1 }{ -4 }{3}% + \TestSub{1000000000}{2}{999999998}% + \TestSub{987654321}{111111111}{876543210}% +\end{qstest} + +\begin{qstest}{shl}{shl} + \TestShl{0}{0}% + \TestShl{1}{2}% + \TestShl{2}{4}% + \TestShl{5621}{11242}% + \TestShl{1073741823}{2147483646}% +\end{qstest} + +\begin{qstest}{shr}{shr} + \TestShr{0}{0}% + \TestShr{1}{0}% + \TestShr{2}{1}% + \TestShr{3}{1}% + \TestShr{4}{2}% + \TestShr{5}{2}% + \TestShr{6}{3}% + \TestShr{7}{3}% + \TestShr{8}{4}% + \TestShr{9}{4}% + \TestShr{10}{5}% + \TestShr{11}{5}% + \TestShr{12}{6}% + \TestShr{13}{6}% + \TestShr{14}{7}% + \TestShr{15}{7}% + \TestShr{16}{8}% + \TestShr{17}{8}% + \TestShr{18}{9}% + \TestShr{19}{9}% + \TestShr{20}{10}% + \TestShr{21}{10}% + \TestShr{22}{11}% + \TestShr{11241}{5620}% + \TestShr{73054202}{36527101}% + \TestShr{2147483646}{1073741823}% +\end{qstest} + +\begin{qstest}{mul}{mul} + \TestMul{0}{0}{0}% + \TestMul{1}{0}{0}% + \TestMul{0}{1}{0}% + \TestMul{1}{1}{1}% + \TestMul{3}{1}{3}% + \TestMul{1}{-3}{-3}% + \TestMul{-4}{-5}{20}% + \TestMul{3}{7}{21}% + \TestMul{7}{3}{21}% + \TestMul{3}{-7}{-21}% + \TestMul{7}{-3}{-21}% + \TestMul{-3}{7}{-21}% + \TestMul{-7}{3}{-21}% + \TestMul{-3}{-7}{21}% + \TestMul{-7}{-3}{21}% + \TestMul{12}{11}{132}% + \TestMul{999}{333}{332667}% + \TestMul{1000}{4321}{4321000}% + \TestMul{12345}{173955}{2147474475}% + \TestMul{1073741823}{2}{2147483646}% + \TestMul{2}{1073741823}{2147483646}% + \TestMul{-1073741823}{2}{-2147483646}% + \TestMul{2}{-1073741823}{-2147483646}% + \TestMul{6706022400}{13}{87178291200}% +\end{qstest} + +\begin{qstest}{sqr}{sqr} + \TestSqr{0}{0}% + \TestSqr{1}{1}% + \TestSqr{2}{4}% + \TestSqr{3}{9}% + \TestSqr{4}{16}% + \TestSqr{9}{81}% + \TestSqr{10}{100}% + \TestSqr{46340}{2147395600}% + \TestSqr{-1}{1}% + \TestSqr{-2}{4}% + \TestSqr{-46340}{2147395600}% +\end{qstest} + +\begin{qstest}{fac}{fac} + \TestFac{0}{1}% + \TestFac{1}{1}% + \TestFac{2}{2}% + \TestFac{3}{2*3}% + \TestFac{4}{2*3*4}% + \TestFac{5}{2*3*4*5}% + \TestFac{6}{2*3*4*5*6}% + \TestFac{7}{2*3*4*5*6*7}% + \TestFac{8}{2*3*4*5*6*7*8}% + \TestFac{9}{2*3*4*5*6*7*8*9}% + \TestFac{10}{2*3*4*5*6*7*8*9*10}% + \TestFac{11}{2*3*4*5*6*7*8*9*10*11}% + \TestFac{12}{2*3*4*5*6*7*8*9*10*11*12}% + \TestFacBig{13}{6227020800}% + \TestFacBig{14}{87178291200}% + \TestFacBig{15}{1307674368000}% + \TestFacBig{16}{20922789888000}% + \TestFacBig{17}{355687428096000}% + \TestFacBig{18}{6402373705728000}% + \TestFacBig{19}{121645100408832000}% + \TestFacBig{20}{2432902008176640000}% + \TestFacBig{21}{51090942171709440000}% + \TestFacBig{22}{1124000727777607680000}% +\end{qstest} + +\begin{qstest}{pow}{pow} + \TestPow{-2}{0}{1}% + \TestPow{-1}{0}{1}% + \TestPow{0}{0}{1}% + \TestPow{1}{0}{1}% + \TestPow{2}{0}{1}% + \TestPow{3}{0}{1}% + \TestPow{-2}{1}{-2}% + \TestPow{-1}{1}{-1}% + \TestPow{1}{1}{1}% + \TestPow{2}{1}{2}% + \TestPow{3}{1}{3}% + \TestPow{-2}{2}{4}% + \TestPow{-1}{2}{1}% + \TestPow{0}{2}{0}% + \TestPow{1}{2}{1}% + \TestPow{2}{2}{4}% + \TestPow{3}{2}{9}% + \TestPow{0}{1}{0}% + \TestPow{1}{-2}{1}% + \TestPow{1}{-1}{1}% + \TestPow{-1}{-2}{1}% + \TestPow{-1}{-1}{-1}% + \TestPow{-1}{3}{-1}% + \TestPow{-1}{4}{1}% + \TestPow{-2}{-1}{0}% + \TestPow{-2}{-2}{0}% + \TestPow{2}{3}{8}% + \TestPow{2}{4}{16}% + \TestPow{2}{5}{32}% + \TestPow{2}{6}{64}% + \TestPow{2}{7}{128}% + \TestPow{2}{8}{256}% + \TestPow{2}{9}{512}% + \TestPow{2}{10}{1024}% + \TestPow{-2}{3}{-8}% + \TestPow{-2}{4}{16}% + \TestPow{-2}{5}{-32}% + \TestPow{-2}{6}{64}% + \TestPow{-2}{7}{-128}% + \TestPow{-2}{8}{256}% + \TestPow{-2}{9}{-512}% + \TestPow{-2}{10}{1024}% + \TestPow{3}{3}{27}% + \TestPow{3}{4}{81}% + \TestPow{3}{5}{243}% + \TestPow{-3}{3}{-27}% + \TestPow{-3}{4}{81}% + \TestPow{-3}{5}{-243}% + \TestPow{2}{30}{1073741824}% + \TestPow{-3}{19}{-1162261467}% + \TestPow{5}{13}{1220703125}% + \TestPow{-7}{11}{-1977326743}% +\end{qstest} + +\begin{qstest}{div}{div} + \TestDiv{1}{1}{1}% + \TestDiv{2}{1}{2}% + \TestDiv{-2}{1}{-2}% + \TestDiv{2}{-1}{-2}% + \TestDiv{-2}{-1}{2}% + \TestDiv{15}{2}{7}% + \TestDiv{-16}{2}{-8}% + \TestDiv{1}{2}{0}% + \TestDiv{1}{3}{0}% + \TestDiv{2}{3}{0}% + \TestDiv{-2}{3}{0}% + \TestDiv{2}{-3}{0}% + \TestDiv{-2}{-3}{0}% + \TestDiv{13}{3}{4}% + \TestDiv{-13}{-3}{4}% + \TestDiv{-13}{3}{-4}% + \TestDiv{-6}{5}{-1}% + \TestDiv{-5}{5}{-1}% + \TestDiv{-4}{5}{0}% + \TestDiv{-3}{5}{0}% + \TestDiv{-2}{5}{0}% + \TestDiv{-1}{5}{0}% + \TestDiv{0}{5}{0}% + \TestDiv{1}{5}{0}% + \TestDiv{2}{5}{0}% + \TestDiv{3}{5}{0}% + \TestDiv{4}{5}{0}% + \TestDiv{5}{5}{1}% + \TestDiv{6}{5}{1}% + \TestDiv{-5}{4}{-1}% + \TestDiv{-4}{4}{-1}% + \TestDiv{-3}{4}{0}% + \TestDiv{-2}{4}{0}% + \TestDiv{-1}{4}{0}% + \TestDiv{0}{4}{0}% + \TestDiv{1}{4}{0}% + \TestDiv{2}{4}{0}% + \TestDiv{3}{4}{0}% + \TestDiv{4}{4}{1}% + \TestDiv{5}{4}{1}% + \TestDiv{12345}{678}{18}% + \TestDiv{32372}{5952}{5}% + \TestDiv{284271294}{18162}{15651}% + \TestDiv{217652429}{12561}{17327}% + \TestDiv{462028434}{5439}{84947}% + \TestDiv{2147483647}{1000}{2147483}% + \TestDiv{2147483647}{-1000}{-2147483}% + \TestDiv{-2147483647}{1000}{-2147483}% + \TestDiv{-2147483647}{-1000}{2147483}% + \TestDiv{0}{3}{0}% + \TestDiv{1}{3}{0}% + \TestDiv{2}{3}{0}% + \TestDiv{3}{3}{1}% + \TestDiv{4}{3}{1}% + \TestDiv{5}{3}{1}% + \TestDiv{6}{3}{2}% + \TestDiv{7}{3}{2}% + \TestDiv{8}{3}{2}% + \TestDiv{9}{3}{3}% + \TestDiv{10}{3}{3}% + \TestDiv{11}{3}{3}% + \TestDiv{12}{3}{4}% + \TestDiv{13}{3}{4}% + \TestDiv{14}{3}{4}% + \TestDiv{15}{3}{5}% + \TestDiv{16}{3}{5}% + \TestDiv{17}{3}{5}% + \TestDiv{18}{3}{6}% + \TestDiv{19}{3}{6}% + \TestDiv{20}{3}{6}% + \TestDiv{21}{3}{7}% + \TestDiv{22}{3}{7}% + \TestDiv{23}{3}{7}% + \TestDiv{24}{3}{8}% + \TestDiv{25}{3}{8}% + \TestDiv{26}{3}{8}% + \TestDiv{27}{3}{9}% + \TestDiv{28}{3}{9}% + \TestDiv{29}{3}{9}% + \TestDiv{30}{3}{10}% + \TestDiv{31}{3}{10}% + \TestDivBig{17363436332507}{24702}{702916214}% +\end{qstest} + +\begin{qstest}{mod}{mod} + \TestMod{-6}{5}{4}% + \TestMod{-5}{5}{0}% + \TestMod{-4}{5}{1}% + \TestMod{-3}{5}{2}% + \TestMod{-2}{5}{3}% + \TestMod{-1}{5}{4}% + \TestMod{0}{5}{0}% + \TestMod{1}{5}{1}% + \TestMod{2}{5}{2}% + \TestMod{3}{5}{3}% + \TestMod{4}{5}{4}% + \TestMod{5}{5}{0}% + \TestMod{6}{5}{1}% + \TestMod{-5}{4}{3}% + \TestMod{-4}{4}{0}% + \TestMod{-3}{4}{1}% + \TestMod{-2}{4}{2}% + \TestMod{-1}{4}{3}% + \TestMod{0}{4}{0}% + \TestMod{1}{4}{1}% + \TestMod{2}{4}{2}% + \TestMod{3}{4}{3}% + \TestMod{4}{4}{0}% + \TestMod{5}{4}{1}% + \TestMod{-6}{-5}{-1}% + \TestMod{-5}{-5}{0}% + \TestMod{-4}{-5}{-4}% + \TestMod{-3}{-5}{-3}% + \TestMod{-2}{-5}{-2}% + \TestMod{-1}{-5}{-1}% + \TestMod{0}{-5}{0}% + \TestMod{1}{-5}{-4}% + \TestMod{2}{-5}{-3}% + \TestMod{3}{-5}{-2}% + \TestMod{4}{-5}{-1}% + \TestMod{5}{-5}{0}% + \TestMod{6}{-5}{-4}% + \TestMod{-5}{-4}{-1}% + \TestMod{-4}{-4}{0}% + \TestMod{-3}{-4}{-3}% + \TestMod{-2}{-4}{-2}% + \TestMod{-1}{-4}{-1}% + \TestMod{0}{-4}{0}% + \TestMod{1}{-4}{-3}% + \TestMod{2}{-4}{-2}% + \TestMod{3}{-4}{-1}% + \TestMod{4}{-4}{0}% + \TestMod{5}{-4}{-3}% + \TestMod{2147483647}{1000}{647}% + \TestMod{2147483647}{-1000}{-353}% + \TestMod{-2147483647}{1000}{353}% + \TestMod{-2147483647}{-1000}{-647}% + \TestMod{ 0 }{ 4 }{0}% + \TestMod{ 1 }{ 4 }{1}% + \TestMod{ -1 }{ 4 }{3}% + \TestMod{ 0 }{ -4 }{0}% + \TestMod{ 1 }{ -4 }{-3}% + \TestMod{ -1 }{ -4 }{-1}% + \TestMod{18362}{25}{12}% +\end{qstest} + +\newcommand*{\TestError}[2]{% + \begingroup + \expandafter\def\csname BigIntCalcError:#1\endcsname{}% + \Expect*{#2}{0}% + \expandafter\def\csname BigIntCalcError:#1\endcsname{ERROR}% + \Expect*{#2}{0ERROR}% + \endgroup +} +\begin{qstest}{error}{error} + \TestError{FacNegative}{\bigintcalcFac{-1}}% + \TestError{FacNegative}{\bigintcalcFac{-2147483647}}% + \TestError{DivisionByZero}{\bigintcalcPow{0}{-1}}% + \TestError{DivisionByZero}{\bigintcalcDiv{1}{0}}% + \TestError{DivisionByZero}{\bigintcalcMod{1}{0}}% +\end{qstest} + +\begin{document} +\end{document} +\endinput +%% +%% End of file `bigintcalc-test2.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/bigintcalc-test3.tex b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc-test3.tex new file mode 100644 index 00000000000..67b97d45a8d --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc-test3.tex @@ -0,0 +1,825 @@ +%% +%% This is file `bigintcalc-test3.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bigintcalc.dtx (with options: `test2,noetex') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 bigintcalc.dtx +%% and the derived files +%% bigintcalc.sty, bigintcalc.pdf, bigintcalc.ins, bigintcalc.drv, +%% bigintcalc-test1.tex, bigintcalc-test2.tex, +%% bigintcalc-test3.tex. +%% +\NeedsTeXFormat{LaTeX2e} +\nofiles +\documentclass{article} +\let\SavedNumexpr\numexpr +\let\numexpr\UNDEFINED +\makeatletter +\chardef\BIC@TestMode=1 % +\makeatother +\usepackage{bigintcalc}[2007/09/27] +\let\numexpr\SavedNumexpr +\usepackage{qstest} +\IncludeTests{*} +\LogTests{log}{*}{*} +\newcommand*{\TestSpaceAtEnd}[1]{% + \let\SavedNumexpr\numexpr + \let\numexpr\UNDEFINED + \edef\resultA{#1}% + \edef\resultB{#1 }% + \let\numexpr\SavedNumexpr + \Expect*{\resultA\space}*{\resultB}% +} +\newcommand*{\TestResult}[2]{% + \let\SavedNumexpr\numexpr + \let\numexpr\UNDEFINED + \edef\result{#1}% + \let\numexpr\SavedNumexpr + \Expect*{\result}{#2}% +} +\newcommand*{\TestResultTwoExpansions}[2]{% + \begingroup + \let\numexpr\UNDEFINED + \expandafter\expandafter\expandafter + \endgroup + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{#1}{#2}% +} +\newcount\TestCount +\newcommand*{\TestArg}[1]{#1} +\newcommand*{\TestTeXDivide}[2]{% + \TestCount=\TestArg{#1}\relax + \divide\TestCount by \TestArg{#2}\relax + \Expect*{\bigintcalcDiv{#1}{#2}}*{\the\TestCount}% +} +\newcommand*{\Test}[2]{% + \TestResult{#1}{#2}% + \TestResultTwoExpansions{#1}{#2}% + \TestSpaceAtEnd{#1}% +} +\newcommand*{\TestExch}[2]{\Test{#2}{#1}} +\newcommand*{\TestInv}[2]{% + \Test{\bigintcalcInv{#1}}{#2}% +} +\newcommand*{\TestAbs}[2]{% + \Test{\bigintcalcAbs{#1}}{#2}% +} +\newcommand*{\TestSgn}[2]{% + \Test{\bigintcalcSgn{#1}}{#2}% +} +\newcommand*{\TestMin}[3]{% + \Test{\bigintcalcMin{#1}{#2}}{#3}% +} +\newcommand*{\TestMax}[3]{% + \Test{\bigintcalcMax{#1}{#2}}{#3}% +} +\newcommand*{\TestCmp}[3]{% + \Test{\bigintcalcCmp{#1}{#2}}{#3}% +} +\newcommand*{\TestOdd}[2]{% + \Test{\bigintcalcOdd{#1}}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcOdd + \bigintcalcAbs{#1}!% + }{#2}% + }% + \x +} +\newcommand*{\TestInc}[2]{% + \Test{\bigintcalcInc{#1}}{#2}% + \ifnum\bigintcalcSgn{#1}>-1 % + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcInc\bigintcalcNum{#1}!% + }{#2}% + }% + \x + \fi +} +\newcommand*{\TestDec}[2]{% + \Test{\bigintcalcDec{#1}}{#2}% + \ifnum\bigintcalcSgn{#1}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcDec\bigintcalcNum{#1}!% + }{#2}% + }% + \x + \fi +} +\newcommand*{\TestAdd}[3]{% + \Test{\bigintcalcAdd{#1}{#2}}{#3}% + \ifnum\bigintcalcSgn{#1}>0 % + \ifnum\bigintcalcSgn{#2}> 0 % + \ifnum\bigintcalcCmp{#1}{#2}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcAdd + \bigintcalcNum{#1}!\bigintcalcNum{#2}!% + }{#3}% + }% + \x + \else + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcAdd + \bigintcalcNum{#2}!\bigintcalcNum{#1}!% + }{#3}% + }% + \x + \fi + \fi + \fi +} +\newcommand*{\TestSub}[3]{% + \Test{\bigintcalcSub{#1}{#2}}{#3}% + \ifnum\bigintcalcSgn{#1}>0 % + \ifnum\bigintcalcSgn{#2}> 0 % + \ifnum\bigintcalcCmp{#1}{#2}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcSub + \bigintcalcNum{#1}!\bigintcalcNum{#2}!% + }{#3}% + }% + \x + \fi + \fi + \fi +} +\newcommand*{\TestShl}[2]{% + \Test{\bigintcalcShl{#1}}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcShl\bigintcalcAbs{#1}!% + }{\bigintcalcAbs{#2}}% + }% + \x +} +\newcommand*{\TestShr}[2]{% + \Test{\bigintcalcShr{#1}}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcShr\bigintcalcAbs{#1}!% + }{\bigintcalcAbs{#2}}% + }% + \x +} +\newcommand*{\TestMul}[3]{% + \Test{\bigintcalcMul{#1}{#2}}{#3}% + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcMul + \bigintcalcAbs{#1}!\bigintcalcAbs{#2}!% + }{\bigintcalcAbs{#3}}% + }% + \x +} +\newcommand*{\TestSqr}[2]{% + \Test{\bigintcalcSqr{#1}}{#2}% +} +\newcommand*{\TestFac}[2]{% + \expandafter\TestExch\expandafter{% + \the\numexpr#2% + }{\bigintcalcFac{#1}}% +} +\newcommand*{\TestFacBig}[2]{% + \Test{\bigintcalcFac{#1}}{#2}% +} +\newcommand*{\TestPow}[3]{% + \Test{\bigintcalcPow{#1}{#2}}{#3}% +} +\newcommand*{\TestDiv}[3]{% + \Test{\bigintcalcDiv{#1}{#2}}{#3}% + \TestTeXDivide{#1}{#2}% +} +\newcommand*{\TestDivBig}[3]{% + \Test{\bigintcalcDiv{#1}{#2}}{#3}% + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcDiv\bigintcalcAbs{#1}!\bigintcalcAbs{#2}!% + }{\bigintcalcAbs{#3}}% + }% +} +\newcommand*{\TestMod}[3]{% + \Test{\bigintcalcMod{#1}{#2}}{#3}% + \ifcase\ifcase\bigintcalcSgn{#1} 0% + \or + \ifcase\bigintcalcSgn{#2} 1% + \or 0% + \else 1% + \fi + \else + \ifcase\bigintcalcSgn{#2} 1% + \or 1% + \else 0% + \fi + \fi\relax + \edef\x{% + \noexpand\Test{% + \noexpand\BigIntCalcMod + \bigintcalcAbs{#1}!\bigintcalcAbs{#2}!% + }{\bigintcalcAbs{#3}}% + }% + \x + \fi +} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfresettimer\endcsname\relax +\else + \makeatletter + \newcount\SummaryTime + \newcount\TestTime + \SummaryTime=\z@ + \newcommand*{\PrintTime}[2]{% + \typeout{% + [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]% + }% + }% + \newcommand*{\StartTime}[1]{% + \renewcommand*{\TimeDescription}{#1}% + \pdfresettimer + }% + \newcommand*{\TimeDescription}{}% + \newcommand*{\StopTime}{% + \TestTime=\pdfelapsedtime + \global\advance\SummaryTime\TestTime + \PrintTime\TimeDescription\TestTime + }% + \let\saved@qstest\qstest + \let\saved@endqstest\endqstest + \def\qstest#1#2{% + \saved@qstest{#1}{#2}% + \StartTime{#1}% + }% + \def\endqstest{% + \StopTime + \saved@endqstest + }% + \AtEndDocument{% + \PrintTime{summary}\SummaryTime + }% + \makeatother +\fi +\makeatletter + +\begin{qstest}{inv}{inv}% + \TestInv{0}{0}% + \TestInv{1}{-1}% + \TestInv{-1}{1}% + \TestInv{10}{-10}% + \TestInv{-10}{10}% + \TestInv{2147483647}{-2147483647}% + \TestInv{-2147483647}{2147483647}% + \TestInv{12345678901234567890}{-12345678901234567890}% + \TestInv{-12345678901234567890}{12345678901234567890}% + \TestInv{ 0 }{0}% + \TestInv{ 1 }{-1}% + \TestInv{--1}{-1}% + \TestInv{\number\z@}{0}% + \TestInv{\ifx\relax\relax1\fi}{-1}% + \TestInv{\ifx\relax\relax-\fi\ifx234\else1\fi}{1}% +\end{qstest} + +\begin{qstest}{abs}{abs}% + \TestAbs{0}{0}% + \TestAbs{1}{1}% + \TestAbs{-1}{1}% + \TestAbs{10}{10}% + \TestAbs{-10}{10}% + \TestAbs{2147483647}{2147483647}% + \TestAbs{-2147483647}{2147483647}% + \TestAbs{12345678901234567890}{12345678901234567890}% + \TestAbs{-12345678901234567890}{12345678901234567890}% + \TestAbs{ 0 }{0}% + \TestAbs{ 1 }{1}% + \TestAbs{--1}{1}% + \TestAbs{-+-+1}{1}% + \TestAbs{00000000000}{0}% + \TestAbs{00000001000}{1000}% + \TestAbs{\ifx\relax\relax 0\else 1\fi}{0}% +\end{qstest} + +\begin{qstest}{sign}{sign}% + \TestSgn{0}{0}% + \TestSgn{1}{1}% + \TestSgn{-1}{-1}% + \TestSgn{10}{1}% + \TestSgn{-10}{-1}% + \TestSgn{2147483647}{1}% + \TestSgn{-2147483647}{-1}% + \TestSgn{12345678901234567890}{1}% + \TestSgn{-12345678901234567890}{-1}% + \TestSgn{ 0 }{0}% + \TestSgn{ 2 }{1}% + \TestSgn{ -2 }{-1}% + \TestSgn{--2}{1}% + \TestSgn{\number\z@}{0}% + \TestSgn{\number\@ne}{1}% + \TestSgn{\number\m@ne}{-1}% + \TestSgn{% + -+-+\number\z@\number\z@ + \iftrue1\fi\iftrue2\fi\iftrue3\fi + }{1}% +\end{qstest} + +\begin{qstest}{min}{min}% + \TestMin{0}{1}{0}% + \TestMin{1}{0}{0}% + \TestMin{-10}{-20}{-20}% + \TestMin{ 1 }{ 2 }{1}% + \TestMin{ 2 }{ 1 }{1}% + \TestMin{1}{1}{1}% + \TestMin{\number\z@}{\number\@ne}{0}% + \TestMin{\number\@ne}{\number\m@ne}{-1}% +\end{qstest} + +\begin{qstest}{max}{max}% + \TestMax{0}{1}{1}% + \TestMax{1}{0}{1}% + \TestMax{-10}{-20}{-10}% + \TestMax{ 1 }{ 2 }{2}% + \TestMax{ 2 }{ 1 }{2}% + \TestMax{1}{1}{1}% + \TestMax{\number\z@}{\number\@ne}{1}% + \TestMax{\number\@ne}{\number\m@ne}{1}% +\end{qstest} + +\begin{qstest}{cmp}{cmp}% + \TestCmp{0}{0}{0}% + \TestCmp{-21}{17}{-1}% + \TestCmp{3}{4}{-1}% + \TestCmp{-10}{-10}{0}% + \TestCmp{-10}{-11}{1}% + \TestCmp{100}{5}{1}% + \TestCmp{9}{10}{-1}% + \TestCmp{10}{9}{1}% + \TestCmp{ 3 }{ 3 }{0}% + \TestCmp{-9}{-10}{1}% + \TestCmp{-10}{-9}{-1}% + \TestCmp{-3}{-3}{0}% + \TestCmp{0}{-2}{1}% + \TestCmp{0}{2}{-1}% + \TestCmp{2}{0}{1}% + \TestCmp{-2}{0}{-1}% + \TestCmp{12}{11}{1}% + \TestCmp{11}{12}{-1}% + \TestCmp{2147483647}{-2147483647}{1}% + \TestCmp{-2147483647}{2147483647}{-1}% + \TestCmp{2147483647}{2147483647}{0}% + \TestCmp{\number\z@}{\number\@ne}{-1}% + \TestCmp{\number\@ne}{\number\m@ne}{1}% + \TestCmp{ 4 }{ 5 }{-1}% + \TestCmp{ -3 }{ -7 }{1}% +\end{qstest} + +\begin{qstest}{odd}{odd} +\tracingmacros=1 + \TestOdd{0}{0}% + \TestOdd{1}{1}% + \TestOdd{2}{0}% + \TestOdd{3}{1}% + \TestOdd{14}{0}% + \TestOdd{15}{1}% + \TestOdd{12345678901234567896}{0}% + \TestOdd{12345678901234567897}{1}% +\end{qstest} + +\begin{qstest}{inc}{inc}% + \TestInc{0}{1}% + \TestInc{1}{2}% + \TestInc{-1}{0}% + \TestInc{10}{11}% + \TestInc{-10}{-9}% + \TestInc{ 3 }{4}% + \TestInc{999}{1000}% + \TestInc{-1000}{-999}% + \TestInc{129}{130}% + \TestInc{2147483646}{2147483647}% + \TestInc{-2147483647}{-2147483646}% + \TestInc{12345678901234567890}{12345678901234567891}% + \TestInc{99999999999999999999}{100000000000000000000}% + \TestInc{-12345678901234567891}{-12345678901234567890}% + \TestInc{-100000000000000000000}{-99999999999999999999}% +\end{qstest} + +\begin{qstest}{dec}{dec}% + \TestDec{0}{-1}% + \TestDec{1}{0}% + \TestDec{-1}{-2}% + \TestDec{10}{9}% + \TestDec{-10}{-11}% + \TestDec{1000}{999}% + \TestDec{-999}{-1000}% + \TestDec{130}{129}% + \TestDec{2147483647}{2147483646}% + \TestDec{-2147483646}{-2147483647}% + \TestDec{12345678901234567891}{12345678901234567890}% + \TestDec{100000000000000000000}{99999999999999999999}% + \TestDec{-12345678901234567890}{-12345678901234567891}% + \TestDec{-99999999999999999999}{-100000000000000000000}% +\end{qstest} + +\begin{qstest}{add}{add}% + \TestAdd{0}{0}{0}% + \TestAdd{1}{0}{1}% + \TestAdd{0}{1}{1}% + \TestAdd{1}{2}{3}% + \TestAdd{-1}{-1}{-2}% + \TestAdd{2147483646}{1}{2147483647}% + \TestAdd{-2147483647}{2147483647}{0}% + \TestAdd{20}{-5}{15}% + \TestAdd{-4}{-1}{-5}% + \TestAdd{-1}{-4}{-5}% + \TestAdd{-4}{1}{-3}% + \TestAdd{-1}{4}{3}% + \TestAdd{4}{-1}{3}% + \TestAdd{1}{-4}{-3}% + \TestAdd{-4}{-1}{-5}% + \TestAdd{-1}{-4}{-5}% + \TestAdd{ -4 }{ -1 }{-5}% + \TestAdd{ -1 }{ -4 }{-5}% + \TestAdd{ -4 }{ 1 }{-3}% + \TestAdd{ -1 }{ 4 }{3}% + \TestAdd{ 4 }{ -1 }{3}% + \TestAdd{ 1 }{ -4 }{-3}% + \TestAdd{ -4 }{ -1 }{-5}% + \TestAdd{ -1 }{ -4 }{-5}% + \TestAdd{876543210}{111111111}{987654321}% + \TestAdd{999999999}{2}{1000000001}% +\end{qstest} + +\begin{qstest}{sub}{sub} + \TestSub{0}{0}{0}% + \TestSub{1}{0}{1}% + \TestSub{1}{2}{-1}% + \TestSub{-1}{-1}{0}% + \TestSub{2147483646}{-1}{2147483647}% + \TestSub{-2147483647}{-2147483647}{0}% + \TestSub{-4}{-1}{-3}% + \TestSub{-1}{-4}{3}% + \TestSub{-4}{1}{-5}% + \TestSub{-1}{4}{-5}% + \TestSub{4}{-1}{5}% + \TestSub{1}{-4}{5}% + \TestSub{-4}{-1}{-3}% + \TestSub{-1}{-4}{3}% + \TestSub{ -4 }{ -1 }{-3}% + \TestSub{ -1 }{ -4 }{3}% + \TestSub{ -4 }{ 1 }{-5}% + \TestSub{ -1 }{ 4 }{-5}% + \TestSub{ 4 }{ -1 }{5}% + \TestSub{ 1 }{ -4 }{5}% + \TestSub{ -4 }{ -1 }{-3}% + \TestSub{ -1 }{ -4 }{3}% + \TestSub{1000000000}{2}{999999998}% + \TestSub{987654321}{111111111}{876543210}% +\end{qstest} + +\begin{qstest}{shl}{shl} + \TestShl{0}{0}% + \TestShl{1}{2}% + \TestShl{2}{4}% + \TestShl{5621}{11242}% + \TestShl{1073741823}{2147483646}% +\end{qstest} + +\begin{qstest}{shr}{shr} + \TestShr{0}{0}% + \TestShr{1}{0}% + \TestShr{2}{1}% + \TestShr{3}{1}% + \TestShr{4}{2}% + \TestShr{5}{2}% + \TestShr{6}{3}% + \TestShr{7}{3}% + \TestShr{8}{4}% + \TestShr{9}{4}% + \TestShr{10}{5}% + \TestShr{11}{5}% + \TestShr{12}{6}% + \TestShr{13}{6}% + \TestShr{14}{7}% + \TestShr{15}{7}% + \TestShr{16}{8}% + \TestShr{17}{8}% + \TestShr{18}{9}% + \TestShr{19}{9}% + \TestShr{20}{10}% + \TestShr{21}{10}% + \TestShr{22}{11}% + \TestShr{11241}{5620}% + \TestShr{73054202}{36527101}% + \TestShr{2147483646}{1073741823}% +\end{qstest} + +\begin{qstest}{mul}{mul} + \TestMul{0}{0}{0}% + \TestMul{1}{0}{0}% + \TestMul{0}{1}{0}% + \TestMul{1}{1}{1}% + \TestMul{3}{1}{3}% + \TestMul{1}{-3}{-3}% + \TestMul{-4}{-5}{20}% + \TestMul{3}{7}{21}% + \TestMul{7}{3}{21}% + \TestMul{3}{-7}{-21}% + \TestMul{7}{-3}{-21}% + \TestMul{-3}{7}{-21}% + \TestMul{-7}{3}{-21}% + \TestMul{-3}{-7}{21}% + \TestMul{-7}{-3}{21}% + \TestMul{12}{11}{132}% + \TestMul{999}{333}{332667}% + \TestMul{1000}{4321}{4321000}% + \TestMul{12345}{173955}{2147474475}% + \TestMul{1073741823}{2}{2147483646}% + \TestMul{2}{1073741823}{2147483646}% + \TestMul{-1073741823}{2}{-2147483646}% + \TestMul{2}{-1073741823}{-2147483646}% + \TestMul{6706022400}{13}{87178291200}% +\end{qstest} + +\begin{qstest}{sqr}{sqr} + \TestSqr{0}{0}% + \TestSqr{1}{1}% + \TestSqr{2}{4}% + \TestSqr{3}{9}% + \TestSqr{4}{16}% + \TestSqr{9}{81}% + \TestSqr{10}{100}% + \TestSqr{46340}{2147395600}% + \TestSqr{-1}{1}% + \TestSqr{-2}{4}% + \TestSqr{-46340}{2147395600}% +\end{qstest} + +\begin{qstest}{fac}{fac} + \TestFac{0}{1}% + \TestFac{1}{1}% + \TestFac{2}{2}% + \TestFac{3}{2*3}% + \TestFac{4}{2*3*4}% + \TestFac{5}{2*3*4*5}% + \TestFac{6}{2*3*4*5*6}% + \TestFac{7}{2*3*4*5*6*7}% + \TestFac{8}{2*3*4*5*6*7*8}% + \TestFac{9}{2*3*4*5*6*7*8*9}% + \TestFac{10}{2*3*4*5*6*7*8*9*10}% + \TestFac{11}{2*3*4*5*6*7*8*9*10*11}% + \TestFac{12}{2*3*4*5*6*7*8*9*10*11*12}% + \TestFacBig{13}{6227020800}% + \TestFacBig{14}{87178291200}% + \TestFacBig{15}{1307674368000}% + \TestFacBig{16}{20922789888000}% + \TestFacBig{17}{355687428096000}% + \TestFacBig{18}{6402373705728000}% + \TestFacBig{19}{121645100408832000}% + \TestFacBig{20}{2432902008176640000}% + \TestFacBig{21}{51090942171709440000}% + \TestFacBig{22}{1124000727777607680000}% +\end{qstest} + +\begin{qstest}{pow}{pow} + \TestPow{-2}{0}{1}% + \TestPow{-1}{0}{1}% + \TestPow{0}{0}{1}% + \TestPow{1}{0}{1}% + \TestPow{2}{0}{1}% + \TestPow{3}{0}{1}% + \TestPow{-2}{1}{-2}% + \TestPow{-1}{1}{-1}% + \TestPow{1}{1}{1}% + \TestPow{2}{1}{2}% + \TestPow{3}{1}{3}% + \TestPow{-2}{2}{4}% + \TestPow{-1}{2}{1}% + \TestPow{0}{2}{0}% + \TestPow{1}{2}{1}% + \TestPow{2}{2}{4}% + \TestPow{3}{2}{9}% + \TestPow{0}{1}{0}% + \TestPow{1}{-2}{1}% + \TestPow{1}{-1}{1}% + \TestPow{-1}{-2}{1}% + \TestPow{-1}{-1}{-1}% + \TestPow{-1}{3}{-1}% + \TestPow{-1}{4}{1}% + \TestPow{-2}{-1}{0}% + \TestPow{-2}{-2}{0}% + \TestPow{2}{3}{8}% + \TestPow{2}{4}{16}% + \TestPow{2}{5}{32}% + \TestPow{2}{6}{64}% + \TestPow{2}{7}{128}% + \TestPow{2}{8}{256}% + \TestPow{2}{9}{512}% + \TestPow{2}{10}{1024}% + \TestPow{-2}{3}{-8}% + \TestPow{-2}{4}{16}% + \TestPow{-2}{5}{-32}% + \TestPow{-2}{6}{64}% + \TestPow{-2}{7}{-128}% + \TestPow{-2}{8}{256}% + \TestPow{-2}{9}{-512}% + \TestPow{-2}{10}{1024}% + \TestPow{3}{3}{27}% + \TestPow{3}{4}{81}% + \TestPow{3}{5}{243}% + \TestPow{-3}{3}{-27}% + \TestPow{-3}{4}{81}% + \TestPow{-3}{5}{-243}% + \TestPow{2}{30}{1073741824}% + \TestPow{-3}{19}{-1162261467}% + \TestPow{5}{13}{1220703125}% + \TestPow{-7}{11}{-1977326743}% +\end{qstest} + +\begin{qstest}{div}{div} + \TestDiv{1}{1}{1}% + \TestDiv{2}{1}{2}% + \TestDiv{-2}{1}{-2}% + \TestDiv{2}{-1}{-2}% + \TestDiv{-2}{-1}{2}% + \TestDiv{15}{2}{7}% + \TestDiv{-16}{2}{-8}% + \TestDiv{1}{2}{0}% + \TestDiv{1}{3}{0}% + \TestDiv{2}{3}{0}% + \TestDiv{-2}{3}{0}% + \TestDiv{2}{-3}{0}% + \TestDiv{-2}{-3}{0}% + \TestDiv{13}{3}{4}% + \TestDiv{-13}{-3}{4}% + \TestDiv{-13}{3}{-4}% + \TestDiv{-6}{5}{-1}% + \TestDiv{-5}{5}{-1}% + \TestDiv{-4}{5}{0}% + \TestDiv{-3}{5}{0}% + \TestDiv{-2}{5}{0}% + \TestDiv{-1}{5}{0}% + \TestDiv{0}{5}{0}% + \TestDiv{1}{5}{0}% + \TestDiv{2}{5}{0}% + \TestDiv{3}{5}{0}% + \TestDiv{4}{5}{0}% + \TestDiv{5}{5}{1}% + \TestDiv{6}{5}{1}% + \TestDiv{-5}{4}{-1}% + \TestDiv{-4}{4}{-1}% + \TestDiv{-3}{4}{0}% + \TestDiv{-2}{4}{0}% + \TestDiv{-1}{4}{0}% + \TestDiv{0}{4}{0}% + \TestDiv{1}{4}{0}% + \TestDiv{2}{4}{0}% + \TestDiv{3}{4}{0}% + \TestDiv{4}{4}{1}% + \TestDiv{5}{4}{1}% + \TestDiv{12345}{678}{18}% + \TestDiv{32372}{5952}{5}% + \TestDiv{284271294}{18162}{15651}% + \TestDiv{217652429}{12561}{17327}% + \TestDiv{462028434}{5439}{84947}% + \TestDiv{2147483647}{1000}{2147483}% + \TestDiv{2147483647}{-1000}{-2147483}% + \TestDiv{-2147483647}{1000}{-2147483}% + \TestDiv{-2147483647}{-1000}{2147483}% + \TestDiv{0}{3}{0}% + \TestDiv{1}{3}{0}% + \TestDiv{2}{3}{0}% + \TestDiv{3}{3}{1}% + \TestDiv{4}{3}{1}% + \TestDiv{5}{3}{1}% + \TestDiv{6}{3}{2}% + \TestDiv{7}{3}{2}% + \TestDiv{8}{3}{2}% + \TestDiv{9}{3}{3}% + \TestDiv{10}{3}{3}% + \TestDiv{11}{3}{3}% + \TestDiv{12}{3}{4}% + \TestDiv{13}{3}{4}% + \TestDiv{14}{3}{4}% + \TestDiv{15}{3}{5}% + \TestDiv{16}{3}{5}% + \TestDiv{17}{3}{5}% + \TestDiv{18}{3}{6}% + \TestDiv{19}{3}{6}% + \TestDiv{20}{3}{6}% + \TestDiv{21}{3}{7}% + \TestDiv{22}{3}{7}% + \TestDiv{23}{3}{7}% + \TestDiv{24}{3}{8}% + \TestDiv{25}{3}{8}% + \TestDiv{26}{3}{8}% + \TestDiv{27}{3}{9}% + \TestDiv{28}{3}{9}% + \TestDiv{29}{3}{9}% + \TestDiv{30}{3}{10}% + \TestDiv{31}{3}{10}% + \TestDivBig{17363436332507}{24702}{702916214}% +\end{qstest} + +\begin{qstest}{mod}{mod} + \TestMod{-6}{5}{4}% + \TestMod{-5}{5}{0}% + \TestMod{-4}{5}{1}% + \TestMod{-3}{5}{2}% + \TestMod{-2}{5}{3}% + \TestMod{-1}{5}{4}% + \TestMod{0}{5}{0}% + \TestMod{1}{5}{1}% + \TestMod{2}{5}{2}% + \TestMod{3}{5}{3}% + \TestMod{4}{5}{4}% + \TestMod{5}{5}{0}% + \TestMod{6}{5}{1}% + \TestMod{-5}{4}{3}% + \TestMod{-4}{4}{0}% + \TestMod{-3}{4}{1}% + \TestMod{-2}{4}{2}% + \TestMod{-1}{4}{3}% + \TestMod{0}{4}{0}% + \TestMod{1}{4}{1}% + \TestMod{2}{4}{2}% + \TestMod{3}{4}{3}% + \TestMod{4}{4}{0}% + \TestMod{5}{4}{1}% + \TestMod{-6}{-5}{-1}% + \TestMod{-5}{-5}{0}% + \TestMod{-4}{-5}{-4}% + \TestMod{-3}{-5}{-3}% + \TestMod{-2}{-5}{-2}% + \TestMod{-1}{-5}{-1}% + \TestMod{0}{-5}{0}% + \TestMod{1}{-5}{-4}% + \TestMod{2}{-5}{-3}% + \TestMod{3}{-5}{-2}% + \TestMod{4}{-5}{-1}% + \TestMod{5}{-5}{0}% + \TestMod{6}{-5}{-4}% + \TestMod{-5}{-4}{-1}% + \TestMod{-4}{-4}{0}% + \TestMod{-3}{-4}{-3}% + \TestMod{-2}{-4}{-2}% + \TestMod{-1}{-4}{-1}% + \TestMod{0}{-4}{0}% + \TestMod{1}{-4}{-3}% + \TestMod{2}{-4}{-2}% + \TestMod{3}{-4}{-1}% + \TestMod{4}{-4}{0}% + \TestMod{5}{-4}{-3}% + \TestMod{2147483647}{1000}{647}% + \TestMod{2147483647}{-1000}{-353}% + \TestMod{-2147483647}{1000}{353}% + \TestMod{-2147483647}{-1000}{-647}% + \TestMod{ 0 }{ 4 }{0}% + \TestMod{ 1 }{ 4 }{1}% + \TestMod{ -1 }{ 4 }{3}% + \TestMod{ 0 }{ -4 }{0}% + \TestMod{ 1 }{ -4 }{-3}% + \TestMod{ -1 }{ -4 }{-1}% + \TestMod{18362}{25}{12}% +\end{qstest} + +\newcommand*{\TestError}[2]{% + \begingroup + \expandafter\def\csname BigIntCalcError:#1\endcsname{}% + \Expect*{#2}{0}% + \expandafter\def\csname BigIntCalcError:#1\endcsname{ERROR}% + \Expect*{#2}{0ERROR}% + \endgroup +} +\begin{qstest}{error}{error} + \TestError{FacNegative}{\bigintcalcFac{-1}}% + \TestError{FacNegative}{\bigintcalcFac{-2147483647}}% + \TestError{DivisionByZero}{\bigintcalcPow{0}{-1}}% + \TestError{DivisionByZero}{\bigintcalcDiv{1}{0}}% + \TestError{DivisionByZero}{\bigintcalcMod{1}{0}}% +\end{qstest} + +\begin{document} +\end{document} +\endinput +%% +%% End of file `bigintcalc-test3.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf Binary files differnew file mode 100644 index 00000000000..7bd2d03728a --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/bigintcalc.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/bitset-test1.tex b/Master/texmf-dist/doc/latex/oberdiek/bitset-test1.tex new file mode 100644 index 00000000000..c5baacfbc56 --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/bitset-test1.tex @@ -0,0 +1,73 @@ +%% +%% This is file `bitset-test1.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bitset.dtx (with options: `test1') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 bitset.dtx +%% and the derived files +%% bitset.sty, bitset.pdf, bitset.ins, bitset.drv, +%% bitset-test1.tex, bitset-test2.tex, bitset-test3.tex. +%% +\catcode`\@=11 % +\def\RestoreCatcodes{} +\count@=0 % +\loop + \edef\RestoreCatcodes{% + \RestoreCatcodes + \catcode\the\count@=\the\catcode\count@\relax + }% +\ifnum\count@<255 % + \advance\count@\@ne +\repeat + +\def\RangeCatcodeInvalid#1#2{% + \count@=#1\relax + \loop + \catcode\count@=15 % + \ifnum\count@<#2\relax + \advance\count@\@ne + \repeat +} +\def\Test{% + \RangeCatcodeInvalid{0}{47}% + \RangeCatcodeInvalid{58}{64}% + \RangeCatcodeInvalid{91}{96}% + \RangeCatcodeInvalid{123}{255}% + \catcode`\@=12 % + \catcode`\\=0 % + \catcode`\{=1 % + \catcode`\}=2 % + \catcode`\#=6 % + \catcode`\[=12 % + \catcode`\]=12 % + \catcode`\%=14 % + \catcode`\ =10 % + \catcode13=5 % + \input bitset.sty\relax + \RestoreCatcodes +} +\Test +\csname @@end\endcsname +\end +\endinput +%% +%% End of file `bitset-test1.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/bitset-test2.tex b/Master/texmf-dist/doc/latex/oberdiek/bitset-test2.tex new file mode 100644 index 00000000000..146141d3171 --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/bitset-test2.tex @@ -0,0 +1,1080 @@ +%% +%% This is file `bitset-test2.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bitset.dtx (with options: `test2,etex') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 bitset.dtx +%% and the derived files +%% bitset.sty, bitset.pdf, bitset.ins, bitset.drv, +%% bitset-test1.tex, bitset-test2.tex, bitset-test3.tex. +%% +\NeedsTeXFormat{LaTeX2e} +\nofiles +\documentclass{article} +\makeatletter +\makeatletter +\chardef\BitSet@TestMode=1 % +\makeatother +\usepackage{bitset}[2007/09/28] +\usepackage{qstest} +\IncludeTests{*} +\LogTests{log}{*}{*} +\makeatletter +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfresettimer\endcsname\relax +\else + \newcount\SummaryTime + \newcount\TestTime + \SummaryTime=\z@ + \newcommand*{\PrintTime}[2]{% + \typeout{% + [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]% + }% + }% + \newcommand*{\StartTime}[1]{% + \renewcommand*{\TimeDescription}{#1}% + \pdfresettimer + }% + \newcommand*{\TimeDescription}{}% + \newcommand*{\StopTime}{% + \TestTime=\pdfelapsedtime + \global\advance\SummaryTime\TestTime + \PrintTime\TimeDescription\TestTime + }% + \let\saved@qstest\qstest + \let\saved@endqstest\endqstest + \def\qstest#1#2{% + \saved@qstest{#1}{#2}% + \StartTime{#1}% + }% + \def\endqstest{% + \StopTime + \saved@endqstest + }% + \AtEndDocument{% + \PrintTime{summary}\SummaryTime + }% +\fi +\let\orig@qstest\qstest +\let\orig@endqstest\endqstest +\def\qstest#1#2{% + \orig@qstest{#1}{#2}% + \setbox0\hbox\bgroup\begingroup\ignorespaces +} +\def\endqstest{% + \endgroup\egroup + \Expect*{\the\wd0}{0.0pt}% + \orig@endqstest +} +\newcounter{Test} + +\def\TestError#1#2{% + \begingroup + \setcounter{Test}{0}% + \sbox0{% + \def\@PackageError##1##2##3{% + \stepcounter{Test}% + \begingroup + \let\MessageBreak\relax + \Expect{##1}{bitset}% + \Expect*{##2}*{#1}% + \endgroup + }% + #2% + }% + \Expect*{\theTest}{1}% + \Expect*{\the\wd0}{0.0pt}% + \endgroup +} + +\def\TestErrorNegativeIndex#1#2{% + \TestError{Invalid negative index (#1)}{#2}% +} + +\def\TestGetterUndefined#1{% + \CheckUndef{dummy}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{#1{dummy}}{0}% +} + +\def\ExpectBitSet#1#2{% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter + {\csname BS@#1\endcsname}*{#2}% +} +\def\Check#1#2{% + \ExpectBitSet{#1}{#2}% +} +\def\CheckUndef#1{% + \begingroup + \Expect*{% + \expandafter + \ifx\csname BS@#1\endcsname\relax true\else false\fi + }{true}% + \endgroup +} +\def\RevCheck#1#2{% + \ExpectBitSet{#1}{\Reverse#2!!}% +} +\def\Set#1#2{% + \expandafter\def\csname BS@#1\endcsname{#2}% +} +\def\RevSet#1#2{% + \expandafter\edef\csname BS@#1\endcsname{% + \Reverse#2!!% + }% +} +\def\Reverse#1#2!#3!{% + \ifx\\#2\\% + #1#3% + \expandafter\@gobble + \else + \expandafter\@firstofone + \fi + {\Reverse#2!#1#3!}% +} +\begin{qstest}{Let}{Let} + \CheckUndef{abc}% + \CheckUndef{xyz}% + \bitsetLet{xyz}{abc}% + \CheckUndef{abc}% + \Check{xyz}{0}% + \Set{abc}{1}% + \Check{abc}{1}% + \Check{xyz}{0}% + \bitsetLet{xyz}{abc}% + \Check{abc}{1}% + \Check{xyz}{1}% + \Set{xyz}{11}% + \Check{abc}{1}% + \Check{xyz}{11}% +\end{qstest} + +\begin{qstest}{Reset}{Reset} + \bitsetReset{xyz}% + \Check{xyz}{0}% + \bitsetReset{abc}% + \Check{abc}{0}% + \Set{abc}{10101}% + \bitsetReset{abc}% + \Check{abc}{0}% +\end{qstest} + +\begin{qstest}{Get/Query}{Get/Query} + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGet{dummy}{0}% + }{0}% + \begingroup + \expandafter\def\csname BitSetError:NegativeIndex\endcsname{}% + \Set{abc}{1}% + \Expect*{\bitsetQuery{abc}{-1}{true}{false}}{false}% + \endgroup + \def\Test#1#2#3{% + \Set{abc}{#1}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{\bitsetGet{abc}{#2}}{#3}% + \Expect*{\bitsetQuery{abc}{#2}{true}{false}}% + *{\ifcase#3 false\or true\else error\fi}% + }% + \Test{1}{100}{0}% + \Test{0}{0}{0}% + \Test{1}{0}{1}% + \Test{11}{1}{1}% + \Test{111}{1}{1}% + \Test{101}{1}{0}% + \Test{101}{2}{1}% + \Test{10100110011}{10}{1}% +\end{qstest} + +\begin{qstest}{Size}{Size} + \TestGetterUndefined\bitsetSize + \def\Test#1#2{% + \Set{abc}{#1}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{\bitsetSize{abc}}{#2}% + }% + \Test{0}{0}% + \Test{1}{1}% + \Test{00}{0}% + \Test{0000000}{0}% + \Test{10}{1}% + \Test{01}{2}% + \Test{11}{2}% + \Test{010}{2}% + \Test{011}{3}% + \Test{100110011}{9}% + \Test{0000011111000001111100000}{20}% + \Test{000000000000000000000000011111111111111111111}{45}% +\end{qstest} + +\begin{qstest}{Cardinality}{Cardinality} + \TestGetterUndefined\bitsetCardinality + \def\Test#1#2{% + \Set{abc}{#1}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetCardinality{abc}% + }{#2}% + }% + \Test{0}{0}% + \Test{1}{1}% + \Test{00}{0}% + \Test{0000000}{0}% + \Test{10}{1}% + \Test{01}{1}% + \Test{11}{2}% + \Test{010}{1}% + \Test{011}{2}% + \Test{100110011}{5}% + \Test{0000011111000001111100000}{10}% + \Test{000000000000000000000000011111111111111111111}{20}% +\end{qstest} + +\begin{qstest}{NextClearBit/NextSetBit}{NextClearBit/NextSetBit} + \def\Test#1#2{% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \TestOp{abc}{#1}% + }{#2}% + }% + \def\Clear{\let\TestOp\bitsetNextClearBit}% + \def\Set{\let\TestOp\bitsetNextSetBit}% + \begingroup + \catcode`\:=11 % + \bitsetSetBin{abc}{1}% + \Clear + \Test{-1}{1\BitSetError:NegativeIndex}% + \Set + \Test{-1}{0\BitSetError:NegativeIndex}% + \endgroup + \let\BS@abc\@undefined + \Clear + \Test{0}{0}% + \Test{1}{1}% + \Test{2}{2}% + \Test{100}{100}% + \Set + \Test{0}{-1}% + \Test{1}{-1}% + \Test{100}{-1}% + \bitsetReset{abc}% + \Clear + \Test{0}{0}% + \Test{1}{1}% + \Test{2}{2}% + \Test{100}{100}% + \Set + \Test{0}{-1}% + \Test{1}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{1}% + \Clear + \Test{0}{1}% + \Test{1}{1}% + \Test{2}{2}% + \Test{100}{100}% + \Set + \Test{0}{0}% + \Test{1}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{111000111000111000111}% + \Clear + \Test{0}{3}% + \Test{1}{3}% + \Test{2}{3}% + \Test{3}{3}% + \Test{4}{4}% + \Test{5}{5}% + \Test{6}{9}% + \Test{7}{9}% + \Test{8}{9}% + \Test{9}{9}% + \Test{10}{10}% + \Test{11}{11}% + \Test{12}{15}% + \Test{13}{15}% + \Test{14}{15}% + \Test{15}{15}% + \Test{16}{16}% + \Test{17}{17}% + \Test{18}{21}% + \Test{19}{21}% + \Test{20}{21}% + \Test{21}{21}% + \Test{22}{22}% + \Test{100}{100}% + \Set + \Test{0}{0}% + \Test{1}{1}% + \Test{2}{2}% + \Test{3}{6}% + \Test{4}{6}% + \Test{5}{6}% + \Test{6}{6}% + \Test{7}{7}% + \Test{8}{8}% + \Test{9}{12}% + \Test{10}{12}% + \Test{11}{12}% + \Test{12}{12}% + \Test{13}{13}% + \Test{14}{14}% + \Test{15}{18}% + \Test{16}{18}% + \Test{17}{18}% + \Test{18}{18}% + \Test{19}{19}% + \Test{20}{20}% + \Test{21}{-1}% + \Test{22}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{1111111}% + \Clear + \Test{6}{7}% + \Test{7}{7}% + \Test{8}{8}% + \Test{100}{100}% + \Set + \Test{6}{6}% + \Test{7}{-1}% + \Test{8}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{11111111}% + \Clear + \Test{7}{8}% + \Test{8}{8}% + \Test{9}{9}% + \Test{100}{100}% + \Set + \Test{7}{7}% + \Test{8}{-1}% + \Test{9}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{111111111}% + \Clear + \Test{8}{9}% + \Test{9}{9}% + \Test{10}{10}% + \Test{100}{100}% + \Set + \Test{8}{8}% + \Test{9}{-1}% + \Test{10}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{1111111111}% + \Clear + \Test{9}{10}% + \Test{10}{10}% + \Test{11}{11}% + \Test{100}{100}% + \Set + \Test{9}{9}% + \Test{10}{-1}% + \Test{11}{-1}% + \Test{100}{-1}% +\end{qstest} + +\begin{qstest}{GetSetBitList}{GetSetBitList} + \let\BS@abc\@undefined + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetSetBitList{abc}% + }{}% + \def\Test#1#2{% + \bitsetSetBin{abc}{#1}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetSetBitList{abc}% + }{#2}% + }% + \Test{0}{}% + \Test{1}{0}% + \Test{10}{1}% + \Test{11}{0,1}% + \Test{10110100}{2,4,5,7}% + \Test{101101001010011}{0,1,4,6,9,11,12,14}% +\end{qstest} + +\begin{qstest}{GetDec}{GetDec} + \TestGetterUndefined\bitsetGetDec + \def\Test#1#2{% + \RevSet{abc}{#1}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetDec{abc}% + }{#2}% + }% + \Test{0}{0}% + \Test{1}{1}% + \Test{10}{2}% + \Test{11}{3}% + \Test{100}{4}% + \Test{101}{5}% + \Test{110}{6}% + \Test{111}{7}% + \Test{1000}{8}% + \Test{000111}{7}% + \Test{1111111111111111% + 111111111111111}{2147483647}% + \Test{0001111111111111111% + 111111111111111}{2147483647}% + \Test{1000000000000000% + 0000000000000000}{2147483648}% + \Test{1000000000000000% + 00000000000000000}{4294967296}% + \Test{0001000000000000000% + 00000000000000000}{4294967296}% + \Test{1100000000000000% + 00000000000000011}{6442450947}% +\end{qstest} + +\begin{qstest}{Clear}{Clear} + \def\Test#1#2#3{% + \RevSet{abc}{#1}% + \bitsetClear{abc}{#2}% + \Expect*{\BS@abc}*{\Reverse#3!!}% + }% + \bitsetClear{abc}{2}% + \RevCheck{abc}{0}% + \TestErrorNegativeIndex{-1}{\bitsetClear{abc}{-1}}% + \RevCheck{abc}{0}% + \Test{0}{0}{0}% + \Test{1}{0}{0}% + \Test{111}{1}{101}% + \Test{111}{30}{111}% + \Test{0000111}{5}{0000111}% 111 would also be ok + \Test{10000111}{5}{10000111}% + \Test{1001001}{3}{1000001}% +\end{qstest} + +\begin{qstest}{Set}{Set} + \def\Test#1#2#3{% + \RevSet{abc}{#1}% + \bitsetSet{abc}{#2}% + \Expect*{\BS@abc}*{\Reverse#3!!}% + }% + \bitsetSet{abc}{2}% + \RevCheck{abc}{100}% + \TestErrorNegativeIndex{-1}{\bitsetSet{abc}{-1}}% + \RevCheck{abc}{100}% + \Test{0}{0}{1}% + \Test{1}{0}{1}% + \Test{100}{1}{110}% + \Test{111}{1}{111}% + \Test{11}{1}{11}% + \Test{11}{2}{111}% + \Test{11}{3}{1011}% + \Test{111}{10}{10000000111}% + \Test{0000111}{5}{0100111}% 100111 would also be ok + \Test{10000111}{5}{10100111}% + \Test{1000001}{3}{1001001}% + \Test{1001001}{3}{1001001}% +\end{qstest} + +\begin{qstest}{Flip}{Flip} + \def\Test#1#2#3{% + \RevSet{abc}{#1}% + \bitsetFlip{abc}{#2}% + \Expect*{\BS@abc}*{\Reverse#3!!}% + }% + \bitsetFlip{abc}{2}% + \RevCheck{abc}{100}% + \TestErrorNegativeIndex{-1}{\bitsetFlip{abc}{-1}}% + \RevCheck{abc}{100}% + \Test{0}{0}{1}% + \Test{1}{0}{0}% + \Test{0}{2}{100}% + \Test{100}{1}{110}% + \Test{111}{1}{101}% + \Test{11}{1}{1}% + \Test{11}{2}{111}% + \Test{11}{3}{1011}% + \Test{111}{10}{10000000111}% + \Test{0000111}{5}{0100111}% 100111 would also be ok + \Test{10000111}{5}{10100111}% + \Test{1000001}{3}{1001001}% + \Test{1001001}{3}{1000001}% + \Test{11111}{2}{11011}% +\end{qstest} + +\begin{qstest}{SetValue}{SetValue} + \def\Test#1#2{% + \TestError{Invalid bit value (#2) not in range 0..1}{% + \bitsetSetValue{abc}{#1}{#2}% + }% + }% + \Test{0}{-1}% + \Test{0}{2}% + \Test{0}{10}% + \def\Test#1#2#3{% + \let\BS@abc\@undefined + \bitsetSetValue{abc}{#1}{#2}% + \bitsetSetBin{result}{#3}% + \Expect*{\BS@abc}*{\BS@result}% + }% + \Test{0}{0}{0}% + \Test{0}{1}{1}% + \Test{1}{0}{0}% + \Test{1}{1}{10}% + \def\Test#1#2#3#4{% + \bitsetSetBin{abc}{#1}% + \bitsetSetBin{result}{#4}% + \bitsetSetValue{abc}{#2}{#3}% + \Expect*{\BS@abc}*{\BS@result}% + }% + \Test{0}{0}{0}{0}% + \Test{0}{0}{0}{0}% + \Test{0}{0}{1}{1}% + \Test{0}{1}{0}{0}% + \Test{0}{1}{1}{10}% + \Test{1010}{2}{1}{1110}% + \Test{1010}{4}{1}{11010}% + \Test{1010}{6}{1}{1001010}% + \Test{1010}{1}{0}{1000}% + \Test{1010}{2}{0}{1010}% + \Test{1010}{3}{0}{10}% + \Test{1010}{4}{0}{1010}% + \Test{1010}{6}{0}{1010}% + \Test{1010}{2}{\csname iffalse\endcsname 0\else 1\fi}{1110}% + \Test{1010}{1}{\csname iffalse\endcsname 1\else 0\fi}{1000}% +\end{qstest} + +\begin{qstest}{IsDefined}{IsDefined} + \let\BS@abc\@undefined + \Expect*{\bitsetIsDefined{abc}{true}{false}}{false}% + \bitsetReset{abc}% + \Expect*{\bitsetIsDefined{abc}{true}{false}}{true}% +\end{qstest} + +\begin{qstest}{IsEmpty}{IsEmpty} + \let\BS@abc\@undefined + \Expect*{\bitsetIsEmpty{abc}{true}{false}}{true}% + \bitsetReset{abc}% + \Expect*{\bitsetIsEmpty{abc}{true}{false}}{true}% + \bitsetSet{abc}{1}% + \Expect*{\bitsetIsEmpty{abc}{true}{false}}{false}% +\end{qstest} + +\begin{qstest}{Equals}{Equals} + \def\Test#1#2#3{% + \Expect*{\bitsetEquals{#1}{#2}{true}{false}}{#3}% + }% + \let\BS@abc\@undefined + \Test{abc}{abc}{true}% + \Test{abc}{foo}{true}% + \Test{foo}{abc}{true}% + \bitsetReset{abc}% + \Test{abc}{abc}{true}% + \Test{abc}{foo}{false}% + \Test{foo}{abc}{false}% + \bitsetReset{foo}% + \Test{abc}{foo}{true}% + \Test{foo}{abc}{true}% + \bitsetSet{abc}{4}% + \Test{abc}{foo}{false}% + \Test{foo}{abc}{false}% + \bitsetFlip{foo}{4}% + \Test{abc}{foo}{true}% + \Test{foo}{abc}{true}% +\end{qstest} + +\begin{qstest}{Intersects}{Intersects} + \def\Test#1{% + \Expect*{\bitsetIntersects{abc}{foo}{true}{false}}{#1}% + }% + \let\BS@abc\@undefined + \let\BS@foo\@undefined + \Test{false}% + \Set{abc}{0}% + \Test{false}% + \Set{foo}{0}% + \Test{false}% + \let\BS@abc\@undefined + \Test{false}% + \Set{foo}{1}% + \Test{false}% + \Set{abc}{0}% + \Test{false}% + \Set{abc}{1}% + \Test{true}% + \let\BS@foo\@undefined + \Test{false}% + \Set{foo}{0}% + \Test{false}% + \def\Test#1#2#3{% + \bitsetSetBin{abc}{#1}% + \bitsetSetBin{foo}{#2}% + \Expect*{\bitsetIntersects{abc}{foo}{true}{false}}{#3}% + }% + \Test{1010}{0101}{false}% + \Test{0}{10}{false}% + \Test{1}{11}{true}% + \Test{11}{1}{true}% + \Test{10}{1}{false}% +\end{qstest} + +\begin{qstest}{And/AndNot/Or/Xor}{And/AndNot/Or/Xor} + \def\@Test#1#2#3#4#5{% + \begingroup + #5% + \begingroup + \let\BS@foo\@undefined + \csname bitset#1\endcsname{abc}{foo}% + \CheckUndef{foo}% + \Check{abc}{#2}% + \endgroup + \begingroup + \bitsetReset{foo}% + \csname bitset#1\endcsname{abc}{foo}% + \Check{foo}{0}% + \Check{abc}{#3}% + \endgroup + \begingroup + \def\BS@foo{0101}% + \csname bitset#1\endcsname{abc}{foo}% + \Check{foo}{0101}% + \Check{abc}{#4}% + \endgroup + \endgroup + }% + \def\Test#1{% + \def\Op{#1}% + \Test@ + }% + \def\Test@#1#2#3#4#5#6#7#8#9{% + \@Test\Op{#1}{#2}{#3}{% + \let\BS@abc\@undefined + }% + \@Test\Op{#4}{#5}{#6}{% + \bitsetReset{abc}% + }% + \@Test\Op{#7}{#8}{#9}{% + \def\BS@abc{1001}% + }% + }% + \Test{And}% + {0}{0}{0}% + {0}{0}{0}% + {0}{0}{0001}% + \Test{AndNot}% + {0}{0}{0}% + {0}{0}{0}% + {1001}{1001}{1}% + \Test{Or}% + {0}{0}{0101}% + {0}{0}{0101}% + {1001}{1001}{1101}% + \Test{Xor}% + {0}{0}{0101}% + {0}{0}{0101}% + {1001}{1001}{11}% + \def\Test#1#2#3{% + \bitsetSetBin{abc}{#1}% + \bitsetSetBin{foo}{#2}% + \csname bitset\Op\endcsname{abc}{foo}% + \RevCheck{foo}{#2}% + \RevCheck{abc}{#3}% + }% + \def\Op{And}% + \Test{1}{111}{1}% + \Test{111}{1}{1}% + \Test{10}{111}{10}% + \Test{111}{10}{10}% + \Test{111}{1000}{0}% + \Test{1000}{111}{0}% + \def\Op{AndNot}% + \Test{1010}{11}{1000}% + \Test{100}{100}{0}% + \Test{111}{1111}{0}% + \Test{100}{111}{0}% + \def\Op{Or}% + \Test{0}{0}{0}% + \Test{1}{0}{1}% + \Test{0}{1}{1}% + \Test{1}{1}{1}% + \Test{1000}{10}{1010}% + \Test{10}{1000}{1010}% + \def\Op{Xor}% + \Test{0}{0}{0}% + \Test{1}{0}{1}% + \Test{0}{1}{1}% + \Test{1}{1}{0}% + \Test{1000}{10}{1010}% + \Test{10}{1000}{1010}% + \Test {110011001100}% + {111000111000111}% + {111110100001011}% + \Test{111000111000111}% + {110011001100}% + {111110100001011}% +\end{qstest} + +\begin{qstest}{GetUndef}{GetUndef, GetBin, GetOct, GetHex} + \def\TestUndef#1#2{% + \let\BS@abc\@undefined + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \x{abc}{#1}% + }{#2}% + }% + \let\x\bitsetGetBin + \TestUndef{-1}{0}% + \TestUndef{0}{0}% + \TestUndef{1}{0}% + \TestUndef{2}{00}% + \TestUndef{8}{00000000}% + \let\x\bitsetGetOct + \TestUndef{-1}{0}% + \TestUndef{0}{0}% + \TestUndef{1}{0}% + \TestUndef{2}{0}% + \TestUndef{3}{0}% + \TestUndef{4}{00}% + \TestUndef{5}{00}% + \TestUndef{6}{00}% + \TestUndef{7}{000}% + \TestUndef{8}{000}% + \TestUndef{9}{000}% + \TestUndef{10}{0000}% + \let\x\bitsetGetHex + \TestUndef{-1}{0}% + \TestUndef{0}{0}% + \TestUndef{1}{0}% + \TestUndef{2}{0}% + \TestUndef{3}{0}% + \TestUndef{4}{0}% + \TestUndef{5}{00}% + \TestUndef{6}{00}% + \TestUndef{7}{00}% + \TestUndef{8}{00}% + \TestUndef{9}{000}% + \TestUndef{10}{000}% + \TestUndef{12}{000}% + \TestUndef{13}{0000}% + \TestUndef{16}{0000}% + \TestUndef{17}{00000}% +\end{qstest} + +\begin{qstest}{SetBin}{SetBin} + \def\Test#1#2{% + \let\BS@abc\@undefined + \bitsetSetBin{abc}{#1}% + \expandafter\Expect\expandafter{\BS@abc}{#2}% + }% + \Test{}{0}% + \Test{0}{0}% + \Test{1}{1}% + \Test{10}{01}% + \Test{11}{11}% + \Test{010}{01}% + \Test{011}{11}% + \Test{0010}{01}% + \Test{1010}{0101}% +\end{qstest} + +\begin{qstest}{SetOct}{SetOct} + \def\Test#1#2{% + \bitsetSetOct{abc}{#1}% + \expandafter\Expect\expandafter{\BS@abc}{#2}% + }% + \Test{}{0}% + \Test{0}{0}% + \Test{000}{0}% + \Test{1}{1}% + \Test{001}{1}% + \Test{010}{0001}% + \Test{020}{00001}% + \Test{42}{010001}% + \Test{377}{11111111}% + \Test{0377}{11111111}% + \Test{76543210}{000100010110001101011111}% + \Test{ 0 7 0 7 1 }{100111000111}% +\end{qstest} + +\begin{qstest}{SetHex}{SetHex} + \def\Test#1#2{% + \bitsetSetHex{abc}{#1}% + \expandafter\Expect\expandafter{\BS@abc}{#2}% + }% + \Test{}{0}% + \Test{0}{0}% + \Test{000}{0}% + \Test{1}{1}% + \Test{001}{1}% + \Test{010}{00001}% + \Test{020}{000001}% + \Test{42}{0100001}% + \Test{3F}{111111}% + \Test{03F}{111111}% + \Test{43210}{0000100001001100001}% + \Test{98765}{10100110111000011001}% + \Test{FEDCBA}{010111010011101101111111}% + \Test{ 0 F 0 F 1 }{1000111100001111}% +\end{qstest} + +\begin{qstest}{SetDec}{SetDec} + \def\Test#1#2{% + \bitsetSetDec{abc}{#1}% + \expandafter\Expect\expandafter{\BS@abc}{#2}% + }% + \Test{}{0}% + \Test{0}{0}% + \Test{000}{0}% + \Test{1}{1}% + \Test{7}{111}% + \Test{8}{0001}% + \Test{001}{1}% + \Test{010}{0101}% + \Test{020}{00101}% + \Test{53}{101011}% + \Test{255}{11111111}% + \Test{256}{000000001}% + \Test{999999999}{111111111001001101011001110111}% + \Test{1000000000}{000000000101001101011001110111}% + \Test{4210987654}{01100001010010010111111101011111}% + \Test{2147483647}{1111111111111111111111111111111}% + \Test{2147483648}{00000000000000000000000000000001}% +\end{qstest} + +\begin{qstest}{GetBin}{GetBin} + \def\TestUndef#1#2{% + \let\BS@abc\@undefined + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetBin{abc}{#1}% + }{#2}% + }% + \TestUndef{-1}{0}% + \TestUndef{0}{0}% + \TestUndef{1}{0}% + \TestUndef{2}{00}% + \TestUndef{8}{00000000}% + \def\Test#1#2{% + \bitsetSetBin{abc}{#2}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetBin{abc}{#1}% + }{#2}% + }% + \Test{-1}{0}% + \Test{0}{0}% + \Test{1}{0}% + \Test{1}{1}% + \Test{2}{01}% + \Test{2}{10}% + \Test{3}{010}% + \Test{2}{00}% + \Test{2}{01}% + \Test{8}{00101100}% + \Test{2}{10101}% + \Test{-100}{11011}% +\end{qstest} + +\begin{qstest}{GetOct}{GetOct} + \def\Test#1#2#3{% + \edef\x{\zap@space#1 \@empty}% + \edef\x{\noexpand\bitsetSetBin{abc}{\x}}% + \x + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetOct{abc}{#2}% + }{#3}% + }% + \Test{111 110 101 100 011 010 001 000}{0}{76543210}% + \Test{000 111}{0}{7}% + \Test{101 000}{-1}{50}% + \Test{111}{-1}{7}% + \Test{111}{0}{7}% + \Test{111}{1}{7}% + \Test{111}{3}{7}% + \Test{111}{4}{07}% + \Test{111}{6}{07}% + \Test{111}{7}{007}% + \Test{111 010}{6}{72}% + \Test{111 010}{7}{072}% + \Test{011 111}{0}{37}% + \Test{011 111}{6}{37}% + \Test{011 111}{7}{037}% + \Test{001 111}{0}{17}% + \Test{001 111}{6}{17}% + \Test{001 111}{7}{017}% +\end{qstest} + +\begin{qstest}{GetHex}{GetHex} + \def\Test#1#2#3{% + \bitsetSetBin{abc}{#1}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetHex{abc}{#2}% + }{#3}% + }% + \Test{1111 1110 1101 1100 1011 1010 1001 1000}{0}{FEDCBA98}% + \Test{0111 0110 0101 0100 0011 0010 0001 0000}{0}{76543210}% + \Test{0000 1111}{0}{F}% + \Test{0101 0000}{-1}{50}% + \Test{1111}{-1}{F}% + \Test{1111}{0}{F}% + \Test{1111}{1}{F}% + \Test{1111}{4}{F}% + \Test{1111}{5}{0F}% + \Test{1111}{8}{0F}% + \Test{1111}{9}{00F}% + \Test{1111 0010}{8}{F2}% + \Test{1111 0010}{9}{0F2}% + \Test{0111 1111}{0}{7F}% + \Test{0111 1111}{8}{7F}% + \Test{0111 1111}{9}{07F}% + \Test{0011 1111}{0}{3F}% + \Test{0011 1111}{8}{3F}% + \Test{0011 1111}{9}{03F}% + \Test{0001 1111}{0}{1F}% + \Test{0001 1111}{8}{1F}% + \Test{0001 1111}{9}{01F}% +\end{qstest} + +\begin{qstest}{Range}{Range} + \TestError{% + Wrong index numbers in range [9..8]\MessageBreak% hash-ok + for clear/set/flip on bit set `abc'.\MessageBreak + The lower index exceeds the upper index.\MessageBreak + Canceling the operation as error recovery% + }{% + \bitsetSetRange{abc}{9}{8}% + }% + \def\TestErrorNegInd#1#2#3#4#5#6{% + \TestError{% + Negative index in range [#2..#3]\MessageBreak % hash-ok + for \string\bitset #1Range on bit set `abc'.\MessageBreak + Using [#4..#5] as error recovery% hash-ok + }{% + \csname bitset#1Range\endcsname{abc}{#2}{#3}% + \global\let\BS@global\BS@abc + }% + \Check{global}{#6}% + }% + \Set{abc}{111}% + \TestErrorNegInd{Clear}{-1}{0}{0}{0}{111}% + \TestErrorNegInd{Clear}{0}{-1}{0}{0}{111}% + \TestErrorNegInd{Clear}{-2}{2}{0}{2}{001}% + \bitsetReset{abc}% + \TestErrorNegInd{Set}{-1}{0}{0}{0}{0}% + \TestErrorNegInd{Set}{0}{-1}{0}{0}{0}% + \TestErrorNegInd{Set}{-2}{2}{0}{2}{11}% + \Set{abc}{101}% + \TestErrorNegInd{Flip}{-1}{0}{0}{0}{101}% + \TestErrorNegInd{Flip}{0}{-1}{0}{0}{101}% + \TestErrorNegInd{Flip}{-2}{2}{0}{2}{011}% + \def\Test#1#2#3#4{% + \bitsetSetBin{abc}{#1}% + \csname bitset\TestOp Range\endcsname{abc}{#2}{#3}% + \Expect*{\bitsetGetBin{abc}{0}}{#4}% + }% + \def\TestOp{Clear}% + \Test{0}{0}{1}{0}% + \Test{1111}{1}{2}{1101}% + \Test{1111}{1}{3}{1001}% + \Test{1111111100000000}{12}{14}{1100111100000000}% + \def\TestOp{Set}% + \Test{0}{0}{1}{1}% + \Test{1000}{1}{2}{1010}% + \Test{0}{1}{2}{10}% + \Test{1}{12}{15}{111000000000001}% + \Test{1111}{1}{3}{1111}% + \Test{1000000000000000}{12}{14}{1011000000000000}% + \def\TestOp{Flip}% + \Test{0}{0}{1}{1}% + \Test{1}{0}{1}{0}% + \Test{10101010}{1}{5}{10110100}% + \def\Test#1#2#3#4#5{% + \bitsetSetBin{abc}{#1}% + \bitsetSetValueRange{abc}{#2}{#3}{#4}% + \Expect*{\bitsetGetBin{abc}{0}}{#5}% + }% + \Test{0}{0}{1}{0}{0}% + \Test{0}{0}{1}{1}{1}% + \Test{1010}{1}{3}{0}{1000}% + \Test{1010}{1}{3}{1}{1110}% +\end{qstest} + +\begin{qstest}{ShiftLeft/ShiftRight}{ShiftLeft/ShiftRight} + \def\@Test#1#2{% + \let\BS@abc\@undefined + \csname bitsetShift#1\endcsname{abc}{#2}% + \Expect*{\BS@abc}{0}% + }% + \def\Test#1{% + \@Test{Left}{#1}% + \@Test{Right}{#1}% + }% + \Test{-16}% + \Test{-1}% + \Test{0}% + \Test{1}% + \Test{16}% + \def\Test#1#2#3{% + \bitsetSetBin{abc}{#1}% + \bitsetSetBin{result}{#3}% + \csname bitsetShift\Op\endcsname{abc}{#2}% + \Expect*{\bitsetGetBin{abc}{0}}*{\bitsetGetBin{result}{0}}% + }% + \def\Op{Left}% + \Test{0}{0}{0}% + \Test{0}{1}{0}% + \Test{0}{-1}{0}% + \Test{1}{0}{1}% + \Test{1}{1}{10}% + \Test{1}{-1}{0}% + \Test{10}{1}{100}% + \Test{10}{-1}{1}% + \Test{1}{32}{100000000000000000000000000000000}% + \Test{1}{-100}{0}% + \def\Op{Right}% + \Test{0}{0}{0}% + \Test{0}{1}{0}% + \Test{0}{-1}{0}% + \Test{1}{0}{1}% + \Test{1}{1}{0}% + \Test{1}{-1}{10}% + \Test{10}{1}{1}% + \Test{10}{-1}{100}% + \Test{1}{-32}{100000000000000000000000000000000}% + \Test{1}{100}{0}% + \Test{110110110110110}{10}{11011}% + \Test{110110110110110}{100}{0}% + \Test{1}{100000}{0}% +\end{qstest} + +\begin{qstest}{Profile: Set}{Profile: Set} + \bitsetSet{abc}{4095}% + \global\let\BS@global\BS@abc +\end{qstest} + +\begin{qstest}{Profile: Get}{Profile: Get} + \edef\x{\bitsetGet{global}{4095}}% +\end{qstest} + +\begin{document} +\end{document} +\endinput +%% +%% End of file `bitset-test2.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/bitset-test3.tex b/Master/texmf-dist/doc/latex/oberdiek/bitset-test3.tex new file mode 100644 index 00000000000..a53c82704c8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/bitset-test3.tex @@ -0,0 +1,1098 @@ +%% +%% This is file `bitset-test3.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bitset.dtx (with options: `test2,noetex') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 bitset.dtx +%% and the derived files +%% bitset.sty, bitset.pdf, bitset.ins, bitset.drv, +%% bitset-test1.tex, bitset-test2.tex, bitset-test3.tex. +%% +\NeedsTeXFormat{LaTeX2e} +\nofiles +\documentclass{article} +\makeatletter +\let\SavedNumexpr\numexpr +\let\SavedIfcsname\ifcsname +\let\SavedCurrentgrouplevel\currentgrouplevel +\def\ETeXDisable{% + \let\ifcsname\@undefined + \let\numexpr\@undefined + \let\currentgrouplevel\@undefined +} +\ETeXDisable +\makeatletter +\chardef\BitSet@TestMode=1 % +\makeatother +\usepackage{bitset}[2007/09/28] +\def\ETeXEnable{% + \let\numexpr\SavedNumexpr + \let\ifcsname\SavedIfcsname + \let\currentgrouplevel\SavedCurrentgrouplevel +} +\ETeXEnable +\usepackage{qstest} +\IncludeTests{*} +\LogTests{log}{*}{*} +\makeatletter +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfresettimer\endcsname\relax +\else + \newcount\SummaryTime + \newcount\TestTime + \SummaryTime=\z@ + \newcommand*{\PrintTime}[2]{% + \typeout{% + [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]% + }% + }% + \newcommand*{\StartTime}[1]{% + \renewcommand*{\TimeDescription}{#1}% + \pdfresettimer + }% + \newcommand*{\TimeDescription}{}% + \newcommand*{\StopTime}{% + \TestTime=\pdfelapsedtime + \global\advance\SummaryTime\TestTime + \PrintTime\TimeDescription\TestTime + }% + \let\saved@qstest\qstest + \let\saved@endqstest\endqstest + \def\qstest#1#2{% + \saved@qstest{#1}{#2}% + \StartTime{#1}% + }% + \def\endqstest{% + \StopTime + \saved@endqstest + }% + \AtEndDocument{% + \PrintTime{summary}\SummaryTime + }% +\fi +\let\orig@qstest\qstest +\let\orig@endqstest\endqstest +\def\qstest#1#2{% + \orig@qstest{#1}{#2}% + \setbox0\hbox\bgroup\begingroup\ignorespaces +} +\def\endqstest{% + \endgroup\egroup + \Expect*{\the\wd0}{0.0pt}% + \orig@endqstest +} +\newcounter{Test} + +\def\TestError#1#2{% + \begingroup + \setcounter{Test}{0}% + \sbox0{% + \def\@PackageError##1##2##3{% + \stepcounter{Test}% + \begingroup + \let\MessageBreak\relax + \ETeXEnable + \Expect{##1}{bitset}% + \Expect*{##2}*{#1}% + \endgroup + }% + \ETeXDisable + #2% + }% + \Expect*{\theTest}{1}% + \Expect*{\the\wd0}{0.0pt}% + \endgroup +} + +\def\TestErrorNegativeIndex#1#2{% + \TestError{Invalid negative index (#1)}{#2}% +} + +\def\TestGetterUndefined#1{% + \CheckUndef{dummy}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{#1{dummy}}{0}% +} + +\def\ExpectBitSet#1#2{% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter + {\csname BS@#1\endcsname}*{#2}% +} +\def\Check#1#2{% + \ExpectBitSet{#1}{#2}% +} +\def\CheckUndef#1{% + \begingroup + \Expect*{% + \expandafter + \ifx\csname BS@#1\endcsname\relax true\else false\fi + }{true}% + \endgroup +} +\def\RevCheck#1#2{% + \ExpectBitSet{#1}{\Reverse#2!!}% +} +\def\Set#1#2{% + \expandafter\def\csname BS@#1\endcsname{#2}% +} +\def\RevSet#1#2{% + \expandafter\edef\csname BS@#1\endcsname{% + \Reverse#2!!% + }% +} +\def\Reverse#1#2!#3!{% + \ifx\\#2\\% + #1#3% + \expandafter\@gobble + \else + \expandafter\@firstofone + \fi + {\Reverse#2!#1#3!}% +} +\begin{qstest}{Let}{Let} + \CheckUndef{abc}% + \CheckUndef{xyz}% + \bitsetLet{xyz}{abc}% + \CheckUndef{abc}% + \Check{xyz}{0}% + \Set{abc}{1}% + \Check{abc}{1}% + \Check{xyz}{0}% + \bitsetLet{xyz}{abc}% + \Check{abc}{1}% + \Check{xyz}{1}% + \Set{xyz}{11}% + \Check{abc}{1}% + \Check{xyz}{11}% +\end{qstest} + +\begin{qstest}{Reset}{Reset} + \bitsetReset{xyz}% + \Check{xyz}{0}% + \bitsetReset{abc}% + \Check{abc}{0}% + \Set{abc}{10101}% + \bitsetReset{abc}% + \Check{abc}{0}% +\end{qstest} + +\begin{qstest}{Get/Query}{Get/Query} + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGet{dummy}{0}% + }{0}% + \begingroup + \expandafter\def\csname BitSetError:NegativeIndex\endcsname{}% + \Set{abc}{1}% + \Expect*{\bitsetQuery{abc}{-1}{true}{false}}{false}% + \endgroup + \def\Test#1#2#3{% + \Set{abc}{#1}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{\bitsetGet{abc}{#2}}{#3}% + \Expect*{\bitsetQuery{abc}{#2}{true}{false}}% + *{\ifcase#3 false\or true\else error\fi}% + }% + \Test{1}{100}{0}% + \Test{0}{0}{0}% + \Test{1}{0}{1}% + \Test{11}{1}{1}% + \Test{111}{1}{1}% + \Test{101}{1}{0}% + \Test{101}{2}{1}% + \Test{10100110011}{10}{1}% +\end{qstest} + +\begin{qstest}{Size}{Size} + \TestGetterUndefined\bitsetSize + \def\Test#1#2{% + \Set{abc}{#1}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{\bitsetSize{abc}}{#2}% + }% + \Test{0}{0}% + \Test{1}{1}% + \Test{00}{0}% + \Test{0000000}{0}% + \Test{10}{1}% + \Test{01}{2}% + \Test{11}{2}% + \Test{010}{2}% + \Test{011}{3}% + \Test{100110011}{9}% + \Test{0000011111000001111100000}{20}% + \Test{000000000000000000000000011111111111111111111}{45}% +\end{qstest} + +\begin{qstest}{Cardinality}{Cardinality} + \TestGetterUndefined\bitsetCardinality + \def\Test#1#2{% + \Set{abc}{#1}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetCardinality{abc}% + }{#2}% + }% + \Test{0}{0}% + \Test{1}{1}% + \Test{00}{0}% + \Test{0000000}{0}% + \Test{10}{1}% + \Test{01}{1}% + \Test{11}{2}% + \Test{010}{1}% + \Test{011}{2}% + \Test{100110011}{5}% + \Test{0000011111000001111100000}{10}% + \Test{000000000000000000000000011111111111111111111}{20}% +\end{qstest} + +\begin{qstest}{NextClearBit/NextSetBit}{NextClearBit/NextSetBit} + \def\Test#1#2{% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \TestOp{abc}{#1}% + }{#2}% + }% + \def\Clear{\let\TestOp\bitsetNextClearBit}% + \def\Set{\let\TestOp\bitsetNextSetBit}% + \begingroup + \catcode`\:=11 % + \bitsetSetBin{abc}{1}% + \Clear + \Test{-1}{1\BitSetError:NegativeIndex}% + \Set + \Test{-1}{0\BitSetError:NegativeIndex}% + \endgroup + \let\BS@abc\@undefined + \Clear + \Test{0}{0}% + \Test{1}{1}% + \Test{2}{2}% + \Test{100}{100}% + \Set + \Test{0}{-1}% + \Test{1}{-1}% + \Test{100}{-1}% + \bitsetReset{abc}% + \Clear + \Test{0}{0}% + \Test{1}{1}% + \Test{2}{2}% + \Test{100}{100}% + \Set + \Test{0}{-1}% + \Test{1}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{1}% + \Clear + \Test{0}{1}% + \Test{1}{1}% + \Test{2}{2}% + \Test{100}{100}% + \Set + \Test{0}{0}% + \Test{1}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{111000111000111000111}% + \Clear + \Test{0}{3}% + \Test{1}{3}% + \Test{2}{3}% + \Test{3}{3}% + \Test{4}{4}% + \Test{5}{5}% + \Test{6}{9}% + \Test{7}{9}% + \Test{8}{9}% + \Test{9}{9}% + \Test{10}{10}% + \Test{11}{11}% + \Test{12}{15}% + \Test{13}{15}% + \Test{14}{15}% + \Test{15}{15}% + \Test{16}{16}% + \Test{17}{17}% + \Test{18}{21}% + \Test{19}{21}% + \Test{20}{21}% + \Test{21}{21}% + \Test{22}{22}% + \Test{100}{100}% + \Set + \Test{0}{0}% + \Test{1}{1}% + \Test{2}{2}% + \Test{3}{6}% + \Test{4}{6}% + \Test{5}{6}% + \Test{6}{6}% + \Test{7}{7}% + \Test{8}{8}% + \Test{9}{12}% + \Test{10}{12}% + \Test{11}{12}% + \Test{12}{12}% + \Test{13}{13}% + \Test{14}{14}% + \Test{15}{18}% + \Test{16}{18}% + \Test{17}{18}% + \Test{18}{18}% + \Test{19}{19}% + \Test{20}{20}% + \Test{21}{-1}% + \Test{22}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{1111111}% + \Clear + \Test{6}{7}% + \Test{7}{7}% + \Test{8}{8}% + \Test{100}{100}% + \Set + \Test{6}{6}% + \Test{7}{-1}% + \Test{8}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{11111111}% + \Clear + \Test{7}{8}% + \Test{8}{8}% + \Test{9}{9}% + \Test{100}{100}% + \Set + \Test{7}{7}% + \Test{8}{-1}% + \Test{9}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{111111111}% + \Clear + \Test{8}{9}% + \Test{9}{9}% + \Test{10}{10}% + \Test{100}{100}% + \Set + \Test{8}{8}% + \Test{9}{-1}% + \Test{10}{-1}% + \Test{100}{-1}% + \bitsetSetBin{abc}{1111111111}% + \Clear + \Test{9}{10}% + \Test{10}{10}% + \Test{11}{11}% + \Test{100}{100}% + \Set + \Test{9}{9}% + \Test{10}{-1}% + \Test{11}{-1}% + \Test{100}{-1}% +\end{qstest} + +\begin{qstest}{GetSetBitList}{GetSetBitList} + \let\BS@abc\@undefined + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetSetBitList{abc}% + }{}% + \def\Test#1#2{% + \bitsetSetBin{abc}{#1}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetSetBitList{abc}% + }{#2}% + }% + \Test{0}{}% + \Test{1}{0}% + \Test{10}{1}% + \Test{11}{0,1}% + \Test{10110100}{2,4,5,7}% + \Test{101101001010011}{0,1,4,6,9,11,12,14}% +\end{qstest} + +\begin{qstest}{GetDec}{GetDec} + \TestGetterUndefined\bitsetGetDec + \def\Test#1#2{% + \RevSet{abc}{#1}% + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetDec{abc}% + }{#2}% + }% + \Test{0}{0}% + \Test{1}{1}% + \Test{10}{2}% + \Test{11}{3}% + \Test{100}{4}% + \Test{101}{5}% + \Test{110}{6}% + \Test{111}{7}% + \Test{1000}{8}% + \Test{000111}{7}% + \Test{1111111111111111% + 111111111111111}{2147483647}% + \Test{0001111111111111111% + 111111111111111}{2147483647}% + \Test{1000000000000000% + 0000000000000000}{2147483648}% + \Test{1000000000000000% + 00000000000000000}{4294967296}% + \Test{0001000000000000000% + 00000000000000000}{4294967296}% + \Test{1100000000000000% + 00000000000000011}{6442450947}% +\end{qstest} + +\begin{qstest}{Clear}{Clear} + \def\Test#1#2#3{% + \RevSet{abc}{#1}% + \bitsetClear{abc}{#2}% + \Expect*{\BS@abc}*{\Reverse#3!!}% + }% + \bitsetClear{abc}{2}% + \RevCheck{abc}{0}% + \TestErrorNegativeIndex{-1}{\bitsetClear{abc}{-1}}% + \RevCheck{abc}{0}% + \Test{0}{0}{0}% + \Test{1}{0}{0}% + \Test{111}{1}{101}% + \Test{111}{30}{111}% + \Test{0000111}{5}{0000111}% 111 would also be ok + \Test{10000111}{5}{10000111}% + \Test{1001001}{3}{1000001}% +\end{qstest} + +\begin{qstest}{Set}{Set} + \def\Test#1#2#3{% + \RevSet{abc}{#1}% + \bitsetSet{abc}{#2}% + \Expect*{\BS@abc}*{\Reverse#3!!}% + }% + \bitsetSet{abc}{2}% + \RevCheck{abc}{100}% + \TestErrorNegativeIndex{-1}{\bitsetSet{abc}{-1}}% + \RevCheck{abc}{100}% + \Test{0}{0}{1}% + \Test{1}{0}{1}% + \Test{100}{1}{110}% + \Test{111}{1}{111}% + \Test{11}{1}{11}% + \Test{11}{2}{111}% + \Test{11}{3}{1011}% + \Test{111}{10}{10000000111}% + \Test{0000111}{5}{0100111}% 100111 would also be ok + \Test{10000111}{5}{10100111}% + \Test{1000001}{3}{1001001}% + \Test{1001001}{3}{1001001}% +\end{qstest} + +\begin{qstest}{Flip}{Flip} + \def\Test#1#2#3{% + \RevSet{abc}{#1}% + \bitsetFlip{abc}{#2}% + \Expect*{\BS@abc}*{\Reverse#3!!}% + }% + \bitsetFlip{abc}{2}% + \RevCheck{abc}{100}% + \TestErrorNegativeIndex{-1}{\bitsetFlip{abc}{-1}}% + \RevCheck{abc}{100}% + \Test{0}{0}{1}% + \Test{1}{0}{0}% + \Test{0}{2}{100}% + \Test{100}{1}{110}% + \Test{111}{1}{101}% + \Test{11}{1}{1}% + \Test{11}{2}{111}% + \Test{11}{3}{1011}% + \Test{111}{10}{10000000111}% + \Test{0000111}{5}{0100111}% 100111 would also be ok + \Test{10000111}{5}{10100111}% + \Test{1000001}{3}{1001001}% + \Test{1001001}{3}{1000001}% + \Test{11111}{2}{11011}% +\end{qstest} + +\begin{qstest}{SetValue}{SetValue} + \def\Test#1#2{% + \TestError{Invalid bit value (#2) not in range 0..1}{% + \bitsetSetValue{abc}{#1}{#2}% + }% + }% + \Test{0}{-1}% + \Test{0}{2}% + \Test{0}{10}% + \def\Test#1#2#3{% + \let\BS@abc\@undefined + \bitsetSetValue{abc}{#1}{#2}% + \bitsetSetBin{result}{#3}% + \Expect*{\BS@abc}*{\BS@result}% + }% + \Test{0}{0}{0}% + \Test{0}{1}{1}% + \Test{1}{0}{0}% + \Test{1}{1}{10}% + \def\Test#1#2#3#4{% + \bitsetSetBin{abc}{#1}% + \bitsetSetBin{result}{#4}% + \bitsetSetValue{abc}{#2}{#3}% + \Expect*{\BS@abc}*{\BS@result}% + }% + \Test{0}{0}{0}{0}% + \Test{0}{0}{0}{0}% + \Test{0}{0}{1}{1}% + \Test{0}{1}{0}{0}% + \Test{0}{1}{1}{10}% + \Test{1010}{2}{1}{1110}% + \Test{1010}{4}{1}{11010}% + \Test{1010}{6}{1}{1001010}% + \Test{1010}{1}{0}{1000}% + \Test{1010}{2}{0}{1010}% + \Test{1010}{3}{0}{10}% + \Test{1010}{4}{0}{1010}% + \Test{1010}{6}{0}{1010}% + \Test{1010}{2}{\csname iffalse\endcsname 0\else 1\fi}{1110}% + \Test{1010}{1}{\csname iffalse\endcsname 1\else 0\fi}{1000}% +\end{qstest} + +\begin{qstest}{IsDefined}{IsDefined} + \let\BS@abc\@undefined + \Expect*{\bitsetIsDefined{abc}{true}{false}}{false}% + \bitsetReset{abc}% + \Expect*{\bitsetIsDefined{abc}{true}{false}}{true}% +\end{qstest} + +\begin{qstest}{IsEmpty}{IsEmpty} + \let\BS@abc\@undefined + \Expect*{\bitsetIsEmpty{abc}{true}{false}}{true}% + \bitsetReset{abc}% + \Expect*{\bitsetIsEmpty{abc}{true}{false}}{true}% + \bitsetSet{abc}{1}% + \Expect*{\bitsetIsEmpty{abc}{true}{false}}{false}% +\end{qstest} + +\begin{qstest}{Equals}{Equals} + \def\Test#1#2#3{% + \Expect*{\bitsetEquals{#1}{#2}{true}{false}}{#3}% + }% + \let\BS@abc\@undefined + \Test{abc}{abc}{true}% + \Test{abc}{foo}{true}% + \Test{foo}{abc}{true}% + \bitsetReset{abc}% + \Test{abc}{abc}{true}% + \Test{abc}{foo}{false}% + \Test{foo}{abc}{false}% + \bitsetReset{foo}% + \Test{abc}{foo}{true}% + \Test{foo}{abc}{true}% + \bitsetSet{abc}{4}% + \Test{abc}{foo}{false}% + \Test{foo}{abc}{false}% + \bitsetFlip{foo}{4}% + \Test{abc}{foo}{true}% + \Test{foo}{abc}{true}% +\end{qstest} + +\begin{qstest}{Intersects}{Intersects} + \def\Test#1{% + \Expect*{\bitsetIntersects{abc}{foo}{true}{false}}{#1}% + }% + \let\BS@abc\@undefined + \let\BS@foo\@undefined + \Test{false}% + \Set{abc}{0}% + \Test{false}% + \Set{foo}{0}% + \Test{false}% + \let\BS@abc\@undefined + \Test{false}% + \Set{foo}{1}% + \Test{false}% + \Set{abc}{0}% + \Test{false}% + \Set{abc}{1}% + \Test{true}% + \let\BS@foo\@undefined + \Test{false}% + \Set{foo}{0}% + \Test{false}% + \def\Test#1#2#3{% + \bitsetSetBin{abc}{#1}% + \bitsetSetBin{foo}{#2}% + \Expect*{\bitsetIntersects{abc}{foo}{true}{false}}{#3}% + }% + \Test{1010}{0101}{false}% + \Test{0}{10}{false}% + \Test{1}{11}{true}% + \Test{11}{1}{true}% + \Test{10}{1}{false}% +\end{qstest} + +\begin{qstest}{And/AndNot/Or/Xor}{And/AndNot/Or/Xor} + \def\@Test#1#2#3#4#5{% + \begingroup + #5% + \begingroup + \let\BS@foo\@undefined + \csname bitset#1\endcsname{abc}{foo}% + \CheckUndef{foo}% + \Check{abc}{#2}% + \endgroup + \begingroup + \bitsetReset{foo}% + \csname bitset#1\endcsname{abc}{foo}% + \Check{foo}{0}% + \Check{abc}{#3}% + \endgroup + \begingroup + \def\BS@foo{0101}% + \csname bitset#1\endcsname{abc}{foo}% + \Check{foo}{0101}% + \Check{abc}{#4}% + \endgroup + \endgroup + }% + \def\Test#1{% + \def\Op{#1}% + \Test@ + }% + \def\Test@#1#2#3#4#5#6#7#8#9{% + \@Test\Op{#1}{#2}{#3}{% + \let\BS@abc\@undefined + }% + \@Test\Op{#4}{#5}{#6}{% + \bitsetReset{abc}% + }% + \@Test\Op{#7}{#8}{#9}{% + \def\BS@abc{1001}% + }% + }% + \Test{And}% + {0}{0}{0}% + {0}{0}{0}% + {0}{0}{0001}% + \Test{AndNot}% + {0}{0}{0}% + {0}{0}{0}% + {1001}{1001}{1}% + \Test{Or}% + {0}{0}{0101}% + {0}{0}{0101}% + {1001}{1001}{1101}% + \Test{Xor}% + {0}{0}{0101}% + {0}{0}{0101}% + {1001}{1001}{11}% + \def\Test#1#2#3{% + \bitsetSetBin{abc}{#1}% + \bitsetSetBin{foo}{#2}% + \csname bitset\Op\endcsname{abc}{foo}% + \RevCheck{foo}{#2}% + \RevCheck{abc}{#3}% + }% + \def\Op{And}% + \Test{1}{111}{1}% + \Test{111}{1}{1}% + \Test{10}{111}{10}% + \Test{111}{10}{10}% + \Test{111}{1000}{0}% + \Test{1000}{111}{0}% + \def\Op{AndNot}% + \Test{1010}{11}{1000}% + \Test{100}{100}{0}% + \Test{111}{1111}{0}% + \Test{100}{111}{0}% + \def\Op{Or}% + \Test{0}{0}{0}% + \Test{1}{0}{1}% + \Test{0}{1}{1}% + \Test{1}{1}{1}% + \Test{1000}{10}{1010}% + \Test{10}{1000}{1010}% + \def\Op{Xor}% + \Test{0}{0}{0}% + \Test{1}{0}{1}% + \Test{0}{1}{1}% + \Test{1}{1}{0}% + \Test{1000}{10}{1010}% + \Test{10}{1000}{1010}% + \Test {110011001100}% + {111000111000111}% + {111110100001011}% + \Test{111000111000111}% + {110011001100}% + {111110100001011}% +\end{qstest} + +\begin{qstest}{GetUndef}{GetUndef, GetBin, GetOct, GetHex} + \def\TestUndef#1#2{% + \let\BS@abc\@undefined + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \x{abc}{#1}% + }{#2}% + }% + \let\x\bitsetGetBin + \TestUndef{-1}{0}% + \TestUndef{0}{0}% + \TestUndef{1}{0}% + \TestUndef{2}{00}% + \TestUndef{8}{00000000}% + \let\x\bitsetGetOct + \TestUndef{-1}{0}% + \TestUndef{0}{0}% + \TestUndef{1}{0}% + \TestUndef{2}{0}% + \TestUndef{3}{0}% + \TestUndef{4}{00}% + \TestUndef{5}{00}% + \TestUndef{6}{00}% + \TestUndef{7}{000}% + \TestUndef{8}{000}% + \TestUndef{9}{000}% + \TestUndef{10}{0000}% + \let\x\bitsetGetHex + \TestUndef{-1}{0}% + \TestUndef{0}{0}% + \TestUndef{1}{0}% + \TestUndef{2}{0}% + \TestUndef{3}{0}% + \TestUndef{4}{0}% + \TestUndef{5}{00}% + \TestUndef{6}{00}% + \TestUndef{7}{00}% + \TestUndef{8}{00}% + \TestUndef{9}{000}% + \TestUndef{10}{000}% + \TestUndef{12}{000}% + \TestUndef{13}{0000}% + \TestUndef{16}{0000}% + \TestUndef{17}{00000}% +\end{qstest} + +\begin{qstest}{SetBin}{SetBin} + \def\Test#1#2{% + \let\BS@abc\@undefined + \bitsetSetBin{abc}{#1}% + \expandafter\Expect\expandafter{\BS@abc}{#2}% + }% + \Test{}{0}% + \Test{0}{0}% + \Test{1}{1}% + \Test{10}{01}% + \Test{11}{11}% + \Test{010}{01}% + \Test{011}{11}% + \Test{0010}{01}% + \Test{1010}{0101}% +\end{qstest} + +\begin{qstest}{SetOct}{SetOct} + \def\Test#1#2{% + \bitsetSetOct{abc}{#1}% + \expandafter\Expect\expandafter{\BS@abc}{#2}% + }% + \Test{}{0}% + \Test{0}{0}% + \Test{000}{0}% + \Test{1}{1}% + \Test{001}{1}% + \Test{010}{0001}% + \Test{020}{00001}% + \Test{42}{010001}% + \Test{377}{11111111}% + \Test{0377}{11111111}% + \Test{76543210}{000100010110001101011111}% + \Test{ 0 7 0 7 1 }{100111000111}% +\end{qstest} + +\begin{qstest}{SetHex}{SetHex} + \def\Test#1#2{% + \bitsetSetHex{abc}{#1}% + \expandafter\Expect\expandafter{\BS@abc}{#2}% + }% + \Test{}{0}% + \Test{0}{0}% + \Test{000}{0}% + \Test{1}{1}% + \Test{001}{1}% + \Test{010}{00001}% + \Test{020}{000001}% + \Test{42}{0100001}% + \Test{3F}{111111}% + \Test{03F}{111111}% + \Test{43210}{0000100001001100001}% + \Test{98765}{10100110111000011001}% + \Test{FEDCBA}{010111010011101101111111}% + \Test{ 0 F 0 F 1 }{1000111100001111}% +\end{qstest} + +\begin{qstest}{SetDec}{SetDec} + \def\Test#1#2{% + \bitsetSetDec{abc}{#1}% + \expandafter\Expect\expandafter{\BS@abc}{#2}% + }% + \Test{}{0}% + \Test{0}{0}% + \Test{000}{0}% + \Test{1}{1}% + \Test{7}{111}% + \Test{8}{0001}% + \Test{001}{1}% + \Test{010}{0101}% + \Test{020}{00101}% + \Test{53}{101011}% + \Test{255}{11111111}% + \Test{256}{000000001}% + \Test{999999999}{111111111001001101011001110111}% + \Test{1000000000}{000000000101001101011001110111}% + \Test{4210987654}{01100001010010010111111101011111}% + \Test{2147483647}{1111111111111111111111111111111}% + \Test{2147483648}{00000000000000000000000000000001}% +\end{qstest} + +\begin{qstest}{GetBin}{GetBin} + \def\TestUndef#1#2{% + \let\BS@abc\@undefined + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetBin{abc}{#1}% + }{#2}% + }% + \TestUndef{-1}{0}% + \TestUndef{0}{0}% + \TestUndef{1}{0}% + \TestUndef{2}{00}% + \TestUndef{8}{00000000}% + \def\Test#1#2{% + \bitsetSetBin{abc}{#2}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetBin{abc}{#1}% + }{#2}% + }% + \Test{-1}{0}% + \Test{0}{0}% + \Test{1}{0}% + \Test{1}{1}% + \Test{2}{01}% + \Test{2}{10}% + \Test{3}{010}% + \Test{2}{00}% + \Test{2}{01}% + \Test{8}{00101100}% + \Test{2}{10101}% + \Test{-100}{11011}% +\end{qstest} + +\begin{qstest}{GetOct}{GetOct} + \def\Test#1#2#3{% + \edef\x{\zap@space#1 \@empty}% + \edef\x{\noexpand\bitsetSetBin{abc}{\x}}% + \x + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetOct{abc}{#2}% + }{#3}% + }% + \Test{111 110 101 100 011 010 001 000}{0}{76543210}% + \Test{000 111}{0}{7}% + \Test{101 000}{-1}{50}% + \Test{111}{-1}{7}% + \Test{111}{0}{7}% + \Test{111}{1}{7}% + \Test{111}{3}{7}% + \Test{111}{4}{07}% + \Test{111}{6}{07}% + \Test{111}{7}{007}% + \Test{111 010}{6}{72}% + \Test{111 010}{7}{072}% + \Test{011 111}{0}{37}% + \Test{011 111}{6}{37}% + \Test{011 111}{7}{037}% + \Test{001 111}{0}{17}% + \Test{001 111}{6}{17}% + \Test{001 111}{7}{017}% +\end{qstest} + +\begin{qstest}{GetHex}{GetHex} + \def\Test#1#2#3{% + \bitsetSetBin{abc}{#1}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter{% + \bitsetGetHex{abc}{#2}% + }{#3}% + }% + \Test{1111 1110 1101 1100 1011 1010 1001 1000}{0}{FEDCBA98}% + \Test{0111 0110 0101 0100 0011 0010 0001 0000}{0}{76543210}% + \Test{0000 1111}{0}{F}% + \Test{0101 0000}{-1}{50}% + \Test{1111}{-1}{F}% + \Test{1111}{0}{F}% + \Test{1111}{1}{F}% + \Test{1111}{4}{F}% + \Test{1111}{5}{0F}% + \Test{1111}{8}{0F}% + \Test{1111}{9}{00F}% + \Test{1111 0010}{8}{F2}% + \Test{1111 0010}{9}{0F2}% + \Test{0111 1111}{0}{7F}% + \Test{0111 1111}{8}{7F}% + \Test{0111 1111}{9}{07F}% + \Test{0011 1111}{0}{3F}% + \Test{0011 1111}{8}{3F}% + \Test{0011 1111}{9}{03F}% + \Test{0001 1111}{0}{1F}% + \Test{0001 1111}{8}{1F}% + \Test{0001 1111}{9}{01F}% +\end{qstest} + +\begin{qstest}{Range}{Range} + \TestError{% + Wrong index numbers in range [9..8]\MessageBreak% hash-ok + for clear/set/flip on bit set `abc'.\MessageBreak + The lower index exceeds the upper index.\MessageBreak + Canceling the operation as error recovery% + }{% + \bitsetSetRange{abc}{9}{8}% + }% + \def\TestErrorNegInd#1#2#3#4#5#6{% + \TestError{% + Negative index in range [#2..#3]\MessageBreak % hash-ok + for \string\bitset #1Range on bit set `abc'.\MessageBreak + Using [#4..#5] as error recovery% hash-ok + }{% + \csname bitset#1Range\endcsname{abc}{#2}{#3}% + \global\let\BS@global\BS@abc + }% + \Check{global}{#6}% + }% + \Set{abc}{111}% + \TestErrorNegInd{Clear}{-1}{0}{0}{0}{111}% + \TestErrorNegInd{Clear}{0}{-1}{0}{0}{111}% + \TestErrorNegInd{Clear}{-2}{2}{0}{2}{001}% + \bitsetReset{abc}% + \TestErrorNegInd{Set}{-1}{0}{0}{0}{0}% + \TestErrorNegInd{Set}{0}{-1}{0}{0}{0}% + \TestErrorNegInd{Set}{-2}{2}{0}{2}{11}% + \Set{abc}{101}% + \TestErrorNegInd{Flip}{-1}{0}{0}{0}{101}% + \TestErrorNegInd{Flip}{0}{-1}{0}{0}{101}% + \TestErrorNegInd{Flip}{-2}{2}{0}{2}{011}% + \def\Test#1#2#3#4{% + \bitsetSetBin{abc}{#1}% + \csname bitset\TestOp Range\endcsname{abc}{#2}{#3}% + \Expect*{\bitsetGetBin{abc}{0}}{#4}% + }% + \def\TestOp{Clear}% + \Test{0}{0}{1}{0}% + \Test{1111}{1}{2}{1101}% + \Test{1111}{1}{3}{1001}% + \Test{1111111100000000}{12}{14}{1100111100000000}% + \def\TestOp{Set}% + \Test{0}{0}{1}{1}% + \Test{1000}{1}{2}{1010}% + \Test{0}{1}{2}{10}% + \Test{1}{12}{15}{111000000000001}% + \Test{1111}{1}{3}{1111}% + \Test{1000000000000000}{12}{14}{1011000000000000}% + \def\TestOp{Flip}% + \Test{0}{0}{1}{1}% + \Test{1}{0}{1}{0}% + \Test{10101010}{1}{5}{10110100}% + \def\Test#1#2#3#4#5{% + \bitsetSetBin{abc}{#1}% + \bitsetSetValueRange{abc}{#2}{#3}{#4}% + \Expect*{\bitsetGetBin{abc}{0}}{#5}% + }% + \Test{0}{0}{1}{0}{0}% + \Test{0}{0}{1}{1}{1}% + \Test{1010}{1}{3}{0}{1000}% + \Test{1010}{1}{3}{1}{1110}% +\end{qstest} + +\begin{qstest}{ShiftLeft/ShiftRight}{ShiftLeft/ShiftRight} + \def\@Test#1#2{% + \let\BS@abc\@undefined + \csname bitsetShift#1\endcsname{abc}{#2}% + \Expect*{\BS@abc}{0}% + }% + \def\Test#1{% + \@Test{Left}{#1}% + \@Test{Right}{#1}% + }% + \Test{-16}% + \Test{-1}% + \Test{0}% + \Test{1}% + \Test{16}% + \def\Test#1#2#3{% + \bitsetSetBin{abc}{#1}% + \bitsetSetBin{result}{#3}% + \csname bitsetShift\Op\endcsname{abc}{#2}% + \Expect*{\bitsetGetBin{abc}{0}}*{\bitsetGetBin{result}{0}}% + }% + \def\Op{Left}% + \Test{0}{0}{0}% + \Test{0}{1}{0}% + \Test{0}{-1}{0}% + \Test{1}{0}{1}% + \Test{1}{1}{10}% + \Test{1}{-1}{0}% + \Test{10}{1}{100}% + \Test{10}{-1}{1}% + \Test{1}{32}{100000000000000000000000000000000}% + \Test{1}{-100}{0}% + \def\Op{Right}% + \Test{0}{0}{0}% + \Test{0}{1}{0}% + \Test{0}{-1}{0}% + \Test{1}{0}{1}% + \Test{1}{1}{0}% + \Test{1}{-1}{10}% + \Test{10}{1}{1}% + \Test{10}{-1}{100}% + \Test{1}{-32}{100000000000000000000000000000000}% + \Test{1}{100}{0}% + \Test{110110110110110}{10}{11011}% + \Test{110110110110110}{100}{0}% + \Test{1}{100000}{0}% +\end{qstest} + +\begin{qstest}{Profile: Set}{Profile: Set} + \bitsetSet{abc}{4095}% + \global\let\BS@global\BS@abc +\end{qstest} + +\begin{qstest}{Profile: Get}{Profile: Get} + \edef\x{\bitsetGet{global}{4095}}% +\end{qstest} + +\begin{document} +\end{document} +\endinput +%% +%% End of file `bitset-test3.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf b/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf Binary files differnew file mode 100644 index 00000000000..63d66e5ca3b --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/bitset.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf b/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf Binary files differindex 38a9d015985..1682862d0e4 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/bmpsize.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/bookmark-example.tex b/Master/texmf-dist/doc/latex/oberdiek/bookmark-example.tex index 3b9f96c73a3..2f37d6a4868 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/bookmark-example.tex +++ b/Master/texmf-dist/doc/latex/oberdiek/bookmark-example.tex @@ -36,7 +36,7 @@ open, openlevel=2, atend -]{bookmark}[2007/07/13] +]{bookmark}[2007/09/25] \bookmarksetup{color=blue} diff --git a/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf b/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf Binary files differindex bc3a7579cd7..bd3871ea352 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/bookmark.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf b/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf Binary files differindex 3a35aacfec7..358a40fb0b6 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/catchfile.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf b/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf Binary files differindex 20dd81068b3..70a386e60db 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/centernot.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf b/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf Binary files differindex e6dfd612014..2b54bf53e66 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/chemarr.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf b/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf Binary files differindex 2004fb73c0c..7e89d712854 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/classlist.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf b/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf Binary files differindex 878227378f8..5afe5c47c2d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/colonequals.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf b/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf Binary files differindex 8e4dc085b94..a7b397aae97 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/dvipscol.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf b/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf Binary files differindex 16879df7209..096ba1907f9 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/embedfile.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/engord.pdf b/Master/texmf-dist/doc/latex/oberdiek/engord.pdf Binary files differindex 491fe2b0317..58cca6539f6 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/engord.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/engord.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/epstopdf-test1.tex b/Master/texmf-dist/doc/latex/oberdiek/epstopdf-test1.tex new file mode 100644 index 00000000000..86f8a5979e4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/epstopdf-test1.tex @@ -0,0 +1,78 @@ +%% +%% This is file `epstopdf-test1.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% epstopdf.dtx (with options: `test1') +%% +%% This is a generated file. +%% +%% Copyright (C) 2001, 2006, 2007 by +%% Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 epstopdf.dtx +%% and the derived files +%% epstopdf.sty, epstopdf.pdf, epstopdf.ins, epstopdf.drv, +%% epstopdf-test1.tex. +%% +\input miniltx.tex\relax +\def\Gin@driver{pdftex.def} +\input graphicx.sty\relax +\resetatcatcode +\catcode`\@=11 % +\def\RestoreCatcodes{} +\count@=0 % +\loop + \edef\RestoreCatcodes{% + \RestoreCatcodes + \catcode\the\count@=\the\catcode\count@\relax + }% +\ifnum\count@<255 % + \advance\count@\@ne +\repeat + +\def\RangeCatcodeInvalid#1#2{% + \count@=#1\relax + \loop + \catcode\count@=15 % + \ifnum\count@<#2\relax + \advance\count@\@ne + \repeat +} +\def\Test{% + \RangeCatcodeInvalid{0}{47}% + \RangeCatcodeInvalid{58}{64}% + \RangeCatcodeInvalid{91}{96}% + \RangeCatcodeInvalid{123}{255}% + \catcode`\@=12 % + \catcode`\\=0 % + \catcode`\{=1 % + \catcode`\}=2 % + \catcode`\#=6 % + \catcode`\[=12 % + \catcode`\]=12 % + \catcode`\%=14 % + \catcode`\ =10 % + \catcode13=5 % + \input epstopdf.sty\relax + \RestoreCatcodes +} +\Test +\csname @@end\endcsname +\end +\endinput +%% +%% End of file `epstopdf-test1.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf b/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf Binary files differindex 473b244bf42..e0ddff965a1 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/epstopdf.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf b/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf Binary files differindex df64101c42d..8bc0f6bc822 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/etexcmds.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/example-mycolorsetup.sty b/Master/texmf-dist/doc/latex/oberdiek/example-mycolorsetup.sty index 8b58b76c8e5..25a123d91d7 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/example-mycolorsetup.sty +++ b/Master/texmf-dist/doc/latex/oberdiek/example-mycolorsetup.sty @@ -26,15 +26,15 @@ %% This work consists of the main source file kvoptions.dtx %% and the derived files %% kvoptions.sty, kvoptions.pdf, kvoptions.ins, kvoptions.drv, -%% example-mycolorsetup.sty. +%% example-mycolorsetup.sty, kvoptions-test1.tex. %% %% No we don't need the option 'color'. -%% With color support option 'emphcolor' will dynamically change -%% the color of \emph statements. +%% With color support option 'emphcolor' will dynamically +%% change the color of \emph statements. % Package identification % ----------------------- \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{example-mycolorsetup}[2007/06/11 Managing my colors] +\ProvidesPackage{example-mycolorsetup}[2007/10/02 Managing my colors] \RequirePackage{ifpdf} \RequirePackage{kvoptions} @@ -92,7 +92,8 @@ }% % Pass the option to package color. % Again it is better to expand \CurrentOption. - \expandafter\PassOptionsToPackage\expandafter{\CurrentOption}{color}% + \expandafter\PassOptionsToPackage + \expandafter{\CurrentOption}{color}% \else % Package color does not take options with values. % We provide the standard LaTeX error. diff --git a/Master/texmf-dist/doc/latex/oberdiek/flags.pdf b/Master/texmf-dist/doc/latex/oberdiek/flags.pdf Binary files differindex dca6f662d3d..8f4f4c5bcf4 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/flags.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/flags.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/grfext-test1.tex b/Master/texmf-dist/doc/latex/oberdiek/grfext-test1.tex new file mode 100644 index 00000000000..4d8e64b1138 --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/grfext-test1.tex @@ -0,0 +1,75 @@ +%% +%% This is file `grfext-test1.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% grfext.dtx (with options: `test1') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 grfext.dtx +%% and the derived files +%% grfext.sty, grfext.pdf, grfext.ins, grfext.drv, +%% grfext-test1.tex, grfext-test2.tex. +%% +\input miniltx.tex\relax +\resetatcatcode +\catcode`\@=11 % +\def\RestoreCatcodes{} +\count@=0 % +\loop + \edef\RestoreCatcodes{% + \RestoreCatcodes + \catcode\the\count@=\the\catcode\count@\relax + }% +\ifnum\count@<255 % + \advance\count@\@ne +\repeat + +\def\RangeCatcodeInvalid#1#2{% + \count@=#1\relax + \loop + \catcode\count@=15 % + \ifnum\count@<#2\relax + \advance\count@\@ne + \repeat +} +\def\Test{% + \RangeCatcodeInvalid{0}{47}% + \RangeCatcodeInvalid{58}{64}% + \RangeCatcodeInvalid{91}{96}% + \RangeCatcodeInvalid{123}{255}% + \catcode`\@=12 % + \catcode`\\=0 % + \catcode`\{=1 % + \catcode`\}=2 % + \catcode`\#=6 % + \catcode`\[=12 % + \catcode`\]=12 % + \catcode`\%=14 % + \catcode`\ =10 % + \catcode13=5 % + \input grfext.sty\relax + \RestoreCatcodes +} +\Test +\csname @@end\endcsname +\end +\endinput +%% +%% End of file `grfext-test1.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/grfext-test2.tex b/Master/texmf-dist/doc/latex/oberdiek/grfext-test2.tex new file mode 100644 index 00000000000..514e0710c2d --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/grfext-test2.tex @@ -0,0 +1,169 @@ +%% +%% This is file `grfext-test2.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% grfext.dtx (with options: `test2') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 grfext.dtx +%% and the derived files +%% grfext.sty, grfext.pdf, grfext.ins, grfext.drv, +%% grfext-test1.tex, grfext-test2.tex. +%% +\NeedsTeXFormat{LaTeX2e} +\nofiles +\documentclass{article} +\usepackage[pdftex]{graphics} +\usepackage{grfext}[2007/09/30] +\usepackage{qstest} +\IncludeTests{*} +\LogTests{log}{*}{*} +\makeatletter +\let\orig@qstest\qstest +\let\orig@endqstest\endqstest +\def\qstest#1#2{% + \orig@qstest{#1}{#2}% + \setbox0\hbox\bgroup\begingroup\ignorespaces +} +\def\endqstest{% + \endgroup\egroup + \Expect*{\the\wd0}{0.0pt}% + \orig@endqstest +} +\def\Test{\@ifnextchar\bgroup\TestInitList\TestInitCmd}% +\def\TestInitList#1{% + \def\Gin@extensions{#1}% + \@Test +} +\def\TestInitCmd#1{% + \let\Gin@extensions#1\relax + \@Test +} +\def\@Test#1#2{% + \TestCmd{#1}% + \expandafter\Expect\expandafter*{\Gin@extensions}{#2}% +} +\begin{qstest}{AppendGraphicsExtensions}{AppendGraphicsExtensions} + \let\TestCmd\AppendGraphicsExtensions + \Test\@undefined{.test}{.test}% + \Test\relax{.test}{.test}% + \Test{}{.test}{.test}% + \Test{.foo}{.test}{.foo,.test}% + \Test{.foo,.bar}{.test}{.foo,.bar,.test}% + \Test{.test}{.test}{.test}% + \Test{.foo,.test}{.test}{.foo,.test}% + \Test{.test,.foo}{.test}{.foo,.test}% + \Test{.foo,.test,.bar}{.test}{.foo,.bar,.test}% + \Test{.foo}{.test,.bar}{.foo,.test,.bar}% + \Test{.foo}{.test,.foo}{.test,.foo}% + \Test{.foo}{ .test ,.bar , .x, .y }{.foo,.test,.bar,.x,.y}% + \def\TestCmd{\AppendGraphicsExtensions*}% + \Test\@undefined{.test}{}% + \Test\relax{.test}{}% + \Test{}{.test}{}% + \Test{.test}{.test}{.test}% + \Test{.foo}{.test}{.foo}% + \Test{.foo,.bar}{.test}{.foo,.bar}% + \Test{.test}{.test}{.test}% + \Test{.foo,.test}{.test}{.foo,.test}% + \Test{.test,.foo}{.test}{.test,.foo}% + \Test{.foo,.test,.bar}{.test}{.foo,.test,.bar}% + \Test{.foo}{.test,.bar}{.foo}% + \Test{.foo}{.test,.foo}{.foo}% + \DeclareGraphicsRule{.test}{test}{.test}{}% + \Test\@undefined{.test}{.test}% + \Test\relax{.test}{.test}% + \Test{}{.test}{.test}% + \Test{.foo}{.test}{.foo,.test}% + \Test{.foo,.bar}{.test}{.foo,.bar,.test}% + \Test{.test}{.test}{.test}% + \Test{.foo,.test}{.test}{.foo,.test}% + \Test{.test,.foo}{.test}{.foo,.test}% + \Test{.foo,.test,.bar}{.test}{.foo,.bar,.test}% + \Test{.foo}{.test,.bar}{.foo,.test}% + \Test{.foo}{.test,.foo}{.foo,.test}% + \DeclareGraphicsRule{.bar}{bar}{.bar}{}% + \Test{.foo}{.test,.bar}{.foo,.test,.bar}% + \Test{.bar}{.test,.bar}{.test,.bar}% + \Test{.bar}{.bar,.test}{.bar,.test}% +\end{qstest} +\begin{qstest}{PrependGraphicsExtensions}{PrependGraphicsExtensions} + \let\TestCmd\PrependGraphicsExtensions + \Test\@undefined{.test}{.test}% + \Test\relax{.test}{.test}% + \Test{}{.test}{.test}% + \Test{.foo}{.test}{.test,.foo}% + \Test{.foo,.bar}{.test}{.test,.foo,.bar}% + \Test{.test}{.test}{.test}% + \Test{.foo,.test}{.test}{.test,.foo}% + \Test{.test,.foo}{.test}{.test,.foo}% + \Test{.foo,.test,.bar}{.test}{.test,.foo,.bar}% + \Test{.foo}{.test,.bar}{.test,.bar,.foo}% + \Test{.foo}{.test,.foo}{.test,.foo}% + \Test{.foo}{ .test ,.bar , .x, .y }{.test,.bar,.x,.y,.foo}% + \def\TestCmd{\PrependGraphicsExtensions*}% + \Test\@undefined{.test}{}% + \Test\relax{.test}{}% + \Test{}{.test}{}% + \Test{.test}{.test}{.test}% + \Test{.foo}{.test}{.foo}% + \Test{.foo,.bar}{.test}{.foo,.bar}% + \Test{.test}{.test}{.test}% + \Test{.foo,.test}{.test}{.foo,.test}% + \Test{.test,.foo}{.test}{.test,.foo}% + \Test{.foo,.test,.bar}{.test}{.foo,.test,.bar}% + \DeclareGraphicsRule{.test}{test}{.test}{}% + \Test\@undefined{.test}{.test}% + \Test\relax{.test}{.test}% + \Test{}{.test}{.test}% + \Test{.foo}{.test}{.test,.foo}% + \Test{.foo,.bar}{.test}{.test,.foo,.bar}% + \Test{.test}{.test}{.test}% + \Test{.foo,.test}{.test}{.test,.foo}% + \Test{.test,.foo}{.test}{.test,.foo}% + \Test{.foo,.test,.bar}{.test}{.test,.foo,.bar}% + \Test{.foo}{.test,.bar}{.test,.foo}% + \Test{.foo}{.test,.foo}{.test,.foo}% + \DeclareGraphicsRule{.bar}{bar}{.bar}{}% + \Test{.foo}{.test,.bar}{.test,.bar,.foo}% + \Test{.bar}{.test,.bar}{.test,.bar}% + \Test{.bar}{.bar,.test}{.bar,.test}% +\end{qstest} +\begin{qstest}{RemoveGraphicsExtensions}{RemoveGraphicsExtensions} + \let\TestCmd\RemoveGraphicsExtensions + \Test\@undefined{.test}{}% + \Test\relax{.test}{}% + \Test{}{.test}{}% + \Test{.foo}{.test}{.foo}% + \Test{.foo,.bar}{.test}{.foo,.bar}% + \Test{.test}{.test}{}% + \Test{.foo,.test}{.test}{.foo}% + \Test{.test,.foo}{.test}{.foo}% + \Test{.foo,.test,.bar}{.test}{.foo,.bar}% + \Test{.test,.test}{.test}{}% + \Test{.foo,.test,.bar,.test,.test,.bar}{.test}{.foo,.bar,.bar}% + \Test{.foo,.test,.bar,.foo,.test,.bar}{.test,.bar}{.foo,.foo}% + \Test{.foo,.test,.bar,.foo,.test,.bar}{ .test , .bar }{.foo,.foo}% +\end{qstest} +\begin{document} +\end{document} +\endinput +%% +%% End of file `grfext-test2.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf b/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf Binary files differnew file mode 100644 index 00000000000..cbbc935c8e7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/grfext.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf b/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf Binary files differindex 4300cbcfd67..6fcc0b72d3d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/grffile.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf b/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf Binary files differindex f0bd0b4382d..f25036ee563 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/holtxdoc.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf b/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf Binary files differindex 886869ff5fd..fd2b832c00c 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hycolor.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf Binary files differindex 0f11ac7e7f1..05602d321d4 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hypbmsec.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf Binary files differindex e0eff055795..35d7632dfff 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hypcap.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf Binary files differindex f07ab610914..43e229a83fd 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hypdestopt.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf b/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf Binary files differindex cc9da5e337d..7fa447c6033 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/hypdoc.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf b/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf Binary files differindex 5c8482788c0..ade2cd5a7e3 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/ifdraft.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf b/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf Binary files differindex 114445b261a..df6371bf6ab 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/iflang.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf b/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf Binary files differindex d86aac82fac..6b5ad56372d 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/ifpdf.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf b/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf Binary files differindex 13118cfc8eb..580daf5cb9c 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/ifvtex.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf b/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf Binary files differindex 15a8262dc71..3821ac1eda9 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/infwarerr.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf b/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf Binary files differindex 506a04bf47a..9203ca9e90e 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/inputenx.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/intcalc-test2.tex b/Master/texmf-dist/doc/latex/oberdiek/intcalc-test2.tex index 696816c6f80..8242acd1ee7 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/intcalc-test2.tex +++ b/Master/texmf-dist/doc/latex/oberdiek/intcalc-test2.tex @@ -32,9 +32,9 @@ \nofiles \documentclass{article} \makeatletter -\chardef\IntCalc@TestMode=1 % +\chardef\InCa@TestMode=1 % \makeatother -\usepackage{intcalc}[2007/09/09] +\usepackage{intcalc}[2007/09/27] \usepackage{qstest} \IncludeTests{*} \LogTests{log}{*}{*} @@ -67,6 +67,9 @@ \newcommand*{\TestInv}[2]{% \Test{\intcalcInv{#1}}{#2}% } +\newcommand*{\TestNum}[2]{% + \Test{\intcalcNum{#1}}{#2}% +} \newcommand*{\TestAbs}[2]{% \Test{\intcalcAbs{#1}}{#2}% } @@ -84,24 +87,92 @@ } \newcommand*{\TestInc}[2]{% \Test{\intcalcInc{#1}}{#2}% + \ifnum\intcalcNum{#1}>-1 % + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcInc\intcalcNum{#1}!% + }{#2}% + }% + \x + \fi } \newcommand*{\TestDec}[2]{% \Test{\intcalcDec{#1}}{#2}% + \ifnum\intcalcNum{#1}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcDec\intcalcNum{#1}!% + }{#2}% + }% + \x + \fi } \newcommand*{\TestAdd}[3]{% \Test{\intcalcAdd{#1}{#2}}{#3}% + \ifnum\intcalcNum{#1}>0 % + \ifnum\intcalcNum{#2}> 0 % + \ifnum\intcalcCmp{#1}{#2}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcAdd + \intcalcNum{#1}!\intcalcNum{#2}!% + }{#3}% + }% + \x + \else + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcAdd + \intcalcNum{#2}!\intcalcNum{#1}!% + }{#3}% + }% + \x + \fi + \fi + \fi } \newcommand*{\TestSub}[3]{% \Test{\intcalcSub{#1}{#2}}{#3}% + \ifnum\intcalcNum{#1}>0 % + \ifnum\intcalcNum{#2}> 0 % + \ifnum\intcalcCmp{#1}{#2}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcSub + \intcalcNum{#1}!\intcalcNum{#2}!% + }{#3}% + }% + \x + \fi + \fi + \fi } \newcommand*{\TestShl}[2]{% \Test{\intcalcShl{#1}}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcShl\intcalcAbs{#1}!% + }{\intcalcAbs{#2}}% + }% + \x } \newcommand*{\TestShr}[2]{% \Test{\intcalcShr{#1}}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcShr\intcalcAbs{#1}!% + }{\intcalcAbs{#2}}% + }% + \x } \newcommand*{\TestMul}[3]{% \Test{\intcalcMul{#1}{#2}}{#3}% + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcMul\intcalcAbs{#1}!\intcalcAbs{#2}!% + }{\intcalcAbs{#3}}% + }% + \x } \newcommand*{\TestSqr}[2]{% \Test{\intcalcSqr{#1}}{#2}% @@ -115,12 +186,93 @@ \newcommand*{\TestDiv}[3]{% \Test{\intcalcDiv{#1}{#2}}{#3}% \TestTeXDivide{#1}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcDiv\intcalcAbs{#1}!\intcalcAbs{#2}!% + }{\intcalcAbs{#3}}% + }% } \newcommand*{\TestMod}[3]{% \Test{\intcalcMod{#1}{#2}}{#3}% + \ifcase\ifcase\intcalcSgn{#1} 0% + \or + \ifcase\intcalcSgn{#2} 1% + \or 0% + \else 1% + \fi + \else + \ifcase\intcalcSgn{#2} 1% + \or 1% + \else 0% + \fi + \fi\relax + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcMod + \intcalcAbs{#1}!\intcalcAbs{#2}!% + }{\intcalcAbs{#3}}% + }% + \x + \fi } +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfresettimer\endcsname\relax +\else + \makeatletter + \newcount\SummaryTime + \newcount\TestTime + \SummaryTime=\z@ + \newcommand*{\PrintTime}[2]{% + \typeout{% + [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]% + }% + }% + \newcommand*{\StartTime}[1]{% + \renewcommand*{\TimeDescription}{#1}% + \pdfresettimer + }% + \newcommand*{\TimeDescription}{}% + \newcommand*{\StopTime}{% + \TestTime=\pdfelapsedtime + \global\advance\SummaryTime\TestTime + \PrintTime\TimeDescription\TestTime + }% + \let\saved@qstest\qstest + \let\saved@endqstest\endqstest + \def\qstest#1#2{% + \saved@qstest{#1}{#2}% + \StartTime{#1}% + }% + \def\endqstest{% + \StopTime + \saved@endqstest + }% + \AtEndDocument{% + \PrintTime{summary}\SummaryTime + }% + \makeatother +\fi \makeatletter +\begin{qstest}{num}{num}% + \TestNum{0}{0}% + \TestNum{1}{1}% + \TestNum{-1}{-1}% + \TestNum{10}{10}% + \TestNum{-10}{-10}% + \TestNum{2147483647}{2147483647}% + \TestNum{-2147483647}{-2147483647}% + \TestNum{ 0 }{0}% + \TestNum{ 1 }{1}% + \TestNum{--1}{1}% + \TestNum{ - + - + 4 }{4}% + \TestNum{\z@}{0}% + \TestNum{\@ne}{1}% + \TestNum{\m@ne}{-1}% + \TestNum{-10+30}{20}% + \TestNum{10-30}{-20}% +\end{qstest} + \begin{qstest}{inv}{inv}% \TestInv{0}{0}% \TestInv{1}{-1}% @@ -324,6 +476,8 @@ \TestShl{1}{2}% \TestShl{5621}{11242}% \TestShl{1073741823}{2147483646}% + \TestShl{-1}{-2}% + \TestShl{-5621}{-11242}% \end{qstest} \begin{qstest}{shr}{shr} @@ -353,6 +507,10 @@ \TestShr{11241}{5620}% \TestShr{73054202}{36527101}% \TestShr{2147483646}{1073741823}% + \TestShr{-1}{0}% + \TestShr{-2}{-1}% + \TestShr{-3}{-1}% + \TestShr{-11241}{-5620}% \end{qstest} \begin{qstest}{mul}{mul} @@ -583,11 +741,11 @@ \TestError{FacNegative}{\intcalcFac{-2147483647}}% \TestError{FacOverflow}{\intcalcFac{13}}% \TestError{FacOverflow}{\intcalcFac{2147483647}}% - \TestError{ShlNegativeNumber}{\intcalcShl{-1}}% - \TestError{ShrNegativeNumber}{\intcalcShr{-1}}% \TestError{DivisionByZero}{\intcalcPow{0}{-1}}% \TestError{DivisionByZero}{\intcalcDiv{1}{0}}% \TestError{DivisionByZero}{\intcalcMod{1}{0}}% + \TestError{DivisionByZero}{\IntCalcDiv1!0!}% + \TestError{DivisionByZero}{\IntCalcMod1!0!}% \end{qstest} \begin{document} diff --git a/Master/texmf-dist/doc/latex/oberdiek/intcalc-test3.tex b/Master/texmf-dist/doc/latex/oberdiek/intcalc-test3.tex index c01bff1c246..4874311d1f0 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/intcalc-test3.tex +++ b/Master/texmf-dist/doc/latex/oberdiek/intcalc-test3.tex @@ -4,7 +4,7 @@ %% %% The original source files were: %% -%% intcalc.dtx (with options: `test3,noetex') +%% intcalc.dtx (with options: `test2,noetex') %% %% This is a generated file. %% @@ -34,9 +34,9 @@ \let\SavedNumexpr\numexpr \let\numexpr\UNDEFINED \makeatletter -\chardef\IntCalc@TestMode=1 % +\chardef\InCa@TestMode=1 % \makeatother -\usepackage{intcalc}[2007/09/09] +\usepackage{intcalc}[2007/09/27] \let\numexpr\SavedNumexpr \usepackage{qstest} \IncludeTests{*} @@ -80,6 +80,9 @@ \newcommand*{\TestInv}[2]{% \Test{\intcalcInv{#1}}{#2}% } +\newcommand*{\TestNum}[2]{% + \Test{\intcalcNum{#1}}{#2}% +} \newcommand*{\TestAbs}[2]{% \Test{\intcalcAbs{#1}}{#2}% } @@ -97,24 +100,92 @@ } \newcommand*{\TestInc}[2]{% \Test{\intcalcInc{#1}}{#2}% + \ifnum\intcalcNum{#1}>-1 % + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcInc\intcalcNum{#1}!% + }{#2}% + }% + \x + \fi } \newcommand*{\TestDec}[2]{% \Test{\intcalcDec{#1}}{#2}% + \ifnum\intcalcNum{#1}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcDec\intcalcNum{#1}!% + }{#2}% + }% + \x + \fi } \newcommand*{\TestAdd}[3]{% \Test{\intcalcAdd{#1}{#2}}{#3}% + \ifnum\intcalcNum{#1}>0 % + \ifnum\intcalcNum{#2}> 0 % + \ifnum\intcalcCmp{#1}{#2}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcAdd + \intcalcNum{#1}!\intcalcNum{#2}!% + }{#3}% + }% + \x + \else + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcAdd + \intcalcNum{#2}!\intcalcNum{#1}!% + }{#3}% + }% + \x + \fi + \fi + \fi } \newcommand*{\TestSub}[3]{% \Test{\intcalcSub{#1}{#2}}{#3}% + \ifnum\intcalcNum{#1}>0 % + \ifnum\intcalcNum{#2}> 0 % + \ifnum\intcalcCmp{#1}{#2}>0 % + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcSub + \intcalcNum{#1}!\intcalcNum{#2}!% + }{#3}% + }% + \x + \fi + \fi + \fi } \newcommand*{\TestShl}[2]{% \Test{\intcalcShl{#1}}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcShl\intcalcAbs{#1}!% + }{\intcalcAbs{#2}}% + }% + \x } \newcommand*{\TestShr}[2]{% \Test{\intcalcShr{#1}}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcShr\intcalcAbs{#1}!% + }{\intcalcAbs{#2}}% + }% + \x } \newcommand*{\TestMul}[3]{% \Test{\intcalcMul{#1}{#2}}{#3}% + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcMul\intcalcAbs{#1}!\intcalcAbs{#2}!% + }{\intcalcAbs{#3}}% + }% + \x } \newcommand*{\TestSqr}[2]{% \Test{\intcalcSqr{#1}}{#2}% @@ -128,12 +199,91 @@ \newcommand*{\TestDiv}[3]{% \Test{\intcalcDiv{#1}{#2}}{#3}% \TestTeXDivide{#1}{#2}% + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcDiv\intcalcAbs{#1}!\intcalcAbs{#2}!% + }{\intcalcAbs{#3}}% + }% } \newcommand*{\TestMod}[3]{% \Test{\intcalcMod{#1}{#2}}{#3}% + \ifcase\ifcase\intcalcSgn{#1} 0% + \or + \ifcase\intcalcSgn{#2} 1% + \or 0% + \else 1% + \fi + \else + \ifcase\intcalcSgn{#2} 1% + \or 1% + \else 0% + \fi + \fi\relax + \edef\x{% + \noexpand\Test{% + \noexpand\IntCalcMod + \intcalcAbs{#1}!\intcalcAbs{#2}!% + }{\intcalcAbs{#3}}% + }% + \x + \fi } +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfresettimer\endcsname\relax +\else + \makeatletter + \newcount\SummaryTime + \newcount\TestTime + \SummaryTime=\z@ + \newcommand*{\PrintTime}[2]{% + \typeout{% + [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]% + }% + }% + \newcommand*{\StartTime}[1]{% + \renewcommand*{\TimeDescription}{#1}% + \pdfresettimer + }% + \newcommand*{\TimeDescription}{}% + \newcommand*{\StopTime}{% + \TestTime=\pdfelapsedtime + \global\advance\SummaryTime\TestTime + \PrintTime\TimeDescription\TestTime + }% + \let\saved@qstest\qstest + \let\saved@endqstest\endqstest + \def\qstest#1#2{% + \saved@qstest{#1}{#2}% + \StartTime{#1}% + }% + \def\endqstest{% + \StopTime + \saved@endqstest + }% + \AtEndDocument{% + \PrintTime{summary}\SummaryTime + }% + \makeatother +\fi \makeatletter +\begin{qstest}{num}{num}% + \TestNum{0}{0}% + \TestNum{1}{1}% + \TestNum{-1}{-1}% + \TestNum{10}{10}% + \TestNum{-10}{-10}% + \TestNum{2147483647}{2147483647}% + \TestNum{-2147483647}{-2147483647}% + \TestNum{ 0 }{0}% + \TestNum{ 1 }{1}% + \TestNum{--1}{1}% + \TestNum{ - + - + 4 }{4}% + \TestNum{\z@}{0}% + \TestNum{\@ne}{1}% + \TestNum{\m@ne}{-1}% +\end{qstest} + \begin{qstest}{inv}{inv}% \TestInv{0}{0}% \TestInv{1}{-1}% @@ -324,6 +474,8 @@ \TestShl{1}{2}% \TestShl{5621}{11242}% \TestShl{1073741823}{2147483646}% + \TestShl{-1}{-2}% + \TestShl{-5621}{-11242}% \end{qstest} \begin{qstest}{shr}{shr} @@ -353,6 +505,10 @@ \TestShr{11241}{5620}% \TestShr{73054202}{36527101}% \TestShr{2147483646}{1073741823}% + \TestShr{-1}{0}% + \TestShr{-2}{-1}% + \TestShr{-3}{-1}% + \TestShr{-11241}{-5620}% \end{qstest} \begin{qstest}{mul}{mul} @@ -576,11 +732,11 @@ \TestError{FacNegative}{\intcalcFac{-2147483647}}% \TestError{FacOverflow}{\intcalcFac{13}}% \TestError{FacOverflow}{\intcalcFac{2147483647}}% - \TestError{ShlNegativeNumber}{\intcalcShl{-1}}% - \TestError{ShrNegativeNumber}{\intcalcShr{-1}}% \TestError{DivisionByZero}{\intcalcPow{0}{-1}}% \TestError{DivisionByZero}{\intcalcDiv{1}{0}}% \TestError{DivisionByZero}{\intcalcMod{1}{0}}% + \TestError{DivisionByZero}{\IntCalcDiv1!0!}% + \TestError{DivisionByZero}{\IntCalcMod1!0!}% \end{qstest} \begin{document} diff --git a/Master/texmf-dist/doc/latex/oberdiek/intcalc-test4.tex b/Master/texmf-dist/doc/latex/oberdiek/intcalc-test4.tex index 9d4d2391743..021744f16dd 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/intcalc-test4.tex +++ b/Master/texmf-dist/doc/latex/oberdiek/intcalc-test4.tex @@ -32,9 +32,9 @@ \nofiles \documentclass{article} \makeatletter -\chardef\IntCalc@TestMode=1 % +\chardef\InCa@TestMode=1 % \makeatother -\usepackage{intcalc}[2007/09/09] +\usepackage{intcalc}[2007/09/27] \usepackage{qstest} \IncludeTests{*} \LogTests{log}{*}{*} @@ -58,6 +58,7 @@ \TestDo{#1}{#2}% \TestDo{#2}{#1}% } +\let\TestNum\TestOne \let\TestInv\TestOne \let\TestAbs\TestOne \let\TestSgn\TestOne @@ -78,6 +79,25 @@ \let\TestMod\TestTwo \makeatletter +\begin{qstest}{num}{num}% + \TestNum{0}{0}% + \TestNum{1}{1}% + \TestNum{-1}{-1}% + \TestNum{10}{10}% + \TestNum{-10}{-10}% + \TestNum{2147483647}{2147483647}% + \TestNum{-2147483647}{-2147483647}% + \TestNum{ 0 }{0}% + \TestNum{ 1 }{1}% + \TestNum{--1}{1}% + \TestNum{ - + - + 4 }{4}% + \TestNum{\z@}{0}% + \TestNum{\@ne}{1}% + \TestNum{\m@ne}{-1}% + \TestNum{-10+30}{20}% + \TestNum{10-30}{-20}% +\end{qstest} + \begin{qstest}{inv}{inv}% \TestInv{0}{0}% \TestInv{1}{-1}% @@ -281,6 +301,8 @@ \TestShl{1}{2}% \TestShl{5621}{11242}% \TestShl{1073741823}{2147483646}% + \TestShl{-1}{-2}% + \TestShl{-5621}{-11242}% \end{qstest} \begin{qstest}{shr}{shr} @@ -310,6 +332,10 @@ \TestShr{11241}{5620}% \TestShr{73054202}{36527101}% \TestShr{2147483646}{1073741823}% + \TestShr{-1}{0}% + \TestShr{-2}{-1}% + \TestShr{-3}{-1}% + \TestShr{-11241}{-5620}% \end{qstest} \begin{qstest}{mul}{mul} diff --git a/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf b/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf Binary files differindex a3978b992e8..161a3b40d2b 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/intcalc.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/kvoptions-test1.tex b/Master/texmf-dist/doc/latex/oberdiek/kvoptions-test1.tex new file mode 100644 index 00000000000..de0a68d2468 --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/kvoptions-test1.tex @@ -0,0 +1,78 @@ +%% +%% This is file `kvoptions-test1.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% kvoptions.dtx (with options: `test1') +%% +%% This is a generated file. +%% +%% Copyright (C) 2004, 2006, 2007 by +%% Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 kvoptions.dtx +%% and the derived files +%% kvoptions.sty, kvoptions.pdf, kvoptions.ins, kvoptions.drv, +%% example-mycolorsetup.sty, kvoptions-test1.tex. +%% +%% No we don't need the option 'color'. +%% With color support option 'emphcolor' will dynamically +%% change the color of \emph statements. +\input miniltx.tex\relax +\catcode`\@=11 % +\def\RestoreCatcodes{} +\count@=0 % +\loop + \edef\RestoreCatcodes{% + \RestoreCatcodes + \catcode\the\count@=\the\catcode\count@\relax + }% +\ifnum\count@<255 % + \advance\count@\@ne +\repeat + +\def\RangeCatcodeInvalid#1#2{% + \count@=#1\relax + \loop + \catcode\count@=15 % + \ifnum\count@<#2\relax + \advance\count@\@ne + \repeat +} +\def\Test{% + \RangeCatcodeInvalid{0}{47}% + \RangeCatcodeInvalid{58}{64}% + \RangeCatcodeInvalid{91}{96}% + \RangeCatcodeInvalid{123}{255}% + \catcode`\@=12 % + \catcode`\\=0 % + \catcode`\{=1 % + \catcode`\}=2 % + \catcode`\#=6 % + \catcode`\[=12 % + \catcode`\]=12 % + \catcode`\%=14 % + \catcode`\ =10 % + \catcode13=5 % + \input kvoptions.sty\relax + \RestoreCatcodes +} +\Test +\csname @@end\endcsname +\end +\endinput +%% +%% End of file `kvoptions-test1.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf b/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf Binary files differindex 57996c95bab..89e71b5133b 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/kvoptions.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-example.tex b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-example.tex index 1466159e2db..8f78800f374 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-example.tex +++ b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-example.tex @@ -25,7 +25,8 @@ %% This work consists of the main source file kvsetkeys.dtx %% and the derived files %% kvsetkeys.sty, kvsetkeys.pdf, kvsetkeys.ins, kvsetkeys.drv, -%% kvsetkeys-example.tex, kvsetkeys-test1.tex. +%% kvsetkeys-example.tex, kvsetkeys-test1.tex, +%% kvsetkeys-test2.tex, kvsetkeys-test3.tex. %% \documentclass{article} \usepackage[T1]{fontenc} diff --git a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-test1.tex b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-test1.tex index 718ce0bced8..14225a1cd0b 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-test1.tex +++ b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-test1.tex @@ -25,7 +25,8 @@ %% This work consists of the main source file kvsetkeys.dtx %% and the derived files %% kvsetkeys.sty, kvsetkeys.pdf, kvsetkeys.ins, kvsetkeys.drv, -%% kvsetkeys-example.tex, kvsetkeys-test1.tex. +%% kvsetkeys-example.tex, kvsetkeys-test1.tex, +%% kvsetkeys-test2.tex, kvsetkeys-test3.tex. %% \catcode`\@=11 % \def\RestoreCatcodes{} diff --git a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-test2.tex b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-test2.tex new file mode 100644 index 00000000000..739944bab57 --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-test2.tex @@ -0,0 +1,264 @@ +%% +%% This is file `kvsetkeys-test2.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% kvsetkeys.dtx (with options: `test2') +%% +%% This is a generated file. +%% +%% Copyright (C) 2006, 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 kvsetkeys.dtx +%% and the derived files +%% kvsetkeys.sty, kvsetkeys.pdf, kvsetkeys.ins, kvsetkeys.drv, +%% kvsetkeys-example.tex, kvsetkeys-test1.tex, +%% kvsetkeys-test2.tex, kvsetkeys-test3.tex. +%% +\NeedsTeXFormat{LaTeX2e} +\nofiles +\documentclass{article} +\makeatletter +\chardef\KVS@TestMode=1 % +\makeatother +\usepackage{kvsetkeys}[2007/09/29] +\usepackage{qstest} +\IncludeTests{*} +\LogTests{log}{*}{*} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfresettimer\endcsname\relax +\else + \makeatletter + \newcount\SummaryTime + \newcount\TestTime + \SummaryTime=\z@ + \newcommand*{\PrintTime}[2]{% + \typeout{% + [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]% + }% + }% + \newcommand*{\StartTime}[1]{% + \renewcommand*{\TimeDescription}{#1}% + \pdfresettimer + }% + \newcommand*{\TimeDescription}{}% + \newcommand*{\StopTime}{% + \TestTime=\pdfelapsedtime + \global\advance\SummaryTime\TestTime + \PrintTime\TimeDescription\TestTime + }% + \let\saved@qstest\qstest + \let\saved@endqstest\endqstest + \def\qstest#1#2{% + \saved@qstest{#1}{#2}% + \StartTime{#1}% + }% + \def\endqstest{% + \StopTime + \saved@endqstest + }% + \AtEndDocument{% + \PrintTime{summary}\SummaryTime + }% + \makeatother +\fi +\makeatletter +\def\@makeactive#1{% + \catcode`#1=13\relax +} +\@makeactive\, +\def,{\errmessage{COMMA}} +\@makeother\, +\@makeactive\= +\def={\errmessage{EQUALS}} +\@makeother\= + +\begin{qstest}{normalize}{normalize,active-chars,space-removal}% + \def\Test#1#2{% + \@makeother\,% + \@makeother\=% + \scantokens{\toks@={#2}}% + \edef\Result{\the\toks@}% + \@makeother\,% + \@makeother\=% + \@Test{#1}% + \@makeactive\,% + \@Test{#1}% + \@makeactive\=% + \@Test{#1}% + \@makeother\,% + \@Test{#1}% + \@makeother\=% + }% + \def\@Test#1{% + \scantokens{\kv@normalize{#1}}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter + {\expandafter\kv@list\expandafter}\expandafter{\Result}% + \Expect*{\ifx\kv@list\Result true\else false\fi}{true}% + }% + \Test{}{,}% + \Test{,}{,}% + \Test{,,}{,}% + \Test{,,,}{,}% + \Test{ , }{,}% + \Test{{a}}{,{a},}% + \Test{,{a}}{,{a},}% + \Test{{a},}{,{a},}% + \Test{{a},{b}}{,{a},{b},}% + \Test{{b}={c},{}=,{}={},{d}=}{,{b}={c},{}=,{}={},{d}=,}% + \Test{{}}{,{},}% + \Test{{},{},{}}{,{},{},{},}% + \Test{=}{,=,}% + \Test{=,=,=}{,=,=,=,}% + \def\TestSet#1{% + \Test{#1#1}{,}% + \Test{#1#1,#1#1}{,}% + \Test{#1#1,#1#1,#1#1}{,}% + \Test{#1#1#1#1#1}{,}% + \Test{{a}#1#1=#1#1{b}}{,{a}={b},}% + }% + \TestSet{ }% + \begingroup + \let\saved@normalize\kv@normalize + \def\kv@normalize#1{% + \saved@normalize{#1}% + \@onelevel@sanitize\kv@list + \@onelevel@sanitize\Result + }% + \Test{#,#=#,{#}={#},{#}=,{#}}{,#,#=#,{#}={#},{#}=,{#},}% + \endgroup + \begingroup + \def\Test#1#2{% + \edef\Result{#2}% + \@Test{#1}% + }% + \Test{{ a = b }}{,{ a = b },}% + \@makeactive\,% + \Test{{,}}{\string,{\noexpand,}\string,}% + \@makeother\,% + \@makeactive\=% + \Test{a={=}}{,a\string={\noexpand=},}% + \endgroup + \Test{a=b}{,a=b,}% + \Test{a={b}}{,a={b},}% + \Test{a ={b}}{,a={b},}% + \Test{a= {b}}{,a={b},}% + \Test{a = {b}}{,a={b},}% + \Test{a = {b} ,}{,a={b},}% + \Test{a}{,a,}% + \Test{ a}{,a,}% + \Test{a }{,a,}% + \Test{ a }{,a,}% + \Test{, a ,}{,a,}% + \Test{, a b ,}{,a b,}% + \Test{,a ,}{,a,}% + \Test{ a =}{,a=,}% + \Test{ a = }{,a=,}% + \Test{a =}{,a=,}% + \Test{{a} =}{,{a}=,}% + \Test{{a}= {}}{,{a}={},}% + \Test{, a = {}}{,a={},}% + \Test{a,,b}{,a,b,}% + \Test{a=\fi}{,a=\fi,}% + \Test{a=\iffalse}{,a=\iffalse,}% + \Test{a=\iffalse,b=\fi}{,a=\iffalse,b=\fi,}% +\end{qstest} + +\begin{qstest}{parse}{parse,brace-removal} + \def\Processor#1#2{% + \expandafter\Expect\expandafter{\kv@key}{#1}% + \toks@{#2}% + \edef\x{\the\toks@}% + \ifx\kv@value\relax + \Expect*{\the\toks@}{}% + \def\Value{<>}% + \else + \edef\Value{[\the\toks@]}% + \@onelevel@sanitize\Value + \fi + \toks@{#1}% + \ifx\Result\@empty + \edef\Result{[\the\toks@]=\Value}% + \else + \edef\Result{\Result,[\the\toks@]=\Value}% + \fi + \@onelevel@sanitize\Result + }% + \def\Test#1#2{% + \let\Result\@empty + \kv@parse{#1}\Processor + \Expect*{\Result}{#2}% + }% + \Test{}{}% + \Test{{}}{}% + \Test{{{}}}{[]=<>}% + \Test{{{{}}}}{[{}]=<>}% + \Test{a}{[a]=<>}% + \Test{{a}}{[a]=<>}% + \Test{{a}}{[a]=<>}% + \Test{{{a}}}{[a]=<>}% + \Test{{{{a}}}}{[{a}]=<>}% + \Test{a=}{[a]=[]}% + \Test{{a}=}{[a]=[]}% + \Test{{{a}}=}{[{a}]=[]}% + \Test{a={}}{[a]=[]}% + \Test{{a}={{}}}{[a]=[{}]}% + \Test{a=b}{[a]=[b]}% + \Test{a=\fi}{[a]=[\fi]}% + \Test{a=\iffalse}{[a]=[\iffalse]}% + \Test{a=\iffalse,b=\fi}{[a]=[\iffalse],[b]=[\fi]}% + \Test{{ a = b }}{[ a ]=[ b ]}% + \Test{{{ a = b }}}{[ a = b ]=<>}% +\end{qstest} + +\begin{qstest}{comma}{comma,parse} + \def\Processor#1{% + \expandafter\Expect\expandafter{\comma@entry}{#1}% + \toks@{#1}% + \ifx\Result\@empty + \edef\Result{[\the\toks@]}% + \else + \edef\Result{\Result,[\the\toks@]}% + \fi + \@onelevel@sanitize\Result + }% + \def\Test#1#2{% + \let\Result\@empty + \comma@parse{#1}\Processor + \Expect*{\Result}{#2}% + }% +\tracingmacros=1 + \Test{}{}% + \Test{{}}{}% + \Test{{{}}}{[{}]}% + \Test{a}{[a]}% + \Test{{a}}{[a]}% + \Test{{{a}}}{[{a}]}% + \Test{a=}{[a=]}% + \Test{a\fi}{[a\fi]}% + \Test{a\iffalse}{[a\iffalse]}% + \Test{\iffalse,\fi}{[\iffalse],[\fi]}% + \Test{ a , b , c }{[a],[b],[c]}% + \Test{ { } ,{ }, { }, { } , { } }{[ ],[ ],[ ],[ ],[ ]}% + \Test{ {{}} ,{{}}, {{}}, {{}} , {{}} }{[{}],[{}],[{}],[{}],[{}]}% +\end{qstest} + +\begin{document} +\end{document} +\endinput +%% +%% End of file `kvsetkeys-test2.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-test3.tex b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-test3.tex new file mode 100644 index 00000000000..fcf53c96479 --- /dev/null +++ b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys-test3.tex @@ -0,0 +1,267 @@ +%% +%% This is file `kvsetkeys-test3.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% kvsetkeys.dtx (with options: `test2,noetex') +%% +%% This is a generated file. +%% +%% Copyright (C) 2006, 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% 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 kvsetkeys.dtx +%% and the derived files +%% kvsetkeys.sty, kvsetkeys.pdf, kvsetkeys.ins, kvsetkeys.drv, +%% kvsetkeys-example.tex, kvsetkeys-test1.tex, +%% kvsetkeys-test2.tex, kvsetkeys-test3.tex. +%% +\NeedsTeXFormat{LaTeX2e} +\nofiles +\documentclass{article} +\let\SavedUnexpanded\unexpanded +\let\unexpanded\UNDEFINED +\makeatletter +\chardef\KVS@TestMode=1 % +\makeatother +\usepackage{kvsetkeys}[2007/09/29] +\let\unexpanded\SavedUnexpanded +\usepackage{qstest} +\IncludeTests{*} +\LogTests{log}{*}{*} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname pdfresettimer\endcsname\relax +\else + \makeatletter + \newcount\SummaryTime + \newcount\TestTime + \SummaryTime=\z@ + \newcommand*{\PrintTime}[2]{% + \typeout{% + [Time #1: \strip@pt\dimexpr\number#2sp\relax\space s]% + }% + }% + \newcommand*{\StartTime}[1]{% + \renewcommand*{\TimeDescription}{#1}% + \pdfresettimer + }% + \newcommand*{\TimeDescription}{}% + \newcommand*{\StopTime}{% + \TestTime=\pdfelapsedtime + \global\advance\SummaryTime\TestTime + \PrintTime\TimeDescription\TestTime + }% + \let\saved@qstest\qstest + \let\saved@endqstest\endqstest + \def\qstest#1#2{% + \saved@qstest{#1}{#2}% + \StartTime{#1}% + }% + \def\endqstest{% + \StopTime + \saved@endqstest + }% + \AtEndDocument{% + \PrintTime{summary}\SummaryTime + }% + \makeatother +\fi +\makeatletter +\def\@makeactive#1{% + \catcode`#1=13\relax +} +\@makeactive\, +\def,{\errmessage{COMMA}} +\@makeother\, +\@makeactive\= +\def={\errmessage{EQUALS}} +\@makeother\= + +\begin{qstest}{normalize}{normalize,active-chars,space-removal}% + \def\Test#1#2{% + \@makeother\,% + \@makeother\=% + \scantokens{\toks@={#2}}% + \edef\Result{\the\toks@}% + \@makeother\,% + \@makeother\=% + \@Test{#1}% + \@makeactive\,% + \@Test{#1}% + \@makeactive\=% + \@Test{#1}% + \@makeother\,% + \@Test{#1}% + \@makeother\=% + }% + \def\@Test#1{% + \scantokens{\kv@normalize{#1}}% + \expandafter\expandafter\expandafter\Expect + \expandafter\expandafter\expandafter + {\expandafter\kv@list\expandafter}\expandafter{\Result}% + \Expect*{\ifx\kv@list\Result true\else false\fi}{true}% + }% + \Test{}{,}% + \Test{,}{,}% + \Test{,,}{,}% + \Test{,,,}{,}% + \Test{ , }{,}% + \Test{{a}}{,{a},}% + \Test{,{a}}{,{a},}% + \Test{{a},}{,{a},}% + \Test{{a},{b}}{,{a},{b},}% + \Test{{b}={c},{}=,{}={},{d}=}{,{b}={c},{}=,{}={},{d}=,}% + \Test{{}}{,{},}% + \Test{{},{},{}}{,{},{},{},}% + \Test{=}{,=,}% + \Test{=,=,=}{,=,=,=,}% + \def\TestSet#1{% + \Test{#1#1}{,}% + \Test{#1#1,#1#1}{,}% + \Test{#1#1,#1#1,#1#1}{,}% + \Test{#1#1#1#1#1}{,}% + \Test{{a}#1#1=#1#1{b}}{,{a}={b},}% + }% + \TestSet{ }% + \begingroup + \let\saved@normalize\kv@normalize + \def\kv@normalize#1{% + \saved@normalize{#1}% + \@onelevel@sanitize\kv@list + \@onelevel@sanitize\Result + }% + \Test{#,#=#,{#}={#},{#}=,{#}}{,#,#=#,{#}={#},{#}=,{#},}% + \endgroup + \begingroup + \def\Test#1#2{% + \edef\Result{#2}% + \@Test{#1}% + }% + \Test{{ a = b }}{,{ a = b },}% + \@makeactive\,% + \Test{{,}}{\string,{\noexpand,}\string,}% + \@makeother\,% + \@makeactive\=% + \Test{a={=}}{,a\string={\noexpand=},}% + \endgroup + \Test{a=b}{,a=b,}% + \Test{a={b}}{,a={b},}% + \Test{a ={b}}{,a={b},}% + \Test{a= {b}}{,a={b},}% + \Test{a = {b}}{,a={b},}% + \Test{a = {b} ,}{,a={b},}% + \Test{a}{,a,}% + \Test{ a}{,a,}% + \Test{a }{,a,}% + \Test{ a }{,a,}% + \Test{, a ,}{,a,}% + \Test{, a b ,}{,a b,}% + \Test{,a ,}{,a,}% + \Test{ a =}{,a=,}% + \Test{ a = }{,a=,}% + \Test{a =}{,a=,}% + \Test{{a} =}{,{a}=,}% + \Test{{a}= {}}{,{a}={},}% + \Test{, a = {}}{,a={},}% + \Test{a,,b}{,a,b,}% + \Test{a=\fi}{,a=\fi,}% + \Test{a=\iffalse}{,a=\iffalse,}% + \Test{a=\iffalse,b=\fi}{,a=\iffalse,b=\fi,}% +\end{qstest} + +\begin{qstest}{parse}{parse,brace-removal} + \def\Processor#1#2{% + \expandafter\Expect\expandafter{\kv@key}{#1}% + \toks@{#2}% + \edef\x{\the\toks@}% + \ifx\kv@value\relax + \Expect*{\the\toks@}{}% + \def\Value{<>}% + \else + \edef\Value{[\the\toks@]}% + \@onelevel@sanitize\Value + \fi + \toks@{#1}% + \ifx\Result\@empty + \edef\Result{[\the\toks@]=\Value}% + \else + \edef\Result{\Result,[\the\toks@]=\Value}% + \fi + \@onelevel@sanitize\Result + }% + \def\Test#1#2{% + \let\Result\@empty + \kv@parse{#1}\Processor + \Expect*{\Result}{#2}% + }% + \Test{}{}% + \Test{{}}{}% + \Test{{{}}}{[]=<>}% + \Test{{{{}}}}{[{}]=<>}% + \Test{a}{[a]=<>}% + \Test{{a}}{[a]=<>}% + \Test{{a}}{[a]=<>}% + \Test{{{a}}}{[a]=<>}% + \Test{{{{a}}}}{[{a}]=<>}% + \Test{a=}{[a]=[]}% + \Test{{a}=}{[a]=[]}% + \Test{{{a}}=}{[{a}]=[]}% + \Test{a={}}{[a]=[]}% + \Test{{a}={{}}}{[a]=[{}]}% + \Test{a=b}{[a]=[b]}% + \Test{a=\fi}{[a]=[\fi]}% + \Test{a=\iffalse}{[a]=[\iffalse]}% + \Test{a=\iffalse,b=\fi}{[a]=[\iffalse],[b]=[\fi]}% + \Test{{ a = b }}{[ a ]=[ b ]}% + \Test{{{ a = b }}}{[ a = b ]=<>}% +\end{qstest} + +\begin{qstest}{comma}{comma,parse} + \def\Processor#1{% + \expandafter\Expect\expandafter{\comma@entry}{#1}% + \toks@{#1}% + \ifx\Result\@empty + \edef\Result{[\the\toks@]}% + \else + \edef\Result{\Result,[\the\toks@]}% + \fi + \@onelevel@sanitize\Result + }% + \def\Test#1#2{% + \let\Result\@empty + \comma@parse{#1}\Processor + \Expect*{\Result}{#2}% + }% +\tracingmacros=1 + \Test{}{}% + \Test{{}}{}% + \Test{{{}}}{[{}]}% + \Test{a}{[a]}% + \Test{{a}}{[a]}% + \Test{{{a}}}{[{a}]}% + \Test{a=}{[a=]}% + \Test{a\fi}{[a\fi]}% + \Test{a\iffalse}{[a\iffalse]}% + \Test{\iffalse,\fi}{[\iffalse],[\fi]}% + \Test{ a , b , c }{[a],[b],[c]}% + \Test{ { } ,{ }, { }, { } , { } }{[ ],[ ],[ ],[ ],[ ]}% + \Test{ {{}} ,{{}}, {{}}, {{}} , {{}} }{[{}],[{}],[{}],[{}],[{}]}% +\end{qstest} + +\begin{document} +\end{document} +\endinput +%% +%% End of file `kvsetkeys-test3.tex'. diff --git a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf Binary files differindex eb2c8c0652b..f4110fab0cf 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/kvsetkeys.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf b/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf Binary files differindex 77dfad4fa94..413c98d4b42 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/makerobust.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf b/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf Binary files differindex 621d9703be5..c4df5f6495a 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/oberdiek.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf b/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf Binary files differindex 0be191a8819..806c3dda08b 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pagesel.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf Binary files differindex be5d4d31346..f3d4f4c5628 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcol.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf Binary files differindex 48ae28c940f..77fc0928449 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolfoot.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf Binary files differindex 7e34d34f014..b16a1b630ba 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolmk.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf Binary files differindex ab399713002..a1334f403a8 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparallel.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf Binary files differindex 4e252de7e10..a3d9de705ec 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcolparcolumns.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf Binary files differindex 52eda074d29..8a2084591b2 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfcrypt.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf Binary files differindex 107c2f93d17..d2b50f80033 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdfescape.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf b/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf Binary files differindex d9d0beb4611..1dd1bf2072a 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pdflscape.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/picture.pdf b/Master/texmf-dist/doc/latex/oberdiek/picture.pdf Binary files differindex caeacfcc186..10c07b6e977 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/picture.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/picture.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf b/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf Binary files differindex de133485a5b..6444b6f8ea0 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/pmboxdraw.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf b/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf Binary files differindex 135dc0c67af..8e0f11e5705 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/refcount.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf b/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf Binary files differindex e14700e609b..aa83acad4ca 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/selinput.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf b/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf Binary files differindex 69044ed98d9..37dbbe7249c 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/setouterhbox.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf b/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf Binary files differindex 4bde244f1ea..cc2a25a8a01 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/settobox.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf b/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf Binary files differindex e8604c214a7..43de362e3c2 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/soulutf8.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf b/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf Binary files differindex d2eccc9186c..f8fffdf3a11 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/stackrel.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf b/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf Binary files differindex 754122c52fc..b07bf55f954 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/stringenc.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf b/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf Binary files differindex 964eb41f869..4d27a653e9a 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/tabularht.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf b/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf Binary files differindex 11132898a58..1f490de7b75 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/tabularkv.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf b/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf Binary files differindex 226f45a0f38..b36039cf50c 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/telprint.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/transparent.pdf b/Master/texmf-dist/doc/latex/oberdiek/transparent.pdf Binary files differindex 7d5ea1e9227..230735afb84 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/transparent.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/transparent.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf b/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf Binary files differindex cdd894dd434..27d558ccf4e 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/twoopt.pdf diff --git a/Master/texmf-dist/doc/latex/oberdiek/zref.pdf b/Master/texmf-dist/doc/latex/oberdiek/zref.pdf Binary files differindex 30fd5d536f9..655eb8704a0 100644 --- a/Master/texmf-dist/doc/latex/oberdiek/zref.pdf +++ b/Master/texmf-dist/doc/latex/oberdiek/zref.pdf |