% Copyright 2007-2009 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/LICENSE for more details.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Math routines
\def\pgf@circ@stripdecimals#1.#2\pgf@nil{#1}
% angle between 0 and 360
\def\pgf@circ@slope#1#2{%
\pgf@process{#1}%
\pgf@xa=\pgf@x%
\pgf@ya=\pgf@y%
\pgf@process{#2}%
\advance\pgf@x by-\pgf@xa%
\advance\pgf@y by-\pgf@ya%
\ifdim\pgf@x<0.0001pt
\ifdim\pgf@x>-0.0001pt % vertical
\ifdim\pgf@y<0pt
\def\pgfmathresult{-90.0}
\else
\def\pgfmathresult{+90.0}
\fi
\else % oblique with dx < 0
\pgfmathdivide{\pgf@y}{\pgf@x}
\pgfmathatan{\pgfmathresult}
\ifdim\pgf@x<0pt
\pgfmathsubtract{\pgfmathresult}{+180}
\fi
\fi
\else % oblique with dx > 0
\pgfmathdivide{\pgf@y}{\pgf@x}
\pgfmathatan{\pgfmathresult}
\ifdim\pgf@x<0pt
\pgfmathsubtract{\pgfmathresult}{+180}
\fi
\fi
\pgf@x=\pgfmathresult pt
\ifdim\pgf@x<0pt
\pgfmathadd{\pgfmathresult}{+360}
\fi
}
\endinput