
%\input pgfplotsoldpgfsupp_pgfmathparse.opt.code.tex
%\beginpgfmathparsecheckfornumber

\pgfutil@ifundefined{pgfmathlessthan@}{%
	\let\pgfmathlessthan@=\pgfmathless@
	\let\pgfmathgreaterthan@=\pgfmathgreater@
}{}%


\def\pgfplotsusecompatibilityfile#1{%
	\pgfutil@IfUndefined{pgfplotsusecompatibilityfile@loaded@#1}{%
		\expandafter\gdef\csname pgfplotsusecompatibilityfile@loaded@#1\endcsname{1}%
		\input pgfplotsoldpgfsupp_#1
	}{%
		% already loaded.
	}%
}%


\def\pgfmathfloatrounddisplaystyle@shared@impl@WRONG#1#2{%
	{\toks0={#1}%
	\toks1=\expandafter{\pgfmathfloatrounddisplaystyle@e@mark #2}%
	\xdef\pgfmathfloat@glob@TMP{\the\toks0 \the\toks1 }%
	}%
	\let\pgfmathresult=\pgfmathfloat@glob@TMP
}%

% check whether we need to load supplementary code.
% The development of pgfplots and pgf is intermingled, so pgfplots
% always uses up-to-date pgf CVS versions - the relevant complements between
% PGF 2.10 and PGF CVS are loaded here:
%
% #1: for backwards compatibility
% #2: for normal processing.
\def\pgfplots@ifneedspgfcompabitibilitycode@has@pgf@one@zero@zero#1#2{%
	%\pgfkeysifdefined{/pgf/number format/sci precision/.@cmd}{#2}{#1}%
	\pgfutil@ifundefined{pgfmathprintnumber@RELATIVE@choice@roundtofixed}{#1}{#2}%
}%

\let\pgfplots@ifneedspgfcompabitibilitycode=\pgfplots@ifneedspgfcompabitibilitycode@has@pgf@one@zero@zero

\pgfplots@ifneedspgfcompabitibilitycode
	{%
		\immediate\write16{Package pgfplots: loading complementary code for your PGF version...}
		\input pgfplotsoldpgfsupp_misc.code.tex
		\let\pgfkeysloaded=\undefined
		\input pgfplotsoldpgfsupp_pgfkeys.code.tex
		\input pgfplotsoldpgfsupp_pgfmathfloat.code.tex
		\input pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex
		\input pgfplotsoldpgfsupp_pgflibraryfpu.code.tex
		\input pgfplotsoldpgfsupp_pgfcorescopes.code.tex
		\input pgfplotsoldpgfsupp_pgfcorelayers.code.tex
	}%
	{%
		\pgfplots@iffileexists{pgflibraryfpu.code.tex}{%
			\usepgflibrary{fpu}%
		}{%
			\immediate\write16{Package pgfplots: loading FPU library which doesn't appear to exist in your PGF version...}
			\input pgfplotsoldpgfsupp_pgflibraryfpu.code.tex
		}%
	}%

\pgfutil@ifundefined{pgfmathfloatatan2}{
	\immediate\write16{Package pgfplots: loading complementary arithmetics for your pgf version...}
	\input pgfplotsoldpgfsupp_pgflibraryfpu.code.tex
	\input pgfplotsoldpgfsupp_pgfmathfloat.code.tex
}
{}%

\pgfutil@IfUndefined{pgfmathdeclarefunction}{
	\pgfplots@warning{Parts of pgfplots require PGF 2.10; you have PGF 2.00 . Consider upgrading if you experience problems.}%
}{%
}%

\pgfutil@IfUndefined{pgfapplistnewempty}{%
	\immediate\write16{Package pgfplots: loading complementary utilities for your pgf version...}
	\csname newtoks\endcsname\t@pgf@toka
	\csname newtoks\endcsname\t@pgf@tokb
	\csname newtoks\endcsname\t@pgf@tokc
	\gdef\pgfutil@advancestringcounter{\pgfplotsutil@advancestringcounter}%
	\input pgfplotsoldpgfsupp_pgfutil-common-lists.tex
}{}%

\pgfutil@IfUndefined{pgfmathiftrigonometricusesdeg}{%
	\pgfutil@ifundefined{pgfmathdeclarefunction}{%
		% PGF 2.00 !? Well, trig format won't work here.
	}{%
		\input pgfplotsoldpgfsupp_trig_format.code.tex
	}%
}{}%

\ifpgfplots@LUA@supported
	\def\PATCH@pgfmath@local@function@body#1;{%
		\def\pgfmath@local@body{#1}%
		\begingroup%
			\c@pgf@counta=0\relax%
			\ifx\pgfmath@local@args\pgfmath@empty%
				\expandafter\pgfmath@toks\expandafter=\expandafter{\pgfmath@local@body}%
			\else%
				\pgfmath@toks={}%
				\expandafter\pgfmath@local@function@@body\pgfmath@local@args,,%
			\fi%
			\xdef\pgfmath@local@temp{%
				\noexpand\pgfmathnotifynewdeclarefunction{\pgfmath@local@name}{\the\c@pgf@counta}%
					{\the\pgfmath@toks}%
			}%
		\endgroup%
		\pgfmath@local@temp%
	}
	% #1: the name
	% #2: the number of arguments <n>
	% #3: a math expression containing '#1', '#2', ... ,'#'<n>
	% This callback is overwritten by pgflibraryluamath.
	\def\PATCH@pgfmathnotifynewdeclarefunction#1#2#3{%
		\pgfmathdeclarefunction{#1}{#2}{\pgfmathparse{#3}}%
	}%
	%
	% currently, pgfplots does NOT call directly call any TeX macros
	% from this library - but it relies on the fact that "trig
	% format", \pgfmathsetseed and other configuration macros also
	% mirror their values in LUA.
	% And this mirroring is done in library luamath:
	\def\pgfplots@glob@TMPa{3.0.0}%
	\ifx\pgfversion\pgfplots@glob@TMPa
		% 3.0.0 does not have the (correct) luamath library.
		\let\pgfmathnotifynewdeclarefunction=\PATCH@pgfmathnotifynewdeclarefunction
		\let\pgfmath@local@function@body=\PATCH@pgfmath@local@function@body
		\pgfplotsusecompatibilityfile{pgflibraryluamath.code.tex}
	\else
		\pgfutil@IfFileExists{pgflibraryluamath.code.tex}{%
			% ah - we have a very recent version of PGF.
			% Well, it will hopefully come with a suitable version of the
			% luamath library! Use it.
			\usepgflibrary{luamath}%
		}{%
			% hm. PGF 2.10 ?
			%
			% FIXME 
			%\pgfplots@LUA@supportedfalse
		}%
	\fi
\fi


\endinput
