diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/oberdiek/intcalc.sty')
-rw-r--r-- | Master/texmf-dist/tex/generic/oberdiek/intcalc.sty | 1734 |
1 files changed, 0 insertions, 1734 deletions
diff --git a/Master/texmf-dist/tex/generic/oberdiek/intcalc.sty b/Master/texmf-dist/tex/generic/oberdiek/intcalc.sty deleted file mode 100644 index 84124d615ae..00000000000 --- a/Master/texmf-dist/tex/generic/oberdiek/intcalc.sty +++ /dev/null @@ -1,1734 +0,0 @@ -%% -%% This is file `intcalc.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% intcalc.dtx (with options: `package') -%% -%% This is a generated file. -%% -%% Project: intcalc -%% Version: 2016/05/16 v1.2 -%% -%% Copyright (C) -%% 2007 Heiko Oberdiek -%% 2016-2019 Oberdiek Package Support Group -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% https://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% https://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". -%% -%% The Current Maintainers of this work are -%% Heiko Oberdiek and the Oberdiek Package Support Group -%% https://github.com/ho-tex/oberdiek/issues -%% -%% -%% The Base Interpreter refers to any `TeX-Format', -%% because some files are installed in TDS:tex/generic//. -%% -%% This work consists of the main source file intcalc.dtx -%% and the derived files -%% intcalc.sty, intcalc.pdf, intcalc.ins, intcalc.drv, -%% intcalc-test1.tex, intcalc-test2.tex, intcalc-test3.tex, -%% intcalc-test4.tex. -%% -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode35=6 % # - \catcode39=12 % ' - \catcode44=12 % , - \catcode45=12 % - - \catcode46=12 % . - \catcode58=12 % : - \catcode64=11 % @ - \catcode123=1 % { - \catcode125=2 % } - \expandafter\let\expandafter\x\csname ver@intcalc.sty\endcsname - \ifx\x\relax % plain-TeX, first loading - \else - \def\empty{}% - \ifx\x\empty % LaTeX, first loading, - % variable is initialized, but \ProvidesPackage not yet seen - \else - \expandafter\ifx\csname PackageInfo\endcsname\relax - \def\x#1#2{% - \immediate\write-1{Package #1 Info: #2.}% - }% - \else - \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% - \fi - \x{intcalc}{The package is already loaded}% - \aftergroup\endinput - \fi - \fi -\endgroup% -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode35=6 % # - \catcode39=12 % ' - \catcode40=12 % ( - \catcode41=12 % ) - \catcode44=12 % , - \catcode45=12 % - - \catcode46=12 % . - \catcode47=12 % / - \catcode58=12 % : - \catcode64=11 % @ - \catcode91=12 % [ - \catcode93=12 % ] - \catcode123=1 % { - \catcode125=2 % } - \expandafter\ifx\csname ProvidesPackage\endcsname\relax - \def\x#1#2#3[#4]{\endgroup - \immediate\write-1{Package: #3 #4}% - \xdef#1{#4}% - }% - \else - \def\x#1#2[#3]{\endgroup - #2[{#3}]% - \ifx#1\@undefined - \xdef#1{#3}% - \fi - \ifx#1\relax - \xdef#1{#3}% - \fi - }% - \fi -\expandafter\x\csname ver@intcalc.sty\endcsname -\ProvidesPackage{intcalc}% - [2016/05/16 v1.2 Expandable calculations with integers (HO)]% -\begingroup\catcode61\catcode48\catcode32=10\relax% - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode123=1 % { - \catcode125=2 % } - \catcode64=11 % @ - \def\x{\endgroup - \expandafter\edef\csname InCa@AtEnd\endcsname{% - \endlinechar=\the\endlinechar\relax - \catcode13=\the\catcode13\relax - \catcode32=\the\catcode32\relax - \catcode35=\the\catcode35\relax - \catcode61=\the\catcode61\relax - \catcode64=\the\catcode64\relax - \catcode123=\the\catcode123\relax - \catcode125=\the\catcode125\relax - }% - }% -\x\catcode61\catcode48\catcode32=10\relax% -\catcode13=5 % ^^M -\endlinechar=13 % -\catcode35=6 % # -\catcode64=11 % @ -\catcode123=1 % { -\catcode125=2 % } -\def\TMP@EnsureCode#1#2{% - \edef\InCa@AtEnd{% - \InCa@AtEnd - \catcode#1=\the\catcode#1\relax - }% - \catcode#1=#2\relax -} -\TMP@EnsureCode{33}{12}% ! -\TMP@EnsureCode{40}{12}% ( -\TMP@EnsureCode{41}{12}% ) -\TMP@EnsureCode{42}{12}% * -\TMP@EnsureCode{43}{12}% + -\TMP@EnsureCode{45}{12}% - -\TMP@EnsureCode{47}{12}% / -\TMP@EnsureCode{58}{11}% : (letter!) -\TMP@EnsureCode{60}{12}% < -\TMP@EnsureCode{62}{12}% > -\TMP@EnsureCode{63}{14}% ? (comment!) -\edef\InCa@AtEnd{\InCa@AtEnd\noexpand\endinput} -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname InCa@TestMode\endcsname\relax -\else - \catcode63=9 % ? (ignore) -\fi -? \let\InCa@@TestMode\InCa@TestMode -\def\InCa@Abs#1#2!{% - \ifx#1-% - #2% - \else - #1#2% - \fi -} -\def\InCa@Sgn#1#2!{% - \ifx#1-% - -1% - \else - \ifx#10% - 0% - \else - 1% - \fi - \fi -} -\def\InCa@Min#1!#2!{% - \ifnum#1<#2 % - #1% - \else - #2% - \fi -} -\def\InCa@Max#1!#2!{% - \ifnum#1>#2 % - #1% - \else - #2% - \fi -} -\def\InCa@Cmp#1!#2!{% - \ifnum#1=#2 % - 0% - \else - \ifnum#1<#2 % - -% - \fi - 1% - \fi -} -\def\InCa@Fac#1!{% - \ifcase#1 1% 0! - \or 1% 1! - \or 2% 2! - \or 6% 3! - \or 24% 4! - \or 120% 5! - \or 720% 6! - \or 5040% 7! - \or 40320% 8! - \or 362880% 9! - \or 3628800% 10! - \or 39916800% 11! - \or 479001600% 12! - \else - \ifnum#1<\z@ - 0\IntCalcError:FacNegative% - \else - 0\IntCalcError:FacOverflow% - \fi - \fi -} -\begingroup\expandafter\expandafter\expandafter\endgroup -\expandafter\ifx\csname numexpr\endcsname\relax -\else - \def\intcalcNum#1{% - \the\numexpr#1\relax - }% - \def\intcalcInv#1{% - \number-\intcalcNum{#1} % - }% - \def\intcalcAbs#1{% - \number\expandafter\InCa@Abs\the\numexpr#1! % - }% - \def\intcalcSgn#1{% - \number\expandafter\InCa@Sgn\the\numexpr#1! % - }% - \def\intcalcMin#1#2{% - \number\expandafter\InCa@Min - \the\numexpr#1\expandafter!% - \the\numexpr#2! % - }% - \def\intcalcMax#1#2{% - \number\expandafter\InCa@Max - \the\numexpr#1\expandafter!% - \the\numexpr#2! % - }% - \def\intcalcCmp#1#2{% - \number\expandafter\InCa@Cmp - \the\numexpr#1\expandafter!\the\numexpr#2! % - }% - \def\intcalcInc#1{% - \the\numexpr#1+1\relax - }% - \def\intcalcDec#1{% - \the\numexpr#1-1\relax - }% - \def\IntCalcInc#1!{% - \the\numexpr#1+1\relax - }% - \def\IntCalcDec#1!{% - \the\numexpr#1-1\relax - }% - \def\intcalcAdd#1#2{% - \the\numexpr#1+(#2)\relax - }% - \def\intcalcSub#1#2{% - \the\numexpr#1-(#2)\relax - }% - \def\IntCalcAdd#1!#2!{% - \the\numexpr#1+#2\relax - }% - \def\IntCalcSub#1!#2!{% - \the\numexpr#1-#2\relax - }% - \def\intcalcShl#1{% - \the\numexpr(#1)*2\relax - }% - \def\intcalcShr#1{% - \number\expandafter\InCa@Shr\the\numexpr#1! % - }% - \def\IntCalcShl#1!{% - \the\numexpr#1*2\relax - }% - \def\IntCalcShr#1!{% - \the\numexpr\ifodd#1 (#1-1)\else#1\fi/2\relax - }% - \def\InCa@Shr#1#2!{% - \ifx#1-% - -\InCa@Shr#2!% - \else - \ifodd#1#2 % - \the\numexpr(#1#2-1)/2\relax - \else - \the\numexpr#1#2/2\relax - \fi - \fi - }% - \def\intcalcMul#1#2{% - \the\numexpr(#1)*(#2)\relax - }% - \def\IntCalcMul#1!#2!{% - \the\numexpr#1*#2\relax - }% - \def\intcalcSqr#1{% - \number\expandafter\InCa@Sqr\the\numexpr#1! % - }% - \def\InCa@Sqr#1!{% - \the\numexpr#1*#1\relax - }% - \def\intcalcFac#1{% - \number\expandafter\InCa@Fac\the\numexpr#1! % - }% - \def\intcalcPow#1#2{% - \number\expandafter\InCa@Pow - \the\numexpr#1\expandafter!% - \the\numexpr#2! % - }% - \def\InCa@Pow#1#2!#3#4!{% - \ifcase#3#4 % power = 0 - 1% - \or % power = 1 - #1#2% - \or % power = 2 - \the\numexpr#1#2*#1#2\relax - \else - \ifcase#1#2 % basis = 0, power <> 0 - 0% - \ifx#3-% power < 0 - 0\IntCalcError:DivisionByZero% - \fi - \or - 1% basis = 1 - \else - \ifnum#1#2=\m@ne % basis = -1 - \ifodd#3#4 % - -% - \fi - 1% - \else % |basis| > 1 - \ifx#3-% power < 0 - 0% - \else % power > 2 - \InCa@PowRec#1#2!#3#4!1!% - \fi - \fi - \fi - \fi - }% - \def\InCa@PowRec#1!#2!#3!{% - \ifnum#2=\@ne - \the\numexpr#1*#3\relax - \else - \ifodd#2 % - \expandafter\InCa@PowRec - \the\numexpr#1*#1\expandafter!% - \the\numexpr(#2-1)/2\expandafter!% - \the\numexpr#1*#3\expandafter\expandafter\expandafter!% - \else - \expandafter\InCa@PowRec - \the\numexpr#1*#1\expandafter!% - \the\numexpr(#2-1)/2\expandafter!% - \number#3\expandafter\expandafter\expandafter!% - \fi - \fi - }% - \def\intcalcDiv#1#2{% - \number\expandafter\InCa@Div - \the\numexpr#1\expandafter!% - \the\numexpr#2! % - }% - \def\InCa@Div#1!#2!{% - \ifcase#2 % - 0\IntCalcError:DivisionByZero% - \else - \ifcase#1 % - 0% - \else - \expandafter\InCa@@Div - \romannumeral 0% - \ifnum#1<\z@ - \expandafter-\number-#1% - \else - \expandafter+\number#1% - \fi - \expandafter!% - \romannumeral 0% - \ifnum#2<\z@ - \expandafter-\number-#2% - \else - \expandafter+\number#2% - \fi - !% - \fi - \fi - }% - \def\InCa@Temp#1{% - \def\IntCalcDiv##1!##2!{% - \number - \ifcase##2 % - 0\IntCalcError:DivisionByZero% - \else - \ifcase##1 % - 0% - \else - \the\numexpr(##1-(##2-1)/2)/##2\relax - \fi - \fi - #1% - }% - }% - \InCa@Temp{ }% - \def\InCa@@Div#1#2!#3#4!{% - #1#3% - \the\numexpr(#2-(#4-1)/2)/#4\relax - }% - \def\intcalcMod#1#2{% - \number\expandafter\InCa@Mod - \the\numexpr#1\expandafter!% - \the\numexpr#2! % - }% - \def\InCa@Mod#1!#2!{% - \ifcase#2 % - 0\IntCalcError:DivisionByZero% - \else - \ifcase#1 % - 0% - \else - \expandafter\InCa@@Mod - \romannumeral 0% - \ifnum#1<\z@ - \expandafter-\number-#1% - \else - \expandafter+\number#1% - \fi - \expandafter!% - \romannumeral 0% - \ifnum#2<\z@ - \expandafter-\number-#2% - \else - \expandafter+\number#2% - \fi - !% - \fi - \fi - }% - \def\InCa@Temp#1{% - \def\IntCalcMod##1!##2!{% - \number - \ifcase##2 % - 0\IntCalcError:DivisionByZero% - \else - \ifcase##1 % - 0% - \else - \the\numexpr##1-(##1-(##2-1)/2)/##2*##2\relax - \fi - \fi - #1% - }% - }% - \InCa@Temp{ }% - \def\InCa@@Mod#1#2!#3#4!{% - \if#3+% - \if#1+% - \the\numexpr#2-\InCa@@Div+#2!+#4!*#4\relax - \else - \expandafter\InCa@ModX - \the\numexpr-#2+\InCa@@Div+#2!+#4!*#4!#4!% - \fi - \else - -% - \if#1+% - \expandafter\InCa@ModX - \the\numexpr-#2+\InCa@@Div+#2!+#4!*#4!#4!% - \else - \the\numexpr#2-\InCa@@Div+#2!+#4!*#4\relax - \fi - \fi - }% - \def\InCa@ModX#1!#2!{% - \ifcase#1 % - 0% - \else - \the\numexpr#1+#2\relax - \fi - }% - \expandafter\InCa@AtEnd -\fi% -\def\intcalcNum#1{% - \number\expandafter\InCa@FirstOfOne\number#1! % -} -\def\intcalcInv#1{% - \number\expandafter\InCa@FirstOfOne\number-#1! % -} -\def\InCa@FirstOfOne#1!{#1} -\def\intcalcAbs#1{% - \number\expandafter\InCa@Abs\number#1! % -} -\def\intcalcSgn#1{% - \number\expandafter\InCa@Sgn\number#1! % -} -\def\intcalcMin#1#2{% - \number\expandafter\InCa@Min - \number\number#1\expandafter!\number#2! % -} -\def\intcalcMax#1#2{% - \number\expandafter\InCa@Max - \number\number#1\expandafter!\number#2! % -} -\def\intcalcCmp#1#2{% - \number\expandafter\InCa@Cmp - \number\number#1\expandafter!\number#2! % -}% -\def\intcalcInc#1{% - \number\expandafter\InCa@IncSwitch\number#1! % -} -\def\InCa@IncSwitch#1#2!{% - \ifx#1-% - -% - \csname InCa@Empty% - \InCa@Dec#2!% - \else - \csname InCa@Empty% - \InCa@Inc#1#2!% - \fi -} -\def\intcalcDec#1{% - \number\expandafter\InCa@DecSwitch\number#1! % -} -\def\InCa@DecSwitch#1#2!{% - \ifx#1-% - -% - \csname InCa@Empty% - \expandafter\InCa@Inc#2!% - \else - \ifx#10% - -1% - \else - \csname InCa@Empty% - \InCa@Dec#1#2!% - \fi - \fi -} -\def\IntCalcInc#1!{% - \number\csname InCa@Empty\InCa@Inc#1! % -} -\def\IntCalcDec#1!{% - \number\csname InCa@Empty\InCa@Dec#1! % -} -\def\InCa@Inc#1#2{% - \ifx#2!% - \csname InCa@IncDigit#1\endcsname1% - \else - \csname InCa@IncDigit#1% - \expandafter\InCa@Inc\expandafter#2% - \fi -} -\def\InCa@Temp#1#2{% - \expandafter\def\csname InCa@IncDigit#1\endcsname##1{% - \endcsname - 0% - \ifcase##1 % - #1% - \else - #2% - \fi - }% -} -\InCa@Temp 01 -\InCa@Temp 12 -\InCa@Temp 23 -\InCa@Temp 34 -\InCa@Temp 45 -\InCa@Temp 56 -\InCa@Temp 67 -\InCa@Temp 78 -\InCa@Temp 89 -\expandafter\def\csname InCa@IncDigit9\endcsname#1{% - \expandafter\endcsname - \ifcase#1 % - 09% - \else - 10% - \fi -} -\def\InCa@Dec#1#2{% - \ifx#2!% - \csname InCa@DecDigit#1\endcsname1% - \else - \csname InCa@DecDigit#1% - \expandafter\InCa@Dec\expandafter#2% - \fi -} -\def\InCa@Temp#1#2{% - \expandafter\def\csname InCa@DecDigit#1\endcsname##1{% - \endcsname - 0% - \ifcase##1 % - #1% - \else - #2% - \fi - }% -} -\InCa@Temp 98 -\InCa@Temp 87 -\InCa@Temp 76 -\InCa@Temp 65 -\InCa@Temp 54 -\InCa@Temp 43 -\InCa@Temp 32 -\InCa@Temp 21 -\InCa@Temp 10 -\expandafter\def\csname InCa@DecDigit0\endcsname#1{% - \expandafter\endcsname - \ifcase#1 % - 00% - \else - 19% - \fi -} -\def\intcalcAdd#1#2{% - \number - \expandafter\InCa@AddSwitch - \number\number#1\expandafter!% - \number#2! % -} -\def\intcalcSub#1#2{% - \number - \expandafter\InCa@AddSwitch - \number\number#1\expandafter!% - \number-\number#2! % -} -\def\InCa@AddSwitch#1!#2!{% - \ifnum#1<\z@ - \ifnum#2<\z@ - -% - \ifnum#1<#2 % - \expandafter\InCa@Add\number-#1\expandafter!% - \@gobble#2!% - \else - \expandafter\InCa@Add\number-#2\expandafter!% - \@gobble#1!% - \fi - \else - \ifnum-#1>#2 % - -% - \expandafter\InCa@Sub\@gobble#1!#2!% - \else - \expandafter\InCa@Sub\number#2\expandafter!% - \@gobble#1!% - \fi - \fi - \else - \ifnum#2<\z@ - \ifnum#1>-#2 % - \expandafter\InCa@Sub\number#1\expandafter!% - \@gobble#2!% - \else - -% - \expandafter\InCa@Sub\@gobble#2!#1!% - \fi - \else - \ifnum#1>#2 % - \InCa@Add#1!#2!% - \else - \InCa@Add#2!#1!% - \fi - \fi - \fi -} -\def\IntCalcAdd#1!#2!{% - \number\InCa@Add#1!#2! % -} -\def\IntCalcSub#1!#2!{% - \number\InCa@Sub#1!#2! % -} -\begingroup - \def\x#1{\endgroup - \let\InCa@Space= #1% - }% -\x{ } -\def\InCa@Add#1!#2!{% - \ifcase#2 % - #1% - \else - \InCa@@Add#1!#2!000000000\InCa@Space - \fi -} -\def\InCa@Sub#1!#2!{% - \ifnum#1=#2 % - 0% - \else - \InCa@@Sub#1!#2!000000000\InCa@Space - \fi -} -\def\InCa@@Add#1!#2#3!{% - \ifx\InCa@Empty#3\InCa@Empty - \@ReturnAfterElseFi{% - \InCa@@@Add!!#1!#2% - }% - \else - \@ReturnAfterFi{% - \InCa@@Add#1!#3!#2% - }% - \fi -} -\def\InCa@@Sub#1!#2#3!{% - \ifx\InCa@Empty#3\InCa@Empty - \@ReturnAfterElseFi{% - \InCa@@@Sub!!#1!#2% - }% - \else - \@ReturnAfterFi{% - \InCa@@Sub#1!#3!#2% - }% - \fi -} -\def\InCa@@@Add#1!#2!#3#4!#5{% - \ifx\InCa@Empty#4\InCa@Empty - \csname InCa@Empty% - \@ReturnAfterElseFi{% - \InCa@ProcessAdd#1#3!#5#2% - }% - \else - \@ReturnAfterFi{% - \InCa@@@Add#1#3!#5#2!#4!% - }% - \fi -} -\def\InCa@@@Sub#1!#2!#3#4!#5{% - \ifx\InCa@Empty#4\InCa@Empty - \csname @gobble% - \@ReturnAfterElseFi{% - \InCa@ProcessSub#1#3!#5#2% - }% - \else - \@ReturnAfterFi{% - \InCa@@@Sub#1#3!#5#2!#4!% - }% - \fi -} -\def\InCa@ProcessAdd#1#2!#3#4{% - \ifx\InCa@Empty#2\InCa@Empty - \csname InCa@AddDigit#1\endcsname#3% - \romannumeral0#4% - \else - \csname InCa@AddDigit#1\csname InCa@DigitCarry#3% - \@ReturnAfterFi{% - \InCa@ProcessAdd#2!#4% - }% - \fi -} -\def\InCa@ProcessSub#1#2!#3#4{% - \ifx\InCa@Empty#2\InCa@Empty - \csname InCa@SubDigit#1\endcsname#3% - \romannumeral0#4% - \else - \csname InCa@SubDigit#1\csname InCa@DigitCarry#3% - \@ReturnAfterFi{% - \InCa@ProcessSub#2!#4% - }% - \fi -} -\def\InCa@Temp#1#2{% - \expandafter\def\csname InCa@DigitCarry#1\endcsname##1{% - \ifcase##1 % - \endcsname#1% - \else - \endcsname#2% - \fi - }% -} -\InCa@Temp 01 -\InCa@Temp 12 -\InCa@Temp 23 -\InCa@Temp 34 -\InCa@Temp 45 -\InCa@Temp 56 -\InCa@Temp 67 -\InCa@Temp 78 -\InCa@Temp 89 -\InCa@Temp 9{{10}} -\expandafter\def\csname InCa@AddDigit0\endcsname#1{% - \ifnum#1>9 % - \endcsname10% - \else - \endcsname0#1% - \fi -} -\def\InCa@Temp#1#2#3{% - \expandafter\def\csname InCa@AddDigit#1\endcsname##1{% - \ifnum##1>#2 % - \endcsname 1% - \else - \endcsname 0% - \fi - \ifcase##1 #1% 0 - #3% - \else #1% 10 - \fi - }% -} -\InCa@Temp 18{% - \or 2% 1 - \or 3% 2 - \or 4% 3 - \or 5% 4 - \or 6% 5 - \or 7% 6 - \or 8% 7 - \or 9% 8 - \or 0% 9 -}% -\InCa@Temp 27{% - \or 3% 1 - \or 4% 2 - \or 5% 3 - \or 6% 4 - \or 7% 5 - \or 8% 6 - \or 9% 7 - \or 0% 8 - \or 1% 9 -}% -\InCa@Temp 36{% - \or 4% 1 - \or 5% 2 - \or 6% 3 - \or 7% 4 - \or 8% 5 - \or 9% 6 - \or 0% 7 - \or 1% 8 - \or 2% 9 -}% -\InCa@Temp 45{% - \or 5% 1 - \or 6% 2 - \or 7% 3 - \or 8% 4 - \or 9% 5 - \or 0% 6 - \or 1% 7 - \or 2% 8 - \or 3% 9 -}% -\InCa@Temp 54{% - \or 6% 1 - \or 7% 2 - \or 8% 3 - \or 9% 4 - \or 0% 5 - \or 1% 6 - \or 2% 7 - \or 3% 8 - \or 4% 9 -}% -\InCa@Temp 63{% - \or 7% 1 - \or 8% 2 - \or 9% 3 - \or 0% 4 - \or 1% 5 - \or 2% 6 - \or 3% 7 - \or 4% 8 - \or 5% 9 -}% -\InCa@Temp 72{% - \or 8% 1 - \or 9% 2 - \or 0% 3 - \or 1% 4 - \or 2% 5 - \or 3% 6 - \or 4% 7 - \or 5% 8 - \or 6% 9 -}% -\InCa@Temp 81{% - \or 9% 1 - \or 0% 2 - \or 1% 3 - \or 2% 4 - \or 3% 5 - \or 4% 6 - \or 5% 7 - \or 6% 8 - \or 7% 9 -}% -\InCa@Temp 90{% - \or 0% 1 - \or 1% 2 - \or 2% 3 - \or 3% 4 - \or 4% 5 - \or 5% 6 - \or 6% 7 - \or 7% 8 - \or 8% 9 -}% -\def\InCa@Temp#1#2{% - \expandafter\def\csname InCa@SubDigit#1\endcsname##1{% - \ifnum##1>#1 % - \endcsname 1% - \else - \endcsname 0% - \fi - \ifcase##1 #1% 0 - #2% - \else #1% 10 - \fi - }% -} -\InCa@Temp 0{% - \or 9% 1 - \or 8% 2 - \or 7% 3 - \or 6% 4 - \or 5% 5 - \or 4% 6 - \or 3% 7 - \or 2% 8 - \or 1% 9 -} -\InCa@Temp 1{% - \or 0% 1 - \or 9% 2 - \or 8% 3 - \or 7% 4 - \or 6% 5 - \or 5% 6 - \or 4% 7 - \or 3% 8 - \or 2% 9 -} -\InCa@Temp 2{% - \or 1% 1 - \or 0% 2 - \or 9% 3 - \or 8% 4 - \or 7% 5 - \or 6% 6 - \or 5% 7 - \or 4% 8 - \or 3% 9 -} -\InCa@Temp 3{% - \or 2% 1 - \or 1% 2 - \or 0% 3 - \or 9% 4 - \or 8% 5 - \or 7% 6 - \or 6% 7 - \or 5% 8 - \or 4% 9 -} -\InCa@Temp 4{% - \or 3% 1 - \or 2% 2 - \or 1% 3 - \or 0% 4 - \or 9% 5 - \or 8% 6 - \or 7% 7 - \or 6% 8 - \or 5% 9 -} -\InCa@Temp 5{% - \or 4% 1 - \or 3% 2 - \or 2% 3 - \or 1% 4 - \or 0% 5 - \or 9% 6 - \or 8% 7 - \or 7% 8 - \or 6% 9 -} -\InCa@Temp 6{% - \or 5% 1 - \or 4% 2 - \or 3% 3 - \or 2% 4 - \or 1% 5 - \or 0% 6 - \or 9% 7 - \or 8% 8 - \or 7% 9 -} -\InCa@Temp 7{% - \or 6% 1 - \or 5% 2 - \or 4% 3 - \or 3% 4 - \or 2% 5 - \or 1% 6 - \or 0% 7 - \or 9% 8 - \or 8% 9 -} -\InCa@Temp 8{% - \or 7% 1 - \or 6% 2 - \or 5% 3 - \or 4% 4 - \or 3% 5 - \or 2% 6 - \or 1% 7 - \or 0% 8 - \or 9% 9 -} -\InCa@Temp 9{% - \or 8% 1 - \or 7% 2 - \or 6% 3 - \or 5% 4 - \or 4% 5 - \or 3% 6 - \or 2% 7 - \or 1% 8 - \or 0% 9 -} -\def\intcalcShl#1{% - \number\expandafter\InCa@ShlSwitch\number#1! % -} -\def\InCa@ShlSwitch#1#2!{% - \ifx#1-% - -\csname InCa@Empty% - \InCa@Shl#2!% - \else - \csname InCa@Empty% - \InCa@Shl#1#2!% - \fi -} -\def\IntCalcShl#1!{% - \number - \csname InCa@Empty% - \InCa@Shl#1! % -} -\def\InCa@Shl#1#2{% - \ifx#2!% - \csname InCa@ShlDigit#1\endcsname0% - \else - \csname InCa@ShlDigit#1% - \@ReturnAfterFi{% - \InCa@Shl#2% - }% - \fi -} -\expandafter\def\csname InCa@ShlDigit0\endcsname{% - \endcsname0% -} -\def\InCa@Temp#1#2#3#4#5{% - \expandafter\def\csname InCa@ShlDigit#1\endcsname##1{% - \expandafter\endcsname - \ifcase##1 % - #2#3% - \else - #4#5% - \fi - }% -} -\InCa@Temp 10203 -\InCa@Temp 20405 -\InCa@Temp 30607 -\InCa@Temp 40809 -\InCa@Temp 51011 -\InCa@Temp 61213 -\InCa@Temp 71415 -\InCa@Temp 81617 -\InCa@Temp 91819 -\def\intcalcShr#1{% - \number\expandafter\InCa@ShrSwitch\number#1! % -} -\def\InCa@ShrSwitch#1#2!{% - \ifx#1-% - -\InCa@Shr#2!% - \else - \InCa@Shr#1#2!% - \fi -} -\def\IntCalcShr#1!{% - \number\InCa@Shr#1! % -} -\def\InCa@Shr#1#2{% - \InCa@ShrDigit#1!% - \ifx#2!% - \else - \@ReturnAfterFi{% - \ifodd#1 % - \@ReturnAfterElseFi{% - \InCa@Shr{1#2}% - }% - \else - \expandafter\InCa@Shr\expandafter#2% - \fi - }% - \fi -} -\def\InCa@ShrDigit#1!{% - \ifcase#1 0% 0 - \or 0% 1 - \or 1% 2 - \or 1% 3 - \or 2% 4 - \or 2% 5 - \or 3% 6 - \or 3% 7 - \or 4% 8 - \or 4% 9 - \or 5% 10 - \or 5% 11 - \or 6% 12 - \or 6% 13 - \or 7% 14 - \or 7% 15 - \or 8% 16 - \or 8% 17 - \or 9% 18 - \or 9% 19 - \fi -} -\def\InCa@Temp#1{% - \def\InCa@Tim##1##2{% - \number - \ifcase##2 % 0 - 0% - \or % 1 - ##1% - \else % 2-9 - \csname InCa@Empty% - \InCa@ProcessTim##2##1!% - \fi - #1% - }% -} -\InCa@Temp{ } -\def\InCa@ProcessTim#1#2#3{% - \ifx#3!% - \csname InCa@TimDigit#2\endcsname#10% - \else - \csname InCa@TimDigit#2\csname InCa@Param#1% - \@ReturnAfterFi{% - \InCa@ProcessTim#1#3% - }% - \fi -} -\def\InCa@Temp#1{% - \expandafter\def\csname InCa@Param#1\endcsname{% - \endcsname#1% - }% -} -\InCa@Temp 0% -\InCa@Temp 1% -\InCa@Temp 2% -\InCa@Temp 3% -\InCa@Temp 4% -\InCa@Temp 5% -\InCa@Temp 6% -\InCa@Temp 7% -\InCa@Temp 8% -\InCa@Temp 9% -\expandafter\def\csname InCa@TimDigit0\endcsname#1#2{% - \endcsname - 0#2% -} -\expandafter\def\csname InCa@TimDigit1\endcsname#1#2{% - \ifcase#2 % - \endcsname 0#1% - \else - \csname InCa@AddDigit#1\endcsname #2% - \fi -} -\def\InCa@Temp#1#2{% - \expandafter\def\csname InCa@TimDigit#1\endcsname##1{% - \expandafter\InCa@TimDigitCarry - \number - \ifcase##1 0% 0 - #2% - \fi - !% - }% -} -\InCa@Temp 2{% - \or 2% 1 - \or 4% 2 - \or 6% 3 - \or 8% 4 - \or 10% 5 - \or 12% 6 - \or 14% 7 - \or 16% 8 - \or 18% 9 -} -\InCa@Temp 3{% - \or 3% 1 - \or 6% 2 - \or 9% 3 - \or 12% 4 - \or 15% 5 - \or 18% 6 - \or 21% 7 - \or 24% 8 - \or 27% 9 -} -\InCa@Temp 4{% - \or 4% 1 - \or 8% 2 - \or 12% 3 - \or 16% 4 - \or 20% 5 - \or 24% 6 - \or 28% 7 - \or 32% 8 - \or 36% 9 -} -\InCa@Temp 5{% - \or 5% 1 - \or 10% 2 - \or 15% 3 - \or 20% 4 - \or 25% 5 - \or 30% 6 - \or 35% 7 - \or 40% 8 - \or 45% 9 -} -\InCa@Temp 6{% - \or 6% 1 - \or 12% 2 - \or 18% 3 - \or 24% 4 - \or 30% 5 - \or 36% 6 - \or 42% 7 - \or 48% 8 - \or 54% 9 -} -\InCa@Temp 7{% - \or 7% 1 - \or 14% 2 - \or 21% 3 - \or 28% 4 - \or 35% 5 - \or 42% 6 - \or 49% 7 - \or 56% 8 - \or 63% 9 -} -\InCa@Temp 8{% - \or 8% 1 - \or 16% 2 - \or 24% 3 - \or 32% 4 - \or 40% 5 - \or 48% 6 - \or 56% 7 - \or 64% 8 - \or 72% 9 -} -\InCa@Temp 9{% - \or 9% 1 - \or 18% 2 - \or 27% 3 - \or 36% 4 - \or 45% 5 - \or 54% 6 - \or 63% 7 - \or 72% 8 - \or 81% 9 -} -\def\InCa@TimDigitCarry#1!{% - \ifnum#1<10 % - \csname InCa@AddDigit#1\expandafter\endcsname - \else - \@ReturnAfterFi{% - \InCa@@TimDigitCarry#1!% - }% - \fi -} -\def\InCa@@TimDigitCarry#1#2!#3{% - \csname InCa@DigitCarry#1% - \csname InCa@AddDigit#2\endcsname #3% -} -\def\intcalcMul#1#2{% - \number - \expandafter\InCa@MulSwitch - \number\number#1\expandafter!% - \number#2! % -} -\def\InCa@MulSwitch#1!#2!{% - \ifnum#1<\z@ - \ifnum#2<\z@ - \ifnum#1<#2 % - \expandafter\InCa@Mul\number-#1\expandafter!% - \@gobble#2!% - \else - \expandafter\InCa@Mul\number-#2\expandafter!% - \@gobble#1!% - \fi - \else - -% - \ifnum-#1>#2 % - \expandafter\InCa@Mul\@gobble#1!#2!% - \else - \expandafter\InCa@Mul\number#2\expandafter!% - \@gobble#1!% - \fi - \fi - \else - \ifnum#2<\z@ - -% - \ifnum#1>-#2 % - \expandafter\InCa@Mul\number#1\expandafter!% - \@gobble#2!% - \else - \expandafter\InCa@Mul\@gobble#2!#1!% - \fi - \else - \ifnum#1>#2 % - \InCa@Mul#1!#2!% - \else - \InCa@Mul#2!#1!% - \fi - \fi - \fi -} -\def\IntCalcMul#1!#2!{% - \number\InCa@Mul#1!#2! % -} -\def\InCa@Mul#1!#2!{% - \ifcase#2 % - 0% - \or - #1% - \or - \csname InCa@Empty% - \expandafter\InCa@Shl#1!% - \else - \ifnum#2<10 % - \InCa@Tim{#1}#2% - \else - \InCa@ProcessMul!#2!#1!% - \fi - \fi -} -\def\InCa@ProcessMul#1!#2#3!#4!{% - \ifx\InCa@Empty#3\InCa@Empty - \expandafter\InCa@Add\number - #10\expandafter\expandafter\expandafter!% - \InCa@Tim{#4}#2!% - \else - \ifx\InCa@Empty#1\InCa@Empty - \expandafter\expandafter\expandafter\InCa@ProcessMul - \InCa@Tim{#4}#2!% - #3!#4!% - \else - \expandafter\InCa@ProcessMul\number - \expandafter\InCa@Add\number% - #10\expandafter\expandafter\expandafter!% - \InCa@Tim{#4}#2!!% - #3!#4!% - \fi - \fi -} -\def\intcalcSqr#1{% - \number\expandafter\InCa@Sqr\number#1! % -} -\def\InCa@Sqr#1#2!{% - \ifx#1-% - \InCa@Mul#2!#2!% - \else - \InCa@Mul#1#2!#1#2!% - \fi -} -\def\intcalcFac#1{% - \number\expandafter\InCa@Fac\number#1! % -} -\def\intcalcPow#1#2{% - \number\expandafter\InCa@Pow - \number\number#1\expandafter!% - \number#2! % -} -\def\InCa@Pow#1#2!#3#4!{% - \ifcase#3#4 % power = 0 - 1% - \or % power = 1 - #1#2% - \or % power = 2 - \ifx#1-% - \InCa@Mul#2!#2!% - \else - \InCa@Mul#1#2!#1#2!% - \fi - \else - \ifcase#1#2 % basis = 0, power <> 0 - 0% - \ifx#3-% power < 0 - 0\IntCalcError:DivisionByZero% - \fi - \or - 1% basis = 1 - \else - \ifnum#1#2=\m@ne % basis = -1 - \ifodd#3#4 % - -% - \fi - 1% - \else % |basis| > 1 - \ifx#3-% power < 0 - 0% - \else % power > 2 - \ifx#1-% basis < 0 - \ifodd#3#4 % - -% - \fi - \InCa@PowRec#2!#3#4!1!% - \else - \InCa@PowRec#1#2!#3#4!1!% - \fi - \fi - \fi - \fi - \fi -} -\def\InCa@PowRec#1!#2!#3!{% - \ifnum#2=\@ne - \ifnum#1>#3 % - \InCa@Mul#1!#3!% - \else - \InCa@Mul#3!#1!% - \fi - \else - \expandafter\InCa@PowRec - \number\InCa@Mul#1!#1!\expandafter!% - \number\intcalcShr{#2}\expandafter!% - \number - \ifodd#2 % - \ifnum#1>#3 % - \InCa@Mul#1!#3!% - \else - \InCa@Mul#3!#1!% - \fi - \else - #3% - \fi - \expandafter!% - \fi -} -\def\intcalcDiv#1#2{% - \number\expandafter\InCa@Div - \number\number#1\expandafter!% - \number#2! % -} -\def\InCa@Div#1!#2!{% - \ifcase#2 % - 0\IntCalcError:DivisionByZero% - \else - \ifcase#1 % - 0% - \else - \expandafter\InCa@DivSwitch - \number#1\expandafter!% - \number#2!% - \fi - \fi -} -\def\InCa@Temp#1{% - \def\IntCalcDiv##1!##2!{% - \number - \ifcase##2 % - 0\IntCalcError:DivisionByZero% - \else - \ifcase##1 % - 0% - \else - \InCa@@Div##1!##2!% - \fi - \fi - #1% - }% -} -\InCa@Temp{ }% -\def\InCa@DivSwitch#1!#2!{% - \ifnum#1<\z@ - \ifnum#2<\z@ - \expandafter\InCa@@Div\number-#1\expandafter!% - \@gobble#2!% - \else - -% - \expandafter\InCa@@Div\@gobble#1!#2!% - \fi - \else - \ifnum#2<\z@ - -% - \expandafter\InCa@@Div\number#1\expandafter!% - \@gobble#2!% - \else - \InCa@@Div#1!#2!% - \fi - \fi -} -\def\InCa@@Div#1!#2!{% - \ifnum#1>#2 % - \ifcase#2 % 0 already catched -? \IntCalcError:ThisCannotHappen% - \or % 1 - #1% - \or % 2 - \InCa@Shr#1!% - \else - \InCa@DivStart!#1!#2!#2!% - \fi - \else - \ifnum#1=#2 % - 1% - \else - 0% - \fi - \fi -} -\def\InCa@DivStart#1!#2#3!#4#5{% - \ifx#5!% - \@ReturnAfterElseFi{% - \InCa@DivStartI{#1#2}#3=!% - }% - \else - \@ReturnAfterFi{% - \InCa@DivStart{#1#2}!#3!#5% - }% - \fi -} -\def\InCa@DivStartI#1!#2!{% - \expandafter\InCa@DivStartII - \number#2\expandafter\expandafter\expandafter!% - \intcalcShl{#2}!% - #1!% -} -\def\InCa@DivStartII#1!#2!{% - \expandafter\InCa@DivStartIII - \number#1\expandafter!% - \number#2\expandafter\expandafter\expandafter!% - \intcalcShl{#2}!% -} -\def\InCa@DivStartIII#1!#2!#3!{% - \expandafter\InCa@DivStartIV - \number#1\expandafter!% - \number#2\expandafter!% - \number#3\expandafter!% - \number\InCa@Add#3!#2!\expandafter\expandafter\expandafter!% - \intcalcShl{#3}!% -} -\def\InCa@DivStartIV#1!#2!#3!#4!#5!#6!{% - \InCa@ProcessDiv#6!#1!#2!#3!#4!#5!/% -} -\def\InCa@ProcessDiv#1#2#3!#4!#5!#6!#7!#8!#9/{% - #9% - \ifnum#1<#4 % 0 - 0% - \ifx#2=% - \else - \InCa@ProcessDiv{#1#2}#3!#4!#5!#6!#7!#8!% - \fi - \else % 1-9 - \ifnum#1<#5 % 1 - 1% - \ifx#2=% - \else - \expandafter\InCa@ProcessDiv\expandafter{% - \number\InCa@Sub#1!#4!% - #2% - }#3!#4!#5!#6!#7!#8!% - \fi - \else % 2-9 - \ifnum#1<#7 % 2 3 4 5 - \ifnum#1<#6 % 2 3 - \@ReturnAfterElseFi{% - \expandafter\InCa@@ProcessDiv - \number\InCa@Sub#1!#5!!% - 23% - }% - \else % 4 5 - \@ReturnAfterFi{% - \expandafter\InCa@@ProcessDiv - \number\InCa@Sub#1!#6!!% - 45% - }% - \fi - #2#3!#4!#5!#6!#7!#8!% - \else % 6 7 8 9 - \ifnum#1<#8 % 6 7 - \@ReturnAfterElseFi{% - \expandafter\InCa@@ProcessDiv - \number\InCa@Sub#1!#7!!% - 67% - }% - \else % 8 9 - \@ReturnAfterFi{% - \expandafter\InCa@@ProcessDiv - \number\InCa@Sub#1!#8!!% - 89% - }% - \fi - #2#3!#4!#5!#6!#7!#8!% - \fi - \fi - \fi - \ifx#2=% - \expandafter\@gobble - \fi - /% -} -\def\InCa@@ProcessDiv#1!#2#3#4#5!#6!{% - \ifnum#1<#6 % - #2% - \@ReturnAfterElseFi{% - \ifx#4=% - \expandafter\InCa@CleanupIV - \else - \@ReturnAfterFi{% - \InCa@ProcessDiv{#1#4}#5!#6!% - }% - \fi - }% - \else - #3% - \@ReturnAfterFi{% - \ifx#4=% - \expandafter\InCa@CleanupIV - \else - \@ReturnAfterFi{% - \expandafter\InCa@ProcessDiv\expandafter{% - \number\InCa@Sub#1!#6! % - #4% - }#5!#6!% - }% - \fi - }% - \fi -} -\def\InCa@CleanupIV#1!#2!#3!#4!{} -\def\intcalcMod#1#2{% - \number\expandafter\InCa@Mod - \number\number#1\expandafter!% - \number#2! % -} -\def\InCa@Mod#1!#2!{% - \ifcase#2 % - 0\IntCalcError:DivisionByZero% - \else - \ifnum#2<\z@ - -% - \expandafter\InCa@Mod - \number-#1\expandafter!% - \number-#2!% - \else - \ifcase#1 % - 0% - \else - \ifcase#2 % 0 already catched -? \IntCalcError:ThisCannotHappen% - \or % 1 - 0% - \or % 2 - \ifodd#1 1\else 0\fi - \else - \ifnum#1<\z@ - \expandafter\InCa@ModShift - \number-% - \expandafter\InCa@Sub - \number\@gobble#1\expandafter!% - \number\intcalcMul{#2}{% - \expandafter\InCa@Div\@gobble#1!#2!% - }!% - !#2!% - \else - \expandafter\InCa@Sub\number#1\expandafter!% - \number\intcalcMul{#2}{\InCa@Div#1!#2!}!% - \fi - \fi - \fi - \fi - \fi -} -\def\InCa@Temp#1{% - \def\IntCalcMod##1!##2!{% - \number - \ifcase##2 % - 0\IntCalcError:DivisionByZero% - \else - \ifcase##1 % - 0% - \else - \ifcase##2 % 0 already catched -? \IntCalcError:ThisCannotHappen - \or % 1 - 0% - \or % 2 - \ifodd ##1 1\else 0\fi - \else - \expandafter\InCa@Sub\number##1\expandafter!% - \number\intcalcMul{##2}{\InCa@Div##1!##2!}!% - \fi - \fi - \fi - #1% - }% -} -\InCa@Temp{ }% -\def\InCa@ModShift#1!#2!{% - \ifnum#1<\z@ - \expandafter\InCa@Sub\number#2\expandafter!% - \@gobble#1!% - \else - #1% - \fi -} -\def\InCa@Empty{} -\expandafter\ifx\csname @gobble\endcsname\relax - \long\def\@gobble#1{}% -\fi -\long\def\@ReturnAfterFi#1\fi{\fi#1}% -\long\def\@ReturnAfterElseFi#1\else#2\fi{\fi#1}% -\InCa@AtEnd% -%% \section{Installation} -\endinput -%% -%% End of file `intcalc.sty'. |