%% %% This is file `multiply.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% bez123.dtx (with options: `mult') %% %% ----------------------------------------------------------------- %% Author: Peter Wilson, Herries Press %% Maintainer: Will Robertson (will dot robertson at latex-project dot org) %% Copyright 1998--2004 Peter R. Wilson %% %% 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 work has the LPPL maintenance status "maintained". %% The Current Maintainer of this work is Will Robertson. %% %% This work consists of the files listed in the README file. %% ----------------------------------------------------------------- %% \ProvidesPackage{multiply}[1998/10/14 v1.1 Multiplication of lengths without overflow] \newlength{\n@fl@wa} \newlength{\n@fl@wb} \newlength{\n@fl@wc} \newif\ifch@nge \newcommand{\multnooverflow}[2]{% \n@fl@wa = #1\relax% \n@fl@wb = #2\relax% \ch@ngefalse% \ifnum\n@fl@wb = \@ne% \else% \ifnum\n@fl@wb = \z@% \n@fl@wa = \z@% \else% \ifnum\n@fl@wb = \m@ne% \ch@ngetrue% \else% \ifnum\n@fl@wa = \z@% \else% \ifnum\n@fl@wa = \@ne% \n@fl@wa = \n@fl@wb% \else% \ifnum\n@fl@wa = \m@ne% \n@fl@wa = -\n@fl@wb% \else% \ifnum\n@fl@wa < \z@% \ch@ngetrue% \n@fl@wa = -\n@fl@wa% \fi% \ifnum\n@fl@wb < \z@% \n@fl@wb = -\n@fl@wb% \ifch@nge% \ch@ngefalse% \else% \ch@ngetrue% \fi% \fi% \n@fl@wc = \maxdimen% \divide\n@fl@wc by \n@fl@wb% \advance\n@fl@wc by -1sp% \m@ne \ifnum\n@fl@wa > \n@fl@wc% \n@fl@wa = \maxdimen% \PackageWarning{multiply}{Multiplication overflow}% \else% \multiply\n@fl@wa by \n@fl@wb% \fi% \fi% \fi% \fi% \fi% \fi% \fi% \ifch@nge% \n@fl@wa = -\n@fl@wa% \fi% #1 = \n@fl@wa% } \endinput %% %% End of file `multiply.sty'.