summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/fltpoint
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:46:03 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:46:03 +0000
commit873660d1a83ece926fe7206288dda9c36b349c1b (patch)
treea48f77125c309a355b5d0eb58d6b24446abe9d62 /Master/texmf-dist/tex/generic/fltpoint
parent2939242967231097459df0fc3150fabc2f639111 (diff)
generic 1
git-svn-id: svn://tug.org/texlive/trunk@613 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/fltpoint')
-rw-r--r--Master/texmf-dist/tex/generic/fltpoint/deccomma.sty31
-rw-r--r--Master/texmf-dist/tex/generic/fltpoint/fltpoint.sty31
-rw-r--r--Master/texmf-dist/tex/generic/fltpoint/fltpoint.tex585
3 files changed, 647 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/fltpoint/deccomma.sty b/Master/texmf-dist/tex/generic/fltpoint/deccomma.sty
new file mode 100644
index 00000000000..d9e8423949e
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/fltpoint/deccomma.sty
@@ -0,0 +1,31 @@
+%%
+%% This is file `deccomma.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fltpoint.dtx (with options: `deccomma')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from deccomma.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file fltpoint.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.)
+\mathchardef\CommaOrdinary="013B
+\mathchardef\CommaPunct ="613B
+\mathcode`,="8000
+{\catcode`\,=\active
+ \gdef ,{\obeyspaces\futurelet\next\CommaCheck}}
+\def\CommaCheck{\if\space\next\CommaPunct\else\CommaOrdinary\fi}
+\endinput
+%%
+%% End of file `deccomma.sty'.
diff --git a/Master/texmf-dist/tex/generic/fltpoint/fltpoint.sty b/Master/texmf-dist/tex/generic/fltpoint/fltpoint.sty
new file mode 100644
index 00000000000..0c912c50c3d
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/fltpoint/fltpoint.sty
@@ -0,0 +1,31 @@
+%%
+%% This is file `fltpoint.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fltpoint.dtx (with options: `package')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from fltpoint.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file fltpoint.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.)
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{fltpoint}[2004/11/12 v1.1b floating point arithmetic]
+\DeclareOption{comma}{\AtBeginDocument{\fpDecimalSign,}}
+\DeclareOption{point}{\AtBeginDocument{\fpDecimalSign.}}
+\ProcessOptions*\relax
+\input{fltpoint}
+\endinput
+%%
+%% End of file `fltpoint.sty'.
diff --git a/Master/texmf-dist/tex/generic/fltpoint/fltpoint.tex b/Master/texmf-dist/tex/generic/fltpoint/fltpoint.tex
new file mode 100644
index 00000000000..8f0dc0b87c9
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/fltpoint/fltpoint.tex
@@ -0,0 +1,585 @@
+%%
+%% This is file `fltpoint.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fltpoint.dtx (with options: `fltmain')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from fltpoint.tex.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file fltpoint.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\atcatcode{\the\catcode`\@}
+\catcode`\@=11
+\ifx\documentclass\relax
+\long\def\@ifnextchar#1#2#3{%
+ \let\reserved@d=#1%
+ \def\reserved@a{#2}%
+ \def\reserved@b{#3}%
+ \futurelet\@let@token\@ifnch}
+\def\@ifnch{%
+ \ifx\@let@token\@sptoken
+ \let\reserved@c\@xifnch
+ \else
+ \ifx\@let@token\reserved@d
+ \let\reserved@c\reserved@a
+ \else
+ \let\reserved@c\reserved@b
+ \fi
+ \fi
+ \reserved@c}
+\def\:{\let\@sptoken= } \:
+\def\:{\@xifnch} \expandafter\def\: {\futurelet\@let@token\@ifnch}
+\fi
+\def\iloop#1\irepeat{\def\ibody{#1}\iiterate}
+\def\iiterate{\ibody\let\inext=\iiterate\else\let\inext=\relax\fi
+ \inext}
+\def\xloop#1\xrepeat{\def\xbody{#1}\xiterate}
+\def\xiterate{\xbody\let\xnext\xiterate\else\let\xnext\relax\fi\xnext}
+\let\repeat\fi
+\let\irepeat\fi
+\let\xrepeat\fi
+\newcount\fp@loopcount
+\newcount\fp@loopcountii
+\newcount\fp@result
+\newcount\fp@carryover
+\newcount\fp@tempcount
+\newcount\fp@tempcountii
+\def\fp@setparam#1{\xdef\fp@param{#1}}%
+\def\ar@set#1#2#3{\expandafter\edef\csname#1@\number#2\endcsname{%
+ \number#3}}
+\def\ar@get#1#2{\csname#1@\number#2\endcsname}
+\def\ar@setsig#1#2{\expandafter\edef\csname#1@sig\endcsname{#2}}
+\def\ar@getsig#1{\csname#1@sig\endcsname}
+\def\ar@getul#1{\csname#1@ul\endcsname}
+\def\ar@getll#1{\csname#1@ll\endcsname}
+\def\ar@setul#1#2{\expandafter\edef\csname#1@ul\endcsname{\number#2}}
+\def\ar@setll#1#2{\expandafter\edef\csname#1@ll\endcsname{\number#2}}
+\def\fp@settomax#1#2#3{%
+ \ifnum#2<#3\relax
+ #1=#3\relax
+ \else
+ #1=#2\relax
+ \fi
+}
+\def\fp@settomin#1#2#3{%
+ \ifnum#2<#3\relax
+ #1=#2\relax
+ \else
+ #1=#3\relax
+ \fi
+}
+\def\fp@modulo#1#2{%
+ \fp@tempcount=#1\relax
+ \fp@tempcountii=#1\relax
+ \divide\fp@tempcountii#2\relax
+ \multiply\fp@tempcountii#2\relax
+ \advance\fp@tempcount-\fp@tempcountii
+ \edef\fp@param{\number\fp@tempcount}}
+\def\fp@regread#1#2{%
+ \fp@regread@raw{#1}{#2}%
+ \fp@cleanreg{#1}}
+\def\fp@regread@raw#1#2{%
+ \fp@tempcount=0
+ \edef\fp@arrayname{#1}%
+ \ar@setsig{#1}{+}%
+ \edef\fp@scratch{#2\fp@decimalsign}%
+ \expandafter\fp@readchars\fp@scratch\end
+ \ifnum\ar@getul{#1}=-1
+ \ar@setul{#1}{0}%
+ \ar@set{#1}{0}{0}%
+ \fi
+ \fp@tempcount=0
+ \fp@tempcountii=\ar@getul{#1}\relax
+ \iloop
+ \ifnum\fp@tempcount<\fp@tempcountii
+ \edef\fp@scratch{\ar@get{#1}{\fp@tempcountii}}%
+ \ar@set{#1}{\fp@tempcountii}{\ar@get{#1}{\fp@tempcount}}%
+ \ar@set{#1}{\fp@tempcount}{\fp@scratch}%
+ \advance\fp@tempcount by 1
+ \advance\fp@tempcountii by -1
+ \irepeat
+}% end \fp@regread@raw
+\def\fp@readchars#1{%
+ \ifx#1\end
+ \let\inext=\relax
+ \ifnum\fp@tempcount<0
+ \advance\fp@tempcount by 1
+ \ar@setll{\fp@arrayname}{\fp@tempcount}%
+ \else
+ \ar@setll{\fp@arrayname}{0}%
+ \fi
+ \else % \ifx#1\end
+ \let\inext=\fp@readchars
+ \ifx#1+%
+ \else
+ \ifx#1-%
+ \if\ar@getsig{\fp@arrayname}-%
+ \ar@setsig{\fp@arrayname}{+}%
+ \else
+ \ar@setsig{\fp@arrayname}{-}%
+ \fi
+ \else
+ \if\noexpand#1\fp@decimalsign%
+ \ifnum\fp@tempcount>-1
+ \advance\fp@tempcount by -1
+ \ar@setul{\fp@arrayname}{\fp@tempcount}%
+ \fp@tempcount=-1
+ \fi
+ \else
+ \ar@set{\fp@arrayname}{\fp@tempcount}{#1}%
+ \ifnum\fp@tempcount<0
+ \advance\fp@tempcount by -1
+ \else
+ \advance\fp@tempcount by 1
+ \fi
+ \fi% end \if\noexpand#1\fp@decimalsign
+ \fi% end \ifx#1-
+ \fi% end \ifx#1+
+ \fi% end \ifx#1\end
+ \inext
+}% end \fp@readchars
+\def\fp@regget#1#2{%
+ \if\ar@getsig{#1}-%
+ \def#2{-}%
+ \else
+ \def#2{}%
+ \fi
+ \fp@tempcount=\ar@getul{#1}\relax
+ \iloop
+ \ifnum\fp@tempcount=-1
+ \edef#2{#2\fp@decimalsign}%
+ \fi
+ \edef#2{#2\ar@get{#1}{\fp@tempcount}}%
+ \ifnum\fp@tempcount>\ar@getll{#1}\relax
+ \advance\fp@tempcount by -1
+ \irepeat
+}% end \def\fp@regget
+\def\fp@cleanreg#1{%
+ \fp@tempcount=\ar@getul{#1}\relax
+ \iloop
+ \ifnum\fp@tempcount>0
+ \ifnum\ar@get{#1}{\fp@tempcount}=0
+ \advance\fp@tempcount by -1
+ \ar@setul{#1}{\fp@tempcount}%
+ \else
+ \fp@tempcount=0
+ \fi
+ \irepeat
+ \fp@tempcount=\ar@getll{#1}\relax
+ \iloop
+ \ifnum\fp@tempcount<0
+ \ifnum\ar@get{#1}{\fp@tempcount}=0
+ \advance\fp@tempcount by 1
+ \ar@setll{#1}{\fp@tempcount}%
+ \else
+ \fp@tempcount=0
+ \fi
+ \irepeat
+ \ifnum\ar@getll{#1}=\ar@getul{#1}\relax
+ \ifnum\ar@get{#1}{0}=0\relax
+ \ar@setsig{#1}{+}%
+ \fi
+ \fi
+}% end \fp@regclean
+\def\fp@getdigit#1#2{%
+ \ifnum#2<\ar@getll{#1}\relax
+ \fp@setparam0%
+ \else
+ \ifnum#2>\ar@getul{#1}\relax
+ \fp@setparam0%
+ \else
+ \fp@setparam{\ar@get{#1}{#2}}%
+ \fi
+ \fi
+}% end \fp@getdigit
+\def\fp@shiftright#1#2{%
+ \edef\fp@shiftamount{\number#2}%
+ \fp@settomax{\fp@tempcount}{\ar@getul{#1}}{-\fp@shiftamount}%
+ \fp@settomin{\fp@tempcountii}{\ar@getll{#1}}{-\fp@shiftamount}%
+ \def\fp@shiftnum{}%
+ \iloop
+ \fp@getdigit{#1}{\fp@tempcount}%
+ \edef\fp@shiftnum{\fp@shiftnum\fp@param}%
+ \ifnum\fp@tempcount=-\fp@shiftamount\relax
+ \edef\fp@shiftnum{\fp@shiftnum\fp@decimalsign}%
+ \fi
+ \ifnum\fp@tempcount>\fp@tempcountii
+ \advance\fp@tempcount by -1
+ \irepeat
+ \fp@regread{#1}{\fp@shiftnum}%
+}% end \fp@shiftright
+\def\fp@firstnonzero#1{%
+ \fp@regcomp{#1}{@0}%
+ \if\fp@param=%
+ \fp@setparam0%
+ \else
+ \fp@tempcount=\ar@getul{#1}\relax%
+ \fp@tempcountii=\ar@getll{#1}\relax%
+ \iloop
+ \ifnum\ar@get{#1}{\fp@tempcount}>0
+ \fp@setparam{\number\fp@tempcount}%
+ \fp@tempcount=\fp@tempcountii
+ \fi
+ \ifnum\fp@tempcount>\fp@tempcountii
+ \advance\fp@tempcount by -1
+ \irepeat
+ \fi
+}% end \fp@firstnonzero
+\def\fp@regcomp#1#2{%
+ {%
+ \if\ar@getsig{#1}-%
+ \if\ar@getsig{#2}-%
+ \fp@regcomp@main{#1}{#2}<>%
+ \else
+ \fp@setparam{<}%
+ \fi
+ \else
+ \if\ar@getsig{#2}-%
+ \fp@setparam{>}%
+ \else
+ \fp@regcomp@main{#1}{#2}><%
+ \fi
+ \fi
+ }%
+}
+\def\fp@regcomp@main#1#2#3#4{%
+ \fp@settomax{\fp@loopcount}{\ar@getul{#1}}{\ar@getul{#2}}%
+ \fp@settomin{\fp@loopcountii}{\ar@getll{#1}}{\ar@getll{#2}}%
+ \loop
+ \fp@getdigit{#1}{\fp@loopcount}%
+ \fp@tempcount=\fp@param\relax
+ \fp@getdigit{#2}{\fp@loopcount}%
+ \fp@tempcountii=\fp@param\relax
+ \ifnum\fp@tempcount<\fp@tempcountii
+ \fp@setparam{#4}%
+ \fp@loopcount=\fp@loopcountii
+ \else
+ \ifnum\fp@tempcount>\fp@tempcountii
+ \fp@setparam{#3}%
+ \fp@loopcount=\fp@loopcountii
+ \else
+ \ifnum\fp@loopcount=\fp@loopcountii
+ \fp@setparam{=}%
+ \fi
+ \fi
+ \fi
+ \ifnum\fp@loopcount>\fp@loopcountii
+ \advance\fp@loopcount by -1
+ \repeat
+}% end \fp@regcomp@main
+\def\fp@regabs#1{%
+ \ar@setsig{#1}{+}%
+}
+\def\fp@regneg#1{%
+ \if\ar@getsig{#1}-%
+ \ar@setsig{#1}{+}%
+ \else
+ \fp@regcomp{#1}{@0}%
+ \if\fp@param=%
+ \else
+ \ar@setsig{#1}{-}%
+ \fi
+ \fi
+}
+\def\fp@reground#1#2{%
+ \ifnum#2>\ar@getll{#1}\relax
+ {%
+ \fp@tempcount=#2\relax
+ \advance\fp@tempcount by -1
+ \fp@getdigit{#1}{\fp@tempcount}%
+ \ifnum\fp@param>4
+ \fp@regcopy{fp@temp}{@1}%
+ \fp@shiftright{fp@temp}{#2}%
+ \fp@regcomp{#1}{@0}%
+ \if\fp@param<%
+ \fp@regneg{fp@temp}%
+ \fi
+ \fp@regadd{#1}{fp@temp}%
+ \fi
+ \ifnum#2>0
+ \fp@loopcount=#2\relax
+ \iloop
+ \ifnum\fp@loopcount>0
+ \advance\fp@loopcount by -1
+ \ar@set{#1}{\fp@loopcount}{0}%
+ \irepeat
+ \ar@setll{#1}{0}%
+ \else
+ \ar@setll{#1}{#2}%
+ \fi
+ \fp@regget{#1}{\fp@scratch}%
+ \fp@setparam\fp@scratch
+ }%
+ \fp@regread{#1}{\fp@param}%
+ \fi
+} % end \fp@reground
+\def\fp@regcopy#1#2{%
+ \fp@regget{#2}{\fp@scratch}%
+ \fp@regread{#1}{\fp@scratch}%
+}
+\def\fp@regadd#1#2{%
+ {%
+ \if\ar@getsig{#1}\ar@getsig{#2}%
+ \fp@settomin{\fp@loopcount}{\ar@getll{#1}}{\ar@getll{#2}}%
+ \edef\fp@add@start{\number\fp@loopcount}%
+ \fp@settomax{\fp@tempcount}{\ar@getul{#1}}{\ar@getul{#2}}%
+ \edef\fp@add@finish{\number\fp@tempcount}%
+ \fp@carryover=0
+ \loop
+ \fp@getdigit{#1}{\fp@loopcount}%
+ \fp@result=\fp@param\relax
+ \fp@getdigit{#2}{\fp@loopcount}%
+ \advance\fp@result by \fp@param\relax
+ \advance\fp@result by \fp@carryover
+ \ifnum\fp@result>9
+ \fp@carryover=1
+ \advance\fp@result by -10
+ \else
+ \fp@carryover=0
+ \fi
+ \ar@set{#1}{\fp@loopcount}{\fp@result}%
+ \ifnum\fp@loopcount<\fp@add@finish\relax
+ \advance\fp@loopcount by 1
+ \repeat
+ \ifnum\fp@carryover>0
+ \advance\fp@loopcount by 1
+ \ar@set{#1}{\fp@loopcount}{\fp@carryover}%
+ \fi
+ \ar@setll{#1}{\fp@add@start}%
+ \ar@setul{#1}{\fp@loopcount}%
+ \fp@regget{#1}{\fp@scratch}%
+ \fp@setparam\fp@scratch
+ \else % \if sign
+ \fp@regcopy{fp@tempi}{#1}%
+ \fp@regcopy{fp@tempii}{#2}%
+ \fp@regabs{fp@tempi}%
+ \fp@regabs{fp@tempii}%
+ \fp@regcomp{fp@tempi}{fp@tempii}%
+ \if\fp@param>%
+ \fp@regadd@sub{#1}{fp@tempi}{fp@tempii}%
+ \else
+ \fp@regadd@sub{#2}{fp@tempii}{fp@tempi}%
+ \fi
+ \fi % end \if sign
+ }%
+ \fp@regread{#1}{\fp@param}%
+}% end \fp@regadd
+\def\fp@regadd@sub#1#2#3{%
+ \fp@regsub@restricted{#2}{#3}%
+ \fp@regcomp{#1}{@0}%
+ \if\fp@param<%
+ \fp@regneg{#2}%
+ \fi
+ \fp@regget{#2}{\fp@scratch}%
+ \fp@setparam\fp@scratch
+}% end \fp@regadd@sub
+\def\fp@regsub@restricted#1#2{%
+ {%
+ \fp@settomin{\fp@loopcount}{\ar@getll{#1}}{\ar@getll{#2}}%
+ \edef\fp@lowermin{\number\fp@loopcount}%
+ \fp@settomax{\fp@tempcount}{\ar@getul{#1}}{\ar@getul{#2}}%
+ \edef\fp@uppermin{\number\fp@tempcount}%
+ \fp@carryover=0
+ \loop
+ \fp@getdigit{#1}{\fp@loopcount}%
+ \fp@result=\fp@param\relax
+ \fp@getdigit{#2}{\fp@loopcount}%
+ \advance\fp@result by -\fp@param\relax
+ \advance\fp@result by \fp@carryover
+ \ifnum\fp@result<0
+ \fp@carryover=-1
+ \advance\fp@result by 10
+ \else
+ \fp@carryover=0
+ \fi
+ \ar@set{#1}{\fp@loopcount}{\fp@result}%
+ \ifnum\fp@loopcount<\fp@uppermin\relax
+ \advance\fp@loopcount by 1
+ \repeat
+ \ifnum\fp@carryover=-1
+ \advance\fp@loopcount by 1
+ \ar@set{#1}{\fp@loopcount}{-1}%
+ \fi
+ \ar@setll{#1}{\fp@lowermin}%
+ \ar@setul{#1}{\fp@loopcount}%
+ \fp@regget{#1}{\fp@scratch}%
+ \fp@setparam\fp@scratch
+ }%
+ \fp@regread{#1}{\fp@param}%
+}% end \fp@regsub@restricted
+\def\fp@regsub#1#2{%
+ {%
+ \fp@regneg{#2}%
+ \fp@regadd{#1}{#2}%
+ \fp@regget{#1}{\fp@scratch}%
+ \fp@setparam\fp@scratch
+ }%
+ \fp@regread{#1}{\fp@param}%
+}
+\def\fp@regmul#1#2{%
+ {%
+ \fp@regcopy{fp@temp1}{@0}%
+ \fp@loopcountii=\ar@getll{#2}\relax
+ \xloop
+ \fp@loopcount=\ar@getll{#1}\relax
+ \fp@carryover=0
+ \def\fp@newnum{}%
+ \loop
+ \fp@result=\ar@get{#2}{\fp@loopcountii}\relax
+ \multiply\fp@result by \ar@get{#1}{\fp@loopcount}\relax
+ \advance\fp@result by \fp@carryover
+ \ifnum\fp@result>9
+ \fp@carryover=\fp@result
+ \divide\fp@carryover by 10
+ \fp@tempcount=\fp@carryover
+ \multiply\fp@tempcount by 10
+ \advance\fp@result by -\fp@tempcount
+ \else
+ \fp@carryover=0
+ \fi
+ \edef\fp@newnum{\number\fp@result\fp@newnum}%
+ \ifnum\fp@loopcount<\ar@getul{#1}\relax
+ \advance\fp@loopcount by 1
+ \repeat
+ \edef\fp@newnum{\number\fp@carryover\fp@newnum}%
+ \fp@regread{fp@temp2}{\fp@newnum}%
+ \fp@tempcount=\fp@loopcountii
+ \advance\fp@tempcount by -\number\ar@getll{#2}\relax
+ \fp@shiftright{fp@temp2}{\fp@tempcount}%
+ \fp@regadd{fp@temp1}{fp@temp2}%
+ \ifnum\fp@loopcountii<\ar@getul{#2}\relax
+ \advance\fp@loopcountii by 1
+ \xrepeat
+ \fp@tempcount=\ar@getll{#1}\relax
+ \advance\fp@tempcount by \ar@getll{#2}\relax
+ \fp@shiftright{fp@temp1}{\fp@tempcount}%
+ \if\ar@getsig{#1}\ar@getsig{#2}%
+ \else
+ \fp@regneg{fp@temp1}%
+ \fi
+ \fp@regget{fp@temp1}{\fp@scratch}%
+ \fp@setparam\fp@scratch
+ }%
+ \fp@regread{#1}{\fp@param}%
+} % end \fp@regmul
+\def\fp@regdiv#1#2{%
+ {%
+ \fp@regcopy{fp@temp1}{#1}%
+ \fp@regcopy{fp@temp2}{#2}%
+ \fp@regabs{fp@temp1}%
+ \fp@regabs{fp@temp2}%
+ \fp@firstnonzero{fp@temp1}%
+ \fp@loopcountii=\fp@param\relax
+ \fp@firstnonzero{fp@temp2}%
+ \advance\fp@loopcountii by -\fp@param\relax
+ \fp@shiftright{fp@temp2}{\fp@loopcountii}%
+ \def\fp@divnum{}%
+ \ifnum\fp@loopcountii<0
+ \fp@tempcount=\fp@loopcountii
+ \loop
+ \ifnum\fp@tempcount<-1
+ \edef\fp@divnum{0\fp@divnum}%
+ \advance\fp@tempcount by 1
+ \repeat
+ \edef\fp@divnum{\fp@decimalsign\fp@divnum}%
+ \fi
+ \xloop
+ \fp@tempcount=\fp@loopcountii
+ \advance\fp@tempcount by 1
+ \ifnum\fp@tempcount>-\fp@accuracy\relax
+ \fp@loopcount=0
+ \loop
+ \fp@regcomp{fp@temp2}{fp@temp1}%
+ \if\fp@param=%
+ \def\fp@accuracy{0}%
+ \gdef\fp@param{<}%
+ \fi
+ \if\fp@param<%
+ \fp@regsub@restricted{fp@temp1}{fp@temp2}%
+ \advance\fp@loopcount by 1
+ \repeat
+ \ifnum\fp@loopcountii=-1
+ \edef\fp@divnum{\fp@divnum\fp@decimalsign}%
+ \fi
+ \edef\fp@divnum{\fp@divnum\number\fp@loopcount}%
+ \fp@shiftright{fp@temp2}{-1}%
+ \advance\fp@loopcountii by -1
+ \xrepeat
+ \if\ar@getsig{#1}\ar@getsig{#2}%
+ \fp@regread{fp@temp1}{\fp@divnum}%
+ \else
+ \fp@regread{fp@temp1}{-\fp@divnum}%
+ \fi
+ \fp@regget{fp@temp1}{\fp@scratch}%
+ \fp@setparam\fp@scratch
+ }%
+ \fp@regread{#1}{\fp@param}%
+}
+\def\fp@call@bin#1#2#3#4{%
+ {%
+ \fp@regread{fp@user1}{#2}%
+ \fp@regread{fp@user2}{#3}%
+ \csname fp@reg#4\endcsname{fp@user1}{fp@user2}%
+ \fp@regget{fp@user1}{\fp@scratch}%
+ \fp@setparam\fp@scratch
+ }%
+ \edef#1{\fp@param}%
+}
+\def\fpAdd#1#2#3{\fp@call@bin{#1}{#2}{#3}{add}}
+\def\fpSub#1#2#3{\fp@call@bin{#1}{#2}{#3}{sub}}
+\def\fpMul#1#2#3{\fp@call@bin{#1}{#2}{#3}{mul}}
+\def\fpDiv#1#2#3{\fp@call@bin{#1}{#2}{#3}{div}}
+\def\fp@call@un#1#2#3{%
+ {%
+ \fp@regread{fp@user1}{#2}%
+ \csname fp@reg#3\endcsname{fp@user1}%
+ \fp@regget{fp@user1}{\fp@scratch}%
+ \fp@setparam\fp@scratch
+ }%
+ \edef#1{\fp@param}%
+}
+\def\fpAbs#1#2{\fp@call@un{#1}{#2}{abs}}
+\def\fpNeg#1#2{\fp@call@un{#1}{#2}{neg}}
+\def\fpRound#1#2#3{%
+ {%
+ \fpRegSet{fp@user1}{#2}%
+ \fpRegRound{fp@user1}{#3}%
+ \fpRegGet{fp@user1}{\fp@scratch}%
+ \fp@setparam\fp@scratch
+ }%
+ \edef#1{\fp@param}%
+}
+\def\fpRegSet#1#2{\fp@regread{#1}{#2}}
+\def\fpRegGet#1#2{\fp@regget{#1}{#2}}
+\def\fpRegAdd#1#2{\fp@regadd{#1}{#2}}
+\def\fpRegSub#1#2{\fp@regsub{#1}{#2}}
+\def\fpRegMul#1#2{\fp@regmul{#1}{#2}}
+\def\fpRegDiv#1#2{\fp@regdiv{#1}{#2}}
+\def\fpRegAbs#1{\fp@regabs{#1}}
+\def\fpRegNeg#1{\fp@regneg{#1}}
+\def\fpRegCopy#1#2{\fp@regcopy{#1}{#2}}
+\def\fpRegRound#1#2{\fp@reground{#1}{#2}}
+\def\fpAccuracy#1{\edef\fp@accuracy{#1}}
+\fpAccuracy{5}
+\def\fpDecimalSign#1{\edef\fp@decimalsign{#1}}
+\fpDecimalSign{,}
+\def\fpThousandSep#1{\edef\fp@thousandsep{#1}}
+\fpThousandSep{}
+\fp@regread{@0}{0}
+\fp@regread{@1}{1}
+\catcode`\@=\atcatcode\relax
+\endinput
+%%
+%% End of file `fltpoint.tex'.