blob: 596ece2b947cb73fcc535a14ed250d30f8efc985 (
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
%%
%% This is file `binhex.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% binhex.dtx (with options: `style')
%%
%% IMPORTANT NOTICE:
%%
%% For the copyright see the source file.
%%
%% Any modified versions of this file must be renamed
%% with new filenames distinct from binhex.tex.
%%
%% For distribution of the original source see the terms
%% for copying and modification in the file binhex.dtx.
%%
%% This generated file may be distributed as long as the
%% original source files, as listed above, are part of the
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
\edef\next{\toks0=%
{\catcode`\noexpand\@=\the\catcode`\@\toks0{\the\toks0}}%
}
\next
\catcode`\@11
\def\next#1#2#3{\expandafter \def \csname bb@#1\endcsname##1%
{#2\csname bb@#3##1\endcsname}}
\next{00}00 \next{01}01 \next{02}10 \next{03}11
\next{04}20 \next{05}21 \next{06}30 \next{07}31
\next{08}40 \next{09}41 \next{10}50 \next{11}51
\next{12}60 \next{13}61 \next{14}70 \next{15}71
\next{16}80 \next{17}81 \next{18}90 \next{19}91
\expandafter \def \csname bb@0+\endcsname {+0}
\expandafter \def \csname bb@1+\endcsname {+1}
\def\bb@endbinary#1+{\fi\fi}
\expandafter \def \csname bb@0-\endcsname {0+-\bb@dobinary}
\expandafter\def\csname bb@0m\endcsname#1+{#1+0}
\expandafter\def\csname bb@1m\endcsname#1+{#1+1}
\def\bb@dobinary#1#2{\if#10\if m\string#2\else\bb@endbinary\fi\fi
\expandafter\bb@dobinary\number\csname bb@0#1\endcsname#2}
\def\nbinary#1#2{\expandafter\bb@dobinary\number\number#2%
\romannumeral\number\number#1 000+}
\def\binary{\nbinary1}
\def \next #1#2{\expandafter \def
\csname bb@h\number +#1\endcsname ##1+{\bb@dohex ##1+#2}%
}
\next {0}0 \next {1}1 \next {10}2 \next {11}3
\next {100}4 \next {101}5 \next {110}6 \next {111}7
\next{1000}8 \next{1001}9 \next{1010}A \next{1011}B
\next{1100}C \next{1101}D \next{1110}E \next{1111}F
\def\bb@dohex #1{\csname bb@x#1\endcsname}
\def\bb@x\endcsname#1{ \bb@xm{m\endcsname}}
\def\bb@xm #1\endcsname #2#3+{#2#3%
\csname bb@h\number+\endcsname
#1\endcsname m#3+}
\def\bb@nbinbased #1#2#3{\expandafter \bb@dobinary \number#1%
\expandafter \bb@dohex
\romannumeral \number\number #2 000\expandafter\endcsname
\romannumeral \number\number #3 000+}
\def\nbinbased #1#2#3{\expandafter\bb@nbinbased
\expandafter {\number#3}{#2}{#1}}
\def\nhex{\nbinbased4}
\def\noct{\nbinbased3}
\def\ntetra{\nbinbased2}
\def\hex{\nhex1}
\def\oct{\noct1}
\def\tetra{\ntetra1}
\the\toks0
\endinput
%%
%% End of file `binhex.tex'.
|