diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex b/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex index 03f9ca270ae..07f7b8b6d90 100644 --- a/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex +++ b/Master/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex @@ -39,17 +39,28 @@ \pgfmathdeclarefunction{floor}{1}{% \begingroup% \expandafter\pgfmath@x#1pt\relax% - \afterassignment\pgfmath@gobbletilpgfmath@% - \expandafter\c@pgfmath@counta\the\pgfmath@x\relax\pgfmath@% + \afterassignment\pgfmathfloor@collect@remainder% + \expandafter\c@pgfmath@counta\the\pgfmath@x\pgfmath@% \expandafter\pgfmath@x#1pt\relax% \ifdim\pgfmath@x<0pt\relax% - \advance\c@pgfmath@counta by -1\relax% + \ifdim\pgfmathfloor@remainder>0pt + \advance\c@pgfmath@counta by -1\relax% + \else + % ok, we stripped only '0'. + \fi \fi% \pgfmath@x\c@pgfmath@counta pt\relax% \pgfmath@returnone\pgfmath@x% \endgroup% }% +\def\pgfmathfloor@collect@remainder#1\pgfmath@{% + \def\pgfmathfloor@remainder{#1}% + \ifx\pgfmathfloor@remainder\pgfutil@empty + \def\pgfmathfloor@remainder{0}% + \fi +}% + % ceil function. % \pgfmathdeclarefunction{ceil}{1}{% |