summaryrefslogtreecommitdiff
path: root/info/examples/tip/imodn.tip
blob: d8168abd526c1c4e4497fb7e196c964a093c144c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
% This macro source file is from the four volume series
% "TeX in Practice" by Stephan von Bechtolsheim, published
% 1993 by Springer-Verlag, New York.
% Copyright 1993 Stephan von Bechtolsheim.
% No warranty or liability is assumed.
% This macro may be copied freely if no fees other than
% media cost or shipping charges are charged and as long
% as this copyright and the following source code itself
% is not changed. Please see the series for further information.
%
% Version: 1.0
% Date: May 1, 1993
%
%
% This source code is documented in 3.3.13, p. I-58.
% Original source in file "reg1.TEX", starting line 1566.
\wlog{L: "imodn.tip" ["reg1.TEX," l. 1566, p. I-58]}%
% This file DOES belong to format "texip."
\catcode`\@ = 11
\newcount\@IModNCount
\newcount\@IModNCountCopy
\def\IModN #1#2#3{%
    \@IModNCount = #1\relax
    \@IModNCountCopy = #1\relax
    \ifnum \@IModNCount < 0
        \errmessage{\string\IModN: \string#1
            (value \the\@IModNCount) is negative.}%
    \fi
    \ifnum #2< 1
        \errmessage{\string\IModN: \string#2
            (value #2) is negative or zero.}%
    \fi
    \divide\@IModNCount by #2\relax
    \multiply\@IModNCount by #2\relax
    #3 = \@IModNCountCopy
    \advance #3by -\@IModNCount
}
\catcode`\@ = 12