diff options
141 files changed, 23275 insertions, 8404 deletions
diff --git a/Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.pdf b/Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.pdf Binary files differdeleted file mode 100644 index a51c938286b..00000000000 --- a/Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.tex b/Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample.tex index 2dc477fd49a..2dc477fd49a 100644 --- a/Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.tex +++ b/Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample.tex diff --git a/Master/texmf-dist/doc/generic/pgfplots/README b/Master/texmf-dist/doc/generic/pgfplots/README index 2712d896c26..e0a52efb27b 100644 --- a/Master/texmf-dist/doc/generic/pgfplots/README +++ b/Master/texmf-dist/doc/generic/pgfplots/README @@ -1,4 +1,7 @@ -pgfplots - A tool to draw normal and/or logarithmic plots in LaTeX/TeX/ConTeXt. +pgfplots - A tool to work with scientific data. It draws normal and/or +logarithmic plots in LaTeX/TeX/ConTeXt. + +pgfplotstable - Loads, rounds and formats and postprocesses numerical tables. Pgfplots draws high-quality function plots in normal or logarithmic scaling with a user-friendly interface. The user supplies axis labels, legend @@ -6,14 +9,14 @@ entries and the plot coordinates for one or more plots and Pgfplots applies axis scaling, computes any logarithms and axis ticks and draws the plots. It is based on Till Tantau's package PGF/TikZ. -Pgfplots also provides methods to typeset numeric tables, rounds to prescribed -accuracy and typesets numbers in the desired format. +Pgfplotstable displays numerical tables rounded to desired precision in various +display formats, for example scientific format, fixed point format or integer, +using TeX's math facilities for pretty printing. Please take a look at doc/latex/pgfplots/pgfplots.pdf and - doc/latex/pgfplots/pgfplotstable.pdf -The manual contains installation instructions and more detailed information. + doc/latex/pgfplots/pgfplotstable.pdf. Copyright 2007/2008 by Christian Feuersaenger. diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/liststructuretest/liststructuretest.tex b/Master/texmf-dist/doc/generic/pgfplots/test/liststructuretest/liststructuretest.tex deleted file mode 100644 index 408b6d4cfb6..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/liststructuretest/liststructuretest.tex +++ /dev/null @@ -1,164 +0,0 @@ -\documentclass[a4paper]{article} -\usepackage{german} -\usepackage[utf8]{inputenc} % erlaubt direkte Nutzung von Umlauten - -% \usepackage[a4paper,noheadfoot,pdftex,left=0.8cm,right=1cm,top=0.8cm,bottom=0.8cm]{geometry} -% \usepackage{color} -% \usepackage{colortbl} -% \usepackage{longtable} -% \usepackage[a4paper,colorlinks=true]{hyperref} % Querverweise etc. option pdftex,dvipdfm? -% \usepackage{graphicx} -% \usepackage[draft]{graphicx} -% \usepackage{listings} % fuer codefragmente jeder art -\usepackage[intlimits]{amsmath} -\usepackage{amssymb} -\usepackage{amsfonts} -% \usepackage{amsthm} -\usepackage{bibgerm} -%\usepackage{simplelist} - -\usepackage{pgf} -\makeatletter -\input pgfplotsliststructure.code.tex -\input pgfplotsarray.code.tex -\makeatother - -% fuer endvironment 'sidewaysfigure' bspw -% \usepackage{rotating} - -%\pdfinfo { -% /Author (Christian Feuersaenger) -%} - -%% -% My user defined commands ... -% -\usepackage{mymath} -\usepackage{myext} - -% von Alex: A4-Groesse, symmetrische Seitenraender. -% \usepackage{mya4sym} - - -% figure einstellungen: -%\renewcommand{\topfraction}{0.85} -%\renewcommand{\textfraction}{0.06} -%\renewcommand{\floatpagefraction}{0.8} - -\def\testfile#1{\chapter{#1}} -\def\testsection#1{\message{STARTING TEST SECTION '#1'}\section{#1}} -\def\testsubsection#1{\message{STARTING TEST SUBSECTION '#1'}\subsection{#1}} -\def\testsubsubsection#1{\message{STARTING TEST SUBSUBSECTION '#1'}\subsubsection{#1}} - - -\author{Christian Feuersänger} -%\title{} - -\begin{document} -%\maketitle -\testsection{pgfplotslist test} -\message{pgfplotslist test}% -{ -\tracingcommands=2 -\tracingmacros=2 -\pgfplotslistnewempty\probe -\pgfplotslistpushback eins\to\probe -\pgfplotslistpushback [probe]\to\probe -\pgfplotslistpushback [probe2]\to\probe -\pgfplotslistpushback [probe3]\to\probe - -Size: \pgfplotslistsize\probe\to{\count0}\the\count0 - -Contents: - -\pgfplotslistforeach\probe\as\curlistelem{\curlistelem \par} - -\pgfplotslistnew\foolist{Eins\\Zwei\\Drei\\}% -\pgfplotslistforeach\foolist\as\foo{Element \foo\par}% - -\testsubsection{select} -\count1=1 -Element \the\count1: \pgfplotslistselect\count1\of\probe\to\elem\elem - -Element 3: \pgfplotslistselect3\of\probe\to\elem\elem - -count1 is now=\the\count1 -\vskip1cm - -\testsubsection{listpopfront} -\pgfplotslistpopfront\probe\to\first -first: \first - -remaining size: \pgfplotslistsize\probe\to{\count0}\the\count0 - -\pgfplotslistpopfront\probe\to\first -first: \first - -remaining size: \pgfplotslistsize\probe\to{\count0}\the\count0 - - -\testsubsection{list concat} -new list: -\pgfplotslistnew\foolist{First Element\\Second Element\\Third Element\\} -\pgfplotslistnew\foolistX{Eins\\Zwei\\} - -Contents: -\pgfplotslistforeach\foolist\as\curlistelem{\curlistelem \par} - -\pgfplotslistconcat\third=\foolist&\foolistX - -Result of concat: -\pgfplotslistforeach\third\as\curlistelem{\curlistelem \par} -} - -\section{pgfplotsarray test} -\message{pgfplotsarray test} -{ -\tracingcommands=2 -\tracingmacros=2 - -\pgfplotsarraynewempty\probe -\pgfplotsarraypushback eins\to\probe -\pgfplotsarraypushback [probe]\to\probe -\pgfplotsarraypushback [probe2]\to\probe -\pgfplotsarraypushback [probe3]\to\probe - -Size: `\pgfplotsarraysize\probe\to{\count0}\the\count0' - -Content: - -\pgfplotsarrayforeach\probe\as\curarrayelem{\curarrayelem \par} - -\testsubsection{Select} -Test list: - -\pgfplotsarraynew\fooarray{Eins\\Zwei\\Drei\\}% -\pgfplotsarrayforeach\fooarray\as\foo{Element \foo\par}% - -Getting elements: - -\count1=1 -Element \the\count1: \pgfplotsarrayselect\count1\of\fooarray\to\elem\elem - -Element 2: \pgfplotsarrayselect2\of\fooarray\to\elem\elem - -\vskip1cm - - -\testsubsection{Copy} - -Copy: -\pgfplotsarraynew\fooarray{Eins\\Zwei\\Drei\\}% -Source: \pgfplotsarrayforeach\fooarray\as\foo{Element \foo\par}% - -\pgfplotsarraycopy\fooarray\to\fooarrayX - -Copy: \pgfplotsarrayforeach\fooarrayX\as\foo{Element \foo\par}% -} - - -\bibliographystyle{gerabbrv} %gerapali} %gerabbrv} %gerunsrt.bst} %gerabbrv}% gerplain} -% \bibliography{literatur.bib} -\end{document} - - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletest.generated1.tex b/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletest.generated1.tex deleted file mode 100644 index 54c32337a51..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletest.generated1.tex +++ /dev/null @@ -1 +0,0 @@ -\begin {tabular}{ccccccccc}\toprule G&Basis&dof&L2&A&Lmax&cgiter&maxlevel&eps\\\midrule \rowcolor [gray]{0.9}\pgfutilensuremath {5}&\pgfutilensuremath {5}&\pgfutilensuremath {5}&\pgfutilensuremath {8.31\cdot 10^{-2}}&\pgfutilensuremath {0}&\pgfutilensuremath {0.18}&\pgfutilensuremath {2}&\pgfutilensuremath {2}&\pgfutilensuremath {-1}\\\pgfutilensuremath {17}&\pgfutilensuremath {17}&\pgfutilensuremath {17}&\pgfutilensuremath {2.55\cdot 10^{-2}}&\pgfutilensuremath {0}&\pgfutilensuremath {3.76\cdot 10^{-2}}&\pgfutilensuremath {5}&\pgfutilensuremath {3}&\pgfutilensuremath {-1}\\\rowcolor [gray]{0.9}\pgfutilensuremath {49}&\pgfutilensuremath {49}&\pgfutilensuremath {49}&\pgfutilensuremath {7.41\cdot 10^{-3}}&\pgfutilensuremath {0}&\pgfutilensuremath {1.49\cdot 10^{-2}}&\pgfutilensuremath {11}&\pgfutilensuremath {4}&\pgfutilensuremath {-1}\\\pgfutilensuremath {129}&\pgfutilensuremath {129}&\pgfutilensuremath {129}&\pgfutilensuremath {2.10\cdot 10^{-3}}&\pgfutilensuremath {0}&\pgfutilensuremath {4.23\cdot 10^{-3}}&\pgfutilensuremath {26}&\pgfutilensuremath {5}&\pgfutilensuremath {-1}\\\rowcolor [gray]{0.9}\pgfutilensuremath {321}&\pgfutilensuremath {321}&\pgfutilensuremath {321}&\pgfutilensuremath {5.87\cdot 10^{-4}}&\pgfutilensuremath {0}&\pgfutilensuremath {1.31\cdot 10^{-3}}&\pgfutilensuremath {43}&\pgfutilensuremath {6}&\pgfutilensuremath {-1}\\\pgfutilensuremath {769}&\pgfutilensuremath {769}&\pgfutilensuremath {769}&\pgfutilensuremath {1.62\cdot 10^{-4}}&\pgfutilensuremath {0}&\pgfutilensuremath {3.89\cdot 10^{-4}}&\pgfutilensuremath {49}&\pgfutilensuremath {7}&\pgfutilensuremath {-1}\\\rowcolor [gray]{0.9}\pgfutilensuremath {1{,}793}&\pgfutilensuremath {1{,}793}&\pgfutilensuremath {1{,}793}&\pgfutilensuremath {4.44\cdot 10^{-5}}&\pgfutilensuremath {0}&\pgfutilensuremath {1.13\cdot 10^{-4}}&\pgfutilensuremath {52}&\pgfutilensuremath {8}&\pgfutilensuremath {-1}\\\pgfutilensuremath {4{,}097}&\pgfutilensuremath {4{,}097}&\pgfutilensuremath {4{,}097}&\pgfutilensuremath {1.21\cdot 10^{-5}}&\pgfutilensuremath {0}&\pgfutilensuremath {3.20\cdot 10^{-5}}&\pgfutilensuremath {56}&\pgfutilensuremath {9}&\pgfutilensuremath {-1}\\\rowcolor [gray]{0.9}\pgfutilensuremath {9{,}217}&\pgfutilensuremath {9{,}217}&\pgfutilensuremath {9{,}217}&\pgfutilensuremath {3.26\cdot 10^{-6}}&\pgfutilensuremath {0}&\pgfutilensuremath {8.98\cdot 10^{-6}}&\pgfutilensuremath {59}&\pgfutilensuremath {10}&\pgfutilensuremath {-1}\\\bottomrule \end {tabular} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletest.tex b/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletest.tex deleted file mode 100644 index 65eee3fd451..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletest.tex +++ /dev/null @@ -1,211 +0,0 @@ -\documentclass[a4paper]{article} - -\usepackage[intlimits]{amsmath} -\usepackage{amssymb} -\usepackage{amsfonts} -\usepackage{ifpdf} -\usepackage{listings} -\usepackage{rotating} - -\usepackage{array} -\usepackage{booktabs} -\usepackage{colortbl} - -\lstset{basicstyle=\ttfamily\footnotesize,tabsize=16} - -\ifpdf -\else -\def\pgfsysdriver{pgfsys-dvipdfm.def} -\fi -\usepackage{pgfplots} - -\parindent=0pt - -\def\testsection#1{\message{STARTING TEST SECTION '#1'}\section{#1}} -\def\testsubsection#1{\message{STARTING TEST SUBSECTION '#1'}\subsection{#1}} -\def\testsubsubsection#1{\message{STARTING TEST SUBSUBSECTION '#1'}\subsubsection{#1}} - -\author{Christian Feuers\"anger} -\title{Test cases for pgfplotstable} - -\begin{document} -\maketitle - -\testsection{Reading a tab-separated table with many entries} -\begin{sidewaystable} - \lstinputlisting{numtabletestdata} -\end{sidewaystable} -\testsubsection{Reading it...} -\tracingmacros=2\tracingcommands=2 -\pgfplotstableread{numtabletestdata}\table -\tracingmacros=0\tracingcommands=0 - -\testsubsection{Quering colnames...} -%\tracingmacros=2\tracingcommands=2 -\pgfplotstablegetcolumnlist\table\to\cols -\pgfplotslistforeach\cols\as\col{Column ``\col''\par}% -%\tracingmacros=0\tracingcommands=0 - -\testsubsection{Quering column content by column name} -%\tracingmacros=2\tracingcommands=2 -\pgfplotstablegetcolumnbyname L2\of\table\to\colcontent -\pgfplotslistforeach\colcontent\as\colc{Row data: ``\colc''\par}% -%\tracingmacros=0\tracingcommands=0 - -\testsubsection{Quering column content by column name for all cols} -\pgfplotstablegetcolumnlist\table\to\cols -\pgfplotslistforeach\cols\as\col{\textbf{Column ``\col''}\par - \pgfplotstablegetcolumnbyname\col\of\table\to\colcontent - \pgfplotslistforeach\colcontent\as\colc{Row data: ``\colc''\par}% -}% - -\testsection{Reading gnuplot output for use in 'plot file'} -\lstinputlisting{numtabletestdata2.gnuplot} -%\tracingmacros=2\tracingcommands=2 -\pgfplotstableread{numtabletestdata2.gnuplot}\table -%\tracingmacros=0\tracingcommands=0 - -\testsubsection{Quering column content by column name for all cols} -\pgfplotstablegetcolumnlist\table\to\cols -\pgfplotslistforeach\cols\as\col{\textbf{Column ``\col''}\par - \pgfplotstablegetcolumnbyname\col\of\table\to\colcontent - \pgfplotslistforeach\colcontent\as\colc{Row data: ``\colc''\par}% -}% - -\testsection{Table typesetting} -% -% Set this here globally: -\pgfplotstableset{/pgf/number format/sci zerofill}% any number in SCI format shall use zero filling. - -\pgfplotstableread{numtabletestdata}\table - -\testsubsection{no options at all} -\pgfplotstabletypeset\table - -\testsubsection{Basis, L2, no options} -%\tracingmacros=2\tracingcommands=2 -\pgfplotstabletypeset[columns={Basis,L2}]\table -%\tracingmacros=0\tracingcommands=0 - -\testsubsection{some column adjustments} -\pgfplotstabletypeset[ - columns={maxlevel,Basis,L2,cgiter}, - columns/maxlevel/.style={column name=$l_\infty$,column type=r}, - columns/cgiter/.style={column name={CG}}, - columns/L2/.style={column name={$L_2$},/pgf/number format/sci subscript,/pgf/number format/sci zerofill}] - \table - -\testsubsection{some row adjustments} -\pgfplotstabletypeset[ - /pgf/number format/sci subscript,/pgf/number format/sci zerofill, - every head row/.style={before row=\toprule,after row=\midrule}, - every last row/.style={after row=\bottomrule}, - ] - \table - - -\testsubsection{coloring rows} - -\pgfplotstabletypeset[ - every even row/.style={before row={\rowcolor[gray]{0.9}}}, - every head row/.style={before row=\toprule,after row=\midrule}, - every last row/.style={after row=\bottomrule}, - ] - \table - -\testsubsubsection{writing to numtabletest.generated1.tex}% -\pgfplotstabletypeset[ - outfile=numtabletest.generated1.tex, - every even row/.style={before row={\rowcolor[gray]{0.9}}}, - every head row/.style={before row=\toprule,after row=\midrule}, - every last row/.style={after row=\bottomrule}, - ] - \table - -\testsubsubsection{loading numtabletest.generated1.tex} -\input{numtabletest.generated1.tex} - -\testsubsection{Choosing columns by index} -%\tracingmacros=2\tracingcommands=2 -\pgfplotstabletypeset[ - columns={[index]5,dof,[index]0} - ] - \table -%\tracingmacros=0\tracingcommands=0 - -\testsubsection{column styles} -\pgfplotstabletypeset[ - every even column/.style={column type={>{\columncolor[gray]{.8}[\tabcolsep]}l}}, - ] - \table - -\begingroup -\testsubsection{column styles + string type} -\pgfplotstableread{numtabletestdata2}\table -%\tracingmacros=2\tracingcommands=2 -\pgfplotstabletypeset[ - every first column/.style={string type,column type={@{}r|},column name=}, - every head row/.style={after row=\hline}, - every even column/.style={column type={>{\columncolor[gray]{.8}[\tabcolsep]}l}}, - ] - \table -\endgroup - -\begingroup -\testsubsection{column styles and special characters =/,} -\pgfplotstableread{numtabletestdata3}\table -\pgfplotstabletypeset[ - columns/{grad(log(dof),log(L2))}/.style={ - column name=$L_2$ slopes, - /pgf/number format/fixed, - /pgf/number format/precision=1, - /pgf/number format/fixed zerofill}, - columns/L2/.style={ - column name=$L_2$, - /pgf/number format/sci - } - ] - \table - -\testsubsection{Input formats} -\tracingmacros=2\tracingcommands=2 -{ -\pgfplotstableset{columns/head/.style={string type}} -\testsubsubsection{comma} -\pgfplotstabletypesetfile[col sep=comma]{numtabletestdata2.csv} - -\testsubsubsection{colon} -\pgfplotstabletypesetfile[col sep=colon]{numtabletestdata2.colon} - -\testsubsubsection{semicolon} -\pgfplotstabletypesetfile[col sep=semicolon]{numtabletestdata2.semicolon} - -\testsubsubsection{brace} -\pgfplotstabletypesetfile[col sep=braces]{numtabletestdata2.brace} -\tracingmacros=0\tracingcommands=0 -} -\endgroup - - -{ -\testsection{Col type} - -\newcolumntype{L}[1] - {>{\begin{pgfplotstablecoltype}[#1]}r<{\end{pgfplotstablecoltype}}} - -\begin{tabular}{L{int detect}L{sci,sci subscript,sci zerofill}} -9 & 2.50000000e-01\\ -25 & 6.25000000e-02\\ -81 & 1.56250000e-02\\ -289 & 3.90625000e-03\\ -1089 & 9.76562500e-04\\ -4225 & 2.44140625e-04\\ -16641 & 6.10351562e-05\\ -66049 & 1.52587891e-05\\ -263169 & 3.81469727e-06\\ -1050625& 9.53674316e-07\\ -\end{tabular} - -} - -\end{document} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata b/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata deleted file mode 100644 index 44f9ca74722..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata +++ /dev/null @@ -1,11 +0,0 @@ -G Basis dof L2 A Lmax cgiter maxlevel eps -$flags int:0 int:0 int:0 sci[subscript]:8 sci[subscript]:8 sci[subscript]:8 int:0 int:0 std:8 -5 5 5 8.31160034e-02 0.00000000e+00 1.80007647e-01 2 2 -1 -17 17 17 2.54685628e-02 0.00000000e+00 3.75580565e-02 5 3 -1 -49 49 49 7.40715288e-03 0.00000000e+00 1.49212716e-02 11 4 -1 -129 129 129 2.10192154e-03 0.00000000e+00 4.23330523e-03 26 5 -1 -321 321 321 5.87352989e-04 0.00000000e+00 1.30668515e-03 43 6 -1 -769 769 769 1.62269942e-04 0.00000000e+00 3.88658098e-04 49 7 -1 -1793 1793 1793 4.44248889e-05 0.00000000e+00 1.12651668e-04 52 8 -1 -4097 4097 4097 1.20714122e-05 0.00000000e+00 3.20339285e-05 56 9 -1 -9217 9217 9217 3.26101452e-06 0.00000000e+00 8.97617707e-06 59 10 -1 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2 b/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2 deleted file mode 100644 index 775daaaa52a..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2 +++ /dev/null @@ -1,11 +0,0 @@ -head G Basis dof L2 A Lmax cgiter maxlevel eps -$flags string int int int sci:8 sci:8 sci:8 int int std:8 -one 5 5 5 8.31160034e-02 0.00000000e+00 1.80007647e-01 2 2 -1 -two 17 17 17 2.54685628e-02 0.00000000e+00 3.75580565e-02 5 3 -1 -three 49 49 49 7.40715288e-03 0.00000000e+00 1.49212716e-02 11 4 -1 -four 129 129 129 2.10192154e-03 0.00000000e+00 4.23330523e-03 26 5 -1 -five 321 321 321 5.87352989e-04 0.00000000e+00 1.30668515e-03 43 6 -1 -six 769 769 769 1.62269942e-04 0.00000000e+00 3.88658098e-04 49 7 -1 -{with space} 1793 1793 1793 4.44248889e-05 0.00000000e+00 1.12651668e-04 52 8 -1 -{eight} 4097 4097 4097 1.20714122e-05 0.00000000e+00 3.20339285e-05 56 9 -1 -nine 9217 9217 9217 3.26101452e-06 0.00000000e+00 8.97617707e-06 59 10 -1 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.brace b/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.brace deleted file mode 100644 index 0c53d2a06e5..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.brace +++ /dev/null @@ -1,11 +0,0 @@ -{head} {G} {Basis} {dof} {L2} {A} {Lmax} {cgiter} {maxlevel} {eps} -$flags {string} {int} {int} {int} {sci:8} {sci:8} {sci:8} {int} {int} {std:8} -{one} {5} {5} {5} {8.31160034e-02} {0.00000000e+00} {1.80007647e-01} {2} {2} {-1} -{two} {17} {17} {17} {2.54685628e-02} {0.00000000e+00} {3.75580565e-02} {5} {3} {-1} -{three} {49} {49} {49} {7.40715288e-03} {0.00000000e+00} {1.49212716e-02} {11} {4} {-1} -{four} {129} {129} {129} {2.10192154e-03} {0.00000000e+00} {4.23330523e-03} {26} {5} {-1} -{five} {321} {321} {321} {5.87352989e-04} {0.00000000e+00} {1.30668515e-03} {43} {6} {-1} -{six} {769} {769} {769} {1.62269942e-04} {0.00000000e+00} {3.88658098e-04} {49} {7} {-1} -{with space} {1793} {1793} {1793} {4.44248889e-05} {0.00000000e+00} {1.12651668e-04} {52} {8} {-1} -{{eight}} {4097} {4097} {4097} {1.20714122e-05} {0.00000000e+00} {3.20339285e-05} {56} {9} {-1} -{nine} {9217} {9217} {9217} {3.26101452e-06} {0.00000000e+00} {8.97617707e-06} {59} {10} {-1} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.colon b/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.colon deleted file mode 100644 index a69d4987f3d..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.colon +++ /dev/null @@ -1,10 +0,0 @@ -head:G:Basis:dof:L2:A:Lmax:cgiter:maxlevel:eps -one:5:5:5:8.31160034e-02:0.00000000e+00:1.80007647e-01:2:2:-1 -two:17:17:17:2.54685628e-02:0.00000000e+00:3.75580565e-02:5:3:-1 -three:49:49:49:7.40715288e-03:0.00000000e+00:1.49212716e-02:11:4:-1 -four:129:129:129:2.10192154e-03:0.00000000e+00:4.23330523e-03:26:5:-1 -five:321:321:321:5.87352989e-04:0.00000000e+00:1.30668515e-03:43:6:-1 -six:769:769:769:1.62269942e-04:0.00000000e+00:3.88658098e-04:49:7:-1 -{with space}:1793:1793:1793:4.44248889e-05:0.00000000e+00:1.12651668e-04:52:8:-1 -{eight}:4097:4097:4097:1.20714122e-05:0.00000000e+00:3.20339285e-05:56:9:-1 -nine:9217:9217:9217:3.26101452e-06:0.00000000e+00:8.97617707e-06:59:10:-1 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.csv b/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.csv deleted file mode 100644 index cc712402b86..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.csv +++ /dev/null @@ -1,11 +0,0 @@ -head,G,Basis,dof,L2,A,Lmax,cgiter,maxlevel,eps -$flags string,int,int,int,sci:8,sci:8,sci:8,int,int,std:8 -one,5,5,5,8.31160034e-02,0.00000000e+00,1.80007647e-01,2,2,-1 -two,17,17,17,2.54685628e-02,0.00000000e+00,3.75580565e-02,5,3,-1 -three,49,49,49,7.40715288e-03,0.00000000e+00,1.49212716e-02,11,4,-1 -four,129,129,129,2.10192154e-03,0.00000000e+00,4.23330523e-03,26,5,-1 -five,321,321,321,5.87352989e-04,0.00000000e+00,1.30668515e-03,43,6,-1 -six,769,769,769,1.62269942e-04,0.00000000e+00,3.88658098e-04,49,7,-1 -{with space},1793,1793,1793,4.44248889e-05,0.00000000e+00,1.12651668e-04,52,8,-1 -{eight},4097,4097,4097,1.20714122e-05,0.00000000e+00,3.20339285e-05,56,9,-1 -nine,9217,9217,9217,3.26101452e-06,0.00000000e+00,8.97617707e-06,59,10,-1 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.gnuplot b/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.gnuplot deleted file mode 100644 index 1222a3c59c0..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.gnuplot +++ /dev/null @@ -1,8 +0,0 @@ -#Curve 0, 20 points -#x y type -0.00000 0.00000 i -0.52632 0.50235 i -1.05263 0.86873 i -1.57895 0.99997 i -9.47368 -0.04889 i -10.00000 -0.54402 i diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.semicolon b/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.semicolon deleted file mode 100644 index 97f7258d56f..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.semicolon +++ /dev/null @@ -1,11 +0,0 @@ -head;G;Basis;dof;L2;A;Lmax;cgiter;maxlevel;eps -$flags string;int;int;int;sci;8;sci;8;sci;8;int;int;std;8 -one;5;5;5;8.31160034e-02;0.00000000e+00;1.80007647e-01;2;2;-1 -two;17;17;17;2.54685628e-02;0.00000000e+00;3.75580565e-02;5;3;-1 -three;49;49;49;7.40715288e-03;0.00000000e+00;1.49212716e-02;11;4;-1 -four;129;129;129;2.10192154e-03;0.00000000e+00;4.23330523e-03;26;5;-1 -five;321;321;321;5.87352989e-04;0.00000000e+00;1.30668515e-03;43;6;-1 -six;769;769;769;1.62269942e-04;0.00000000e+00;3.88658098e-04;49;7;-1 -{with space};1793;1793;1793;4.44248889e-05;0.00000000e+00;1.12651668e-04;52;8;-1 -{eight};4097;4097;4097;1.20714122e-05;0.00000000e+00;3.20339285e-05;56;9;-1 -nine;9217;9217;9217;3.26101452e-06;0.00000000e+00;8.97617707e-06;59;10;-1 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata3 b/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata3 deleted file mode 100644 index dba7ddc5d53..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata3 +++ /dev/null @@ -1,10 +0,0 @@ -G Basis dof L2 A Lmax cgiter maxlevel eps grad(log(dof),log(L2)) -5 5 5 8.31160034e-02 0.00000000e+00 1.80007647e-01 2 2 -1 0 -17 17 17 2.54685628e-02 0.00000000e+00 3.75580565e-02 5 3 -1 -9.66510989e-01 -49 49 49 7.40715288e-03 0.00000000e+00 1.49212716e-02 11 4 -1 -1.16662631e+00 -129 129 129 2.10192154e-03 0.00000000e+00 4.23330523e-03 26 5 -1 -1.30124428e+00 -321 321 321 5.87352989e-04 0.00000000e+00 1.30668515e-03 43 6 -1 -1.39857512e+00 -769 769 769 1.62269942e-04 0.00000000e+00 3.88658098e-04 49 7 -1 -1.47240308e+00 -1793 1793 1793 4.44248889e-05 0.00000000e+00 1.12651668e-04 52 8 -1 -1.53027522e+00 -4097 4097 4097 1.20714122e-05 0.00000000e+00 3.20339285e-05 56 9 -1 -1.57673686e+00 -9217 9217 9217 3.26101452e-06 0.00000000e+00 8.97617707e-06 59 10 -1 -1.61422100e+00 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfkeysaddition/pgfkeysadditiontest.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfkeysaddition/pgfkeysadditiontest.tex deleted file mode 100644 index 0670f283cca..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfkeysaddition/pgfkeysadditiontest.tex +++ /dev/null @@ -1,251 +0,0 @@ -\documentclass[a4paper]{article} - -\usepackage[intlimits]{amsmath} -\usepackage{amssymb} -\usepackage{amsfonts} -\usepackage{ifpdf} - -\ifpdf -\else -\def\pgfsysdriver{pgfsys-dvipdfm.def} -\fi -\usepackage{tikz} -\usepackage{pgfplots} - -\parindent=0pt - -\def\testsection#1{\message{---------- STARTING TEST SECTION '#1'}\section{#1}} -\def\testsubsection#1{\message{-------STARTING TEST SUBSECTION '#1'}\subsection{#1}} -\def\testsubsubsection#1{\message{------STARTING TEST SUBSUBSECTION '#1'}\subsubsection{#1}} - -\author{Christian Feuers\"anger} -\title{Test cases for pgfkeysaddition.sty} - -\begin{document} -\maketitle - -\pgfkeys{/my group/option1/.code={\message{/my group/option1 set to '#1'!}}} -\pgfkeys{/my group/option2/.code={\message{/my group/option2 set to '#1'!}}} -\pgfkeys{/my other group/O1/.code={\message{/my other group/O1 set to '#1'!}}} -\pgfkeys{/my other group/O2/.code={\message{/my other group/O2 set to '#1'!}}} - -\pgfkeys{/pgf/key filter handlers/log/.install key filter handler}% - -\testsection{Testing the `is descendant of -- predicate'} -\pgfkeys{/pgf/key filters/is descendant of/.install key filter={/my group}}% -\tracingmacros=2\tracingcommands=2 -\pgfkeysfiltered% - {/my group/.cd,option1=value for option1,/my other group/O1=value for O1}% -\tracingmacros=0\tracingcommands=0 - -\testsubsection{Testing it for a tikz style} -\tikzstyle{mein style}=[/my group/option1=option1 value in a style!,/tikz/line width=1pt] -\pgfkeys{/pgf/key filters/is descendant of/.install key filter={/my group}}% -\pgfkeysfiltered% - {/my group/.cd,option1=value for option1,/my other group/O1=value for O1,/tikz/mein style}% - - -\testsection{Testing filtering for errors} -\testsubsection{unknown handler in /my group/} -{ -\pgfkeys{/my group/.unknown/.code=\message{'#1' is unknown and the handler /my group/.unknown has been invoked!}}% -\pgfkeys{/pgf/key filters/is descendant of/.install key filter={/my group}}% -\pgfkeysfiltered% - {/my group/.cd,option1=value for option1,option42=42}% -} - -\testsubsection{unknown handler in /handlers/} -{ -\pgfkeys{/handlers/.unknown/.code=\message{'#1' is unknown and the handler /handlers/.unknown has been invoked!}}% -\pgfkeys{/pgf/key filters/is descendant of/.install key filter={/my group}}% -\pgfkeysfiltered% - {/my group/.cd,option1=value for option1,option42=42}% -} - - -\testsubsection{Check whether error messages come through} -{ -\pgfkeys{/errors/mein fehler/.code=\message{My error message came through. That's good!}}% -\pgfkeys{/handlers/.unknown/.code=\pgfkeysalso{/errors/mein fehler=foo}}% -\pgfkeys{/pgf/key filters/is descendant of/.install key filter={/my group}}% -\pgfkeysfiltered% - {/my group/.cd,option1=value for option1,option42=42}% -} - -\testsection{Checking single key selection} -{ -\pgfkeys{/test/a/.code=\message{'/test/a' is currently running; that's correct.}}% -\pgfkeys{/test/b/.code=\errmessage{'/test/b' shouldn't run! test failed!}}% -\pgfkeyssetvalue{/test/c}{Value of 'c'}% -\pgfkeys{/test/d/.style={/test/a=bar}}% - -\testsubsection{command keys: select only /test/a} -\pgfkeys{/pgf/key filters/equals/.install key filter={/test/a}} -\pgfkeysfiltered% - {/test/a=4,/test/b=5} - -\testsubsection{value keys: select only /test/c} -\pgfkeys{/pgf/key filters/equals/.install key filter={/test/c}} -\pgfkeysfiltered% - {/test/a=4,/test/b=5,/test/c=7} - -\testsubsection{handler keys: select only /test/d} -\pgfkeys{/pgf/key filters/equals/.install key filter={/test/d}} -\pgfkeysfiltered% - {/test/a=4,/test/b=5,/test/d} -} - - -\testsection{Checking logical combinations} -{ -\pgfkeys{/test/a/.code=\message{'/test/a' is currently running; that's correct.}}% -\pgfkeys{/test/b/.code=\errmessage{'/test/b' shouldn't run! test failed!}}% -\pgfkeys{/test/c/.code=\message{'/test/c' is currently running; that's correct.}}% -\pgfkeys{/my group/A/.code=\message{'/my group/A' is currently running, that's correct.}} - -\testsubsection{NOT = /test/b} -\pgfkeys{/pgf/key filters/not/.install key filter={/pgf/key filters/equals=/test/b}} -\pgfkeysfiltered% - {/test/a=4,/test/b=5,/test/c} - -\testsubsection{AND} -\pgfkeys{/pgf/key filters/and/.install key filter={{/pgf/key filters/equals={/test/a}}{/pgf/key filters/is descendant of=/test}}} -\pgfkeysfiltered% - {/test/a=4,/test/b=5,/test/c} - -\testsubsection{OR} -\pgfkeys{/pgf/key filters/or/.install key filter={{/pgf/key filters/equals={/test/a}}{/pgf/key filters/is descendant of=/my group}}} -\pgfkeysfiltered% - {/test/a=4,/test/b=5,/my group/A=value 1} -} - -\testsection{Testing filtered key collection} -{ -\testsubsection{full keys} -\tracingmacros=2\tracingcommands=2 -\pgfkeys{/pgf/key filters/is descendant of/.install key filter=/my group} -\def\filtered{}% -\pgfkeys{/pgf/key filter handlers/append filtered to/.install key filter handler=\filtered}% -\pgfkeysfiltered% - {/my group/.cd,option1=value for option1,/my other group/O1=value for O1,/my other group/O2=value for O2}% -\message{filtered = '\filtered'} -\filtered - -\testsubsection{partial keys} -\def\filtered{}% -\pgfkeys{/pgf/key filters/or/.install key filter={{/pgf/key filters/is descendant of=/my group}{/pgf/key filters/equals=/my other group/.cd}}} -\pgfkeysfiltered% - {/my group/.cd,option1=value for option1,/my other group/.cd,O1=value for O1,O2= value for O2}% -\tracingmacros=2\tracingcommands=2 -\message{filtered = '\filtered'} -\tracingmacros=0\tracingcommands=0 -\filtered - -\testsubsubsection{setting remaining keys} -\pgfkeys{/my other group/.cd,/utils/exec=\pgfkeysalsofrom\filtered} -}% - - -\testsection{Testing search paths} -{ -\pgfkeys{/my search path/.unknown/.code={% - \let\searchname=\pgfkeyscurrentname% - \pgfkeysalso{% - /my group/\searchname/.try=#1, - /my other group/\searchname/.lastretry=#1 - }% - }% -} -\pgfkeys{/my other group/.unknown/.code=\message{/my other/group/.unknown: called with unknown option '#1'.}}% - -\testsubsection{First: no filtering} -\pgfkeys{/my search path/.cd,option1=value for option1,O1=value for O1,an unknown option=foo} - -%-------------------------------------------------- -% \testsubsection{Second: with filtering} -% \pgfkeysfiltered% -% {\pgfkeysisdescendantoftwo{/my group}{/my search path}}% -% {\pgfkeyslogfiltered}% -% {/my search path/.cd,option1=value for option1,O1=value for O1,an unknown option=foo} -% } -% -%-------------------------------------------------- - -\testsection{Testing pgfkeysalsofiltered} -{ -\def\filtered{}% -\pgfkeys{/pgf/key filter handlers/append filtered to/.install key filter handler=\filtered}% - -\pgfkeys{/pgf/key filters/is descendant of/.install key filter=/my group} -\pgfkeys{/my group/.cd,/utils/exec=\pgfkeysalsofiltered - {option1= value for option1,/my other group/O1=value for O1}} -} - -\testsection{Testing family handling} -{ -\testsubsection{testing .is family init:} -\pgfkeys{/my group/.is family} -\pgfkeysisfamilyactive{/my group} -\ifpgfkeysfiltercontinue - \errmessage{TEST FAILED: /my group active: TRUE (EXPECTED FALSE)}% -\else - \message{/my group active: FALSE (correct)}% -\fi - -\testsubsection{testing .activate family:} -\pgfkeys{/my group/.activate family} -\pgfkeysisfamilyactive{/my group} -\ifpgfkeysfiltercontinue - \message{/my group active: TRUE (correct)}% -\else - \errmessage{TEST FAILED: /my group active: FALSE (EXPECTED: TRUE)}% -\fi - -\testsubsection{testing .deactivate family:} -\pgfkeys{/my group/.deactivate family} -\pgfkeysisfamilyactive{/my group} -\ifpgfkeysfiltercontinue - \errmessage{TEST FAILED: /my group active: TRUE (EXPECTED FALSE)}% -\else - \message{/my group active: FALSE (correct)}% -\fi - -\testsubsection{Testing filtering by active family} -{ -\pgfkeys{/family1/.is family} -\pgfkeys{/family2/.is family} -\pgfkeys{/test/a/.code=\message{'/test/a' is currently running; that's correct.}}% -\pgfkeys{/test/a/.belongs to family=/family1} - -\pgfkeys{/test/b/.code=\errmessage{'/test/b' shouldn't run! test failed!}}% -\pgfkeys{/test/b/.belongs to family=/family2}% - -\pgfkeys{/test/c/.code=\errmessage{'/test/c' shouldn't run! test failed! }}% -\pgfkeys{/test/d/.code=\message{'/test/d' currently running. Ok.}} -\pgfkeys{/test/d/.belongs to family=/family2} - -\testsubsubsection{first: only /test/a should run}% -\pgfkeys{/family1/.activate family} -\pgfkeys{ - /pgf/key filters/active families/.install key filter, - /pgf/key filter handlers/log/.install key filter handler} - -\pgfkeysfiltered - {/test/a=value for a,/test/b=value for b,/test/c=value for c} - -\testsubsubsection{second: no option should run}% -\pgfkeys{/family1/.deactivate family} - -\pgfkeysfiltered - {/test/a=value for a,/test/b=value for b,/test/c=value for c} - - -\testsubsubsection{once more again with dynamic family list detection pgfqkeysactivatefamiliesandfilteroptions} -\tracingmacros=2\tracingcommands=2 -\pgfqkeysactivatefamiliesandfilteroptions{/family1,/family2}{/test} - {a=value for a,c=value for c,d=value for d} -\tracingmacros=0\tracingcommands=0 -}} - - -\end{document} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfmathlogtest/pgfmathlogtest.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfmathlogtest/pgfmathlogtest.tex deleted file mode 100644 index d1264433055..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfmathlogtest/pgfmathlogtest.tex +++ /dev/null @@ -1,507 +0,0 @@ -\documentclass[a4paper]{article} - -\usepackage[intlimits]{amsmath} -\usepackage{amssymb} -\usepackage{amsfonts} -\usepackage{ifpdf} - -\ifpdf - \usepackage{hyperref} -\else - \def\pgfsysdriver{pgfsys-dvipdfm.def} - \usepackage[dvipdfm]{hyperref} -\fi -\usepackage{pgfmathlog} - -\parindent=0pt - - -\author{Christian Feuers\"anger} -\title{Test cases for pgfmathlog.sty} - -\def\testsection#1{\message{---------- STARTING TEST SECTION '#1'}\section{#1}} -\def\testsubsection#1{\message{-------STARTING TEST SUBSECTION '#1'}\subsection{#1}} -\def\testsubsubsection#1{\message{------STARTING TEST SUBSUBSECTION '#1'}\subsubsection{#1}} - -\begin{document} -\maketitle - -\def\vgl#1#2{% - \begingroup - \message{COMPUTING LOG(#1)}% - \pgfmathlog{#1}% - \let\actual=\pgfmathresult - \def\expected{#2}% - \pgfmathsubtract\actual\expected% - \let\abserr=\pgfmathresult - \pgfmathdivide\abserr\expected - \let\relerr=\pgfmathresult - \noindent - log(#1)\hfill= - \expected;\hfill% - actual=\actual;\hfill% - abserr=\abserr;\hfill% - relerr=\relerr;\hfill% - \endgroup - \par -}% -\def\normalize#1{% - \begingroup - \message{NORMALISING #1...}% - \sciparse#1\to\M\powten\E - \sciparsenumber{#1}\S\MM\EE - \[ #1 \mapsto \M \cdot 10^{\E}\quad \bigl( = \MM\cdot 10^{\EE}\quad [S=\S]\, \bigr) \] - \endgroup -} - -\def\pretty#1{% - \message{Pretty-printing #1...}% - \[ #1 \mapsto \prettyprintnumber{#1} \] -} - - - -%-------------------------------------------------- -% \showit{2.8128} -% log(12)=\pgfmathlog{1.2}\pgfmathadd{\pgfmathresult}{2.30258}\pgfmathresult\par -% \showit{1.2} -% \showit{4.0} -% log(1200)=\pgfmathlog{1.2}\pgfmathadd{\pgfmathresult}{6.9077}\pgfmathresult\par -% log(6.241e-7)=\pgfmathlog{6.241}\pgfmathadd{\pgfmathresult}{-16.11809}\pgfmathresult\par -%-------------------------------------------------- - -\testsection{logarithms, compared with PGF arithmetics} - -\vgl{0.1}{-2.30259} -\vgl{0.12}{-2.12026} -\vgl{0.2}{-1.60944} -\vgl{0.3}{-1.20397} -\vgl{0.4}{-0.916291} -\vgl{0.5}{-0.693147} -\vgl{0.6}{-0.510826} -\vgl{0.7}{-0.356675} -\vgl{0.75}{-0.287682} -\vgl{0.8}{-0.223144} -\vgl{0.823}{-0.194799} -\vgl{0.9}{-0.105361} -\vgl{0.96}{-0.040822} -\vgl{1.2}{0.182322} -\vgl{1.5}{0.405465} -\vgl{1.6}{0.470004} -\vgl{9.0}{2.1972245773} -\vgl{9.2}{2.2192034} -\vgl{9.3}{2.23001440} -\vgl{9.7}{2.27212588} -\vgl{10.0}{2.302585092} -\vgl{100.0}{4.605170185} -\vgl{1351.0}{7.208600337} -\vgl{9752.0}{9.185227671} -\vgl{9600.0}{9.169518377} - -\vskip1cm -\vgl{0.000142}{-8.8596835} -\vgl{0.0054124}{-5.219062661} -\vgl{0.000912697124}{-6.9991064} - -\vskip1cm -\vgl{8.31160034e-02}{-2.48751801563782}% -\vgl{2.54685628e-02}{-3.67031041875206}% -\vgl{7.40715288e-03}{-4.90530914022879}% -\vgl{2.10192154e-03}{-6.16490333357987}% -\vgl{5.87352989e-04}{-7.43988457474844}% -\vgl{1.62269942e-04}{-8.72624930084187}% -\vgl{4.44248889e-05}{-10.0217106847708}% -\vgl{1.20714122e-05}{-11.3246705288704}% -\vgl{3.26101452e-06}{-12.6334722085451}% - -\vskip1cm -\vgl{5}{1.6094379124341}% -\vgl{17}{2.83321334405622}% -\vgl{39}{3.66356164612965}% -\vgl{49}{3.89182029811063}% -\vgl{129}{4.85981240436167}% -\vgl{321}{5.77144112313002}% -\vgl{769}{6.64509096950564}% -\vgl{1793}{7.49164547360513}% -\vgl{4097}{8.31801027754687}% -\vgl{9217}{9.12880488399366}% - - -\testsection{Conversion to normalised floating point numbers basis 10} -\normalize{123.41251}% -\normalize{1023.52} -\normalize{123412.51}% -\normalize{12341251.0}% -\tracingmacros=2\tracingcommands=2 -\normalize{-12341251.0}% -\tracingmacros=0\tracingcommands=0 -\normalize{1.2341251}% -\normalize{8.02410024} -\normalize{8.024100} -\normalize{0001234.3100} -\normalize{0001234.00001} -\normalize{0001000.00001} -\normalize{0001000.00001000} -\normalize{0.12341251}% -\normalize{0.0012341251}% -\normalize{0.00000012341251}% -\normalize{-0.00000012341251}% -\normalize{10} -\normalize{100} -\normalize{99999} -\normalize{999.000} - -\normalize{8.31160034e-02}% -\normalize{2.54685628e-02}% -\normalize{7.40715288e-03}% -\normalize{2.10192154e-03}% -\normalize{5.87352989e-04}% -\normalize{-1.62269942e-04}% -\normalize{4.44248889e-05}% -\normalize{1.20714122e-05}% -\normalize{3.26101452e-06}% -\normalize{3261.01452e-06}% -\normalize{0.000326101452e-06}% - -\message{SPECIAL CASE 0}% -\normalize{0} -\normalize{-0} -\normalize{-0.000} -\normalize{+0.000} -\normalize{+0} -\normalize{-1} -\normalize{1.0e1} -\tracingmacros=2\tracingcommands=2 -\normalize{1e1} -\tracingmacros=0\tracingcommands=0 -\normalize{1141} -\normalize{-53e-5} - -\testsection{Test for prettyprinter} -\message{PRETTY PRINTING} -{ -\twocolumn -\def\prettytest{ -\pretty{1} -\pretty{1.0} -\pretty{-1.02311} -\pretty{-11241.02311} -\pretty{-11241} -\pretty{8124.99999} -\pretty{8124.849999} -\pretty{8124.843333} -\pretty{8.82} -\pretty{8.5} -\pretty{9.} -\pretty{-0.559} -\pretty{-0.554} -\pretty{-0.00000141} -\pretty{1.234e10} -\pretty{123456781} -\pretty{1234} -\pretty{8} -\pretty{-9.995} -\pretty{-0.015} -\pretty{-0.1} -\pretty{-0.15} -\pretty{0.15} -\pretty{-0} -\pretty{9.00} -\pretty{200.01} -\pretty{200.0000} -\pretty{1.5e-7} -\pretty{0.00035} -\pretty{0.00005} -\pretty{nan} -\pretty{inf} -\pretty{-inf} -\pretty{10} -\pretty{100} -\pretty{200} -\pretty{500} -\pretty{1000} -} - -\testsubsection{STD format} -\pgfkeys{/numbers/std} -\prettytest - -{ -\testsubsection{FIXED format} -\testsubsubsection{with period} -\pgfkeys{/numbers/fixed,/numbers/use period} -\prettytest - -\testsubsubsection{with comma} -\pgfkeys{/numbers/fixed,/numbers/use comma} -\prettytest -} - -{ -\testsubsection{FIXED ZEROFILL format} -\testsubsubsection{with period} -\pgfkeys{/numbers/fixed zerofill,/numbers/use period} -\prettytest - -\testsubsubsection{with comma} -\pgfkeys{/numbers/fixed zerofill,/numbers/use comma} -\prettytest -} - -{ -\testsubsection{sci format} -\testsubsubsection{with period} -\pgfkeys{/numbers/sci,/numbers/use period} -\prettytest - -\testsubsubsection{with comma} -\pgfkeys{/numbers/sci,/numbers/use comma} -\prettytest - -%\testsubsection{may skip mantisse} -%\pgfkeys{/numbers/sci may skip mantisse=true} -%\prettytest - -}{ -\testsubsection{sci format zerofill} -\testsubsubsection{with period} -\pgfkeys{/numbers/sci zerofill,/numbers/use period} -\prettytest - -\testsubsubsection{with comma} -\pgfkeys{/numbers/sci zerofill,/numbers/use comma} -\prettytest - -\testsubsubsection{e-style} -\pgfkeys{/numbers/sci e} -\prettytest - -\testsubsubsection{subscript-style} -\pgfkeys{/numbers/sci subscript} -\prettytest - -\testsubsubsection{subscript-style + period + no zero fill} -\pgfkeys{/numbers/sci subscript,/numbers/use period,/numbers/sci} -\prettytest - -\testsubsubsection{subscript-style precision 4} -\pgfkeys{/numbers/sci subscript,/numbers/precision=4} -\prettytest -} - -\testsubsection{int trunc format} -\pgfkeys{/numbers/int trunc} -\prettytest - -\testsubsection{int detect format} -\pgfkeys{/numbers/int detect} -\prettytest -} -\onecolumn - -\testsection{testing scimathlessthan} -\def\testsci#1#2{% - \sciparsenumber{#1}\S\M\E - \sciparsenumber{#2}\SS\MM\EE - \message{checking #1 <= #2; [\S] \M * 10^\E <= [\SS] \MM * 10^\EE}% - \scimathlessthan\S\M\E\and\SS\MM\EE - \ifscimathlessthan - \def\result{<}% - \else - \def\result{\ge}% - \fi - \[ \text{scimathlessthan: } \bigl( [\S]\, \M \cdot 10^{\E} \bigr)\; = #1 \result #2\; \bigl( = [\SS]\, \MM \cdot 10^{\EE} \big). \] -}% - -\testsci{4}{5} -\testsci{0}{2} -\testsci{91751123}{241924} -\testsci{-1}{-1} -\testsci{-1231}{0} -\testsci{10}{-5} -\testsci{0}{0} -\testsci{-0}{-0} -\testsci{0}{14} -\testsci{114812}{-123124123} -\testsci{114812}{1241231451} -\testsci{-141285}{29} -\testsci{-141285}{0} -\testsci{-141285}{-50} -\testsci{-141285}{-12498149012} - -\testsection{Sci to fixed test} -\def\testscitofixed#1{% - \sciparsenumber{#1}\S\M\E -%\tracingmacros=2\tracingcommands=2 - \message{converting #1 = [\S] \M * 10^\E\ to fixed point}% - \scitofixed\S\M\E\result - \message{-> \result}% -%\tracingmacros=0\tracingcommands=0 - \[ \bigl( [\S]\, \M \cdot 10^{\E} \bigr)\; = #1 \mapsto \result \] -}% -\testscitofixed{0} -\testscitofixed{5} -\testscitofixed{5.520241} -\testscitofixed{124.10241} -\testscitofixed{-121.248} -\testscitofixed{-12e-5} -\testscitofixed{412e3} -\testscitofixed{0.0001} -\testscitofixed{0.0} -\testscitofixed{-0.012125} -\testscitofixed{1.2e-1} -\testscitofixed{1.2e-2} -\testscitofixed{1.2e4} -\testscitofixed{1.2345e4} -\testscitofixed{1.234567e4} -\testscitofixed{1.51234e0} -\testscitofixed{15} -\testscitofixed{-20} - -\testsection{Testing scimathmax and scimathmin} -\def\testscimathminmax#1#2{% - \sciparsenumber{#1}\S\M\E - \sciparsenumber{#2}\SS\MM\EE -%\tracingmacros=2\tracingcommands=2 - \message{computing min/max #1 and #2}% - \scimathmin\S\M\E\and\SS\MM\EE\to\SSS\MMM\EEE - \scitofixed\SSS\MMM\EEE\result - \[ \min\{#1,#2\} = \min\{ [\S]\, \M \cdot 10^{\E}, [\SS]\, \MM\cdot 10^{\EE}\} \; = [\SSS]\; \MMM\cdot10^{\EEE} = \result \] - % - \scimathmax\S\M\E\and\SS\MM\EE\to\SSS\MMM\EEE - \scitofixed\SSS\MMM\EEE\result - \[ \max\{#1,#2\} = \max\{ [\S]\, \M \cdot 10^{\E}, [\SS]\, \MM\cdot 10^{\EE}\} \; = [\SSS]\; \MMM\cdot10^{\EEE} = \result \] -}% -\testscimathminmax{42}{56} -\testscimathminmax{-4122}{1256} -\testscimathminmax{1e12}{5.235412e24} -\testscimathminmax{-12}{-145} - -\testsection{Testing scimathshift} -\def\testscimathshift#1#2{% - \sciparsenumber{#1}\S\M\E - \message{computing mathshift #1 by #2}% - \let\SS=\S\let\MM=\M\let\EE=\E - \scimathshift\S\M\E{#2}% - \scitofixed\S\M\E\result - \[ #1 \cdot 10^{#2} = [\SS]\, \MM \cdot 10^{\EE} \cdot 10^{#2} = [\S]\, \M \cdot 10^{\E} = \result \] -}% -\testscimathshift{4}{1} -\testscimathshift{4}{2} -\testscimathshift{4}{-1} -\testscimathshift{4}{-2} -\testscimathshift{0}{-2} -\testscimathshift{1.1415130}{-2} -\testscimathshift{1.1415130}{5} - -\testsection{Testing name floating point data structure} -\let\SS=\empty -\let\MM=\empty -\let\EE=\empty -\def\testsciDS#1#2{% - \sciparsenumber{#1}\S\M\E - \message{assigning #1=(\S,\M,\E) to single-name-macro ... }% - \scisetcomponents{#2}\S\M\E - \scigetcomponents{#2}\SS\MM\EE - \message{result: (\SS,\MM,\EE)}% - \edef\expandedtest{{\noexpand #2}{\S}{\M}{\E}}% - \message{now with raw-numbers to single-name-macro ... }% - \expandafter\scisetcomponents\expandedtest - \scigetcomponents{#2}\SSS\MMM\EEE - \message{result: (\SSS,\MMM,\EEE)}% - \scitofixed\SS\MM\EE\result - \scitofixed\SSS\MMM\EEE\resultX - \[ #1 = [\S]\, \M \cdot 10^{\E}\text{ re-extracted }\to[\SS]\, \MM \cdot 10^{\EE} = \result\; [ \text{again: }\resultX ] \] -}% -\testsciDS{141.241}\test -\testsciDS{141.241}{test} -\testsciDS{141.241}{341} -\def\test{eins zwei drei} -\testsciDS{141.241}\test - - -\scitofixed{1}{1.0}{2}\result\result - -\testsection{Testing fixedpointround} -\def\testfpround#1#2{% -\tracingmacros=2\tracingcommands=2 - \message{computing fixedpointround(#1):}% - \def\sciroundprecision{#2}% - \fixedpointround{#1}\result - \fixedpointroundzerofill{#1}\resultz - \message{fixedpointround(#1) -> \result; (\resultz)}% - \[ \text{rnd }#1 \text{ to }#2 \to \result\; (\resultz) \] -\tracingmacros=0\tracingcommands=0 -}% -\[ \text{rnd }x \text{ to PREC} \to \text{no trailing zeros }\; (\text{trailing zeros}) \] -\testfpround{1.0000}{2} -\testfpround{-1.0000}{2} -\testfpround{+1.0000}{2} -\testfpround{1.003}{2} -\testfpround{-1.003}{2} -\testfpround{1.123}{2} -\testfpround{1.12300012}{5} -\testfpround{-9.995}{2} -\testfpround{-0.995}{2} -\testfpround{-9.95}{1} -\testfpround{-0.95}{1} -\testfpround{9}{2} -\testfpround{1341}{2} -\testfpround{0.996}{2} -\testfpround{19999.9996}{2} -\testfpround{-19999.9996}{2} -\testfpround{+19999.9996}{2} -\testfpround{9999.9996}{2} -\testfpround{0.0004982}{3} -\testfpround{0.0004982}{4} -\testfpround{0.0004982}{5} -\testfpround{0.0004982}{6} -\testfpround{0.0004982}{7} -\testfpround{0.0004982}{8} -\testfpround{0.0004982}{9} - -\testsection{Testing sciround} -\def\testsciround#1#2{% -\tracingmacros=2\tracingcommands=2 - \message{computing sciround(#1):}% - \sciparsenumber{#1}\S\M\E - \def\sciroundprecision{#2}% - \sciround\S\M\E\to\rS\rM\rE - % DOESN'T WORK BECAUSE PERIOD IS MISSING: -% \scitofixed\rS\rM\rE\result - \sciroundzerofill\S\M\E\to\rrS\rrM\rrE - \scitofixed\rrS\rrM\rrE\resultz - \message{#1: round([\S] \M \cdot 10^{\E}) to #2 -> [\rS] \rM * 10^{\rM}; ([\rrS] \rrM * 10^{\rrE})}% - \[ #1: - \text{rnd}([\S] \M \cdot 10^{\E}) - \text{ to } #2 - \to - [\rS] \rM \cdot 10^{\rE} %= \result - \quad - ([\rrS] \rrM \cdot 10^{\rrE} = \resultz) - \] -\tracingmacros=0\tracingcommands=0 -}% -\[ \text{rnd }x \text{ to PREC} \to \text{no trailing zeros }\; (\text{trailing zeros}) \] -\testsciround{1.0000}{2} -\testsciround{-1.0000}{2} -\testsciround{+1.0000}{2} -\testsciround{1.003}{2} -\testsciround{-1.003}{2} -\testsciround{1.123}{2} -\testsciround{1.12300012}{5} -\testsciround{9}{2} -\testsciround{1341}{2} -\testsciround{0.996}{2} -\testsciround{19999.9996}{2} -\testsciround{-19999.9996}{2} -\testsciround{+19999.9996}{2} -\testsciround{9999.9996}{2} -\testsciround{0.0004982}{3} -\testsciround{0.0004982}{4} -\testsciround{0.0004982}{5} -\testsciround{0.0004982}{6} -\testsciround{0.0004982}{7} -\testsciround{0.0004982}{8} -\testsciround{0.0004982}{9} -\end{document} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.align.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.align.tex deleted file mode 100644 index 036ee5c71a0..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.align.tex +++ /dev/null @@ -1,215 +0,0 @@ -\testfile{pgfplotstest.align.tex} -\testsection{Anchors, alignment, baselines, sub nodes}% -\testsubsection{Baseline alignment} -\noindent -\begin{tikzpicture}[baseline] - \begin{axis}[width=0.4\linewidth,xlabel=An x label] - \smallplotstest - \end{axis} -\end{tikzpicture} -\hspace{1cm} -\begin{tikzpicture}[baseline] - \begin{axis}[width=0.4\linewidth,xlabel={\Huge An x label}] - \smallplotstest - \end{axis} -\end{tikzpicture} - -\testsubsection{Baseline alignment and externalized graphics} -One needs \texttt{\textbackslash beginpgfgraphicnamed} around the complete paragraph, so this here doesn't work (see source code): - -\beginpgfgraphicnamed{baselinetesta} -\begin{tikzpicture}[baseline] -\begin{axis}[width=0.4\linewidth,xlabel=An x label] - \smallplotstest -\end{axis} -\end{tikzpicture} -\endpgfgraphicnamed -% -% -\hspace{1cm} -\beginpgfgraphicnamed{baselinetestb} -\begin{tikzpicture}[baseline] -\begin{axis}[width=0.4\linewidth,xlabel={\Huge An x label}] - \smallplotstest -\end{axis} -\end{tikzpicture} -\endpgfgraphicnamed - -\testsubsection{Baseline alignment and externalized graphics II} -\beginpgfgraphicnamed{baselinetestc} -\begin{tikzpicture}[baseline] -\begin{axis}[width=0.4\linewidth,xlabel=An x label] - \smallplotstest -\end{axis} -\end{tikzpicture} -% -% -\hspace{1cm} -\begin{tikzpicture}[baseline] -\begin{axis}[width=0.4\linewidth,xlabel={\Huge An x label}] - \smallplotstest -\end{axis} -\end{tikzpicture} -\endpgfgraphicnamed - -\testsubsection{Horizontal and Vertical alignment} -\begin{tikzpicture}[baseline] -\begin{axis}[width=0.4\linewidth,xlabel=An x label,ylabel=An y label] - \smallplotstest -\end{axis} - -\begin{scope}[yshift=-4cm] -\begin{axis}[width=0.4\linewidth,xlabel=An x label,ylabel={$\displaystyle\sum_{k=1}^n \frac 1n$}] - \smallplotstest -\end{axis} -\end{scope} - -\node[fill=yellow,circle] at (0,0) {$(0,0)$}; -\end{tikzpicture} -% -% -\hspace{1cm} -\begin{tikzpicture}[baseline] -\begin{axis}[width=0.4\linewidth,xlabel={\Huge An x label}] - \smallplotstest -\end{axis} - -\begin{scope}[yshift=-4cm] -\begin{axis}[width=0.4\linewidth,xlabel={\Huge An x label},ylabel={$\displaystyle\sum_{k=1}^n \frac 1n$}] - \smallplotstest -\end{axis} -\end{scope} -\node[fill=yellow,circle] at (0,0) {$(0,0)$}; -\end{tikzpicture} - -\testsubsection{Anchortest} -{ -\setlength{\fboxsep}{0pt}% -\def\plot#1{ - \vbox{\hsize=5cm - #1: - - \pgfplotsset{every axis legend/.append style={at={(1.03,1)},anchor=north west}} - \fbox{% - \begin{tikzpicture} - \begin{axis}[ - width=5cm, - anchor=#1, - title=My title, - xlabel=$x$, - ylabel=$y$ - ] - \smallplotstest - \addlegendentry{My plot} - \end{axis} - \begin{pgfinterruptboundingbox} - \node[fill=yellow,circle] at (0,0) {$(0,0)$}; - \end{pgfinterruptboundingbox} - \end{tikzpicture} - }% - } -}% -\plot{outer center} -\plot{outer north} -\plot{outer north east} -\plot{outer east} -\plot{outer south east} -\plot{outer south} -\plot{outer south west} -\plot{outer west} -\plot{outer north west} -\plot{center} -\plot{north} -\plot{north east} -\plot{east} -\plot{south east} -\plot{south} -\plot{south west} -\plot{west} -\plot{north west} -\plot{above north} -\plot{above north east} -\plot{right of north east} -\plot{right of east} -\plot{right of south east} -\plot{below south east} -\plot{below south} -\plot{below south west} -\plot{left of south west} -\plot{left of west} -\plot{left of north west} -\plot{above north west} -} - - -\testsubsection{Accessing sub-nodes} -\begin{tikzpicture}[baseline]% - \node[circle,draw=black] at (0,0) {Origin}; - \begin{loglogaxis}[ - anchor=north, - name=firstplot, - xlabel=Cost, - ylabel=Error, - y label style={name=myylabel}, - x label style={name=myxlabel}, - legend style={name=mylegend, - row 1 column 2/.style={blue,name=firstentry}% doesn't work! - } - ] - \addplot plot coordinates { - (5, 8.31160034e-02) - (17, 2.54685628e-02) - (49, 7.40715288e-03) - (129, 2.10192154e-03) - (321, 5.87352989e-04) - (769, 1.62269942e-04) - (1793, 4.44248889e-05) - (4097, 1.20714122e-05) - (9217, 3.26101452e-06) - }; - \addplot plot coordinates { - (7, 8.47178381e-02) - (31, 3.04409349e-02) - (111, 1.02214539e-02) - (351, 3.30346265e-03) - (1023, 1.03886535e-03) - (2815, 3.19646457e-04) - (7423, 9.65789766e-05) - (18943, 2.87339125e-05) - (47103, 8.43749881e-06) - }; - \legend{Case 1\\Case 2\\} - \end{loglogaxis} - - \node[pin=45:legend] at (mylegend.center) {}; - \node[pin=-45:x label] at (myxlabel.center) {}; - \node[pin=180:y label] at (myylabel.center) {}; -\end{tikzpicture}% - - -\testsubsection{Funny bounding boxes} -\testsubsubsection{(my plot.below south west) rectangle (my plot.above north east)} -{ -The following figure is centered: -\setlength{\fboxsep}{0pt}% -\begin{center} -\fbox{% -\begin{tikzpicture}% - \begin{pgfinterruptboundingbox} - \pgfplotsset{every axis legend/.append style={at={(1.03,1)},anchor=north west}} - \begin{axis}[ - name=my plot, - title=A title, - xlabel={\Huge An x label}, - ylabel={$\displaystyle\sum_{k=1}^n \frac 1n$} - ] - \smallplotstest - \addlegendentry{My plot} - \end{axis} - \end{pgfinterruptboundingbox} - - \useasboundingbox (my plot.below south west) rectangle (my plot.above north east); -\end{tikzpicture}% -}% -\end{center} -} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.axislines.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.axislines.tex deleted file mode 100644 index 351fc07d65a..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.axislines.tex +++ /dev/null @@ -1,259 +0,0 @@ -\testfile{pgfplotstest.axislines.tex} -\testsection{Axislines placement} - -\def\smallplotstestyoffset{% -\addplot[smooth,blue,mark=*] coordinates { - (-1, 11) - (-0.75, 10.5625) - (-0.5, 10.25) - (-0.25, 10.0625) - (0, 10) - (0.25, 10.0625) - (0.5, 10.25) - (0.75, 10.5625) - (1, 11) -}; -} - -\def\smallplotstestyoffsetneg{% -\addplot[smooth,blue,mark=*] coordinates { - (-1, -11) - (-0.75, -10.5625) - (-0.5, -10.25) - (-0.25, -10.0625) - (0, -10) - (0.25, -10.0625) - (0.5, -10.25) - (0.75, -10.5625) - (1, -11) -}; -} - -\def\smallplotstestxoffset{% -\addplot[smooth,blue,mark=*] coordinates { - (9, 1) - (9.25, 0.5625) - (9.5, 0.25) - (9.75, 0.0625) - (10, 0) - (10.25, -0.0625) - (10.5, -0.25) - (10.75, -0.5625) - (11, -1) -}; -} - -\def\smallplotstestxoffsetneg{% -\addplot[smooth,blue,mark=*] coordinates { - (-9, 1) - (-9.25, 0.5625) - (-9.5, 0.25) - (-9.75, 0.0625) - (-10, 0) - (-10.25, -0.0625) - (-10.5, -0.25) - (-10.75, -0.5625) - (-11, -1) -}; -} - -\testsubsection{tick align=outside} -\begin{tikzpicture} -\begin{axis}[ - tick align=outside, - ] - \smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{axis y line/ axis x line} -\begin{tikzpicture} -\begin{axis}[ - axis y line=center, - axis x line=bottom - ] - \smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{axis [xy] line/ tick align/ y discont} -\begin{tikzpicture} -\begin{axis}[ - axis y discontinuity=crunch, - axis y line=center, - axis x line=bottom, - tick align=center, - ymin=9 - ] - \smallplotstestyoffset -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ - enlargelimits=false, - minor tick num=3, - axis y line=box, - axis x line=middle - ] - \addplot[blue,mark=none] plot[id=sinneg,domain=-10:0,samples=40] function{sin(x)}; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ - enlargelimits=false, - minor tick num=3, - axis y line=left, - axis x line=middle - ] - \addplot[blue,mark=none] plot[id=sinneg,domain=-10:0,samples=40] function{sin(x)}; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ - enlargelimits=false, - minor tick num=3, - axis y line=right, - axis x line=middle - ] - \addplot[blue,mark=none] plot[id=sinneg,domain=-10:0,samples=40] function{sin(x)}; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ - enlargelimits=false, - minor tick num=3, - axis y line=center, - axis x line=box, - ymin=0, ymax=25 - ] - \addplot[blue,mark=none] plot[id=sinneg,domain=-5:5,samples=40] function{x*x+1}; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ - enlargelimits=false, - minor tick num=3, - axis y line=center, - axis x line=top, - ymin=0, ymax=25 - ] - \addplot[blue,mark=none] plot[id=sinneg,domain=-5:5,samples=40] function{x*x+1}; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ - enlargelimits=false, - minor tick num=3, - axis y line=center, - axis x line=bottom, - ymin=0, ymax=25 - ] - \addplot[blue,mark=none] plot[id=sinneg,domain=-5:5,samples=40] function{x*x+1}; -\end{axis} -\end{tikzpicture} - - -\begin{tikzpicture} -\begin{axis}[ - enlargelimits=false, - minor tick num=3, - axis y line=center, - axis x line=middle - ] - \addplot[blue,mark=none] plot[id=sinneg,domain=-5:5,samples=40] function{sin(x)}; -\end{axis} -\end{tikzpicture} - - - - - - -\testsubsection{axis [xy] line/ tick align/ x discont} -\begin{tikzpicture} -\begin{axis}[ - axis y line=box, - axis x discontinuity=parallel, - axis x line=middle, - tick align=outside, - xmin=8.5 - ] - \smallplotstestxoffset -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ - axis y line=box, - axis x discontinuity=parallel, - axis x line=middle, - tick align=outside, - xmin=8.5 - ] - \smallplotstestxoffsetneg -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ - axis y line=box, - axis x discontinuity=crunch, - axis x line=middle, - tick align=outside, - xmin=8.5 - ] - \smallplotstestxoffset -\end{axis} -\end{tikzpicture} - - -\begin{tikzpicture} -\begin{axis}[ - axis y line=box, - axis x discontinuity=crunch, - axis x line=middle, - tick align=outside, - xmin=8.5 - ] - \smallplotstestxoffsetneg -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ - axis y line=right, - axis x discontinuity=crunch, - axis x line=bottom, - tick align=outside, - xmin=8.5 - ] - \smallplotstestxoffsetneg -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ - axis y line=right, - axis y discontinuity=crunch, - axis x line=top, - tick align=outside, - xmin=8.5 - ] - \smallplotstestyoffsetneg -\end{axis} -\end{tikzpicture} - -\testsubsection{axis y discontinuity} -\begin{tikzpicture} -\begin{axis}[ - axis y discontinuity=parallel, - ] - \smallplotstest -\end{axis} -\end{tikzpicture} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.axispath.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.axispath.tex deleted file mode 100644 index 757130e5958..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.axispath.tex +++ /dev/null @@ -1,41 +0,0 @@ -\testfile{pgfplotstest.axispath.tex} -\testsection{Testing path commands inside of axis} -\testsubsection{log plot} -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error] -\loglogtestplot - -\draw (axis cs:9217, 3.261015e-06) -| (axis cs:4097, 1.207141e-05); - -\node[pin=45:good!] at (axis cs:1023, 1.038865e-03) {}; -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{Linear plot} -\begin{tikzpicture} -\begin{axis} -\smallplotstest - -\draw (axis cs:-1,0) -- (axis cs:1,1); - -\node[font=\footnotesize,pin=45:{$(-0.25,0.0625)$}] at (axis cs:-0.25, 0.0625) {}; -\end{axis} -\end{tikzpicture} - -\testsection{Checking plot expression} -\begin{tikzpicture} -\begin{axis}[domain=1:4,ymin=0,ymax=3,enlargelimits] -\smallplotstest -\addlegendentry{$g(x)$} - -\addplot (\x,{0.05*exp(\x)}); -\addlegendentry{$f(x) = \frac{1}{20} \mathrm e^x$} -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ymin=0,ymax=4,enlargelimits] -\addplot plot[domain=2:4.5] (\x,{0.05*exp(\x)}); -\addlegendentry{$f(x) = \frac{1}{20} \mathrm e^x$} -\end{axis} -\end{tikzpicture} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.enlargelimits.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.enlargelimits.tex deleted file mode 100644 index 055a47ac6dc..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.enlargelimits.tex +++ /dev/null @@ -1,99 +0,0 @@ -\testfile{pgfplotstest.enlargelimits.tex} -\testsection{Limit computation} -\testsubsection{User specified limits} -{\pgfplotsset{every axis/.append style={scaled ticks=false,enlargelimits=false}} -[scaled ticks = false,enlargelimits=false] in this section -\testsubsubsection{linear plot, unconstraint} -\begin{tikzpicture} - \begin{axis} - \addplot file{pgfplots.testplot}; - \end{axis} -\end{tikzpicture} - -\testsubsubsection{linear plot, limited to $x \in [-20,20]$} -\begin{tikzpicture} - \begin{axis}[xmin=-20,xmax=20] - \addplot file{pgfplots.testplot}; - \end{axis} -\end{tikzpicture} - -\testsubsubsection{linear plot, limited to $y \in [-12000,800]$} -\begin{tikzpicture} - \begin{axis}[ymin=-12000,ymax=800] - \addplot file{pgfplots.testplot}; - \end{axis} -\end{tikzpicture} - -\testsubsubsection{linear plot, limited to $x \in [-20,20]; y \in [-12000,800]$} -\begin{tikzpicture} - \begin{axis}[xmin=-20,xmax=20,ymin=-12000,ymax=800] - \addplot file{pgfplots.testplot}; - \end{axis} -\end{tikzpicture} - -\testsubsubsection{linear plot, limited to empty $x$-range} -\begin{tikzpicture} - \begin{axis}[xmin=2000,xmax=20000] - \addplot file{pgfplots.testplot}; - \end{axis} -\end{tikzpicture} - - - -\testsubsection{Log plots} -Log--plots use the same code; they should work in the same way! - -\testsubsubsection{log plot unconstraint} -\begin{tikzpicture} - \begin{loglogaxis} - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - -\testsubsubsection{log plot limited to $x \in [10^3,5\cdot 10^5]$} -\begin{tikzpicture} - \begin{loglogaxis}[xmin=1e3,xmax=5e5] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - -\testsubsubsection{log plot limited to $y \in [10^{-5},2\cdot 10^{-3}]$} -\begin{tikzpicture} - \begin{loglogaxis}[ymin=1e-5,ymax=2e-3] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} -} - -\testsubsection{Enlargelimits tests} -\testsubsubsection{enlargelimits=false, x limits provided} -\begin{tikzpicture} -\begin{axis}[% - enlargelimits=false, - xmin=0,xmax=1, - xtick={-1.5,-1.25,...,1.5}] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsubsection{enlargelimits=false, no limits provided} -\begin{tikzpicture} -\begin{axis}[enlargelimits=false] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsubsection{enlargelimits=true, all limits provided $[-1,1]\times [-1,1]$} -\begin{tikzpicture} -\begin{axis}[enlargelimits=true,xmin=-1,xmax=1,ymin=-1,ymax=1] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsubsection{enlargelimits=0.5} -\begin{tikzpicture} -\begin{axis}[enlargelimits=0.5] -\smallplotstest -\end{axis} -\end{tikzpicture} - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.errorbars.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.errorbars.tex deleted file mode 100644 index c90f00287e6..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.errorbars.tex +++ /dev/null @@ -1,153 +0,0 @@ -\testfile{pgfplotstest.errorbars.tex} -\testsection{Errorbars} -{ -%\tracingmacros=2\tracingcommands=2 -\begin{tikzpicture} -\begin{axis} -\addplot plot[ - /pgfplots/error bars/.cd, - y dir=both,y explicit, - x dir=both,x fixed relative=0.5, - error mark=diamond*, -] - coordinates - {(0,0) +- (0.5,0.1) - (0.1,0.1) +- (0.05,0.2) - (0.2,0.2) +- (0,0.05) - (0.5,0.5) - (1,1)}; -\end{axis} -\end{tikzpicture} - -\testsubsubsection{changing styles} -\begin{tikzpicture} -\begin{axis} -\addplot plot[ - /pgfplots/error bars/.cd, - y dir=plus,y explicit, - error bar style={black,dotted,/pgfplots/error bars/error mark=square*,/pgfplots/error bars/error mark options={current plot style}}, -] - coordinates - {(0,0) +- (0.5,0.1) - (0.1,0.1) +- (0.05,0.2) - (0.2,0.2) +- (0,0.05) - (0.5,0.5) +- (0.1,0.2) - (1,1) +- (0.3,0.1) - }; -\end{axis} -\end{tikzpicture} - -\testsubsubsection{using 100\% minus} -\begin{tikzpicture} -\begin{axis} -\addplot plot[ - /pgfplots/error bars/.cd, - y dir=minus,y fixed relative=1, - x dir=minus,x fixed relative=1, - error mark=none, - error bar style={dotted}, -] - coordinates - {(0,0) - (0.1,0.1) - (0.2,0.2) - (0.5,0.5) - (1,1) - }; -\end{axis} -\end{tikzpicture} -% -\testsubsubsection{with plot table} -\begin{sidewaystable} -{% -\lstset{ - showtabs=true, - showspaces=true, - basicstyle=\footnotesize\ttfamily, - numbers=left, - numberblanklines=true, - breaklines=false, - tabsize=15} -\lstinputlisting{plotdata/pgfplotstest_plot} -} -\caption{The table used for the plot table tests and error bars.} -\label{tbl:k} -\end{sidewaystable} - -\begin{tikzpicture} -\begin{axis}[title={maxlevel versus cgiter, table~\ref{tbl:k}}] -\addplot plot[ - /pgfplots/error bars/.cd, - y dir=both,y explicit, -] table[x=maxlevel,y=cgiter,y error=cgiter_err] {plotdata/pgfplotstest_plot}; - -\end{axis} -\end{tikzpicture} - -\testsubsection{Log-plot} -\testsubsubsection{relative errors} -\begin{tikzpicture} -\begin{loglogaxis}[ - grid=both] -\addplot plot[ - /pgfplots/error bars/.cd, - y dir=both,y explicit relative, - x dir=both,x fixed relative=0.5, - error mark=triangle*, -] - coordinates { - (32,32) - (64,64) - (128,128) +- (0,0.3) - (1024,1024) +- (0,0.2) - (32068,32068) +- (0,0.6) - (64000,64000) +- (0,0.6) - (128000,128000) +- (0,0.6) - }; - -\end{loglogaxis} -\end{tikzpicture} - -\testsubsubsection{x fixed=500, y explicit relative} -\begin{tikzpicture} -\begin{loglogaxis}[ - grid=both] -\addplot plot[ - /pgfplots/error bars/.cd, - y dir=both,y explicit relative, - x dir=both,x fixed=500, - error mark=triangle*, -] - coordinates { - (32,32) - (64,64) - (128,128) +- (0,0.3) - (1024,1024) +- (0,0.2) - (32068,32068) +- (0,0.6) - (64000,64000) +- (0,0.6) - (128000,128000) +- (0,0.6) - }; - -\end{loglogaxis} -\end{tikzpicture} - -\testsubsubsection{with plot table} -\begin{tikzpicture} -\begin{loglogaxis}[title={dof versus Lmax, table~\ref{tbl:k}}] -\addplot plot[ - /pgfplots/error bars/.cd, - y dir=both,y explicit relative, -] table[x=dof,y=Lmax,y error=Lmax_relerror] {plotdata/pgfplotstest_plot}; -\end{loglogaxis} -\end{tikzpicture} - -\testsubsubsection{with plot table absolute} -\begin{tikzpicture} -\begin{loglogaxis}[grid=both,title={dof versus L2, table~\ref{tbl:k}}] -\addplot plot[ - /pgfplots/error bars/.cd, - y dir=both,y explicit, -] table[x=dof,y=L2,y error=L2_abserror] {plotdata/pgfplotstest_plot}; -\end{loglogaxis} -\end{tikzpicture} -} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.expr.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.expr.tex deleted file mode 100644 index 5cfc1992905..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.expr.tex +++ /dev/null @@ -1,15 +0,0 @@ -\testfile{pgfplotstest.expr.tex} -\testsection{`plot expression' test} -\testsubsection{sin(x)} -\begin{tikzpicture} -\begin{axis} -\addplot (\x,{sin(\x r)}); -\end{axis} -\end{tikzpicture} - -\testsubsection{$x^2$} -\begin{tikzpicture} -\begin{axis} -\addplot plot[domain=0:10] (\x,\x^2); -\end{axis} -\end{tikzpicture} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.file.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.file.tex deleted file mode 100644 index 423b2c4ee0d..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.file.tex +++ /dev/null @@ -1,121 +0,0 @@ -\testfile{pgfplotstest.file.tex} -{% -\lstset{ - showtabs=true, - showspaces=true, - basicstyle=\footnotesize\ttfamily, - numbers=left, - numberblanklines=true, - breaklines=false, - tabsize=10} -\testsection{`plot file' test} -\testsubsection{A file in gnuplot format 'num num i'} -\lstinputlisting{plotdata/pgfplotstest_plot2.gnuplot} -\begin{tikzpicture} -\begin{axis} -\addplot plot file{plotdata/pgfplotstest_plot2.gnuplot}; -\end{axis} -\end{tikzpicture} - -\testsubsubsection{Same file loaded with `plot table'} -\begin{tikzpicture} -\begin{axis} -\addplot plot table{plotdata/pgfplotstest_plot2.gnuplot}; -\end{axis} -\end{tikzpicture} - - -\testsubsection{A file which differs slightly from gnuplot format} -\lstinputlisting{plotdata/pgfplotstest_plot4} -\begin{tikzpicture} -\begin{axis} -\addplot plot file{plotdata/pgfplotstest_plot4}; -\end{axis} -\end{tikzpicture} - -\testsubsection{A file which starts with newlines} -\lstinputlisting{plotdata/pgfplotstest_plot5} -\begin{tikzpicture} -\begin{axis} -\addplot plot file{plotdata/pgfplotstest_plot5}; -\end{axis} -\end{tikzpicture} - -\testsubsubsection{Same file loaded with `plot table'} -The first data point should have been identified as column name. - -\begin{tikzpicture} -\begin{axis} -\addplot plot table{plotdata/pgfplotstest_plot5}; -\end{axis} -\end{tikzpicture} - -\testsubsubsection{testing space gobbling in 'plot file' command} -\begin{tikzpicture} -\begin{axis} -\addplot plot file {plotdata/pgfplotstest_plot2.gnuplot}; -\end{axis} -\end{tikzpicture} - -\testsection{`plot table' test} -\begin{sidewaystable} -\lstinputlisting{plotdata/pgfplotstest_plot} -\caption{\texttt{pgfplotstest\_plot}} -\end{sidewaystable} -\testsubsection{Plot by column `dof' versus column `Lmax'} -\begin{tikzpicture} -\begin{loglogaxis}[xlabel=Dof,ylabel=$L_\infty$ error,title=Read from file `pgfplotstest\_plot'] -\addplot plot table[x=dof,y=Lmax] {plotdata/pgfplotstest_plot}; -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{Plot by column \#2 versus column \#3} -\begin{tikzpicture} -\begin{loglogaxis}[ - xlabel=Dof, - ylabel=$L_2$ error, - title=Read from file `pgfplotstest\_plot' -] -\addplot plot table[x index=2,y index=3]{plotdata/pgfplotstest_plot}; - -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{Plot by preloaded tables} -{ -\begin{sidewaystable} -\lstinputlisting{plotdata/pgfplotstest_plot3} -\caption{\texttt{pgfplotstest\_plot3}} -\end{sidewaystable} -\pgfnumtableread{plotdata/pgfplotstest_plot} to \tableA -\pgfnumtableread{plotdata/pgfplotstest_plot3} to \tableB -\begin{tikzpicture} -\begin{loglogaxis}[ - xlabel=Dof, - ylabel=$L_2$ error, - title=Read from file `pgfplotstest\_plot' and `pgfplotstest\_plot3' -] - \addplot plot table[x=dof,y=L2] from \tableA; - \addplot plot table[x=dof,y=L2] from \tableB; - \legend{$d=2$\\$d=3$\\}% -\end{loglogaxis} -\end{tikzpicture} -} - -\testsubsection{a table which has no column names} -\begin{sidewaystable} -\lstinputlisting{plotdata/pgfplotstest_plotnocolnames} -\caption{\texttt{plotdata/pgfplotstest\_plotnocolnames}} -\end{sidewaystable} -\begin{tikzpicture} -\begin{loglogaxis}[ - xlabel=Dof, - ylabel=$L_2$ error, - title=Read from file `pgfplotstest\_plotnocolnames' -] -\addplot plot table[x index=2,y index=3]{plotdata/pgfplotstest_plotnocolnames}; - -\end{loglogaxis} -\end{tikzpicture} - -} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.function.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.function.tex deleted file mode 100644 index d82eafd280d..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.function.tex +++ /dev/null @@ -1,24 +0,0 @@ -\testfile{pgfplotstest.function.tex} -\testsection{`plot function' test} -\testsubsection{sin(x)} -\begin{tikzpicture} -\begin{axis} -\addplot plot[id=gnuplot_sin,samples=50] function{sin(x)}; -\end{axis} -\end{tikzpicture} - -\testsubsection{exp(x)} -\testsubsubsection{linear} -\begin{tikzpicture} -\begin{axis} -\addplot plot[id=gnuplot_exp,samples=50,domain=-5:15] function{exp(x)}; -\end{axis} -\end{tikzpicture} - -\testsubsubsection{semilogy} -\begin{tikzpicture} -\begin{semilogyaxis} -\addplot plot[id=gnuplot_exp,samples=50,domain=-5:15] function{exp(x)}; -\end{semilogyaxis} -\end{tikzpicture} - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_exp.gnuplot b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_exp.gnuplot deleted file mode 100644 index 9885481c6da..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_exp.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "pgfplotstest.gnuplot_exp.table"; set format "%.5f" -set format "\%.7e"; set samples 50; plot [x=-5:15] exp(x) diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_exp.table b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_exp.table deleted file mode 100644 index cf4dcd6694d..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_exp.table +++ /dev/null @@ -1,54 +0,0 @@ - -#Curve 0 of 1, 50 points -#x y type --5.00000 0.00674 i --4.59184 0.01013 i --4.18367 0.01524 i --3.77551 0.02293 i --3.36735 0.03448 i --2.95918 0.05186 i --2.55102 0.07800 i --2.14286 0.11732 i --1.73469 0.17645 i --1.32653 0.26540 i --0.91837 0.39917 i --0.51020 0.60037 i --0.10204 0.90299 i -0.30612 1.35815 i -0.71429 2.04273 i -1.12245 3.07237 i -1.53061 4.62101 i -1.93878 6.95024 i -2.34694 10.45352 i -2.75510 15.72265 i -3.16327 23.64769 i -3.57143 35.56737 i -3.97959 53.49519 i -4.38776 80.45959 i -4.79592 121.01547 i -5.20408 182.01364 i -5.61224 273.75811 i -6.02041 411.74662 i -6.42857 619.28862 i -6.83673 931.44272 i -7.24490 1400.93894 i -7.65306 2107.08599 i -8.06122 3169.16837 i -8.46939 4766.59625 i -8.87755 7169.21197 i -9.28571 10782.87262 i -9.69388 16218.00868 i -10.10204 24392.73976 i -10.51020 36687.96612 i -10.91837 55180.63453 i -11.32653 82994.58239 i -11.73469 124828.22579 i -12.14286 187748.23013 i -12.55102 282383.23259 i -12.95918 424719.26363 i -13.36735 638800.15552 i -13.77551 960789.09915 i -14.18367 1445077.43942 i -14.59184 2173472.62555 i -15.00000 3269017.37247 i - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_sin.gnuplot b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_sin.gnuplot deleted file mode 100644 index 609f9f7e41a..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_sin.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "pgfplotstest.gnuplot_sin.table"; set format "%.5f" -set format "\%.7e"; set samples 50; plot [x=-5:5] sin(x) diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_sin.table b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_sin.table deleted file mode 100644 index 2feafa78b59..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_sin.table +++ /dev/null @@ -1,54 +0,0 @@ - -#Curve 0 of 1, 50 points -#x y type --5.00000 0.95892 i --4.79592 0.99651 i --4.59184 0.99274 i --4.38776 0.94777 i --4.18367 0.86346 i --3.97959 0.74331 i --3.77551 0.59231 i --3.57143 0.41672 i --3.36735 0.22384 i --3.16327 0.02167 i --2.95918 -0.18140 i --2.75510 -0.37694 i --2.55102 -0.55684 i --2.34694 -0.71362 i --2.14286 -0.84079 i --1.93878 -0.93306 i --1.73469 -0.98660 i --1.53061 -0.99919 i --1.32653 -0.97032 i --1.12245 -0.90116 i --0.91837 -0.79461 i --0.71429 -0.65508 i --0.51020 -0.48836 i --0.30612 -0.30136 i --0.10204 -0.10186 i -0.10204 0.10186 i -0.30612 0.30136 i -0.51020 0.48836 i -0.71429 0.65508 i -0.91837 0.79461 i -1.12245 0.90116 i -1.32653 0.97032 i -1.53061 0.99919 i -1.73469 0.98660 i -1.93878 0.93306 i -2.14286 0.84079 i -2.34694 0.71362 i -2.55102 0.55684 i -2.75510 0.37694 i -2.95918 0.18140 i -3.16327 -0.02167 i -3.36735 -0.22384 i -3.57143 -0.41672 i -3.77551 -0.59231 i -3.97959 -0.74331 i -4.18367 -0.86346 i -4.38776 -0.94777 i -4.59184 -0.99274 i -4.79592 -0.99651 i -5.00000 -0.95892 i - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gridtick.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gridtick.tex deleted file mode 100644 index 6ca72bc32e1..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gridtick.tex +++ /dev/null @@ -1,84 +0,0 @@ -\testfile{pgfplotstest.gridtick.tex} -\testsection{Grid lines test} -\begin{tikzpicture} - \begin{axis}[xmajorgrids] - \smallplotstest - \end{axis} -\end{tikzpicture} - -\begin{tikzpicture} - \begin{axis}[ymajorgrids,xmajorgrids] - \smallplotstest - \end{axis} -\end{tikzpicture} - -\begin{tikzpicture} - \begin{loglogaxis}[ymajorgrids,xmajorgrids] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - -\begin{tikzpicture} - \begin{loglogaxis}[grid=both] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - -{ -\pgfplotsset{every major tick/.append style={color=black,thick}} -\begin{tikzpicture} - \begin{loglogaxis}[grid=major] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - -\pgfplotsset{every minor tick/.append style={color=black,thick}} -\begin{tikzpicture} - \begin{loglogaxis}[grid=both] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} -} - -\testsection{Tick lines test} -\begin{tikzpicture} - \begin{loglogaxis}[xmajorticks=false,xminorticks=true] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - -\begin{tikzpicture} - \begin{loglogaxis}[ymajorticks=false,yminorticks=false] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - -\begin{tikzpicture} - \begin{loglogaxis}[ticks=none] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - -\begin{tikzpicture} - \begin{loglogaxis}[ticks=major] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - -\testsection{TikZ-coordinate system ``axis''} -\begin{tikzpicture} -\begin{axis} -\smallplotstest -\axispath\draw (axis cs:0.5,0.6) -- (axis cs:-1,0); -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} - \begin{loglogaxis} - \axispath\draw - (axis cs:18943,2.873391e-05) |- (axis cs:47103,8.437499e-06); - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.hansmeine_app.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.hansmeine_app.tex deleted file mode 100644 index 7f4dbd77ae4..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.hansmeine_app.tex +++ /dev/null @@ -1,114 +0,0 @@ -\testfile{pgfplotstest.hansmeine\_app.tex} -\testsection{Application example of Hans Meine} -\begingroup -This example has been copied with permission from - -\noindent -\url{http://kogs-www.informatik.uni-hamburg.de/~meine/tikz/plots}. - -Please note that the first plot's input data as it is found in the url above is slightly shifted compared to the other plots. - -\tikzstyle{plot legend}=[ - rounded corners=2.5pt,inner xsep=3pt,inner ysep=2pt, - draw=black!50,fill=white, - font=\footnotesize,cells={anchor=center}, - nodes={inner sep=2pt,text depth=0.15em,rounded corners=0pt,right}] - -\tikzstyle{every axis legend}=[plot legend,at={(.85,0.8)},below right] -%\tikzstyle{every axis y label}=[at={(0,0.5)},xshift=-25pt,rotate=90] - -\begin{tikzpicture}[mark size=1.5pt,remember picture] - -\begin{axis}[ - xmin=-5,xmax=5, - %ymin=0,ymax=25, - %ytick={0,5,...,25}, - xlabel={arc length distance $t$ from saddle [pixels]}, - ylabel={boundary indicator value $|\vec{b}_g(t)|$}] - -\addplot plot coordinates { - (-6.74792,2.41861) (-6.66786,2.41852) (-6.58805,2.41824) (-6.50996,2.41777) (-6.41075,2.41679) (-6.30551,2.41505) (-6.15340,2.41075) (-5.93965,2.40070) (-5.62466,2.37734) (-5.15092,2.32533) (-4.81777,2.27973) (-4.31289,2.20389) (-3.90792,2.14396) (-3.56562,2.09832) (-3.27459,2.06512) (-3.02640,2.04160) (-2.81205,2.02498) (-2.62515,2.01318) (-2.46036,2.00469) (-2.31403,1.99851) (-2.18241,1.99390) (-2.06229,1.99036) (-1.95106,1.98758) (-1.84645,1.98531) (-1.74609,1.98339) (-1.64791,1.98171) (-1.54947,1.98017) (-1.44841,1.97871) (-1.34122,1.97723) (-1.22126,1.97565) (-1.06446,1.97363) (-0.80552,1.97038) (-0.54659,1.96739) (-0.36271,1.96559) (-0.20000,1.96437) (0.00000,1.96349) (0.10000,1.96337) (0.20000,1.96350) (0.40000,1.96457) (0.66334,1.96786) (0.82469,1.97106) (1.00410,1.97577) (1.20014,1.98238) (1.41256,1.99137) (1.64222,2.00335) (1.88995,2.01902) (2.15698,2.03926) (2.44428,2.06507) (2.75132,2.09742) (3.07466,2.13693) (3.40793,2.18352) (3.74762,2.23692) (4.09685,2.29747) (4.45942,2.36533) (4.83307,2.43910) (5.20177,2.51426) (5.54872,2.58624) (5.87085,2.65390) (6.17726,2.71933) (6.47863,2.78542) (6.78862,2.85637) (7.13375,2.94064) (7.59098,3.06389) (8.13953,3.23189) (8.67260,3.41315) (9.39853,3.66690) (9.83987,3.80614) (10.13601,3.88485) (10.36232,3.93412) (10.54394,3.96577) (10.69550,3.98653) (10.83385,4.00111) (10.95513,4.01094) (11.03401,4.01619) (11.09168,4.01963) (11.14379,4.02251) (11.19194,4.02503) (11.28684,4.02965) (11.33618,4.03190) (11.38800,4.03416) (11.44303,4.03643) (11.50199,4.03872) (11.56561,4.04104) (11.63478,4.04335) (11.70991,4.04562) (11.79157,4.04779) (11.87873,4.04976) (11.96931,4.05140) (12.05829,4.05260) (12.14019,4.05335) (12.20972,4.05369) (12.26727,4.05379) -}; -\addlegendentry{undesired, noise-induced edge} - -\addplot[mark=|,red] plot coordinates { - (-3.76974,23.44724) (-3.68200,23.44695) (-3.64029,23.44663) (-3.57390,23.44586) (-3.51311,23.44490) (-3.46300,23.44393) (-3.39804,23.44243) (-3.36070,23.44145) (-3.29129,23.43940) (-3.22822,23.43728) (-3.18614,23.43574) (-3.13754,23.43383) (-3.04637,23.42987) (-2.95967,23.42567) (-2.90068,23.42257) (-2.83380,23.41883) (-2.77416,23.41531) (-2.70061,23.41071) (-2.66154,23.40816) (-2.52857,23.39898) (-2.44938,23.39318) (-2.39931,23.38941) (-2.33883,23.38476) (-2.17413,23.37174) (-2.05644,23.36230) (-1.98196,23.35636) (-1.93330,23.35251) (-1.84825,23.34590) (-1.62954,23.32990) (-1.52996,23.32327) (-1.47585,23.31985) (-1.40329,23.31551) (-1.27105,23.30830) (-1.19944,23.30478) (-1.13051,23.30165) (-1.04894,23.29825) (-0.96702,23.29516) (-0.87382,23.29203) (-0.79070,23.28955) (-0.74927,23.28843) (-0.70129,23.28721) (-0.64637,23.28592) (-0.60115,23.28493) (-0.53219,23.28358) (-0.45855,23.28230) (-0.38244,23.28116) (-0.32153,23.28038) (-0.26284,23.27973) (-0.19690,23.27911) (-0.13978,23.27868) (-0.08064,23.27834) (-0.02275,23.27808) (0.00000,23.27801) (0.10000,23.27787) (0.20000,23.27802) (0.27601,23.27832) (0.36681,23.27891) (0.46110,23.27978) (0.55399,23.28091) (0.64198,23.28223) (0.70081,23.28326) (0.75328,23.28427) (0.81782,23.28563) (0.85871,23.28657) (0.93657,23.28849) (0.98295,23.28974) (1.05394,23.29177) (1.14949,23.29476) (1.16854,23.29539) (1.25761,23.29848) (1.31224,23.30049) (1.37408,23.30286) (1.44949,23.30589) (1.51818,23.30877) (1.57749,23.31135) (1.64391,23.31433) (1.69761,23.31680) (1.77152,23.32030) (1.82174,23.32272) (1.88683,23.32592) (1.95135,23.32914) (2.04539,23.33393) (2.09220,23.33636) (2.15071,23.33942) (2.21378,23.34276) (2.27209,23.34589) (2.32331,23.34867) (2.37362,23.35143) (2.42883,23.35450) (2.48828,23.35785) (2.54699,23.36122) (2.60335,23.36450) (2.65867,23.36780) (2.71561,23.37126) (2.77485,23.37495) (2.83543,23.37882) (2.89585,23.38280) (2.95675,23.38694) (3.01953,23.39134) (3.08437,23.39604) (3.15018,23.40099) (3.21683,23.40618) (3.28460,23.41165) (3.35451,23.41750) (3.42648,23.42374) (3.49957,23.43030) (3.57365,23.43717) (3.64867,23.44436) (3.72416,23.45181) (3.80056,23.45956) (3.87760,23.46758) (3.95468,23.47580) (4.03184,23.48421) (4.10882,23.49279) (4.18576,23.50154) (4.26266,23.51047) (4.33974,23.51959) (4.41715,23.52894) (4.49513,23.53857) (4.57441,23.54856) (4.65443,23.55888) (4.73544,23.56957) (4.81782,23.58073) (4.90189,23.59242) (4.98799,23.60474) (5.07646,23.61781) (5.16730,23.63169) (5.26080,23.64652) (5.35672,23.66236) (5.45528,23.67937) (5.55634,23.69766) (5.65938,23.71731) (5.76425,23.73845) (5.87131,23.76132) (5.98009,23.78602) (6.09098,23.81280) (6.20325,23.84165) (6.31760,23.87290) (6.43432,23.90677) (6.55406,23.94363) (6.67738,23.98385) (6.80482,24.02785) (6.93717,24.07624) (7.07526,24.12974) (7.21979,24.18923) (7.37205,24.25606) (7.53441,24.33248) (7.70924,24.42131) (7.89952,24.52650) (8.10836,24.65314) (8.34148,24.80958) (8.60710,25.00889) (8.91106,25.26703) (9.25007,25.59714) (9.68649,26.09883) (10.13522,26.72731) (10.40807,27.17870) (10.65277,27.63495) (10.90256,28.15483) (11.16477,28.76174) (11.44948,29.49245) (11.77047,30.40424) (12.15016,31.59520) (12.65258,33.31831) (13.42664,36.04860) (13.62630,36.71383) (13.83415,37.37658) (14.01722,37.93327) (14.18297,38.41524) (14.33800,38.84736) (14.48085,39.22980) (14.61486,39.57508) (14.74229,39.89128) (14.86436,40.18308) (14.98202,40.45398) (15.09625,40.70715) (15.20802,40.94540) (15.31824,41.17117) (15.42790,41.38667) (15.53783,41.59355) (15.64893,41.79333) (15.76206,41.98717) (15.87814,42.17606) (15.99810,42.36076) (16.12295,42.54179) (16.25372,42.71942) (16.39138,42.89353) (16.53689,43.06372) (16.69101,43.22914) (16.85414,43.38846) (17.02662,43.54044) (17.20801,43.68337) (17.39742,43.81578) (17.59106,43.93517) (17.78192,44.03878) (17.95844,44.12362) (18.11107,44.18940) (18.24056,44.24023) (18.35635,44.28212) (18.46640,44.31902) (18.57116,44.35166) (18.66833,44.37986) (18.75731,44.40398) (18.84002,44.42498) (18.91841,44.44364) (18.99328,44.46033) (19.06445,44.47519) (19.13176,44.48832) (19.19514,44.49987) (19.25495,44.51004) (19.31152,44.51899) (19.36506,44.52686) (19.46346,44.53976) (19.50769,44.54489) (19.58677,44.55300) (19.65524,44.55890) (19.71276,44.56302) (19.78112,44.56692) (19.84673,44.56961) (19.88347,44.57064) (19.97685,44.57176) -}; -\addlegendentry{real, high-contrast image edge} - -\addplot plot coordinates { - (-1.15451,10.36685) (-1.07964,10.36621) (-1.02056,10.36481) (-0.96257,10.36271) (-0.90533,10.35997) (-0.84858,10.35665) (-0.79205,10.35281) (-0.73561,10.34850) (-0.67917,10.34380) (-0.62272,10.33880) (-0.56633,10.33358) (-0.50992,10.32825) (-0.45352,10.32290) (-0.39747,10.31767) (-0.34169,10.31266) (-0.28682,10.30800) (-0.23402,10.30388) (-0.18313,10.30031) (-0.12560,10.29684) (-0.03525,10.29280) (0.00000,10.29174) (0.10000,10.29044) (0.20000,10.29175) (0.28114,10.29471) (0.34449,10.29811) (0.44379,10.30512) (0.53029,10.31253) (0.59874,10.31897) (0.66221,10.32520) (0.72320,10.33125) (0.78138,10.33692) (0.83700,10.34216) (0.89028,10.34690) (0.94149,10.35114) (1.03860,10.35813) (1.12980,10.36322) (1.21498,10.36658) (1.29044,10.36838) (1.37969,10.36912) -}; -\addlegendentry{real, low-contrast image edge} - -\addplot plot coordinates { - (-3.14098,15.46859) (-3.05005,15.46793) (-3.03205,15.46764) (-2.93375,15.46514) (-2.84266,15.46145) (-2.76309,15.45344) (-2.68022,15.42299) (-2.61653,15.38079) (-2.43041,15.16335) (-2.21648,14.74227) (-1.83556,13.53895) (-1.54884,12.22611) (-1.26239,10.54200) (-0.83897,7.52613) (-0.20000,3.62234) (-0.00000,3.13037) (0.10000,3.06780) (0.20000,3.12986) (0.40000,3.60861) (0.81954,5.76144) (1.21229,8.25063) (1.49830,9.82046) (1.71955,10.77871) (1.91907,11.45069) (2.13743,12.00227) (2.51547,12.56801) (2.54747,12.59468) (2.67448,12.66844) (2.75913,12.68968) (2.82919,12.69491) (2.90099,12.69776) (2.97321,12.69961) (3.00861,12.70015) (3.07604,12.70055) -}; -\addlegendentry{streamer (converging to real edges)} - -\draw[dotted] (axis cs:0,0) -- (axis cs:0,14) node[right] {saddle pos}; - -\end{axis} - -\end{tikzpicture} - - -\testsubsection{With plot file} -\begin{tikzpicture}[mark size=1.5pt] -\begin{axis}[ - xmin=-5,xmax=5, - xlabel={arc length distance $t$ from saddle [pixels]}, - ylabel={boundary indicator value $|\vec{b}_g(t)|$}] - -\addplot file {valueplot-flowlines_1.dat}; -\addlegendentry{undesired, noise-induced edge} - -\addplot[mark=|,red] file {valueplot-flowlines_2.dat}; -\addlegendentry{real, high-contrast image edge} - -\addplot file {valueplot-flowlines_3.dat}; -\addlegendentry{real, low-contrast image edge} - -\addplot file {valueplot-flowlines_4.dat}; -\addlegendentry{streamer (converging to real edges)} - -\draw[dotted] (axis cs:0,0) -- (axis cs:0,14) node[right] {saddle pos}; - -\end{axis} -\end{tikzpicture} - -\testsubsection{With plot file and restricted bounding box, centered} -\begin{center} -\setlength{\fboxsep}{0pt}% -\fbox{% -\begin{tikzpicture}[mark size=1.5pt] -\begin{pgfinterruptboundingbox} -\begin{axis}[ - name=hans example, - xmin=-5,xmax=5, - xlabel={arc length distance $t$ from saddle [pixels]}, - ylabel={boundary indicator value $|\vec{b}_g(t)|$}] - -\addplot file {valueplot-flowlines_1.dat}; -\addlegendentry{undesired, noise-induced edge} - -\addplot[mark=|,red] file {valueplot-flowlines_2.dat}; -\addlegendentry{real, high-contrast image edge} - -\addplot file {valueplot-flowlines_3.dat}; -\addlegendentry{real, low-contrast image edge} - -\addplot file {valueplot-flowlines_4.dat}; -\addlegendentry{streamer (converging to real edges)} - -\draw[dotted] (axis cs:0,0) -- (axis cs:0,14) node[right] {saddle pos}; - -\end{axis} -\end{pgfinterruptboundingbox} - -\useasboundingbox (hans example.below south west) (hans example.above north east); -\end{tikzpicture}% -}% -\end{center} - -\endgroup diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.legend.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.legend.tex deleted file mode 100644 index 81dc332cfa5..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.legend.tex +++ /dev/null @@ -1,78 +0,0 @@ -\testfile{pgfplotstest.legend.tex} -\testsection{Legends} -\begingroup -\testsubsection{Old-format legends with two backslashes as separator} -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error] -\manylogplotsnolegend -\legend{one\\two\\three\\four\\five\\six\\}% -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{Using comma-separated-legends} -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error] -\manylogplotsnolegend -\legend{one,two,three,four,five,six}% -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{testing legend columns} -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error,legend columns=2] -\manylogplots -\end{loglogaxis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error,legend columns=3] -\manylogplots -\end{loglogaxis} -\end{tikzpicture} - -{ -\pgfplotsset{every axis legend/.append style={inner sep=0pt,nodes={inner sep=0pt}}} -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error,legend columns=4] -\manylogplots -\end{loglogaxis} -\end{tikzpicture} -} - -{\pgfplotsset{every axis legend/.append style={at={(0.5,-0.2)},anchor=north}} -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error,legend columns=6] -\manylogplots -\end{loglogaxis} -\end{tikzpicture} -}% - -{\pgfplotsset{every axis legend/.append style={at={(0.5,0.98)},anchor=north,inner sep=0pt}} -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error,legend columns=-1] -\manylogplots -\end{loglogaxis} -\end{tikzpicture} -}% - -\testsubsection{``legend plot pos'' options} -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error,legend plot pos=left] -\manylogplots -\end{loglogaxis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error,legend plot pos=right] -\manylogplots -\end{loglogaxis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error,legend plot pos=none] -\manylogplots -\end{loglogaxis} -\end{tikzpicture} -\endgroup - - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.logplotenv.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.logplotenv.tex deleted file mode 100644 index f2bd4e6b2a1..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.logplotenv.tex +++ /dev/null @@ -1,142 +0,0 @@ -\testfile{pgfplotstest.logplotenv.tex} - -\testsection{Default options log plot} -\testsubsection{Default size} -\begin{tikzpicture} -\begin{loglogaxis} -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{Small size} -\begin{tikzpicture} -\begin{loglogaxis}[width=6cm] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} -% -\begin{tikzpicture} -\begin{loglogaxis}[width=6cm] -\addplot plot coordinates { - (5, 8.311600e-03) - (9217, 3.261015e-07) -}; -\end{loglogaxis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{loglogaxis}[width=6cm,ytick={1.0e0,1e-2,1e-4}] -\addplot plot coordinates { - (5, 1.1e-00) - (9217, 1e-05) -}; -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{Very small size} -\begin{tikzpicture} -\begin{loglogaxis}[width=4cm] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{Large size} -\begin{tikzpicture} -\begin{loglogaxis}[width=\linewidth] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{Large size; large range} -\begin{tikzpicture} -\begin{loglogaxis}[width=\linewidth] -\addplot coordinates { - (1e0,1e12) - (1e16,1e-12) -}; -\end{loglogaxis} -\end{tikzpicture} - - -\testsubsection{Extremely small y range for log plot} -\testsubsubsection{Without extra ticks, enlargelimits=false} -\begin{tikzpicture} -\begin{loglogaxis}[ - enlargelimits=false, -] -\addplot coordinates { - (1e0,1.5e-4) - (1e24,2e-3) -}; -\end{loglogaxis} -\end{tikzpicture} - -\testsubsubsection{With extra ticks, enlargelimits=false} -extra y ticks=\{2e-4,3e-4,4e-4,5e-4,6e-4,7e-4,8e-4,9e-4,1.2e-3\} - -\begin{tikzpicture} -\begin{loglogaxis}[ - enlargelimits=false, - extra y ticks={2e-4,3e-4,4e-4,5e-4,6e-4,7e-4,8e-4,9e-4,1.2e-3}, -] -\addplot coordinates { - (1e0,1.5e-4) - (1e24,2e-3) -}; -\end{loglogaxis} -\end{tikzpicture} - -\testsection{Semilogy plot} -\begin{tikzpicture} - \begin{semilogyaxis}[xlabel=Index,ylabel=Value] - \addplot[color=blue,mark=*] plot coordinates { - (1,8) - (2,16) - (3,32) - (4,64) - (5,128) - (6,256) - (7,512) - }; - \end{semilogyaxis} -\end{tikzpicture} - -\testsection{Semilogx plot} -\begin{tikzpicture} - \begin{semilogxaxis}[xlabel=Index,ylabel=Value] - \addplot[color=blue,mark=*] plot coordinates { - (8,1) - (16,2) - (32,3) - (64,4) - (128,5) - (256,6) - (512,7) - }; - \end{semilogxaxis} -\end{tikzpicture} - -\testsubsection{Extra ticks} -Options: - -extra x ticks=\{6e0,9e0,2e1,3e1,4e1,5e2,6e2,7e2,8e2,9e2\}, - -extra x tick style=\{/pgf/number format/sci subscript,font=footnotesize\}, - -\begin{tikzpicture} - \begin{semilogxaxis}[xlabel=Index,ylabel=Value, - width=\linewidth, - extra x ticks={6e0,9e0,2e1,3e1,4e1,5e2,6e2,7e2,8e2,9e2}, - extra x tick style={/pgf/number format/sci subscript,font=\footnotesize}, - ] - \addplot[color=blue,mark=*] plot coordinates { - (8,1) - (16,2) - (32,3) - (64,4) - (128,5) - (256,6) - (512,7) - }; - \end{semilogxaxis} -\end{tikzpicture} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.misc.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.misc.tex deleted file mode 100644 index fcc77133f52..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.misc.tex +++ /dev/null @@ -1,171 +0,0 @@ -\testfile{pgfplotstest.misc.tex} -\testsection{Paths after addplot} -\testsubsection{plot coordinates} -\testsubsubsection{without space after 'coordinates'} -\begin{tikzpicture} -\begin{axis}[ymin=-1,ymax=2] -\addplot+[fill=blue!50!black] coordinates{(0,0.5) (1,1)} |- (axis cs:0,-0.5) -- cycle; -\end{axis} -\end{tikzpicture} - -\testsubsubsection{with space after 'coordinates'} -\begin{tikzpicture} -\begin{axis}[ymin=-1,ymax=2] -\addplot+[fill=blue!50!black] coordinates {(0,0.5) (1,1)} |- (axis cs:0,-0.5) -- cycle; -\end{axis} -\end{tikzpicture} - -\testsubsubsection{using closedcycle path} -\begin{tikzpicture} -\begin{axis}[ymin=-1,ymax=3] -\addplot coordinates {(3,0.5) (4,2) (5,1)} ; -\addplot+[fill=blue!50!black] coordinates {(3,0.5) (4,2) (5,1)} - \closedcycle; -\end{axis} -\end{tikzpicture} - -\testsubsection{plot table} -\begin{tikzpicture} -\begin{axis} -\addplot+[fill=blue!50!black] table[x index=0,y index=1,header=false]{plotdata/pgfplotstest_plot2.gnuplot} |- (axis cs:0,-1) -- cycle; -\end{axis} -\end{tikzpicture} - -\testsubsection{plot function} -\begin{tikzpicture} -\begin{axis} -\addplot plot[id=parable,domain=-5:5] function{4*x**2 - 5} node[pin=180:{$4x^2-5$}]{}; -\end{axis} -\end{tikzpicture} - - -\testsection{Title-option} -\begin{tikzpicture} -\begin{loglogaxis}[title=A test title,xlabel=Dof,ylabel=Error] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\testsection{Filter test} -{% -\def\myOwnYfilter#1\to#2{% - \def#2{0.5}% -}% -\begin{tikzpicture} -% -\begin{axis}[yfilter={\myOwnYfilter}] -\addplot plot coordinates { - (4,0) - (6,1) -}; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[y filter/.code={\def\pgfmathresult{0.5}}] -\addplot plot coordinates { - (4,0) - (6,1) -}; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[x filter/.code={\ifnum\coordindex>4\def\pgfmathresult{}\fi}] -\addplot (\x,\x^2); -\end{axis} -\end{tikzpicture} -}% - -\testsection{Test for addplot+[...]} -{ -\pgfplotsset{every axis legend/.append style={at={(1.03,1)},anchor=north west}} -\begin{enumerate} - \item Ohne aenderung: - -\begin{tikzpicture} -\begin{axis} -\smallplotstest - -\addplot plot coordinates { - (4,0) - (6,1) -}; -\legend{eins\\zwei\\}% -\end{axis} -\end{tikzpicture} - -\item MIT aenderung: - -\begin{tikzpicture} -\begin{axis} -\smallplotstest - -\addplot+[only marks] plot coordinates { - (4,0) - (6,1) -}; -\legend{eins\\zwei\\}% -\end{axis} -\end{tikzpicture} -\end{enumerate} -} - -\testsection{Hide axis test} -\begin{tikzpicture} - \begin{axis} - \smallplotstest - \end{axis} -\end{tikzpicture} -\begin{tikzpicture} - \begin{axis}[hide axis] - \smallplotstest - \end{axis} -\end{tikzpicture} -\vskip 1cm -\noindent -\begin{tikzpicture} - \begin{axis}[hide axis,title=A plot with hidden axis] - \smallplotstest - \end{axis} -\end{tikzpicture} -\begin{tikzpicture} - \begin{axis}[hide axis,title=A plot with hidden axis] - \smallplotstest - \legend{A legend\\} - \end{axis} -\end{tikzpicture} - - -\testsection{disabledatascaling / disablelogfilter} -\testsubsection{disabledatascaling} -\begin{tikzpicture} -\begin{axis}[disabledatascaling] - \smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{disabledatascaling + explicit limits} -\begin{tikzpicture} -\begin{axis}[disabledatascaling, xmin=0, xmax=1, ymin=0, ymax=1] - \smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{disabledatascaling + explicit limits + error bars} -\begin{tikzpicture} -\begin{axis}[disabledatascaling, xmin=-0.5, xmax=1.5, ymin=-0.5, ymax=1.5] -\addplot plot[ - /pgfplots/error bars/.cd, - y dir=both,y explicit, - x dir=both,x fixed relative=0.5, - error mark=diamond*, -] - coordinates - {(0,0) +- (0.5,0.1) - (0.1,0.1) +- (0.05,0.2) - (0.2,0.2) +- (0,0.05) - (0.5,0.5) - (1,1)}; -\end{axis} -\end{tikzpicture} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.parable.gnuplot b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.parable.gnuplot deleted file mode 100644 index 95805571bec..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.parable.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "pgfplotstest.parable.table"; set format "%.5f" -set format "\%.7e"; set samples 25; plot [x=-5:5] 4*x**2 - 5 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.parable.table b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.parable.table deleted file mode 100644 index d472640e119..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.parable.table +++ /dev/null @@ -1,29 +0,0 @@ - -#Curve 0 of 1, 25 points -#x y type --5.00000 95.00000 i --4.58333 79.02778 i --4.16667 64.44444 i --3.75000 51.25000 i --3.33333 39.44444 i --2.91667 29.02778 i --2.50000 20.00000 i --2.08333 12.36111 i --1.66667 6.11111 i --1.25000 1.25000 i --0.83333 -2.22222 i --0.41667 -4.30556 i -0.00000 -5.00000 i -0.41667 -4.30556 i -0.83333 -2.22222 i -1.25000 1.25000 i -1.66667 6.11111 i -2.08333 12.36111 i -2.50000 20.00000 i -2.91667 29.02778 i -3.33333 39.44444 i -3.75000 51.25000 i -4.16667 64.44444 i -4.58333 79.02778 i -5.00000 95.00000 i - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.plottypes.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.plottypes.tex deleted file mode 100644 index 7198e85dea2..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.plottypes.tex +++ /dev/null @@ -1,219 +0,0 @@ -\testfile{pgfplotstest.plottypes.tex} -\testsection{Stacked plots} -%\pgfplotsset{every axis/.append style={reverse stacked plots=false}} -\testsubsection{stack y, sharp plot} -\begin{tikzpicture} -%\tracingmacros=2\tracingcommands=2 - \begin{axis}[stack plots=y, - legend style={at={(0.03,0.97)},anchor=north west} - ] - \addplot coordinates {(0,0) (1,1) (2,1) (3,2)}; - \addplot coordinates {(0,0) (1,1) (2,1) (3,2)}; - \addplot coordinates {(0,0) (1,1) (2,1) (3,2)}; - \legend{1,2,3}% - \end{axis} -%\tracingmacros=0\tracingcommands=0 -\end{tikzpicture} - -\testsubsubsection{with closedcycle} -\begingroup -\def\example#1{% -\begin{tikzpicture} - \begin{axis}[stack plots=y, - legend style={at={(0.03,0.97)},anchor=north west} - ] - \addplot+[#1] coordinates {(0,0) (1,1) (2,1) (3,2)} \closedcycle; - \addplot+[#1] coordinates {(0,0) (1,1) (2,1) (3,2)} \closedcycle; - \addplot+[#1] coordinates {(0,0) (1,1) (2,1) (3,2)} \closedcycle; - \legend{1,2,3}% - \end{axis} -\end{tikzpicture} -} - -\example{} - -\example{fill} -\endgroup - -\testsubsubsection{with closedcycle and const plots} -\begingroup -\def\example#1{% -\begin{tikzpicture}[#1] - \begin{axis}[stack plots=y, - legend style={at={(0.03,0.97)},anchor=north west} - ] - \addplot+[fill] coordinates {(0,0.5) (1,1) (2,1) (3,2) (4,2)} \closedcycle; - \addplot+[fill] coordinates {(0,0.5) (1,1) (2,1) (3,2) (4,2)} \closedcycle; - \addplot+[fill] coordinates {(0,0.5) (1,1) (2,1) (3,2) (4,2)} \closedcycle; - \legend{1,2,3}% - \end{axis} -\end{tikzpicture} -} - -\example{const plot mark left} - -\example{const plot mark right} -\endgroup - -\testsubsection{stack y, ybar} -\begin{tikzpicture} - \begin{axis}[ - ybar stacked, - legend style={at={(0.03,0.97)},anchor=north west}, - ] - \addplot coordinates {(0,0) (1,1) (2,1) (3,2)}; - \addplot coordinates {(0,0) (1,1) (2,1) (3,2)}; - \addplot coordinates {(0,0) (1,1) (2,1) (3,2)}; - \legend{1,2,3}% - \end{axis} -\end{tikzpicture} - -\testsubsection{stack y, ybar, minus} -\begin{tikzpicture} - \begin{axis}[ - ybar stacked=minus, - ] - \addplot coordinates {(0,0) (1,1) (2,1) (3,2)}; - \addplot coordinates {(0,0) (1,1) (2,1) (3,2)}; - \addplot coordinates {(0,0) (1,1) (2,1) (3,2)}; - \legend{1,2,3}% - \end{axis} -\end{tikzpicture} - -\testsubsection{stack x, sharp plot [not useful]} -\begin{tikzpicture} -%\tracingmacros=2\tracingcommands=2 - \begin{axis}[stack plots=x, - legend style={at={(0.97,0.03)},anchor=south east}, - xtick={0,...,30}, - ] - \addplot coordinates {(2,0) (1,1) (1,2) (3,3)}; - \addplot coordinates {(2,0) (1,1) (1,2) (3,3)}; - \addplot coordinates {(2,0) (1,1) (1,2) (3,3)}; - \legend{1,2,3}% - \end{axis} -%\tracingmacros=0\tracingcommands=0 -\end{tikzpicture} - -\testsubsection{stack x, xbar} -\begin{tikzpicture} - \begin{axis}[ - xbar stacked, - xtick={0,...,30}, - legend style={at={(0.97,0.03)},anchor=south east}, - ] - \addplot coordinates {(2,0) (1,1) (1,2) (3,3)}; - \addplot coordinates {(2,0) (1,1) (1,2) (3,3)}; - \addplot coordinates {(2,0) (1,1) (1,2) (3,3)}; - \legend{1,2,3}% - \end{axis} -\end{tikzpicture} - -\testsubsection{stack x, xbar, minus} -\begin{tikzpicture} - \begin{axis}[xbar stacked=minus] - \addplot coordinates {(2,0) (1,1) (1,2) (3,3)}; - \addplot coordinates {(2,0) (1,1) (1,2) (3,3)}; - \addplot coordinates {(2,0) (1,1) (1,2) (3,3)}; - \legend{1,2,3}% - \end{axis} -\end{tikzpicture} - -\testsection{Bar diagrams} -{ -\begin{tikzpicture} - \begin{axis}[ - %xmin=1925,xmax=1975,disabledatascaling=false, - %xtick={1930,1940,1950,1960,1970}, - x tick label style={/pgf/number format/set thousands separator=}, - ylabel=Population, - enlargelimits=0.15, - legend style={at={(0.5,-0.1)},anchor=north,legend columns=-1}, - ybar, - ] -%\tracingmacros=2\tracingcommands=2 - \addplot[draw=blue,mark=none,fill=blue!80!black] - plot coordinates {(1930,50e6) (1940,33e6) (1950,40e6) (1960,50e6) (1970,70e6)}; - \addlegendentry{FarFarAway} - - \addplot[mark=none,red,fill=red!80!black] - plot coordinates {(1930,38e6) (1940,42e6) (1950,43e6) (1960,45e6) (1970,65e6)}; - \addlegendentry{NotSoFar} - - \addplot[mark=none,brown,fill=brown!80!black] - plot coordinates {(1930,15e6) (1940,12e6) (1950,13e6) (1960,25e6) (1970,35e6)}; - \addlegendentry{Near} - \end{axis} -\end{tikzpicture} - -\testsubsection{Interval bar handlers} -\begin{tikzpicture} - \begin{axis}[ - x tick label style={/pgf/number format/set thousands separator=}, - ylabel=Population, - enlargelimits=0.05, - legend style={at={(0.5,-0.1)},anchor=north,legend columns=-1}, - ybar interval=0.7, - ] - \addplot[draw=blue,mark=none,fill=blue!80!black] - plot coordinates {(1930,50e6) (1940,33e6) (1950,40e6) (1960,50e6) (1970,70e6) (1980,70e6)}; - \addlegendentry{FarFarAway} - - \addplot[mark=none,red,fill=red!80!black] - plot coordinates {(1930,38e6) (1940,42e6) (1950,43e6) (1960,45e6) (1970,65e6) (1980,70e6)}; - \addlegendentry{NotSoFar} - - \addplot[mark=none,brown,fill=brown!80!black] - plot coordinates {(1930,15e6) (1940,12e6) (1950,13e6) (1960,25e6) (1970,35e6) (1980,70e6)}; - \addlegendentry{Near} - \end{axis} -\end{tikzpicture} - -\begin{tikzpicture} - \begin{axis}[ - xmin=0,xmax=53, - ylabel=Age, - xlabel=Quantity, - y label style={yshift=0.7cm}, - enlargelimits=false, - ytick={5,10,13,18,21,25,30,50,70}, - yticklabel={$\pgfmathprintnumber{\tick}$ -- $\pgfmathprintnumber{\nexttick}$}, - xbar interval, - ] - \addplot[draw=blue,mark=none,fill=blue!80!black] - plot coordinates {(10,5) (10.5,10) (15,13) (24,18) (50,21) (23,25) (10,30) (3,50) (3,70)}; - \end{axis} -\end{tikzpicture} - - -\testsection{const plot} -\begin{tikzpicture} - \begin{axis} - \addplot+[const plot] - coordinates {(0,0.1) (0.1,0.2) (0.2,0.2) (0.3,0.5) (0.4,0.45) (0.5,1) (0.6,1) (0.7,0.1) (0.8,0.15) (0.9,0.2) (1,0.2)}; - \end{axis} -\end{tikzpicture} - -\testsection{const plot mark right} -\begin{tikzpicture} - \begin{axis} - \addplot+[const plot mark right] - coordinates {(0,0.1) (0.1,0.2) (0.2,0.2) (0.3,0.5) (0.4,0.45) (0.5,1) (0.6,1) (0.7,0.1) (0.8,0.15) (0.9,0.2) (1,0.2)}; - \end{axis} -\end{tikzpicture} - -\testsection{jump mark right} -\begin{tikzpicture} - \begin{axis} - \addplot+[jump mark right] - coordinates {(0,0.1) (0.1,0.2) (0.2,0.2) (0.3,0.5) (0.4,0.45) (0.5,1) (0.6,1) (0.7,0.1) (0.8,0.15) (0.9,0.2) (1,0.2)}; - \end{axis} -\end{tikzpicture} - -\testsection{jump mark left} -\begin{tikzpicture} - \begin{axis} - \addplot+[jump mark left] - coordinates {(0,0.1) (0.1,0.2) (0.2,0.2) (0.3,0.5) (0.4,0.45) (0.5,1) (0.6,1) (0.7,0.1) (0.8,0.15) (0.9,0.2) (1,0.2)}; - \end{axis} -\end{tikzpicture} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.scaling.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.scaling.tex deleted file mode 100644 index d52d8024dab..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.scaling.tex +++ /dev/null @@ -1,478 +0,0 @@ -\testfile{pgfplotstest.scaling.tex} -\testsection{Standard placement normal plot} -\begin{tikzpicture} -\begin{axis} -\smallplotstest -\end{axis} -\end{tikzpicture} - - -\testsection{Scaling tests} -\testsubsection{width=5cm} -\begin{tikzpicture} -\begin{axis}[width=5cm] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{width=linewidth} -\begin{tikzpicture} -\begin{axis}[width=\linewidth] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{width=linewidth, height=textheight} -\begin{tikzpicture} -\begin{axis}[height=\textheight,width=\linewidth] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{height=3cm} -\begin{tikzpicture} -\begin{axis}[height=3cm] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{x=3cm} -\hrule width3cm height1pt -\vskip10pt -\begin{tikzpicture}[baseline] -\begin{axis}[x=3cm] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{x=3cm, y=4cm} -\hrule width3cm height1pt -\noindent -\vrule height4cm width1pt -\hskip10pt -\begin{tikzpicture}[baseline] -\begin{axis}[x=3cm,y=4cm] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{y=3cm} -\noindent -\vrule height3cm width1pt -\hskip10pt -\begin{tikzpicture}[baseline] -\begin{axis}[y=3cm] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{Scale vs. Datascale trafo} -All should have the same size; especially the same height. -This tests the data scale transformation and rounding inaccuracies during the computation of $x$~and~$y$ unit vectors, -\[ x = \frac{W}{T(\bar x) - T(\underline x)}. \] -The larger $x$, the higher the scaling accuracy. Large $x$ means small $T(\bar x) - T(\underline x)$ (relative to width~$W$). But this implies low accuracy for the input data! And nobody wants inaccurate plots. - -The datascale transformation~$T$ is set up such that $O(W) = O(x)$, but I am not sure if I need to adjust some parameters. Some parameters lead to inaccurate~$x$ and~$y$ vectors, such that axis sizes are \emph{not} the same although $W$~and~$H$ (width and height) are the same. - -\noindent -{\pgfplotsset{every picture/.append style={baseline}} -\pgfplotsset{every axis/.append style={width=3cm,scale only axis,ytick=\empty,cycle list=blue}}% -\def\TESTPLOTS{% -\begin{tikzpicture}% -\begin{axis} -\addplot plot coordinates { - (0.000000, 0.113142) - (0.062500, 0.114457) - (0.125000, 0.115773) - (0.187500, 0.117088) - (0.250000, 0.118404) - (0.312500, 0.119719) - (0.375000, 0.121035) - (0.437500, 0.122350) - (0.500000, 0.123666) - (0.562500, 0.124981) - (0.625000, 0.126297) - (0.687500, 0.127612) - (0.750000, 0.128928) - (0.812500, 0.130243) - (0.875000, 0.131559) - (0.937500, 0.132874) - (1.000000, 0.134190) -}; -\end{axis} -\end{tikzpicture}% -\begin{tikzpicture}% -\begin{axis} -\addplot plot coordinates { - (0.000000, 0.192392) - (0.020408, 0.551660) - (0.040816, 0.816371) - (0.061224, 0.957528) - (0.081633, 0.936301) - (0.102041, 0.784097) - (0.122449, 0.539922) - (0.142857, 0.257432) - (0.163265, -0.039651) - (0.183673, -0.313379) - (0.204082, -0.533386) - (0.224490, -0.712582) - (0.244898, -0.856655) - (0.265306, -0.932880) - (0.285714, -0.953862) - (0.306122, -0.957749) - (0.326531, -0.890993) - (0.346939, -0.774152) - (0.367347, -0.602360) - (0.387755, -0.396801) - (0.408163, -0.132261) - (0.428571, 0.161664) - (0.448980, 0.460018) - (0.469388, 0.720198) - (0.489796, 0.880398) - (0.510204, 0.967384) - (0.530612, 0.900632) - (0.551020, 0.729232) - (0.571429, 0.460479) - (0.591837, 0.155311) - (0.612245, -0.153827) - (0.632653, -0.430787) - (0.653061, -0.653561) - (0.673469, -0.819444) - (0.693878, -0.931060) - (0.714286, -0.984394) - (0.734694, -0.981970) - (0.755102, -0.940272) - (0.775510, -0.825804) - (0.795918, -0.664138) - (0.816327, -0.465371) - (0.836735, -0.219185) - (0.857143, 0.070697) - (0.877551, 0.377456) - (0.897959, 0.658660) - (0.918367, 0.853564) - (0.938776, 0.925472) - (0.959184, 0.868936) - (0.979592, 0.629528) - (1.000000, 0.228732) -}; -\end{axis} -\end{tikzpicture}% -\begin{tikzpicture}% -\begin{axis} - -\addplot plot coordinates { - (0.000000, 0.112104) - (0.062500, 0.098029) - (0.125000, 0.083954) - (0.187500, 0.069879) - (0.250000, 0.055804) - (0.312500, 0.041729) - (0.375000, 0.027654) - (0.437500, 0.013579) - (0.500000, -0.000496) - (0.562500, -0.014571) - (0.625000, -0.028646) - (0.687500, -0.042722) - (0.750000, -0.056797) - (0.812500, -0.070872) - (0.875000, -0.084947) - (0.937500, -0.099022) - (1.000000, -0.113097) -}; -\end{axis} -\end{tikzpicture}% -\begin{tikzpicture}% -\begin{axis} -\addplot plot coordinates { - (0.000000, -0.963159) - (0.020408, -0.781664) - (0.040816, -0.488585) - (0.061224, -0.137738) - (0.081633, 0.234861) - (0.102041, 0.556489) - (0.122449, 0.791942) - (0.142857, 0.941856) - (0.163265, 0.977486) - (0.183673, 0.930499) - (0.204082, 0.809581) - (0.224490, 0.653308) - (0.244898, 0.474588) - (0.265306, 0.268631) - (0.285714, 0.048692) - (0.306122, -0.168568) - (0.326531, -0.380963) - (0.346939, -0.577633) - (0.367347, -0.751043) - (0.387755, -0.893755) - (0.408163, -0.960465) - (0.428571, -0.932380) - (0.448980, -0.841830) - (0.469388, -0.650880) - (0.489796, -0.346509) - (0.510204, -0.007265) - (0.530612, 0.329744) - (0.551020, 0.621489) - (0.571429, 0.826905) - (0.591837, 0.947602) - (0.612245, 0.956706) - (0.632653, 0.872426) - (0.653061, 0.724325) - (0.673469, 0.528915) - (0.693878, 0.310032) - (0.714286, 0.081807) - (0.734694, -0.143046) - (0.755102, -0.363063) - (0.775510, -0.559141) - (0.795918, -0.733031) - (0.816327, -0.880063) - (0.836735, -0.959350) - (0.857143, -0.968957) - (0.877551, -0.885145) - (0.897959, -0.702171) - (0.918367, -0.410704) - (0.938776, -0.035900) - (0.959184, 0.359062) - (0.979592, 0.719407) - (1.000000, 0.940563) -}; -\end{axis} -\end{tikzpicture}% -}% -\TESTPLOTS - -once more again without `scale only axis': -\pgfplotsset{every axis/.append style={scale only axis=false}}% - -\TESTPLOTS -} - -\testsubsection{Testing numeric artefacts around tick position `0'} -{\pgfplotsset{every axis/.append style={scaled ticks=false}} -[scaled ticks=false] in this subsection - -\begin{tikzpicture} -\begin{axis} - \addplot coordinates { - (-4.5,-8) - (16,12) - }; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis} - \addplot coordinates { - (-0.7,-8) - (1.3,12) - }; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis} - \addplot coordinates { - (-7000,-0.0008) - (13000,0.0012) - }; -\end{axis} -\end{tikzpicture} -} - -\testsection{Scaling log plots} -\hrule -\nobreak -\vskip10pt -\nobreak -\noindent -\begin{tikzpicture} -\begin{loglogaxis}[width=\linewidth] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{loglogaxis}[width=\linewidth,height=\textheight] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{loglogaxis}[height=5.5cm] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\testsection{Scaletest} - -{ -\pgfplotsset{every axis/.append style={cycle list={% - red,only marks,mark options={fill=red!80!black},mark=*\\% - black,only marks,mark options={fill=black},mark=square*\\% - }}} -\begin{tikzpicture} -\begin{axis}[% - width=8cm, - height=2cm, - xtick=\empty, - ytick=\empty -] - -\addplot plot coordinates { - (0.968555, 0.000000) - (0.984277, 0.000000) - (0.030884, 0.000000) - (0.250000, 0.000000) - (0.750000, 0.000000) - (0.468750, 0.000000) - (0.750000, 0.000000) - (0.484375, 0.000000) - (0.968555, 0.000000) - (0.968555, 0.000000) - (1.000000, 0.000000) - (1.000000, 0.000000) - (0.030176, 0.000000) - (0.250000, 0.000000) - (0.250000, 0.000000) - (0.250000, 0.000000) - (0.750000, 0.000000) - (1.000000, 0.000000) - (0.500000, 0.000000) - (0.500000, 0.000000) - (0.234375, 0.000000) - (0.500000, 0.000000) - (0.750000, 0.000000) - (0.000000, 0.000000) - (0.750000, 0.000000) - (0.468750, 0.000000) - (0.500000, 0.000000) - (0.000000, 0.000000) - (0.468750, 0.000000) - (0.000000, 0.000000) - (0.750000, 0.000000) - (0.000000, 0.000000) - (0.234375, 0.000000) - (1.000000, 0.000000) -}; -\addplot plot coordinates { - (0.367188, 0.000000) - (0.625000, 0.000000) - (0.312500, 0.000000) - (0.656250, 0.000000) - (0.312500, 0.000000) - (0.148438, 0.000000) - (0.125000, 0.000000) - (0.640625, 0.000000) - (0.136719, 0.000000) - (0.875000, 0.000000) - (0.390625, 0.000000) - (0.828125, 0.000000) - (0.875000, 0.000000) - (0.656250, 0.000000) - (0.125000, 0.000000) - (0.343750, 0.000000) - (0.861328, 0.000000) - (0.312500, 0.000000) - (0.578125, 0.000000) - (0.578125, 0.000000) - (0.625000, 0.000000) - (0.375000, 0.000000) - (0.875000, 0.000000) - (0.812500, 0.000000) - (0.847656, 0.000000) - (0.589844, 0.000000) - (0.343750, 0.000000) - (0.125000, 0.000000) - (0.875000, 0.000000) - (0.125000, 0.000000) - (0.609375, 0.000000) - (0.156250, 0.000000) -}; -\end{axis} -\end{tikzpicture} -} - -\testsection{Scaling test for very small or very large x values} -{ -\testsubsection{1e-2} -\begin{tikzpicture} -\begin{axis} - \addplot plot coordinates { - (0.005,1) - (0.01,2) - (0.02,4) - }; -\end{axis} -\end{tikzpicture} - -\testsubsection{1e+2} -% \tracingmacros=2\tracingcommands=2 -\begin{tikzpicture} -\begin{axis} - \addplot plot coordinates { - (50,1) - (100,2) - (200,4) - }; -\end{axis} -\end{tikzpicture} -% \tracingmacros=0\tracingcommands=0 - -\testsubsection{x=1e+11; y=1e-6} -{ -%\pgfplotsset{every x tick label/.append style={font=\Huge}} -%\pgfplotsset{every x tick scale label/.append style={anchor=base}} -\begin{tikzpicture} -\begin{axis} - \addplot plot coordinates { - (5e10,1e-6) - (1e11,2e-6) - (2e11,4e-6) - }; -\end{axis} -\end{tikzpicture} -} - -\testsubsection{1e+1} -\begin{tikzpicture} -\begin{axis} - \addplot plot coordinates { - (5,1) - (10,2) - (20,4) - }; -\end{axis} -\end{tikzpicture} - -\testsubsection{1e+3} -\begin{tikzpicture} -\begin{axis} - \addplot plot coordinates { - (0.5,1e3) - (10,2e3) - (200,4e3) - }; -\end{axis} -\end{tikzpicture} - -\testsubsection{1e+4} -\begin{tikzpicture} -\begin{axis} - \addplot plot coordinates { - (0.1,2e4) - (0.2,4e4) - (0.5,1e4) - }; -\end{axis} -\end{tikzpicture} - -\testsubsection{1e-2, 1e+4} -\begin{tikzpicture} -\begin{axis} - \addplot plot coordinates { - (0.01,2e4) - (0.02,4e4) - (0.05,1e4) - }; -\end{axis} -\end{tikzpicture} -} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.sinneg.gnuplot b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.sinneg.gnuplot deleted file mode 100644 index d892082391d..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.sinneg.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "pgfplotstest.sinneg.table"; set format "%.5f" -set format "\%.7e"; set samples 40; plot [x=-5:5] sin(x) diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.sinneg.table b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.sinneg.table deleted file mode 100644 index 9114bbb94be..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.sinneg.table +++ /dev/null @@ -1,44 +0,0 @@ - -#Curve 0 of 1, 40 points -#x y type --5.0000000e+00 9.5892427e-01 i --4.7435897e+00 9.9951330e-01 i --4.4871795e+00 9.7474735e-01 i --4.2307692e+00 8.8624579e-01 i --3.9743590e+00 7.3979547e-01 i --3.7179487e+00 5.4497229e-01 i --3.4615385e+00 3.1451512e-01 i --3.2051282e+00 6.3492814e-02 i --2.9487179e+00 -1.9168108e-01 i --2.6923077e+00 -4.3432157e-01 i --2.4358974e+00 -6.4856316e-01 i --2.1794872e+00 -8.2039728e-01 i --1.9230769e+00 -9.3858826e-01 i --1.6666667e+00 -9.9540796e-01 i --1.4102564e+00 -9.8714112e-01 i --1.1538462e+00 -9.1432829e-01 i --8.9743590e-01 -7.8173046e-01 i --6.4102564e-01 -5.9801779e-01 i --3.8461538e-01 -3.7520265e-01 i --1.2820513e-01 -1.2785421e-01 i -1.2820513e-01 1.2785421e-01 i -3.8461538e-01 3.7520265e-01 i -6.4102564e-01 5.9801779e-01 i -8.9743590e-01 7.8173046e-01 i -1.1538462e+00 9.1432829e-01 i -1.4102564e+00 9.8714112e-01 i -1.6666667e+00 9.9540796e-01 i -1.9230769e+00 9.3858826e-01 i -2.1794872e+00 8.2039728e-01 i -2.4358974e+00 6.4856316e-01 i -2.6923077e+00 4.3432157e-01 i -2.9487179e+00 1.9168108e-01 i -3.2051282e+00 -6.3492814e-02 i -3.4615385e+00 -3.1451512e-01 i -3.7179487e+00 -5.4497229e-01 i -3.9743590e+00 -7.3979547e-01 i -4.2307692e+00 -8.8624579e-01 i -4.4871795e+00 -9.7474735e-01 i -4.7435897e+00 -9.9951330e-01 i -5.0000000e+00 -9.5892427e-01 i - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot.gnuplot b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot.gnuplot deleted file mode 100644 index 4111f8a51c0..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "pgfplotstest.styledplot.table"; set format "%.5f" -set format "\%.7e"; set samples 25; plot [x=-5:5] (40*x**2 - 5*x +3)/2000 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot.table b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot.table deleted file mode 100644 index 09a6e32bac9..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot.table +++ /dev/null @@ -1,29 +0,0 @@ - -#Curve 0 of 1, 25 points -#x y type --5.00000 0.51400 i --4.58333 0.43310 i --4.16667 0.35914 i --3.75000 0.29213 i --3.33333 0.23206 i --2.91667 0.17893 i --2.50000 0.13275 i --2.08333 0.09351 i --1.66667 0.06122 i --1.25000 0.03587 i --0.83333 0.01747 i --0.41667 0.00601 i -0.00000 0.00150 i -0.41667 0.00393 i -0.83333 0.01331 i -1.25000 0.02962 i -1.66667 0.05289 i -2.08333 0.08310 i -2.50000 0.12025 i -2.91667 0.16435 i -3.33333 0.21539 i -3.75000 0.27337 i -4.16667 0.33831 i -4.58333 0.41018 i -5.00000 0.48900 i - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot2.gnuplot b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot2.gnuplot deleted file mode 100644 index 0d28a61916f..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot2.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "pgfplotstest.styledplot2.table"; set format "%.5f" -set format "\%.7e"; set samples 25; plot [x=-5:5] (x**5 - 3)/2000 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot2.table b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot2.table deleted file mode 100644 index 2ccfd17f9fe..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot2.table +++ /dev/null @@ -1,29 +0,0 @@ - -#Curve 0 of 1, 25 points -#x y type --5.00000 -1.56400 i --4.58333 -1.01279 i --4.16667 -0.62943 i --3.75000 -0.37229 i --3.33333 -0.20726 i --2.91667 -0.10704 i --2.50000 -0.05033 i --2.08333 -0.02112 i --1.66667 -0.00793 i --1.25000 -0.00303 i --0.83333 -0.00170 i --0.41667 -0.00151 i -0.00000 -0.00150 i -0.41667 -0.00149 i -0.83333 -0.00130 i -1.25000 0.00003 i -1.66667 0.00493 i -2.08333 0.01812 i -2.50000 0.04733 i -2.91667 0.10404 i -3.33333 0.20426 i -3.75000 0.36929 i -4.16667 0.62643 i -4.58333 1.00979 i -5.00000 1.56100 i - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styles.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styles.tex deleted file mode 100644 index 164ce85dc08..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styles.tex +++ /dev/null @@ -1,135 +0,0 @@ -\testfile{pgfplotstest.styles.tex} -\testsection{Style--tests} -\testsubsection{Limits in `every axis'; `cycle list' option and `cycle list name' option} -{ -%\tracingmacros=2\tracingcommands=2 -\pgfplotsset{every linear axis/.append style={xmin=-3,xmax=3}} -\pgfplotsset{every linear axis/.append style={cycle list name={\blackwhiteplotspeclist}}} -\pgfplotsset{every loglog axis/.append style={cycle list={green\\yellow\\}}} -\begin{tikzpicture} - \begin{axis} - \smallplotstest - \end{axis} -\end{tikzpicture} - -\testsubsection{testing `every loglog axis' style} -\begin{tikzpicture} - \begin{loglogaxis} - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} -} - -\testsubsection{Using several `every ...' styles} -{ -\pgfplotsset{every axis/.append style={ylabel={$L_2$ Error},line width=1pt,mark=*}} -\pgfplotsset{every axis x label/.append style={name=my x label}} -\pgfplotsset{every axis legend/.append style={legend columns=2}} -\pgfplotsset{every loglog axis/.append style={xmin=1e2,xmax=1e4}} -\begin{tikzpicture} - \begin{loglogaxis}[xlabel={A -- quite long -- $x$ label}] - \loglogtestplot - \end{loglogaxis} - \fill[red] (my x label.south east) circle(0.3cm); -\end{tikzpicture} -} - -\testsubsection{Using the `style=' option} -{ -\pgfkeys{/pgfplots/my personal axis/.style={ylabel=Mine!,cycle list name=\blackwhiteplotspeclist,title=My personal title,title style={font=\Huge}}} -\begin{tikzpicture} - \begin{loglogaxis}[my personal axis] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} -} - -\testsubsection{legend style, grid style, x label style etc. options} -{ -\pgfplotsset{every loglog axis/.append style={legend style={legend columns=2,draw=yellow}}} -\pgfplotsset{every axis/.append style={grid style={grid=major}}} -\pgfplotsset{every axis/.append style={x label style={xlabel=Dof,font=\bfseries\Huge},x tick label style={font=\large}}} -\begin{tikzpicture} - \begin{loglogaxis} - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - -\testsubsection{Providing TikZ-options to either tikzpicture or axis} -\begin{tikzpicture}[color=blue] - \begin{loglogaxis} - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} - -\begin{tikzpicture} - \begin{loglogaxis}[/tikz/color=blue] - \loglogtestplot - \end{loglogaxis} -\end{tikzpicture} -} - -\testsubsection{Collecting many options together} -\begin{tikzpicture} - \begin{axis}[ - legend style={legend columns=2}, - grid style={draw=brown}, - grid=major, - max space between ticks=25, - name=a styled plot, - y tick label style={/pgf/number format/fixed zerofill,/pgf/number format/use comma,/pgf/number format/precision=3}, - tick label style={/pgf/number format/sci,/pgf/number format/sci e,font=\footnotesize}, - ] - - \addplot plot[id=styledplot] function{(40*x**2 - 5*x +3)/2000}; - \addlegendentry{$\frac{1}{2000}(40x^2 - 5x +3)$} - - \addplot plot[id=styledplot2] function{(x**5 - 3)/2000}; - \addlegendentry{$\frac{1}{2000}(x^5 - 3)$} - - \end{axis} -\end{tikzpicture} - -\testsubsubsection{Putting the same options into a style...} -{\pgfkeys{/pgfplots/my style/.style={ - legend style={legend columns=2}, - grid style={draw=brown}, - grid=major, - max space between ticks=25, - name=a styled plot, - y tick label style={/pgf/number format/fixed zerofill,/pgf/number format/use comma,/pgf/number format/precision=3}, - tick label style={/pgf/number format/sci,/pgf/number format/sci e,font=\footnotesize}, - } -}% -\begin{tikzpicture} - \begin{axis}[my style] - - \addplot plot[id=styledplot] function{(40*x**2 - 5*x +3)/2000}; - \addlegendentry{$\frac{1}{2000}(40x^2 - 5x +3)$} - - \addplot plot[id=styledplot2] function{(x**5 - 3)/2000}; - \addlegendentry{$\frac{1}{2000}(x^5 - 3)$} - - \end{axis} -\end{tikzpicture} - -\testsubsection{Line width} -\testsubsubsection{2pt global} -{ -\tikzset{every picture/.style={line width=2pt}} -\begin{tikzpicture} - \begin{axis}[grid =major] - \addplot coordinates {(0,0) (4,4)}; - \end{axis} -\end{tikzpicture} -} - -\testsubsubsection{2pt in every axis} -{ -\pgfplotsset{every axis/.append style={line width=2pt}} -\begin{tikzpicture} - \begin{axis}[grid =major] - \addplot coordinates {(0,0) (4,4)}; - \end{axis} -\end{tikzpicture} -} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.tex deleted file mode 100644 index 2d5ca9f0dac..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.tex +++ /dev/null @@ -1,182 +0,0 @@ -\documentclass[a4paper,twocolumn]{report} -\usepackage[intlimits]{amsmath} -\usepackage{amssymb} -\usepackage{amsfonts} -\usepackage{listings} -\usepackage{courier} -\usepackage{rotating} -\lstset{% - basicstyle=\ttfamily, - language=[LaTeX]tex, % Seems as if \lstset{language=tex} must be invoked BEFORE loading tikz!? - tabsize=4, - breaklines=true, - breakindent=0pt -} - -\usepackage{ifpdf} -\ifpdf - \usepackage[pdftex]{hyperref} - \pdfinfo { - /Author (Christian Feuersaenger) - } - \usepackage[a4paper,noheadfoot,pdftex,left=0.8cm,right=1cm,top=0.8cm,bottom=0.8cm]{geometry} - -\else - \usepackage[a4paper,noheadfoot,dvipdfm,left=0.8cm,right=1cm,top=0.8cm,bottom=0.8cm]{geometry} - \usepackage[dvipdfm]{hyperref} - \def\pgfsysdriver{pgfsys-dvipdfm.def} -\fi -%\def\pgfsysdriver{pgfsys-pdftex.def} -\usepackage{pgfplots} -\usetikzlibrary{patterns} - -\pgfrealjobname{pgfplotstest} - -\def\testfile#1{\chapter{#1}} -\def\testsection#1{\message{STARTING TEST SECTION '#1'}\section{#1}} -\def\testsubsection#1{\message{STARTING TEST SUBSECTION '#1'}\subsection{#1}} -\def\testsubsubsection#1{\message{STARTING TEST SUBSUBSECTION '#1'}\subsubsection{#1}} - -\def\smallplotstest{% -\addplot[smooth,blue,mark=*] coordinates { - (-1, 1) - (-0.75, 0.5625) - (-0.5, 0.25) - (-0.25, 0.0625) - (0, 0) - (0.25, 0.0625) - (0.5, 0.25) - (0.75, 0.5625) - (1, 1) -}; -} - -\def\loglogtestplot{ -\addplot plot coordinates { - (5, 8.311600e-02) - (17, 2.546856e-02) - (49, 7.407153e-03) - (129, 2.101922e-03) - (321, 5.873530e-04) - (769, 1.622699e-04) - (1793, 4.442489e-05) - (4097, 1.207141e-05) - (9217, 3.261015e-06) -}; -\addlegendentry{$d=2$} - -\addplot plot coordinates { - (7, 8.471784e-02) - (31, 3.044093e-02) - (111, 1.022145e-02) - (351, 3.303463e-03) - (1023, 1.038865e-03) - (2815, 3.196465e-04) - (7423, 9.657898e-05) - (18943, 2.873391e-05) - (47103, 8.437499e-06) -}; -\addlegendentry{$d=3$} -}% - -\def\manylogplotsnolegend{% - \addplot plot coordinates { - (5, 8.312e-02) - (17, 2.547e-02) - (49, 7.407e-03) - (129, 2.102e-03) - (321, 5.874e-04) - (769, 1.623e-04) - (1793, 4.442e-05) - (4097, 1.207e-05) - (9217, 3.261e-06) - }; - - \addplot plot coordinates { - (7, 8.472e-02) - (31, 3.044e-02) - (111, 1.022e-02) - (351, 3.303e-03) - (1023, 1.039e-03) - (2815, 3.196e-04) - (7423, 9.658e-05) - (18943, 2.873e-05) - (47103, 8.437e-06) - }; - - \addplot plot coordinates { - (9, 7.881e-02) - (49, 3.243e-02) - (209, 1.232e-02) - (769, 4.454e-03) - (2561, 1.551e-03) - (7937, 5.236e-04) - (23297, 1.723e-04) - (65537, 5.545e-05) - (178177, 1.751e-05) - }; - - \addplot plot coordinates { - (11, 6.887e-02) - (71, 3.177e-02) - (351, 1.341e-02) - (1471, 5.334e-03) - (5503, 2.027e-03) - (18943, 7.415e-04) - (61183, 2.628e-04) - (187903, 9.063e-05) - (553983, 3.053e-05) - }; - - \addplot plot coordinates { - (13, 5.755e-02) - (97, 2.925e-02) - (545, 1.351e-02) - (2561, 5.842e-03) - (10625, 2.397e-03) - (40193, 9.414e-04) - (141569, 3.564e-04) - (471041, 1.308e-04) - (1496065, 4.670e-05) - }; - \legend{$d=2$\\$d=3$\\$d=4$\\$d=5$\\$d=6$\\} -}% - -\def\manylogplots{% - \manylogplotsnolegend - \legend{$d=2$\\$d=3$\\$d=4$\\$d=5$\\$d=6$\\} -}% - -%\includeonly{pgfplotstest.axislines} - -\parindent=0pt -\parskip=5pt - -\author{Christian Feuers\"anger} -\title{Tests for pgfplots.sty} - -\begin{document} -\maketitle -\tableofcontents - -\raggedbottom - -\include{pgfplotstest.file} -\include{pgfplotstest.function} -\include{pgfplotstest.expr} -\include{pgfplotstest.axispath}% -\include{pgfplotstest.axislines} -\include{pgfplotstest.scaling} -\include{pgfplotstest.ticks} -\include{pgfplotstest.enlargelimits} -\include{pgfplotstest.logplotenv} -\include{pgfplotstest.hansmeine_app} -\include{pgfplotstest.legend} -\include{pgfplotstest.misc} -\include{pgfplotstest.align} -\include{pgfplotstest.gridtick} -\include{pgfplotstest.styles} -\include{pgfplotstest.errorbars}% -\include{pgfplotstest.plottypes} - -\end{document} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.ticks.tex b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.ticks.tex deleted file mode 100644 index e687e1055e2..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.ticks.tex +++ /dev/null @@ -1,296 +0,0 @@ -\testfile{pgfplotstest.ticks.tex} -\testsection{Minor ticks} -\begin{tikzpicture} -\begin{axis}[minor tick num=3] -\smallplotstest -\end{axis} -\end{tikzpicture} -%\endinput -\begin{tikzpicture} -\begin{axis}[minor tick num=1] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[minor tick num=5] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -%\tracingmacros=2\tracingcommands=2 -\begin{axis}[minor tick num=5,xtick={0.5,1,2,2.5,3}] -\smallplotstest -\end{axis} -%\tracingmacros=0\tracingcommands=0 -\end{tikzpicture} - -\testsection{Tick placement} -\begin{tikzpicture} -\begin{axis}[ - xtick={-1.5,-1,...,1.5}, - ytick={-0.5,0,...,1.5}, - ] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[ - xmin=0,xmax=1, - xtick={-1.5,-1.25,...,1.5}] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{xtick=data} -\begin{tikzpicture} -\begin{axis}[xtick=data,xmajorgrids] -\addplot coordinates {(0,0) (0.4,1) (1,2) (1.2,3) (4,5)}; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{axis}[xtick=data,xmajorgrids] -\addplot coordinates {(0,0) (0.4,1) (1,2) (1.2,3) (4,5)}; -\addplot coordinates {(0.1,1) (0.5,2) (1.2,3)}; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{loglogaxis}[xtick=data,xmajorgrids] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\testsubsubsection{ytick=data} -\begin{tikzpicture} -\begin{axis}[ytick=data,ymajorgrids] -\addplot coordinates {(0,0) (0.4,1) (1,2) (1.2,3) (4,5)}; -\addplot coordinates {(0.1,1) (0.5,2) (1.2,3)}; -\end{axis} -\end{tikzpicture} - -\begin{tikzpicture} -\begin{loglogaxis}[ytick=data,ymajorgrids] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{ticks on axis rectangle} -First plot: default tick style; second plot: red, third: 'help lines' - -{\pgfplotsset{every axis/.append style={ - enlargelimits=false, - xmin=-40,xmax=40,ymin=-40,ymax=40, - xtick={-40,0,40}, - ytick={-40,0,40} -}}% -\begin{tikzpicture} -\begin{axis}[ -] -\addplot coordinates {(-40,-40) (40,40)}; -\end{axis} -\end{tikzpicture} -\begin{tikzpicture} -\begin{axis}[ - tick style={red,line width=5pt,major tick length=20pt}, -] -\addplot coordinates {(-40,-40) (40,40)}; -\end{axis} -\end{tikzpicture} -\begin{tikzpicture} -\begin{axis}[ - tick style={help lines}, -] -\addplot coordinates {(-40,-40) (40,40)}; -\end{axis} -\end{tikzpicture} -} - -\testsubsection{modified labels} - -{ -\pgfplotsset{every axis label/.style={}} -\pgfplotsset{every axis x label/.style={ - at={(0.5,1)}, - above, - yshift=+15pt}} -\pgfplotsset{every axis y label/.style={ - at={(1,0.5)}, - xshift=+35pt, - rotate=90}} - -\begin{tikzpicture} -\begin{axis}[ - xlabel=$x$ axis, - ylabel=$y$ axis, - xmin=0,xmax=1, - tickpos=right, - xtick={-1.5,-1.25,...,1.5}] -\smallplotstest -\end{axis} -\end{tikzpicture} -} - -\begin{tikzpicture} -\begin{axis}[ - xlabel=$x$ axis, - ylabel=$y$ axis, - xmin=0,xmax=1, - tickpos=both, - xtick={-1.5,-1.25,...,1.5}] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsection{Tick label assigment tests} -\testsubsection{Using xticklabel and xtick} -\begin{tikzpicture} -\begin{axis}[ - xtick={-1.5,-1,...,1.5}, - xticklabel={% - \ifcase\ticknum $-1\frac12$% - \or $-1$% - \or $-\frac12$% - \or $0$% - \or $\frac12$% - \or $1$% - \or $1\frac12$% - \else $\tick$% - \fi - } -] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{Using xticklabels}% -\begin{tikzpicture} -\begin{axis}[ - xtick={-1.5,-1,...,1.5}, - xticklabels={% - $-1\frac 12$, - $-1$, - $-\frac 12$, - $0$, - $\frac 12$, - $1$} -] -\smallplotstest -\end{axis} -\end{tikzpicture} - -\testsubsection{With xtick labels and commas by hand} -\begin{tikzpicture} -\begin{axis}[ - xtick={-1.5,-1,...,1.5}, - xticklabels={% - {-1,5}, - -1, - {-0,5}, - 0, - {0,5}, - 1, - {1,5}} -] -\smallplotstest -\end{axis} -\end{tikzpicture} - -{ -\testsubsection{Only with auto number formatting options; different for x and y} -%\tracingmacros=2\tracingcommands=2 -\begin{tikzpicture} -\begin{axis}[ - xtick={-1.5,-1,...,1.5}, - x tick label style={/pgf/number format/use comma}, - y tick label style={/pgf/number format/.cd,use comma,fixed zerofill,precision=3}, -] -\smallplotstest -\end{axis} -\end{tikzpicture} -} - -\testsubsection{Using yticklabels in logplot}% -{ -\def\tickformat#1{1e#1}% -\begin{tikzpicture} -\begin{loglogaxis}[ - ytick={1e-8,1e-7,1e-6,1e-5,1e-4,1e-3,1e-2,1e-1,1e0,1e1}, - yticklabels={% - \tickformat{-8}, - \tickformat{-7}, - \tickformat{-6}, - \tickformat{-5}, - \tickformat{-4}, - \tickformat{-3}, - \tickformat{-2}, - \tickformat{-1}, - \tickformat{-0}} -] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} -} - -\testsection{Tick/Tick-Label placement log plots} -\testsubsection{ytickten} -\begin{tikzpicture} -\begin{loglogaxis}[ - %xmin=0.99e2,xmax=1e4, - ytickten={-5,-4,-3.6,-3,-2,-1,0}, - yticklabel={ - \ifnum\ticknum=2 - $\rightarrow$ - \else - \axisdefaultticklabellog - \fi - } -] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{ytick} -\begin{tikzpicture} -\begin{loglogaxis}[ - ytick={1e-5,1e-4,0.000251188643,1e-3,1e-2,1e-1,1e0}, -] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{extra y ticks} -\begin{tikzpicture} -\begin{loglogaxis}[ - extra y ticks={0.000251188643,5e-2}, -] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{extra y ticks and formatted label} -\begin{tikzpicture} -\begin{loglogaxis}[ - extra y ticks={0.000251188643,5e-2}, -] -\loglogtestplot -\end{loglogaxis} -\end{tikzpicture} - -\testsubsection{extra x and y ticks, linear plot} -\begin{tikzpicture} -\begin{axis}[ - xmin=0,xmax=3,ymin=0,ymax=15, - extra y ticks={2.71828}, - extra y tick labels={$e$}, - extra x ticks={2.2}, - extra x tick style={grid=major,/pgfplots/tick label style={rotate=90,anchor=east}}, - extra x tick labels={Cut} -] - \addplot (\x,{exp(\x)}); - \addlegendentry{$e^x$} -\end{axis} -\end{tikzpicture} diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot deleted file mode 100644 index 8d428466c93..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot +++ /dev/null @@ -1,11 +0,0 @@ -G Basis dof L2 L2_abserror A Lmax Lmax_relerror cgiter cgiter_err maxlevel eps -$flags int int int sci:8 sci:8 sci:8 sci:8 sci:8 int sci:8 int std:8 -5 5 5 8.31160034e-02 1e-2 0.00000000e+00 1.80007647e-01 0 2 1 2 -1 -17 17 17 2.54685628e-02 0 0.00000000e+00 3.75580565e-02 0.7 5 1 3 -1 -49 49 49 7.40715288e-03 5e-3 0.00000000e+00 1.49212716e-02 0.5 11 2 4 -1 -129 129 129 2.10192154e-03 1e-1 0.00000000e+00 4.23330523e-03 0.9 26 3 5 -1 -321 321 321 5.87352989e-04 0 0.00000000e+00 1.30668515e-03 0.2 43 3 6 -1 -769 769 769 1.62269942e-04 1e-4 0.00000000e+00 3.88658098e-04 0.25 49 2 7 -1 -1793 1793 1793 4.44248889e-05 1e-5 0.00000000e+00 1.12651668e-04 0.4 52 0 8 -1 -4097 4097 4097 1.20714122e-05 0.5e-5 0.00000000e+00 3.20339285e-05 0.3 56 4 9 -1 -9217 9217 9217 3.26101452e-06 0.7e-6 0.00000000e+00 8.97617707e-06 0.5 59 3 10 -1 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot2.gnuplot b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot2.gnuplot deleted file mode 100644 index d3f7299e19e..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot2.gnuplot +++ /dev/null @@ -1,22 +0,0 @@ -#Curve 0 of 1, 20 points -#x y type -0.00000 0.00000 i -0.52632 0.50235 i -1.05263 0.86873 i -1.57895 0.99997 i -2.10526 0.86054 i -2.63158 0.48819 i -3.15789 -0.01630 i -3.68421 -0.51638 i -4.21053 -0.87669 i -4.73684 -0.99970 i -5.26316 -0.85212 i -5.78947 -0.47390 i -6.31579 0.03260 i -6.84211 0.53027 i -7.36842 0.88441 i -7.89474 0.99917 i -8.42105 0.84348 i -8.94737 0.45948 i -9.47368 -0.04889 i -10.00000 -0.54402 i diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot3 b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot3 deleted file mode 100644 index 831bfd75ae7..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot3 +++ /dev/null @@ -1,11 +0,0 @@ -G Basis dof L2 A Lmax cgiter maxlevel eps -$flags int int int sci:8 sci:8 sci:8 int int std:8 -7 7 7 8.47178381e-02 0.00000000e+00 2.40709867e-01 2 2 -1 -31 31 31 3.04409349e-02 0.00000000e+00 7.83790314e-02 5 3 -1 -111 111 111 1.02214539e-02 0.00000000e+00 3.08129583e-02 12 4 -1 -351 351 351 3.30346265e-03 0.00000000e+00 1.04183980e-02 29 5 -1 -1023 1023 1023 1.03886535e-03 0.00000000e+00 3.27014492e-03 46 6 -1 -2815 2815 2815 3.19646457e-04 0.00000000e+00 9.82705632e-04 53 7 -1 -7423 7423 7423 9.65789766e-05 0.00000000e+00 2.98443097e-04 57 8 -1 -18943 18943 18943 2.87339125e-05 0.00000000e+00 8.86501125e-05 62 9 -1 -47103 47103 47103 8.43749881e-06 0.00000000e+00 2.62313540e-05 66 10 -1 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot4 b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot4 deleted file mode 100644 index 89ba1a0e1fe..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot4 +++ /dev/null @@ -1,25 +0,0 @@ -#Curve 0 of 1, 20 points -# .5*x**3 - 4*x**2 -16*x**1 -#x y type --40.00000 -37760.00000 i --35.78947 -27472.03966 i --31.57895 -19229.39204 i --27.36842 -12808.11780 i --23.15789 -7984.27759 i --18.94737 -4533.93206 i --14.73684 -2233.14186 i --10.52632 -857.96763 i --6.31579 -184.47004 i --2.10526 11.29028 i -2.10526 -46.74734 i -6.31579 -134.64353 i -10.52632 -28.45896 i -14.73684 495.74574 i -18.94737 1661.90990 i -23.15789 3693.97288 i -27.36842 6815.87403 i -31.57895 11251.55270 i -35.78947 17224.94824 i -40.00000 24960.00000 i - - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot5 b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot5 deleted file mode 100644 index 762342c8d1a..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot5 +++ /dev/null @@ -1,24 +0,0 @@ - -#Curve 0 of 1, 20 points -#x y type -0.00000 0.00000 i -0.52632 0.50235 i -1.05263 0.86873 i -1.57895 0.99997 i -2.10526 0.86054 i -2.63158 0.48819 i -3.15789 -0.01630 i -3.68421 -0.51638 i -4.21053 -0.87669 i -4.73684 -0.99970 i -5.26316 -0.85212 i -5.78947 -0.47390 i -6.31579 0.03260 i -6.84211 0.53027 i -7.36842 0.88441 i -7.89474 0.99917 i -8.42105 0.84348 i -8.94737 0.45948 i -9.47368 -0.04889 i -10.00000 -0.54402 i - diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plotnocolnames b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plotnocolnames deleted file mode 100644 index 8a2ada39896..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plotnocolnames +++ /dev/null @@ -1,9 +0,0 @@ -5 5 5 8.31160034e-02 0.00000000e+00 1.80007647e-01 2 2 -1 -17 17 17 2.54685628e-02 0.00000000e+00 3.75580565e-02 5 3 -1 -49 49 49 7.40715288e-03 0.00000000e+00 1.49212716e-02 11 4 -1 -129 129 129 2.10192154e-03 0.00000000e+00 4.23330523e-03 26 5 -1 -321 321 321 5.87352989e-04 0.00000000e+00 1.30668515e-03 43 6 -1 -769 769 769 1.62269942e-04 0.00000000e+00 3.88658098e-04 49 7 -1 -1793 1793 1793 4.44248889e-05 0.00000000e+00 1.12651668e-04 52 8 -1 -4097 4097 4097 1.20714122e-05 0.00000000e+00 3.20339285e-05 56 9 -1 -9217 9217 9217 3.26101452e-06 0.00000000e+00 8.97617707e-06 59 10 -1 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_1.dat b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_1.dat deleted file mode 100644 index f2e39d6f697..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_1.dat +++ /dev/null @@ -1,92 +0,0 @@ --6.84792 2.41861 --6.76786 2.41852 --6.68805 2.41824 --6.60996 2.41777 --6.51075 2.41679 --6.40551 2.41505 --6.25340 2.41075 --6.03965 2.40070 --5.72466 2.37734 --5.25092 2.32533 --4.91777 2.27973 --4.41289 2.20389 --4.00792 2.14396 --3.66562 2.09832 --3.37459 2.06512 --3.12640 2.04160 --2.91205 2.02498 --2.72515 2.01318 --2.56036 2.00469 --2.41403 1.99851 --2.28241 1.99390 --2.16229 1.99036 --2.05106 1.98758 --1.94645 1.98531 --1.84609 1.98339 --1.74791 1.98171 --1.64947 1.98017 --1.54841 1.97871 --1.44122 1.97723 --1.32126 1.97565 --1.16446 1.97363 --0.90552 1.97038 --0.64659 1.96739 --0.46271 1.96559 --0.30000 1.96437 --0.10000 1.96349 -0.00000 1.96337 -0.10000 1.96350 -0.30000 1.96457 -0.56334 1.96786 -0.72469 1.97106 -0.90410 1.97577 -1.10014 1.98238 -1.31256 1.99137 -1.54222 2.00335 -1.78995 2.01902 -2.05698 2.03926 -2.34428 2.06507 -2.65132 2.09742 -2.97466 2.13693 -3.30793 2.18352 -3.64762 2.23692 -3.99685 2.29747 -4.35942 2.36533 -4.73307 2.43910 -5.10177 2.51426 -5.44872 2.58624 -5.77085 2.65390 -6.07726 2.71933 -6.37863 2.78542 -6.68862 2.85637 -7.03375 2.94064 -7.49098 3.06389 -8.03953 3.23189 -8.57260 3.41315 -9.29853 3.66690 -9.73987 3.80614 -10.03601 3.88485 -10.26232 3.93412 -10.44394 3.96577 -10.59550 3.98653 -10.73385 4.00111 -10.85513 4.01094 -10.93401 4.01619 -10.99168 4.01963 -11.04379 4.02251 -11.09194 4.02503 -11.18684 4.02965 -11.23618 4.03190 -11.28800 4.03416 -11.34303 4.03643 -11.40199 4.03872 -11.46561 4.04104 -11.53478 4.04335 -11.60991 4.04562 -11.69157 4.04779 -11.77873 4.04976 -11.86931 4.05140 -11.95829 4.05260 -12.04019 4.05335 -12.10972 4.05369 -12.16727 4.05379 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_2.dat b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_2.dat deleted file mode 100644 index 8549ce86ded..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_2.dat +++ /dev/null @@ -1,221 +0,0 @@ --3.86974 23.44724 --3.78200 23.44695 --3.74029 23.44663 --3.67390 23.44586 --3.61311 23.44490 --3.56300 23.44393 --3.49804 23.44243 --3.46070 23.44145 --3.39129 23.43940 --3.32822 23.43728 --3.28614 23.43574 --3.23754 23.43383 --3.14637 23.42987 --3.05967 23.42567 --3.00068 23.42257 --2.93380 23.41883 --2.87416 23.41531 --2.80061 23.41071 --2.76154 23.40816 --2.62857 23.39898 --2.54938 23.39318 --2.49931 23.38941 --2.43883 23.38476 --2.27413 23.37174 --2.15644 23.36230 --2.08196 23.35636 --2.03330 23.35251 --1.94825 23.34590 --1.72954 23.32990 --1.62996 23.32327 --1.57585 23.31985 --1.50329 23.31551 --1.37105 23.30830 --1.29944 23.30478 --1.23051 23.30165 --1.14894 23.29825 --1.06702 23.29516 --0.97382 23.29203 --0.89070 23.28955 --0.84927 23.28843 --0.80129 23.28721 --0.74637 23.28592 --0.70115 23.28493 --0.63219 23.28358 --0.55855 23.28230 --0.48244 23.28116 --0.42153 23.28038 --0.36284 23.27973 --0.29690 23.27911 --0.23978 23.27868 --0.18064 23.27834 --0.12275 23.27808 --0.10000 23.27801 -0.00000 23.27787 -0.10000 23.27802 -0.17601 23.27832 -0.26681 23.27891 -0.36110 23.27978 -0.45399 23.28091 -0.54198 23.28223 -0.60081 23.28326 -0.65328 23.28427 -0.71782 23.28563 -0.75871 23.28657 -0.83657 23.28849 -0.88295 23.28974 -0.95394 23.29177 -1.04949 23.29476 -1.06854 23.29539 -1.15761 23.29848 -1.21224 23.30049 -1.27408 23.30286 -1.34949 23.30589 -1.41818 23.30877 -1.47749 23.31135 -1.54391 23.31433 -1.59761 23.31680 -1.67152 23.32030 -1.72174 23.32272 -1.78683 23.32592 -1.85135 23.32914 -1.94539 23.33393 -1.99220 23.33636 -2.05071 23.33942 -2.11378 23.34276 -2.17209 23.34589 -2.22331 23.34867 -2.27362 23.35143 -2.32883 23.35450 -2.38828 23.35785 -2.44699 23.36122 -2.50335 23.36450 -2.55867 23.36780 -2.61561 23.37126 -2.67485 23.37495 -2.73543 23.37882 -2.79585 23.38280 -2.85675 23.38694 -2.91953 23.39134 -2.98437 23.39604 -3.05018 23.40099 -3.11683 23.40618 -3.18460 23.41165 -3.25451 23.41750 -3.32648 23.42374 -3.39957 23.43030 -3.47365 23.43717 -3.54867 23.44436 -3.62416 23.45181 -3.70056 23.45956 -3.77760 23.46758 -3.85468 23.47580 -3.93184 23.48421 -4.00882 23.49279 -4.08576 23.50154 -4.16266 23.51047 -4.23974 23.51959 -4.31715 23.52894 -4.39513 23.53857 -4.47441 23.54856 -4.55443 23.55888 -4.63544 23.56957 -4.71782 23.58073 -4.80189 23.59242 -4.88799 23.60474 -4.97646 23.61781 -5.06730 23.63169 -5.16080 23.64652 -5.25672 23.66236 -5.35528 23.67937 -5.45634 23.69766 -5.55938 23.71731 -5.66425 23.73845 -5.77131 23.76132 -5.88009 23.78602 -5.99098 23.81280 -6.10325 23.84165 -6.21760 23.87290 -6.33432 23.90677 -6.45406 23.94363 -6.57738 23.98385 -6.70482 24.02785 -6.83717 24.07624 -6.97526 24.12974 -7.11979 24.18923 -7.27205 24.25606 -7.43441 24.33248 -7.60924 24.42131 -7.79952 24.52650 -8.00836 24.65314 -8.24148 24.80958 -8.50710 25.00889 -8.81106 25.26703 -9.15007 25.59714 -9.58649 26.09883 -10.03522 26.72731 -10.30807 27.17870 -10.55277 27.63495 -10.80256 28.15483 -11.06477 28.76174 -11.34948 29.49245 -11.67047 30.40424 -12.05016 31.59520 -12.55258 33.31831 -13.32664 36.04860 -13.52630 36.71383 -13.73415 37.37658 -13.91722 37.93327 -14.08297 38.41524 -14.23800 38.84736 -14.38085 39.22980 -14.51486 39.57508 -14.64229 39.89128 -14.76436 40.18308 -14.88202 40.45398 -14.99625 40.70715 -15.10802 40.94540 -15.21824 41.17117 -15.32790 41.38667 -15.43783 41.59355 -15.54893 41.79333 -15.66206 41.98717 -15.77814 42.17606 -15.89810 42.36076 -16.02295 42.54179 -16.15372 42.71942 -16.29138 42.89353 -16.43689 43.06372 -16.59101 43.22914 -16.75414 43.38846 -16.92662 43.54044 -17.10801 43.68337 -17.29742 43.81578 -17.49106 43.93517 -17.68192 44.03878 -17.85844 44.12362 -18.01107 44.18940 -18.14056 44.24023 -18.25635 44.28212 -18.36640 44.31902 -18.47116 44.35166 -18.56833 44.37986 -18.65731 44.40398 -18.74002 44.42498 -18.81841 44.44364 -18.89328 44.46033 -18.96445 44.47519 -19.03176 44.48832 -19.09514 44.49987 -19.15495 44.51004 -19.21152 44.51899 -19.26506 44.52686 -19.36346 44.53976 -19.40769 44.54489 -19.48677 44.55300 -19.55524 44.55890 -19.61276 44.56302 -19.68112 44.56692 -19.74673 44.56961 -19.78347 44.57064 -19.87685 44.57176 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_3.dat b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_3.dat deleted file mode 100644 index 21d48fb2828..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_3.dat +++ /dev/null @@ -1,39 +0,0 @@ --1.25451 10.36685 --1.17964 10.36621 --1.12056 10.36481 --1.06257 10.36271 --1.00533 10.35997 --0.94858 10.35665 --0.89205 10.35281 --0.83561 10.34850 --0.77917 10.34380 --0.72272 10.33880 --0.66633 10.33358 --0.60992 10.32825 --0.55352 10.32290 --0.49747 10.31767 --0.44169 10.31266 --0.38682 10.30800 --0.33402 10.30388 --0.28313 10.30031 --0.22560 10.29684 --0.13525 10.29280 --0.10000 10.29174 -0.00000 10.29044 -0.10000 10.29175 -0.18114 10.29471 -0.24449 10.29811 -0.34379 10.30512 -0.43029 10.31253 -0.49874 10.31897 -0.56221 10.32520 -0.62320 10.33125 -0.68138 10.33692 -0.73700 10.34216 -0.79028 10.34690 -0.84149 10.35114 -0.93860 10.35813 -1.02980 10.36322 -1.11498 10.36658 -1.19044 10.36838 -1.27969 10.36912 diff --git a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_4.dat b/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_4.dat deleted file mode 100644 index 52a790c19f7..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_4.dat +++ /dev/null @@ -1,34 +0,0 @@ --3.24098 15.46859 --3.15005 15.46793 --3.13205 15.46764 --3.03375 15.46514 --2.94266 15.46145 --2.86309 15.45344 --2.78022 15.42299 --2.71653 15.38079 --2.53041 15.16335 --2.31648 14.74227 --1.93556 13.53895 --1.64884 12.22611 --1.36239 10.54200 --0.93897 7.52613 --0.30000 3.62234 --0.10000 3.13037 --0.00000 3.06780 -0.10000 3.12986 -0.30000 3.60861 -0.71954 5.76144 -1.11229 8.25063 -1.39830 9.82046 -1.61955 10.77871 -1.81907 11.45069 -2.03743 12.00227 -2.41547 12.56801 -2.44747 12.59468 -2.57448 12.66844 -2.65913 12.68968 -2.72919 12.69491 -2.80099 12.69776 -2.87321 12.69961 -2.90861 12.70015 -2.97604 12.70055 diff --git a/Master/texmf-dist/doc/latex/pgfplots/ChangeLog b/Master/texmf-dist/doc/latex/pgfplots/ChangeLog index 32846b08963..dc60cdd20fc 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/ChangeLog +++ b/Master/texmf-dist/doc/latex/pgfplots/ChangeLog @@ -1,3 +1,218 @@ +2008-08-04 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - Release 1.1 + +2008-08-03 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - Added a library for abstract types of input coordinates (for example + dates). + +2008-08-02 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - change 'every axis grid' default style to 'thin,black!25'. This is less + intrusive than 'help lines'. + - fixed small bug in tick routines: they did not account for tikz drawing + modes so 'draw=none' was ignored. + - fixed context test cases + - Improved manual + +2008-08-01 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - added several aliases for style keys. Something like 'x tick label + style' always requires manual lookups while 'xticklabel style' is at least + consistent with the 'xticklabel' key. + +2008-07-30 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - added environment 'pgfplotsinterruptdatabb' + - fixed bug in |minor tick num| + - fixed bug in alias feature of table package. + +2008-07-29 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - added |xtick pos| and |ytick pos| keys and |[xy]ticklabel pos| + + +2008-07-28 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - fixed bug in 'plot table' optimization: did not allow for 'alias'ed + columns. + +2008-07-26 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - improved manual + - provided better default key-paths such that '/pgfplots' can be omitted + in many places. + - Added \label / \ref support. Now, single plots can be referenced and + \ref{label} inserts the associated legend image. + +2008-07-25 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - markers are now drawn separately, after the clipped range. Instead of + clipping their *paths*, their positions are clipped: a marker is either + drawn completely or not at all. + - The option 'clip marker paths' can be used for backwards compatibility + - added |axis on top| key for area plots: in this case, axis descriptions + are drawn on top of plot graphics. + +2008-07-24 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - Now, plot table{<file>} has linear runtime. + - implemented fast low-level lists also for errorbars. + +2008-07-18 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - I worked on the coordinate lists and finally got linear runtime. + In fact, the idea of Till turned out to be the most effective one (although + it is only preasymtotically linear). + - This makes the aftergroup-stack variable unnecessary. + - Some aspects are missing, but I hope I can fix them soon. + +2008-07-16 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - replaced tikz-drawing commands for plots with basic layer commands. + Gain: about 12% faster than before! + - added |use aftergroup stack as fast list| to allow O(N) time for large scale plot + commands, given appropriate safe stack parameters of TeX. + + +2008-07-15 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - implemented support for axis limits of order up to 1.0e+-2147483644 + +2008-07-14 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - Added support to simplify access the previous row during create table column + statements. Added one more numeric column creation style. + - added 'exp sep align' and improved 'dec sep align'. + +2008-07-12 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - modified axis label placement for 'axis [xy] line' variations. + I think it's ok now... + - documented how to get multiple y axis + - modified log plot tick generation algorithm, I forget something + yesterday. + +2008-07-11 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - fixed log plot tick generation if the axis range is extremely small. + +2008-07-09 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - moved a lot of directories and files around to better match the TeX + directory structure (TDS) + - used 'every mark' style for mark options - allows to append style + options. + +2008-07-08 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - added 'postproc cell content' feature to table package + - added 'preproc cell content' feature to table package + - fixed plot limit bugs arising in special situations + +2008-07-07 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - improved several things in table package + - partial limits are now supported, for example 'xmin=4' or 'ymax=15' + - improved empty axis range handling + - modified transformations to avoid 'number too large/small' errors + - enlargelimits respects partial limits + - evaluated 'every axis plot' and 'every axis plot no <number>' in + \addplot commands, allowing not only style options but also behavior + options. + + +2008-07-04 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - implemented title, xlabel and ylabel as direct keys in pgf, allowing to + add suffixes or prefixes to already assigned values. + +2008-07-03 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - added default styles for non-boxed axis lines. This is more or less + experimental up to now and may still change. + +2008-07-02 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - fixed small issues in pgfplotstable manual + - eliminated one dimen register and one count register + +2008-07-01 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - Added semicolon to gnuplot invocation to fix the strange behavior of + windows gnuplot. + +2008-06-30 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - solved the problem of arrow heads and different styles for axis *lines*. + Not quite satisfactory, because one needs to choose between closed paths + and clean edges on the one hand and separate arrow heads or styles on the + other hand. See the documentation for details. + +2008-06-29 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - wrote some styles for the 'create col' framework, namely to compute + piecewise gradients and quotients from one row to the next. + +2008-06-28 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - Wrote a \pgfplotstablecreatecol command to generate new columns in a + quite general fashion. + +2008-06-27 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - renamed the last change from 'column/{[index]5}/.style' to + 'display columns/5/.style' because it was not consistent. + - implemented code to balance rows in typeset table routines. + The first column is the measure, all other ones will be forced to + match its row count. + - documented new features. + - added |hide x axis| and |hide y axis|. + - added |enlarge x limits| and |enlarge y limits|. + - Added key |legend entries|. + +2008-06-26 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - added column/{[index]5}/.style and 'column indizes/5/.style' + - added 'select equal part entry of' style + +2008-06-25 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - added warning when loading tables '#1.tex' instead of '#1'. + +2008-06-24 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - improved error recovery: empty plots are now discarded silently + - added column 'alias' feature for tables + - optimized code for grid line, tick line and tick label generation and + replaced tikz commands by basic layer commands. + pgfplots is now 36% faster! + - changed drawing sequence of axis lines and tick/grid lines. Now, tick + lines are no longer drawn on top of axis lines. + - introduced aliases 'axis y line=middle' and 'axis x line=center' + - added named node 'current axis' which provides anchors 'origin', + 'above origin', 'left of origin', 'right of origin' and 'below origin' + -> this allows improvements of the non-boxed axis variants + - added those anchors also to the normal anchors. + - added styles 'every inner [xy] axis line' + - added styles 'every outer [xy] axis line' [untested] + - added command keys 'inner axis line style', 'outer axis line style' and + 'axis line style' + +2008-06-18 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - improved ConTeXt compatibility + +2008-06-17 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - fixed incompatibility between 'plot function' and german active " + character + +2008-06-11 Christian Feuersaenger <ludewich@users.sourceforge.net> + + - Released version 1.0 + 2008-06-11 Christian Feuersaenger <ludewich@users.sourceforge.net> - added boolean |row predicate| to select table entries. diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_cubic.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_cubic.gnuplot deleted file mode 100644 index 3e74472d8f1..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_cubic.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_cubic.table"; set format "%.5f" -set format "\%.7e"; set samples 8; plot [x=-5:0] 0.7*x**3 + 50 diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_cubic.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_cubic.table deleted file mode 100644 index baba41efbf3..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_cubic.table +++ /dev/null @@ -1,12 +0,0 @@ - -#Curve 0 of 1, 8 points -#x y type --5.0000000e+00 -3.7500000e+01 i --4.2857143e+00 -5.1020408e+00 i --3.5714286e+00 1.8112245e+01 i --2.8571429e+00 3.3673469e+01 i --2.1428571e+00 4.3112245e+01 i --1.4285714e+00 4.7959184e+01 i --7.1428571e-01 4.9744898e+01 i -0.0000000e+00 5.0000000e+01 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_exp.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_exp.gnuplot deleted file mode 100644 index be341cc7f9d..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_exp.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_exp.table"; set format "%.5f" -set format "\%.7e"; set samples 25; plot [x=0:10] exp(x) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_exp.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_exp.table deleted file mode 100644 index e85583c1952..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_exp.table +++ /dev/null @@ -1,29 +0,0 @@ - -#Curve 0 of 1, 25 points -#x y type -0.0000000e+00 1.0000000e+00 i -4.1666667e-01 1.5168968e+00 i -8.3333333e-01 2.3009759e+00 i -1.2500000e+00 3.4903430e+00 i -1.6666667e+00 5.2944901e+00 i -2.0833333e+00 8.0311950e+00 i -2.5000000e+00 1.2182494e+01 i -2.9166667e+00 1.8479586e+01 i -3.3333333e+00 2.8031625e+01 i -3.7500000e+00 4.2521082e+01 i -4.1666667e+00 6.4500093e+01 i -4.5833333e+00 9.7839985e+01 i -5.0000000e+00 1.4841316e+02 i -5.4166667e+00 2.2512745e+02 i -5.8333333e+00 3.4149510e+02 i -6.2500000e+00 5.1801282e+02 i -6.6666667e+00 7.8577199e+02 i -7.0833333e+00 1.1919350e+03 i -7.5000000e+00 1.8080424e+03 i -7.9166667e+00 2.7426137e+03 i -8.3333333e+00 4.1602620e+03 i -8.7500000e+00 6.3106881e+03 i -9.1666667e+00 9.5726626e+03 i -9.5833333e+00 1.4520741e+04 i -1.0000000e+01 2.2026466e+04 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix.gnuplot deleted file mode 100644 index 33184d75b83..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_filesuffix.table"; set format "%.5f" -set format "\%.7e"; set samples 25; plot [x=-5:5] (-x**5 - 242) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix.table deleted file mode 100644 index 13b7b7a4299..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix.table +++ /dev/null @@ -1,29 +0,0 @@ - -#Curve 0 of 1, 25 points -#x y type --5.0000000e+00 2.8830000e+03 i --4.5833333e+00 1.7805870e+03 i --4.1666667e+00 1.0138674e+03 i --3.7500000e+00 4.9957715e+02 i --3.3333333e+00 1.6952263e+02 i --2.9166667e+00 -3.0926364e+01 i --2.5000000e+00 -1.4434375e+02 i --2.0833333e+00 -2.0275414e+02 i --1.6666667e+00 -2.2913992e+02 i --1.2500000e+00 -2.3894824e+02 i --8.3333333e-01 -2.4159812e+02 i --4.1666667e-01 -2.4198744e+02 i -0.0000000e+00 -2.4200000e+02 i -4.1666667e-01 -2.4201256e+02 i -8.3333333e-01 -2.4240188e+02 i -1.2500000e+00 -2.4505176e+02 i -1.6666667e+00 -2.5486008e+02 i -2.0833333e+00 -2.8124586e+02 i -2.5000000e+00 -3.3965625e+02 i -2.9166667e+00 -4.5307364e+02 i -3.3333333e+00 -6.5352263e+02 i -3.7500000e+00 -9.8357715e+02 i -4.1666667e+00 -1.4978674e+03 i -4.5833333e+00 -2.2645870e+03 i -5.0000000e+00 -3.3670000e+03 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix1.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix1.gnuplot deleted file mode 100644 index 97353b62591..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix1.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_filesuffix1.table"; set format "%.5f" -set samples 25; plot [x=-5:5] (40*x**2 - 5*x +3) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix1.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix1.table deleted file mode 100644 index 8bf1fff7241..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix1.table +++ /dev/null @@ -1,29 +0,0 @@ - -#Curve 0 of 1, 25 points -#x y type --5.00000 1028.00000 i --4.58333 866.19444 i --4.16667 718.27778 i --3.75000 584.25000 i --3.33333 464.11111 i --2.91667 357.86111 i --2.50000 265.50000 i --2.08333 187.02778 i --1.66667 122.44444 i --1.25000 71.75000 i --0.83333 34.94444 i --0.41667 12.02778 i -0.00000 3.00000 i -0.41667 7.86111 i -0.83333 26.61111 i -1.25000 59.25000 i -1.66667 105.77778 i -2.08333 166.19444 i -2.50000 240.50000 i -2.91667 328.69444 i -3.33333 430.77778 i -3.75000 546.75000 i -4.16667 676.61111 i -4.58333 820.36111 i -5.00000 978.00000 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix2.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix2.gnuplot deleted file mode 100644 index 41fe261aa7e..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix2.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_filesuffix2.table"; set format "%.5f" -set samples 10; plot [x=-5:5] (-x**5 - 242 + 50*rand(0)) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix2.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix2.table deleted file mode 100644 index 63225c0eae6..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix2.table +++ /dev/null @@ -1,14 +0,0 @@ - -#Curve 0 of 1, 10 points -#x y type --5.00000 2894.12287 i --3.88889 654.12997 i --2.77778 -49.81883 i --1.66667 -187.85451 i --0.55556 -238.04659 i -0.55556 -192.99785 i -1.66667 -226.47249 i -2.77778 -381.58225 i -3.88889 -1119.61214 i -5.00000 -3333.88065 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix_noise.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix_noise.gnuplot deleted file mode 100644 index e9e821b1e69..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix_noise.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_filesuffix_noise.table"; set format "%.5f" -set samples 10; plot [x=-6:5] (-x**5 - 242 + (-300 + 600*rand(0))) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix_noise.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix_noise.table deleted file mode 100644 index a2aa3943eaa..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix_noise.table +++ /dev/null @@ -1,14 +0,0 @@ - -#Curve 0 of 1, 10 points -#x y type --6.00000 7367.47446 i --4.77778 2027.60977 i --3.55556 347.84069 i --2.33333 22.58953 i --1.11111 -493.50066 i -0.11111 46.66082 i -1.33333 -205.56286 i -2.55556 -341.40638 i -3.77778 -1169.24780 i -5.00000 -3269.56775 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_exp.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_exp.gnuplot deleted file mode 100644 index 39cf8e5343d..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_exp.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_gnuplot_exp.table"; set format "%.5f" -set format "\%.7e"; set samples 15; plot [x=-5:10] exp(x) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_exp.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_exp.table deleted file mode 100644 index edd0fa85a34..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_exp.table +++ /dev/null @@ -1,19 +0,0 @@ - -#Curve 0 of 1, 15 points -#x y type --5.0000000e+00 6.7379470e-03 i --3.9285714e+00 1.9671755e-02 i --2.8571429e+00 5.7432619e-02 i --1.7857143e+00 1.6767725e-01 i --7.1428571e-01 4.8954166e-01 i -3.5714286e-01 1.4292400e+00 i -1.4285714e+00 4.1727339e+00 i -2.5000000e+00 1.2182494e+01 i -3.5714286e+00 3.5567367e+01 i -4.6428571e+00 1.0384061e+02 i -5.7142857e+00 3.0316758e+02 i -6.7857143e+00 8.8511208e+02 i -7.8571429e+00 2.5841266e+03 i -8.9285714e+00 7.5444798e+03 i -1.0000000e+01 2.2026466e+04 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_expv.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_expv.gnuplot deleted file mode 100644 index 863dc53c9e1..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_expv.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_gnuplot_expv.table"; set format "%.5f" -set format "\%.7e"; set samples 15; plot [x=-5:10] exp(2*x) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_expv.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_expv.table deleted file mode 100644 index ad3ec95b515..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_expv.table +++ /dev/null @@ -1,19 +0,0 @@ - -#Curve 0 of 1, 15 points -#x y type --5.0000000e+00 4.5399930e-05 i --3.9285714e+00 3.8697794e-04 i --2.8571429e+00 3.2985058e-03 i --1.7857143e+00 2.8115660e-02 i --7.1428571e-01 2.3965104e-01 i -3.5714286e-01 2.0427271e+00 i -1.4285714e+00 1.7411708e+01 i -2.5000000e+00 1.4841316e+02 i -3.5714286e+00 1.2650376e+03 i -4.6428571e+00 1.0782873e+04 i -5.7142857e+00 9.1910580e+04 i -6.7857143e+00 7.8342340e+05 i -7.8571429e+00 6.6777103e+06 i -8.9285714e+00 5.6919176e+07 i -1.0000000e+01 4.8516520e+08 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_ppp.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_ppp.gnuplot deleted file mode 100644 index 166ff692202..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_ppp.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_gnuplot_ppp.table"; set format "%.5f" -set format "\%.7e"; set samples 120; plot [x=-40:40] 10000*sin(x/3) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_ppp.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_ppp.table deleted file mode 100644 index fa803afffdc..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_ppp.table +++ /dev/null @@ -1,124 +0,0 @@ - -#Curve 0 of 1, 120 points -#x y type --4.0000000e+01 -6.9395153e+03 i --3.9327731e+01 -5.1659813e+03 i --3.8655462e+01 -3.1341153e+03 i --3.7983193e+01 -9.4552356e+02 i --3.7310924e+01 1.2903504e+03 i --3.6638655e+01 3.4616986e+03 i --3.5966387e+01 5.4599399e+03 i --3.5294118e+01 7.1851493e+03 i --3.4621849e+01 8.5510554e+03 i --3.3949580e+01 9.4893542e+03 i --3.3277311e+01 9.9531248e+03 i --3.2605042e+01 9.9191756e+03 i --3.1932773e+01 9.3892044e+03 i --3.1260504e+01 8.3897132e+03 i --3.0588235e+01 6.9706827e+03 i --2.9915966e+01 5.2030737e+03 i --2.9243697e+01 3.1752778e+03 i --2.8571429e+01 9.8869771e+02 i --2.7899160e+01 -1.2473235e+03 i --2.7226891e+01 -3.4209706e+03 i --2.6554622e+01 -5.4235474e+03 i --2.5882353e+01 -7.1549122e+03 i --2.5210084e+01 -8.5284858e+03 i --2.4537815e+01 -9.4755806e+03 i --2.3865546e+01 -9.9488360e+03 i --2.3193277e+01 -9.9245862e+03 i --2.2521008e+01 -9.4040438e+03 i --2.1848739e+01 -8.4132391e+03 i --2.1176471e+01 -7.0017189e+03 i --2.0504202e+01 -5.2400681e+03 i --1.9831933e+01 -3.2163804e+03 i --1.9159664e+01 -1.0318533e+03 i --1.8487395e+01 1.2042732e+03 i --1.7815126e+01 3.3801783e+03 i --1.7142857e+01 5.3870529e+03 i --1.6470588e+01 7.1245405e+03 i --1.5798319e+01 8.5057557e+03 i --1.5126050e+01 9.4616288e+03 i --1.4453782e+01 9.9443601e+03 i --1.3781513e+01 9.9298100e+03 i --1.3109244e+01 9.4187061e+03 i --1.2436975e+01 8.4366068e+03 i --1.1764706e+01 7.0326234e+03 i --1.1092437e+01 5.2769639e+03 i --1.0420168e+01 3.2574226e+03 i --9.7478992e+00 1.0749894e+03 i --9.0756303e+00 -1.1612002e+03 i --8.4033613e+00 -3.3393223e+03 i --7.7310924e+00 -5.3504570e+03 i --7.0588235e+00 -7.0940348e+03 i --6.3865546e+00 -8.4828655e+03 i --5.7142857e+00 -9.4474989e+03 i --5.0420168e+00 -9.9396971e+03 i --4.3697479e+00 -9.9348470e+03 i --3.6974790e+00 -9.4331913e+03 i --3.0252101e+00 -8.4598158e+03 i --2.3529412e+00 -7.0633955e+03 i --1.6806723e+00 -5.3137605e+03 i --1.0084034e+00 -3.2984035e+03 i --3.3613445e-01 -1.1181053e+03 i -3.3613445e-01 1.1181053e+03 i -1.0084034e+00 3.2984035e+03 i -1.6806723e+00 5.3137605e+03 i -2.3529412e+00 7.0633955e+03 i -3.0252101e+00 8.4598158e+03 i -3.6974790e+00 9.4331913e+03 i -4.3697479e+00 9.9348470e+03 i -5.0420168e+00 9.9396971e+03 i -5.7142857e+00 9.4474989e+03 i -6.3865546e+00 8.4828655e+03 i -7.0588235e+00 7.0940348e+03 i -7.7310924e+00 5.3504570e+03 i -8.4033613e+00 3.3393223e+03 i -9.0756303e+00 1.1612002e+03 i -9.7478992e+00 -1.0749894e+03 i -1.0420168e+01 -3.2574226e+03 i -1.1092437e+01 -5.2769639e+03 i -1.1764706e+01 -7.0326234e+03 i -1.2436975e+01 -8.4366068e+03 i -1.3109244e+01 -9.4187061e+03 i -1.3781513e+01 -9.9298100e+03 i -1.4453782e+01 -9.9443601e+03 i -1.5126050e+01 -9.4616288e+03 i -1.5798319e+01 -8.5057557e+03 i -1.6470588e+01 -7.1245405e+03 i -1.7142857e+01 -5.3870529e+03 i -1.7815126e+01 -3.3801783e+03 i -1.8487395e+01 -1.2042732e+03 i -1.9159664e+01 1.0318533e+03 i -1.9831933e+01 3.2163804e+03 i -2.0504202e+01 5.2400681e+03 i -2.1176471e+01 7.0017189e+03 i -2.1848739e+01 8.4132391e+03 i -2.2521008e+01 9.4040438e+03 i -2.3193277e+01 9.9245862e+03 i -2.3865546e+01 9.9488360e+03 i -2.4537815e+01 9.4755806e+03 i -2.5210084e+01 8.5284858e+03 i -2.5882353e+01 7.1549122e+03 i -2.6554622e+01 5.4235474e+03 i -2.7226891e+01 3.4209706e+03 i -2.7899160e+01 1.2473235e+03 i -2.8571429e+01 -9.8869771e+02 i -2.9243697e+01 -3.1752778e+03 i -2.9915966e+01 -5.2030737e+03 i -3.0588235e+01 -6.9706827e+03 i -3.1260504e+01 -8.3897132e+03 i -3.1932773e+01 -9.3892044e+03 i -3.2605042e+01 -9.9191756e+03 i -3.3277311e+01 -9.9531248e+03 i -3.3949580e+01 -9.4893542e+03 i -3.4621849e+01 -8.5510554e+03 i -3.5294118e+01 -7.1851493e+03 i -3.5966387e+01 -5.4599399e+03 i -3.6638655e+01 -3.4616986e+03 i -3.7310924e+01 -1.2903504e+03 i -3.7983193e+01 9.4552356e+02 i -3.8655462e+01 3.1341153e+03 i -3.9327731e+01 5.1659813e+03 i -4.0000000e+01 6.9395153e+03 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parable.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parable.gnuplot deleted file mode 100644 index 51693f78c60..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parable.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_parable.table"; set format "%.5f" -set format "\%.7e"; set samples 25; plot [x=-5:5] 4*x**2 - 5 diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parable.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parable.table deleted file mode 100644 index e014e557a37..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parable.table +++ /dev/null @@ -1,29 +0,0 @@ - -#Curve 0 of 1, 25 points -#x y type --5.0000000e+00 9.5000000e+01 i --4.5833333e+00 7.9027778e+01 i --4.1666667e+00 6.4444444e+01 i --3.7500000e+00 5.1250000e+01 i --3.3333333e+00 3.9444444e+01 i --2.9166667e+00 2.9027778e+01 i --2.5000000e+00 2.0000000e+01 i --2.0833333e+00 1.2361111e+01 i --1.6666667e+00 6.1111111e+00 i --1.2500000e+00 1.2500000e+00 i --8.3333333e-01 -2.2222222e+00 i --4.1666667e-01 -4.3055556e+00 i -0.0000000e+00 -5.0000000e+00 i -4.1666667e-01 -4.3055556e+00 i -8.3333333e-01 -2.2222222e+00 i -1.2500000e+00 1.2500000e+00 i -1.6666667e+00 6.1111111e+00 i -2.0833333e+00 1.2361111e+01 i -2.5000000e+00 2.0000000e+01 i -2.9166667e+00 2.9027778e+01 i -3.3333333e+00 3.9444444e+01 i -3.7500000e+00 5.1250000e+01 i -4.1666667e+00 6.4444444e+01 i -4.5833333e+00 7.9027778e+01 i -5.0000000e+00 9.5000000e+01 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parablex.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parablex.gnuplot deleted file mode 100644 index a32cd893de5..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parablex.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_parablex.table"; set format "%.5f" -set format "\%.7e"; set samples 8; plot [x=-5:0] 4*x**2 - 5 diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parablex.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parablex.table deleted file mode 100644 index f0a24fce15a..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parablex.table +++ /dev/null @@ -1,12 +0,0 @@ - -#Curve 0 of 1, 8 points -#x y type --5.0000000e+00 9.5000000e+01 i --4.2857143e+00 6.8469388e+01 i --3.5714286e+00 4.6020408e+01 i --2.8571429e+00 2.7653061e+01 i --2.1428571e+00 1.3367347e+01 i --1.4285714e+00 3.1632653e+00 i --7.1428571e-01 -2.9591837e+00 i -0.0000000e+00 -5.0000000e+00 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pgf-plot.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pgf-plot.gnuplot deleted file mode 100644 index 03cb9c0494b..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pgf-plot.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_pgf-plot.table"; set format "%.5f" -set samples 25; plot [x=0:10] 2**(-1.5*x -3) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pgf-plot.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pgf-plot.table deleted file mode 100644 index c8b21067744..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pgf-plot.table +++ /dev/null @@ -1,29 +0,0 @@ - -#Curve 0 of 1, 25 points -#x y type -0.00000 0.12500 i -0.41667 0.08105 i -0.83333 0.05256 i -1.25000 0.03408 i -1.66667 0.02210 i -2.08333 0.01433 i -2.50000 0.00929 i -2.91667 0.00602 i -3.33333 0.00391 i -3.75000 0.00253 i -4.16667 0.00164 i -4.58333 0.00106 i -5.00000 0.00069 i -5.41667 0.00045 i -5.83333 0.00029 i -6.25000 0.00019 i -6.66667 0.00012 i -7.08333 0.00008 i -7.50000 0.00005 i -7.91667 0.00003 i -8.33333 0.00002 i -8.75000 0.00001 i -9.16667 0.00001 i -9.58333 0.00001 i -10.00000 0.00000 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow1.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow1.gnuplot deleted file mode 100644 index c0c5c3891ca..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow1.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_pow1.table"; set format "%.5f" -set format "\%.7e"; set samples 8; plot [x=0:10] 2**(-2*x + 6) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow1.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow1.table deleted file mode 100644 index ee222507116..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow1.table +++ /dev/null @@ -1,12 +0,0 @@ - -#Curve 0 of 1, 8 points -#x y type -0.0000000e+00 6.4000000e+01 i -1.4285714e+00 8.8327161e+00 i -2.8571429e+00 1.2190137e+00 i -4.2857143e+00 1.6823752e-01 i -5.7142857e+00 2.3218661e-02 i -7.1428571e+00 3.2044350e-03 i -8.5714286e+00 4.4224788e-04 i -1.0000000e+01 6.1035156e-05 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow2.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow2.gnuplot deleted file mode 100644 index 0e9aa76475d..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow2.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_pow2.table"; set format "%.5f" -set format "\%.7e"; set samples 8; plot [x=0:10] 2**(-1.5*x -3) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow2.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow2.table deleted file mode 100644 index 50bf268abe4..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow2.table +++ /dev/null @@ -1,12 +0,0 @@ - -#Curve 0 of 1, 8 points -#x y type -0.0000000e+00 1.2500000e-01 i -1.4285714e+00 2.8303865e-02 i -2.8571429e+00 6.4088700e-03 i -4.2857143e+00 1.4511663e-03 i -5.7142857e+00 3.2858891e-04 i -7.1428571e+00 7.4402689e-05 i -8.5714286e+00 1.6847069e-05 i -1.0000000e+01 3.8146973e-06 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sin.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sin.gnuplot deleted file mode 100644 index 0d406650d1c..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sin.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_sin.table"; set format "%.5f" -set format "\%.7e"; set samples 25; plot [x=-5:5] sin(x) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sin.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sin.table deleted file mode 100644 index ed5cd95f8f6..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sin.table +++ /dev/null @@ -1,29 +0,0 @@ - -#Curve 0 of 1, 25 points -#x y type --5.0000000e+00 9.5892427e-01 i --4.5833333e+00 9.9168387e-01 i --4.1666667e+00 8.5475261e-01 i --3.7500000e+00 5.7156132e-01 i --3.3333333e+00 1.9056796e-01 i --2.9166667e+00 -2.2303421e-01 i --2.5000000e+00 -5.9847214e-01 i --2.0833333e+00 -8.7150319e-01 i --1.6666667e+00 -9.9540796e-01 i --1.2500000e+00 -9.4898462e-01 i --8.3333333e-01 -7.4017685e-01 i --4.1666667e-01 -4.0471456e-01 i -0.0000000e+00 0.0000000e+00 i -4.1666667e-01 4.0471456e-01 i -8.3333333e-01 7.4017685e-01 i -1.2500000e+00 9.4898462e-01 i -1.6666667e+00 9.9540796e-01 i -2.0833333e+00 8.7150319e-01 i -2.5000000e+00 5.9847214e-01 i -2.9166667e+00 2.2303421e-01 i -3.3333333e+00 -1.9056796e-01 i -3.7500000e+00 -5.7156132e-01 i -4.1666667e+00 -8.5475261e-01 i -4.5833333e+00 -9.9168387e-01 i -5.0000000e+00 -9.5892427e-01 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sinneg.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sinneg.gnuplot deleted file mode 100644 index 0678ea0bc79..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sinneg.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_sinneg.table"; set format "%.5f" -set format "\%.7e"; set samples 40; plot [x=-10:0] sin(x) diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sinneg.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sinneg.table deleted file mode 100644 index 1b6fcffaf5c..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sinneg.table +++ /dev/null @@ -1,44 +0,0 @@ - -#Curve 0 of 1, 40 points -#x y type --1.0000000e+01 5.4402111e-01 i --9.7435897e+00 3.1343844e-01 i --9.4871795e+00 6.2361036e-02 i --9.2307692e+00 -1.9279396e-01 i --8.9743590e+00 -4.3534277e-01 i --8.7179487e+00 -6.4942592e-01 i --8.4615385e+00 -8.2104518e-01 i --8.2051282e+00 -9.3897894e-01 i --7.9487179e+00 -9.9551587e-01 i --7.6923077e+00 -9.8695921e-01 i --7.4358974e+00 -9.1386845e-01 i --7.1794872e+00 -7.8102277e-01 i --6.9230769e+00 -5.9710850e-01 i --6.6666667e+00 -3.7415123e-01 i --6.4102564e+00 -1.2672941e-01 i --6.1538462e+00 1.2897884e-01 i --5.8974359e+00 3.7625358e-01 i --5.6410256e+00 5.9892631e-01 i --5.3846154e+00 7.8243716e-01 i --5.1282051e+00 9.1478695e-01 i --4.8717949e+00 9.8732176e-01 i --4.6153846e+00 9.9529876e-01 i --4.3589744e+00 9.3819637e-01 i --4.1025641e+00 8.1974833e-01 i --3.8461538e+00 6.4769957e-01 i --3.5897436e+00 4.3329981e-01 i --3.3333333e+00 1.9056796e-01 i --3.0769231e+00 -6.4624510e-02 i --2.8205128e+00 -3.1559139e-01 i --2.5641026e+00 -5.4592277e-01 i --2.3076923e+00 -7.4055800e-01 i --2.0512821e+00 -8.8677052e-01 i --1.7948718e+00 -9.7499996e-01 i --1.5384615e+00 -9.9947728e-01 i --1.2820513e+00 -9.5860198e-01 i --1.0256410e+00 -8.5504677e-01 i --7.6923077e-01 -6.9558279e-01 i --5.1282051e-01 -4.9063689e-01 i --2.5641026e-01 -2.5360981e-01 i -0.0000000e+00 0.0000000e+00 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_square.gnuplot b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_square.gnuplot deleted file mode 100644 index 2f77a168932..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_square.gnuplot +++ /dev/null @@ -1,2 +0,0 @@ -set terminal table; set output "gnuplot/pgfplots_square.table"; set format "%.5f" -set format "\%.7e"; set samples 20; plot [x=-4:4] x*x+x+104 diff --git a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_square.table b/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_square.table deleted file mode 100644 index e3200d03764..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_square.table +++ /dev/null @@ -1,24 +0,0 @@ - -#Curve 0 of 1, 20 points -#x y type --4.0000000e+00 1.1600000e+02 i --3.5789474e+00 1.1322992e+02 i --3.1578947e+00 1.1081440e+02 i --2.7368421e+00 1.0875346e+02 i --2.3157895e+00 1.0704709e+02 i --1.8947368e+00 1.0569529e+02 i --1.4736842e+00 1.0469806e+02 i --1.0526316e+00 1.0405540e+02 i --6.3157895e-01 1.0376731e+02 i --2.1052632e-01 1.0383380e+02 i -2.1052632e-01 1.0425485e+02 i -6.3157895e-01 1.0503047e+02 i -1.0526316e+00 1.0616066e+02 i -1.4736842e+00 1.0764543e+02 i -1.8947368e+00 1.0948476e+02 i -2.3157895e+00 1.1167867e+02 i -2.7368421e+00 1.1422715e+02 i -3.1578947e+00 1.1713019e+02 i -3.5789474e+00 1.2038781e+02 i -4.0000000e+00 1.2400000e+02 i - diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots-macros.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplots-macros.tex index 5c0e4fa1215..fbb96fa537d 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplots-macros.tex +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplots-macros.tex @@ -1,21 +1,33 @@ +\def\eps{\textsc{eps}} + \input pgfmanual-en-macros.tex \def\pgfmanualbar{\char`\|} \makeatletter \newenvironment{addplotoperation}[3][]{ \begin{pgfmanualentry} + {% + \let\ltxdoc@marg=\marg + \let\ltxdoc@oarg=\oarg + \let\ltxdoc@parg=\parg + \let\ltxdoc@meta=\meta + \def\marg##1{{\normalfont\ltxdoc@marg{##1}}}% + \def\oarg##1{{\normalfont\ltxdoc@oarg{##1}}}% + \def\parg##1{{\normalfont\ltxdoc@parg{##1}}}% + \def\meta##1{{\normalfont\ltxdoc@meta{##1}}}% \pgfmanualentryheadline{\textcolor{gray}{{\ttfamily\char`\\addplot\ }}% \declare{\texttt{#2}} \texttt{#3;}}% \unskip \nobreak - \pgfmanualentryheadline{\textcolor{gray}{{\ttfamily\char`\\addplot[\meta{style options}] {\small plot[\meta{behavior options}]}}\ }% - \declare{\texttt{#2}} \texttt{#3}\ \textcolor{gray}{\meta{trailing path commands}\texttt{;}}}% + \pgfmanualentryheadline{\textcolor{gray}{{\texttt{\char`\\addplot}\oarg{style options} \texttt{plot}\oarg{behavior options}}\ }% + \declare{\texttt{#2}} \texttt{#3} \textcolor{gray}{\meta{trailing path commands}}\texttt{;}}% \def\pgfmanualtest{#1}% \ifx\pgfmanualtest\@empty% - \index{#2@\protect\texttt{#2} path operation}% - \index{Path operations!#2@\protect\texttt{#2}}% + \index{#2@\protect\textcolor{gray}{\protect\texttt{plot}}\protect\texttt{ #2}}% + \index{Plot operations!plot #2@\protect\texttt{plot #2}}% \fi% + }% \pgfmanualbody } { @@ -56,6 +68,22 @@ \end{pgfmanualentry} } +\newenvironment{pgfplotsxycodekeylist}[1]{% + \begingroup + \let\oldpgfmanualentryheadline=\pgfmanualentryheadline + \def\pgfmanualentryheadline##1{% + \pgfmanualentryheadline@##1\pgfplots@EOI + }% + \def\pgfmanualentryheadline@##1\hfill##2\pgfplots@EOI{% + \oldpgfmanualentryheadline{{\ttfamily\declare{##1}\textcolor{gray}{/.code}=\marg{...}}\hfill}% + } + \begin{pgfplotsxykeylist}{#1}% +} +{ + \end{pgfplotsxykeylist} + \endgroup +} + \newenvironment{pgfplotskey}[1]{% \begin{key}{/pgfplots/#1}% } @@ -100,6 +128,25 @@ \end{pgfmanualentry} }% +% \begin{xystylekey}{/path/\x label=value} +% \end{xystylekey} +% +% has same features with 'default', 'initially' etc as key environment +\newenvironment{xystylekey}[2][]{% + \begin{pgfmanualentry} + \def\extrakeytext{style, } + \insertpathifneeded{#2}{#1}% + \expandafter\pgfutil@in@\expandafter=\expandafter{\mykey}% + \ifpgfutil@in@% + \expandafter\xykey@eq\mykey\@nil + \else + \expandafter\xykey@noeq\mykey\@nil + \fi + \pgfmanualbody +}{% + \end{pgfmanualentry} +}% + % \insertpathifneeded{a key}{/pgfplots} -> assign mykey={/pgfplots/a key} % \insertpathifneeded{/tikz/a key}{/pgfplots} -> assign mykey={/tikz/a key} % @@ -241,11 +288,103 @@ \newenvironment{pgfplotstablecolumnkey}{% \begin{pgfmanualentry} \pgfmanualentryheadline{{\ttfamily\textcolor{gray}{/pgfplots/table/}\declare{columns/\meta{column name}}\textcolor{gray}{/.style}=\marg{key-value-list}}\hfill}% + \pgfplotsmanualkeyindex{/pgfplots/table/columns}% \pgfmanualbody } { \end{pgfmanualentry} } -\makeatother +\newenvironment{pgfplotstabledisplaycolumnkey}{% + \begin{pgfmanualentry} + \pgfmanualentryheadline{{\ttfamily\textcolor{gray}{/pgfplots/table/}\declare{display columns/\meta{index}}\textcolor{gray}{/.style}=\marg{key-value-list}}\hfill}% + \pgfplotsmanualkeyindex{/pgfplots/table/display columns}% + \pgfmanualbody +} +{ + \end{pgfmanualentry} +} +\newenvironment{pgfplotstablealiaskey}{% + \begin{pgfmanualentry} + \pgfmanualentryheadline{{\ttfamily\textcolor{gray}{/pgfplots/table/}\declare{alias/\meta{col name}}\textcolor{gray}{/.initial}=\marg{real col name}}\hfill}% + \pgfplotsmanualkeyindex{/pgfplots/table/alias}% + \pgfmanualbody +} +{ + \end{pgfmanualentry} +} + + +\def\pgfplotsmanualkeyindex#1{% + \def\mypath{#1}% + \def\myname{}% + \firsttimetrue% + \decompose#1/\nil% +} +\newenvironment{pgfplotstablecreateonusekey}{% + \begin{pgfmanualentry} + \pgfmanualentryheadline{{\ttfamily\textcolor{gray}{/pgfplots/table/}\declare{create on use/\meta{col name}}\textcolor{gray}{/.style}=\marg{create options}}\hfill}% + \def\mykey{/pgfplots/table/create on use}% + \pgfmanualbody + \pgfplotsmanualkeyindex{/pgfplots/table/create on use}% +} +{ + \end{pgfmanualentry} +} + +\def\pgfplotsassertcmdkeyexists#1{% + \pgfkeysifdefined{/pgfplots/#1/.@cmd}\relax{% + \pgfplots@error{DOCUMENTATION ERROR: command key /pgfplots/#1 does not exist!}% + }% +}% +{ +\catcode`\ =12% +\gdef\makespaceexpandable{\def\ { }}}% +\def\pgfplotsassertXYcmdkeyexists#1{% + {\makespaceexpandable\def\x{x}\edef\pgfplotsassertXYcmdkeyexists@tmp{#1}% + \pgfkeysifdefined{/pgfplots/\pgfplotsassertXYcmdkeyexists@tmp/.@cmd}\relax{% + \pgfplots@error{DOCUMENTATION ERROR: command key /pgfplots/#1 does not exist!}% + }}% + {\makespaceexpandable\def\x{y}\edef\pgfplotsassertXYcmdkeyexists@tmp{#1}% + \pgfkeysifdefined{/pgfplots/\pgfplotsassertXYcmdkeyexists@tmp/.@cmd}\relax{% + \pgfplots@error{DOCUMENTATION ERROR: command key /pgfplots/#1 does not exist!}% + }}% +}% + +\def\pgfplotsshortstylekey #1=#2;{% + \pgfplotsassertcmdkeyexists{#1}% + \pgfplotsassertcmdkeyexists{#2}% + \begin{pgfplotskey}{#1=\marg{key-value-list}} + An abbreviation for \texttt{#2/.append style=}\marg{key-value-list}. + \end{pgfplotskey} +} +\def\pgfplotsshortxystylekey #1=#2;{% + \pgfplotsassertXYcmdkeyexists{#1}% + \pgfplotsassertXYcmdkeyexists{#2}% + \begin{pgfplotsxykey}{#1=\marg{key-value-list}} + An abbreviation for {\def\x{x}\texttt{#2/.append style=}}\marg{key-value-list} (or the respective style for $y$, {\def\x{y}\texttt{#2}}). + \end{pgfplotsxykey} +} +\def\pgfplotsshortstylekeys #1,#2=#3;{% + \pgfplotsassertcmdkeyexists{#1}% + \pgfplotsassertcmdkeyexists{#2}% + \pgfplotsassertcmdkeyexists{#3}% + \begin{pgfplotskeylist}{% + #1=\marg{key-value-list}, + #2=\marg{key-value-list}} + Different abbreviations for \texttt{#3/.append style=}\marg{key-value-list}. + \end{pgfplotskeylist} +} +\def\pgfplotsshortxystylekeys #1,#2=#3;{% + \pgfplotsassertXYcmdkeyexists{#1}% + \pgfplotsassertXYcmdkeyexists{#2}% + \pgfplotsassertXYcmdkeyexists{#3}% + \begin{pgfplotsxykeylist}{% + #1=\marg{key-value-list}, + #2=\marg{key-value-list}} + Different abbreviations for {\def\x{x}\texttt{#3/.append style=}}\marg{key-value-list} (or the respective style for $y$, {\def\x{y}\texttt{#3}}). + \end{pgfplotsxykeylist} +} + +\makeatother diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.bib b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.bib index 43aa22c2596..37d144a7e99 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.bib +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.bib @@ -7,3 +7,7 @@ } +@misc{xcolor, + author = {Uwe Kern}, + title = {{Extending \LaTeX's color facilities: the \texttt{xcolor} package}} +} diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.idx b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.idx deleted file mode 100644 index d023926e878..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.idx +++ /dev/null @@ -1,457 +0,0 @@ -\indexentry{axis@\texttt {axis} environment|hyperpage}{11} -\indexentry{Environments!axis@\texttt {axis}|hyperpage}{11} -\indexentry{semilogxaxis@\texttt {semilogxaxis} environment|hyperpage}{11} -\indexentry{Environments!semilogxaxis@\texttt {semilogxaxis}|hyperpage}{11} -\indexentry{semilogyaxis@\texttt {semilogyaxis} environment|hyperpage}{11} -\indexentry{Environments!semilogyaxis@\texttt {semilogyaxis}|hyperpage}{11} -\indexentry{loglogaxis@\texttt {loglogaxis} environment|hyperpage}{11} -\indexentry{Environments!loglogaxis@\texttt {loglogaxis}|hyperpage}{11} -\indexentry{addplot@\myprintocmmand {addplot}|hyperpage}{12} -\indexentry{domain@\texttt {domain} key|hyperpage}{16} -\indexentry{tikz@\texttt {/tikz/}!domain@\texttt {domain}|hyperpage}{16} -\indexentry{id@\texttt {id} key|hyperpage}{16} -\indexentry{tikz@\texttt {/tikz/}!id@\texttt {id}|hyperpage}{16} -\indexentry{prefix@\texttt {prefix} key|hyperpage}{16} -\indexentry{tikz@\texttt {/tikz/}!prefix@\texttt {prefix}|hyperpage}{16} -\indexentry{samples@\texttt {samples} key|hyperpage}{16} -\indexentry{tikz@\texttt {/tikz/}!samples@\texttt {samples}|hyperpage}{16} -\indexentry{raw gnuplot@\texttt {raw gnuplot} key|hyperpage}{16} -\indexentry{tikz@\texttt {/tikz/}!raw gnuplot@\texttt {raw gnuplot}|hyperpage}{16} -\indexentry{addplot@\myprintocmmand {addplot}|hyperpage}{17} -\indexentry{axis cs@\texttt {axis cs} coordinate system|hyperpage}{18} -\indexentry{Coordinate systems!axis cs@\texttt {axis cs}|hyperpage}{18} -\indexentry{current plot begin@\texttt {current plot begin} node|hyperpage}{19} -\indexentry{Predefined node!current plot begin@\texttt {current plot begin}|hyperpage}{19} -\indexentry{current plot end@\texttt {current plot end} node|hyperpage}{19} -\indexentry{Predefined node!current plot end@\texttt {current plot end}|hyperpage}{19} -\indexentry{addlegendentry@\myprintocmmand {addlegendentry}|hyperpage}{19} -\indexentry{legend@\myprintocmmand {legend}|hyperpage}{20} -\indexentry{every axis legend@\texttt {every axis legend} key|hyperpage}{20} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis legend@\texttt {every axis legend}|hyperpage}{20} -\indexentry{autoplotspeclist@\myprintocmmand {autoplotspeclist}|hyperpage}{21} -\indexentry{pgfmathlogtologten@\myprintocmmand {pgfmathlogtologten}|hyperpage}{21} -\indexentry{logten@\myprintocmmand {logten}|hyperpage}{21} -\indexentry{pgfmathprintnumber@\myprintocmmand {pgfmathprintnumber}|hyperpage}{21} -\indexentry{closedcycle@\myprintocmmand {closedcycle}|hyperpage}{21} -\indexentry{plotnum@\myprintocmmand {plotnum}|hyperpage}{22} -\indexentry{numplots@\myprintocmmand {numplots}|hyperpage}{22} -\indexentry{coordindex@\myprintocmmand {coordindex}|hyperpage}{22} -\indexentry{pgfplotstableread@\myprintocmmand {pgfplotstableread}|hyperpage}{23} -\indexentry{pgfplotstabletypeset@\myprintocmmand {pgfplotstabletypeset}|hyperpage}{23} -\indexentry{pgfplotstabletypesetfile@\myprintocmmand {pgfplotstabletypesetfile}|hyperpage}{23} -\indexentry{sharp plot@\texttt {sharp plot} key|hyperpage}{24} -\indexentry{tikz@\texttt {/tikz/}!sharp plot@\texttt {sharp plot}|hyperpage}{24} -\indexentry{smooth@\texttt {smooth} key|hyperpage}{24} -\indexentry{tikz@\texttt {/tikz/}!smooth@\texttt {smooth}|hyperpage}{24} -\indexentry{const plot@\texttt {const plot} key|hyperpage}{24} -\indexentry{tikz@\texttt {/tikz/}!const plot@\texttt {const plot}|hyperpage}{24} -\indexentry{const plot mark left@\texttt {const plot mark left} key|hyperpage}{25} -\indexentry{tikz@\texttt {/tikz/}!const plot mark left@\texttt {const plot mark left}|hyperpage}{25} -\indexentry{const plot mark right@\texttt {const plot mark right} key|hyperpage}{25} -\indexentry{tikz@\texttt {/tikz/}!const plot mark right@\texttt {const plot mark right}|hyperpage}{25} -\indexentry{jump mark left@\texttt {jump mark left} key|hyperpage}{25} -\indexentry{tikz@\texttt {/tikz/}!jump mark left@\texttt {jump mark left}|hyperpage}{25} -\indexentry{jump mark right@\texttt {jump mark right} key|hyperpage}{26} -\indexentry{tikz@\texttt {/tikz/}!jump mark right@\texttt {jump mark right}|hyperpage}{26} -\indexentry{xbar@\texttt {xbar} key|hyperpage}{26} -\indexentry{tikz@\texttt {/tikz/}!xbar@\texttt {xbar}|hyperpage}{26} -\indexentry{xbar@\texttt {xbar} key|hyperpage}{27} -\indexentry{pgfplots@\texttt {/pgfplots/}!xbar@\texttt {xbar}|hyperpage}{27} -\indexentry{ybar@\texttt {ybar} key|hyperpage}{27} -\indexentry{tikz@\texttt {/tikz/}!ybar@\texttt {ybar}|hyperpage}{27} -\indexentry{ybar@\texttt {ybar} key|hyperpage}{28} -\indexentry{pgfplots@\texttt {/pgfplots/}!ybar@\texttt {ybar}|hyperpage}{28} -\indexentry{bar width@\texttt {bar width} key|hyperpage}{28} -\indexentry{tikz@\texttt {/tikz/}!bar width@\texttt {bar width}|hyperpage}{28} -\indexentry{bar shift@\texttt {bar shift} key|hyperpage}{28} -\indexentry{tikz@\texttt {/tikz/}!bar shift@\texttt {bar shift}|hyperpage}{28} -\indexentry{ybar interval@\texttt {ybar interval} key|hyperpage}{28} -\indexentry{tikz@\texttt {/tikz/}!ybar interval@\texttt {ybar interval}|hyperpage}{28} -\indexentry{ybar interval@\texttt {ybar interval} key|hyperpage}{29} -\indexentry{pgfplots@\texttt {/pgfplots/}!ybar interval@\texttt {ybar interval}|hyperpage}{29} -\indexentry{xbar interval@\texttt {xbar interval} key|hyperpage}{29} -\indexentry{tikz@\texttt {/tikz/}!xbar interval@\texttt {xbar interval}|hyperpage}{29} -\indexentry{xbar interval@\texttt {xbar interval} key|hyperpage}{30} -\indexentry{pgfplots@\texttt {/pgfplots/}!xbar interval@\texttt {xbar interval}|hyperpage}{30} -\indexentry{xticklabel interval boundaries@\texttt {xticklabel interval boundaries} key|hyperpage}{30} -\indexentry{pgfplots@\texttt {/pgfplots/}!xticklabel interval boundaries@\texttt {xticklabel interval boundaries}|hyperpage}{30} -\indexentry{yticklabel interval boundaries@\texttt {yticklabel interval boundaries} key|hyperpage}{30} -\indexentry{pgfplots@\texttt {/pgfplots/}!yticklabel interval boundaries@\texttt {yticklabel interval boundaries}|hyperpage}{30} -\indexentry{xcomb@\texttt {xcomb} key|hyperpage}{30} -\indexentry{tikz@\texttt {/tikz/}!xcomb@\texttt {xcomb}|hyperpage}{30} -\indexentry{ycomb@\texttt {ycomb} key|hyperpage}{30} -\indexentry{tikz@\texttt {/tikz/}!ycomb@\texttt {ycomb}|hyperpage}{30} -\indexentry{stack plots@\texttt {stack plots} key|hyperpage}{31} -\indexentry{pgfplots@\texttt {/pgfplots/}!stack plots@\texttt {stack plots}|hyperpage}{31} -\indexentry{stack dir@\texttt {stack dir} key|hyperpage}{32} -\indexentry{pgfplots@\texttt {/pgfplots/}!stack dir@\texttt {stack dir}|hyperpage}{32} -\indexentry{reverse stacked plots@\texttt {reverse stacked plots} key|hyperpage}{32} -\indexentry{pgfplots@\texttt {/pgfplots/}!reverse stacked plots@\texttt {reverse stacked plots}|hyperpage}{32} -\indexentry{xbar stacked@\texttt {xbar stacked} key|hyperpage}{32} -\indexentry{pgfplots@\texttt {/pgfplots/}!xbar stacked@\texttt {xbar stacked}|hyperpage}{32} -\indexentry{ybar stacked@\texttt {ybar stacked} key|hyperpage}{33} -\indexentry{pgfplots@\texttt {/pgfplots/}!ybar stacked@\texttt {ybar stacked}|hyperpage}{33} -\indexentry{xbar interval stacked@\texttt {xbar interval stacked} key|hyperpage}{33} -\indexentry{pgfplots@\texttt {/pgfplots/}!xbar interval stacked@\texttt {xbar interval stacked}|hyperpage}{33} -\indexentry{ybar interval stacked@\texttt {ybar interval stacked} key|hyperpage}{33} -\indexentry{pgfplots@\texttt {/pgfplots/}!ybar interval stacked@\texttt {ybar interval stacked}|hyperpage}{33} -\indexentry{solid@\texttt {solid} key|hyperpage}{36} -\indexentry{tikz@\texttt {/tikz/}!solid@\texttt {solid}|hyperpage}{36} -\indexentry{dotted@\texttt {dotted} key|hyperpage}{36} -\indexentry{tikz@\texttt {/tikz/}!dotted@\texttt {dotted}|hyperpage}{36} -\indexentry{densely dotted@\texttt {densely dotted} key|hyperpage}{36} -\indexentry{tikz@\texttt {/tikz/}!densely dotted@\texttt {densely dotted}|hyperpage}{36} -\indexentry{loosely dotted@\texttt {loosely dotted} key|hyperpage}{36} -\indexentry{tikz@\texttt {/tikz/}!loosely dotted@\texttt {loosely dotted}|hyperpage}{36} -\indexentry{dashed@\texttt {dashed} key|hyperpage}{37} -\indexentry{tikz@\texttt {/tikz/}!dashed@\texttt {dashed}|hyperpage}{37} -\indexentry{densely dashed@\texttt {densely dashed} key|hyperpage}{37} -\indexentry{tikz@\texttt {/tikz/}!densely dashed@\texttt {densely dashed}|hyperpage}{37} -\indexentry{loosely dashed@\texttt {loosely dashed} key|hyperpage}{37} -\indexentry{tikz@\texttt {/tikz/}!loosely dashed@\texttt {loosely dashed}|hyperpage}{37} -\indexentry{font@\texttt {font} key|hyperpage}{37} -\indexentry{tikz@\texttt {/tikz/}!font@\texttt {font}|hyperpage}{37} -\indexentry{line width@\texttt {line width} key|hyperpage}{37} -\indexentry{tikz@\texttt {/tikz/}!line width@\texttt {line width}|hyperpage}{37} -\indexentry{ultra thin@\texttt {ultra thin} key|hyperpage}{37} -\indexentry{tikz@\texttt {/tikz/}!ultra thin@\texttt {ultra thin}|hyperpage}{37} -\indexentry{very thin@\texttt {very thin} key|hyperpage}{37} -\indexentry{tikz@\texttt {/tikz/}!very thin@\texttt {very thin}|hyperpage}{37} -\indexentry{semithick@\texttt {semithick} key|hyperpage}{37} -\indexentry{tikz@\texttt {/tikz/}!semithick@\texttt {semithick}|hyperpage}{37} -\indexentry{thick@\texttt {thick} key|hyperpage}{37} -\indexentry{tikz@\texttt {/tikz/}!thick@\texttt {thick}|hyperpage}{37} -\indexentry{very thick@\texttt {very thick} key|hyperpage}{37} -\indexentry{tikz@\texttt {/tikz/}!very thick@\texttt {very thick}|hyperpage}{37} -\indexentry{ultra thick@\texttt {ultra thick} key|hyperpage}{37} -\indexentry{tikz@\texttt {/tikz/}!ultra thick@\texttt {ultra thick}|hyperpage}{37} -\indexentry{cycle list@\texttt {cycle list} key|hyperpage}{38} -\indexentry{pgfplots@\texttt {/pgfplots/}!cycle list@\texttt {cycle list}|hyperpage}{38} -\indexentry{cycle list name@\texttt {cycle list name} key|hyperpage}{38} -\indexentry{pgfplots@\texttt {/pgfplots/}!cycle list name@\texttt {cycle list name}|hyperpage}{38} -\indexentry{xlabel@\texttt {xlabel} key|hyperpage}{40} -\indexentry{pgfplots@\texttt {/pgfplots/}!xlabel@\texttt {xlabel}|hyperpage}{40} -\indexentry{ylabel@\texttt {ylabel} key|hyperpage}{40} -\indexentry{pgfplots@\texttt {/pgfplots/}!ylabel@\texttt {ylabel}|hyperpage}{40} -\indexentry{title@\texttt {title} key|hyperpage}{40} -\indexentry{pgfplots@\texttt {/pgfplots/}!title@\texttt {title}|hyperpage}{40} -\indexentry{legend columns@\texttt {legend columns} key|hyperpage}{41} -\indexentry{pgfplots@\texttt {/pgfplots/}!legend columns@\texttt {legend columns}|hyperpage}{41} -\indexentry{legend plot pos@\texttt {legend plot pos} key|hyperpage}{41} -\indexentry{pgfplots@\texttt {/pgfplots/}!legend plot pos@\texttt {legend plot pos}|hyperpage}{41} -\indexentry{legend image code@\texttt {legend image code} key|hyperpage}{41} -\indexentry{pgfplots@\texttt {/pgfplots/}!legend image code@\texttt {legend image code}|hyperpage}{41} -\indexentry{axis x line@\texttt {axis x line} key|hyperpage}{42} -\indexentry{pgfplots@\texttt {/pgfplots/}!axis x line@\texttt {axis x line}|hyperpage}{42} -\indexentry{axis y line@\texttt {axis y line} key|hyperpage}{42} -\indexentry{pgfplots@\texttt {/pgfplots/}!axis y line@\texttt {axis y line}|hyperpage}{42} -\indexentry{axis x discontinuity@\texttt {axis x discontinuity} key|hyperpage}{42} -\indexentry{pgfplots@\texttt {/pgfplots/}!axis x discontinuity@\texttt {axis x discontinuity}|hyperpage}{42} -\indexentry{axis y discontinuity@\texttt {axis y discontinuity} key|hyperpage}{42} -\indexentry{pgfplots@\texttt {/pgfplots/}!axis y discontinuity@\texttt {axis y discontinuity}|hyperpage}{42} -\indexentry{hide axis@\texttt {hide axis} key|hyperpage}{42} -\indexentry{pgfplots@\texttt {/pgfplots/}!hide axis@\texttt {hide axis}|hyperpage}{42} -\indexentry{width@\texttt {width} key|hyperpage}{42} -\indexentry{pgfplots@\texttt {/pgfplots/}!width@\texttt {width}|hyperpage}{42} -\indexentry{height@\texttt {height} key|hyperpage}{43} -\indexentry{pgfplots@\texttt {/pgfplots/}!height@\texttt {height}|hyperpage}{43} -\indexentry{scale only axis@\texttt {scale only axis} key|hyperpage}{43} -\indexentry{pgfplots@\texttt {/pgfplots/}!scale only axis@\texttt {scale only axis}|hyperpage}{43} -\indexentry{x@\texttt {x} key|hyperpage}{43} -\indexentry{pgfplots@\texttt {/pgfplots/}!x@\texttt {x}|hyperpage}{43} -\indexentry{y@\texttt {y} key|hyperpage}{43} -\indexentry{pgfplots@\texttt {/pgfplots/}!y@\texttt {y}|hyperpage}{43} -\indexentry{x\ dir@\texttt {x\ dir} key|hyperpage}{45} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!x\ dir@\texttt {x\ dir}|hyperpage}{45} -\indexentry{y\ dir@\texttt {y\ dir} key|hyperpage}{45} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!y\ dir@\texttt {y\ dir}|hyperpage}{45} -\indexentry{x\ fixed@\texttt {x\ fixed} key|hyperpage}{45} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!x\ fixed@\texttt {x\ fixed}|hyperpage}{45} -\indexentry{y\ fixed@\texttt {y\ fixed} key|hyperpage}{45} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!y\ fixed@\texttt {y\ fixed}|hyperpage}{45} -\indexentry{x\ fixed relative@\texttt {x\ fixed relative} key|hyperpage}{45} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!x\ fixed relative@\texttt {x\ fixed relative}|hyperpage}{45} -\indexentry{y\ fixed relative@\texttt {y\ fixed relative} key|hyperpage}{45} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!y\ fixed relative@\texttt {y\ fixed relative}|hyperpage}{45} -\indexentry{x\ explicit@\texttt {x\ explicit} key|hyperpage}{46} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!x\ explicit@\texttt {x\ explicit}|hyperpage}{46} -\indexentry{y\ explicit@\texttt {y\ explicit} key|hyperpage}{46} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!y\ explicit@\texttt {y\ explicit}|hyperpage}{46} -\indexentry{x\ explicit relative@\texttt {x\ explicit relative} key|hyperpage}{46} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!x\ explicit relative@\texttt {x\ explicit relative}|hyperpage}{46} -\indexentry{y\ explicit relative@\texttt {y\ explicit relative} key|hyperpage}{46} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!y\ explicit relative@\texttt {y\ explicit relative}|hyperpage}{46} -\indexentry{error mark@\texttt {error mark} key|hyperpage}{46} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!error mark@\texttt {error mark}|hyperpage}{46} -\indexentry{error mark options@\texttt {error mark options} key|hyperpage}{46} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!error mark options@\texttt {error mark options}|hyperpage}{46} -\indexentry{error bar style@\texttt {error bar style} key|hyperpage}{46} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!error bar style@\texttt {error bar style}|hyperpage}{46} -\indexentry{draw error bar@\texttt {draw error bar} key|hyperpage}{46} -\indexentry{pgfplots@\texttt {/pgfplots/}!error bars@\texttt {error bars/}!draw error bar@\texttt {draw error bar}|hyperpage}{46} -\indexentry{pgfmathprintnumber@\myprintocmmand {pgfmathprintnumber}|hyperpage}{47} -\indexentry{log identify minor tick positions@\texttt {log identify minor tick positions} key|hyperpage}{47} -\indexentry{pgfplots@\texttt {/pgfplots/}!log identify minor tick positions@\texttt {log identify minor tick positions}|hyperpage}{47} -\indexentry{log number format code@\texttt {log number format code} key|hyperpage}{48} -\indexentry{pgfplots@\texttt {/pgfplots/}!log number format code@\texttt {log number format code}|hyperpage}{48} -\indexentry{log base 10 number format code@\texttt {log base 10 number format code} key|hyperpage}{48} -\indexentry{pgfplots@\texttt {/pgfplots/}!log base 10 number format code@\texttt {log base 10 number format code}|hyperpage}{48} -\indexentry{log plot exponent style@\texttt {log plot exponent style} key|hyperpage}{48} -\indexentry{pgfplots@\texttt {/pgfplots/}!log plot exponent style@\texttt {log plot exponent style}|hyperpage}{48} -\indexentry{xmin@\texttt {xmin} key|hyperpage}{49} -\indexentry{pgfplots@\texttt {/pgfplots/}!xmin@\texttt {xmin}|hyperpage}{49} -\indexentry{ymin@\texttt {ymin} key|hyperpage}{49} -\indexentry{pgfplots@\texttt {/pgfplots/}!ymin@\texttt {ymin}|hyperpage}{49} -\indexentry{xmax@\texttt {xmax} key|hyperpage}{49} -\indexentry{pgfplots@\texttt {/pgfplots/}!xmax@\texttt {xmax}|hyperpage}{49} -\indexentry{ymax@\texttt {ymax} key|hyperpage}{49} -\indexentry{pgfplots@\texttt {/pgfplots/}!ymax@\texttt {ymax}|hyperpage}{49} -\indexentry{xmode@\texttt {xmode} key|hyperpage}{49} -\indexentry{pgfplots@\texttt {/pgfplots/}!xmode@\texttt {xmode}|hyperpage}{49} -\indexentry{ymode@\texttt {ymode} key|hyperpage}{49} -\indexentry{pgfplots@\texttt {/pgfplots/}!ymode@\texttt {ymode}|hyperpage}{49} -\indexentry{clip limits@\texttt {clip limits} key|hyperpage}{49} -\indexentry{pgfplots@\texttt {/pgfplots/}!clip limits@\texttt {clip limits}|hyperpage}{49} -\indexentry{enlargelimits@\texttt {enlargelimits} key|hyperpage}{49} -\indexentry{pgfplots@\texttt {/pgfplots/}!enlargelimits@\texttt {enlargelimits}|hyperpage}{49} -\indexentry{xtick@\texttt {xtick} key|hyperpage}{50} -\indexentry{pgfplots@\texttt {/pgfplots/}!xtick@\texttt {xtick}|hyperpage}{50} -\indexentry{ytick@\texttt {ytick} key|hyperpage}{50} -\indexentry{pgfplots@\texttt {/pgfplots/}!ytick@\texttt {ytick}|hyperpage}{50} -\indexentry{minor tick num@\texttt {minor tick num} key|hyperpage}{51} -\indexentry{pgfplots@\texttt {/pgfplots/}!minor tick num@\texttt {minor tick num}|hyperpage}{51} -\indexentry{minor x\unhbox \voidb@x \penalty \@M \ {}tick num@\texttt {minor x\unhbox \voidb@x \penalty \@M \ {}tick num} key|hyperpage}{51} -\indexentry{pgfplots@\texttt {/pgfplots/}!minor x\unhbox \voidb@x \penalty \@M \ {}tick num@\texttt {minor x\unhbox \voidb@x \penalty \@M \ {}tick num}|hyperpage}{51} -\indexentry{minor y\unhbox \voidb@x \penalty \@M \ {}tick num@\texttt {minor y\unhbox \voidb@x \penalty \@M \ {}tick num} key|hyperpage}{52} -\indexentry{pgfplots@\texttt {/pgfplots/}!minor y\unhbox \voidb@x \penalty \@M \ {}tick num@\texttt {minor y\unhbox \voidb@x \penalty \@M \ {}tick num}|hyperpage}{52} -\indexentry{extra x\ ticks@\texttt {extra x\ ticks} key|hyperpage}{52} -\indexentry{pgfplots@\texttt {/pgfplots/}!extra x\ ticks@\texttt {extra x\ ticks}|hyperpage}{52} -\indexentry{extra y\ ticks@\texttt {extra y\ ticks} key|hyperpage}{52} -\indexentry{pgfplots@\texttt {/pgfplots/}!extra y\ ticks@\texttt {extra y\ ticks}|hyperpage}{52} -\indexentry{space between ticks@\texttt {space between ticks} key|hyperpage}{53} -\indexentry{pgfplots@\texttt {/pgfplots/}!space between ticks@\texttt {space between ticks}|hyperpage}{53} -\indexentry{try min ticks@\texttt {try min ticks} key|hyperpage}{53} -\indexentry{pgfplots@\texttt {/pgfplots/}!try min ticks@\texttt {try min ticks}|hyperpage}{53} -\indexentry{try min ticks log@\texttt {try min ticks log} key|hyperpage}{53} -\indexentry{pgfplots@\texttt {/pgfplots/}!try min ticks log@\texttt {try min ticks log}|hyperpage}{53} -\indexentry{tickwidth@\texttt {tickwidth} key|hyperpage}{53} -\indexentry{pgfplots@\texttt {/pgfplots/}!tickwidth@\texttt {tickwidth}|hyperpage}{53} -\indexentry{major tick length@\texttt {major tick length} key|hyperpage}{53} -\indexentry{pgfplots@\texttt {/pgfplots/}!major tick length@\texttt {major tick length}|hyperpage}{53} -\indexentry{subtickwidth@\texttt {subtickwidth} key|hyperpage}{53} -\indexentry{pgfplots@\texttt {/pgfplots/}!subtickwidth@\texttt {subtickwidth}|hyperpage}{53} -\indexentry{minor tick length@\texttt {minor tick length} key|hyperpage}{53} -\indexentry{pgfplots@\texttt {/pgfplots/}!minor tick length@\texttt {minor tick length}|hyperpage}{53} -\indexentry{xtickten@\texttt {xtickten} key|hyperpage}{53} -\indexentry{pgfplots@\texttt {/pgfplots/}!xtickten@\texttt {xtickten}|hyperpage}{53} -\indexentry{ytickten@\texttt {ytickten} key|hyperpage}{53} -\indexentry{pgfplots@\texttt {/pgfplots/}!ytickten@\texttt {ytickten}|hyperpage}{53} -\indexentry{xticklabels@\texttt {xticklabels} key|hyperpage}{54} -\indexentry{pgfplots@\texttt {/pgfplots/}!xticklabels@\texttt {xticklabels}|hyperpage}{54} -\indexentry{yticklabels@\texttt {yticklabels} key|hyperpage}{54} -\indexentry{pgfplots@\texttt {/pgfplots/}!yticklabels@\texttt {yticklabels}|hyperpage}{54} -\indexentry{xticklabel@\texttt {xticklabel} key|hyperpage}{54} -\indexentry{pgfplots@\texttt {/pgfplots/}!xticklabel@\texttt {xticklabel}|hyperpage}{54} -\indexentry{yticklabel@\texttt {yticklabel} key|hyperpage}{54} -\indexentry{pgfplots@\texttt {/pgfplots/}!yticklabel@\texttt {yticklabel}|hyperpage}{54} -\indexentry{x\ tick label as interval@\texttt {x\ tick label as interval} key|hyperpage}{55} -\indexentry{pgfplots@\texttt {/pgfplots/}!x\ tick label as interval@\texttt {x\ tick label as interval}|hyperpage}{55} -\indexentry{y\ tick label as interval@\texttt {y\ tick label as interval} key|hyperpage}{55} -\indexentry{pgfplots@\texttt {/pgfplots/}!y\ tick label as interval@\texttt {y\ tick label as interval}|hyperpage}{55} -\indexentry{scaled ticks@\texttt {scaled ticks} key|hyperpage}{56} -\indexentry{pgfplots@\texttt {/pgfplots/}!scaled ticks@\texttt {scaled ticks}|hyperpage}{56} -\indexentry{tick scale label code@\texttt {tick scale label code} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!tick scale label code@\texttt {tick scale label code}|hyperpage}{57} -\indexentry{scale ticks below@\texttt {scale ticks below} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!scale ticks below@\texttt {scale ticks below}|hyperpage}{57} -\indexentry{scale ticks above@\texttt {scale ticks above} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!scale ticks above@\texttt {scale ticks above}|hyperpage}{57} -\indexentry{tickpos@\texttt {tickpos} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!tickpos@\texttt {tickpos}|hyperpage}{57} -\indexentry{tick align@\texttt {tick align} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!tick align@\texttt {tick align}|hyperpage}{57} -\indexentry{xminorticks@\texttt {xminorticks} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!xminorticks@\texttt {xminorticks}|hyperpage}{57} -\indexentry{yminorticks@\texttt {yminorticks} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!yminorticks@\texttt {yminorticks}|hyperpage}{57} -\indexentry{xmajorticks@\texttt {xmajorticks} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!xmajorticks@\texttt {xmajorticks}|hyperpage}{57} -\indexentry{ymajorticks@\texttt {ymajorticks} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!ymajorticks@\texttt {ymajorticks}|hyperpage}{57} -\indexentry{ticks@\texttt {ticks} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!ticks@\texttt {ticks}|hyperpage}{57} -\indexentry{xminorgrids@\texttt {xminorgrids} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!xminorgrids@\texttt {xminorgrids}|hyperpage}{57} -\indexentry{yminorgrids@\texttt {yminorgrids} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!yminorgrids@\texttt {yminorgrids}|hyperpage}{57} -\indexentry{xmajorgrids@\texttt {xmajorgrids} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!xmajorgrids@\texttt {xmajorgrids}|hyperpage}{57} -\indexentry{ymajorgrids@\texttt {ymajorgrids} key|hyperpage}{57} -\indexentry{pgfplots@\texttt {/pgfplots/}!ymajorgrids@\texttt {ymajorgrids}|hyperpage}{57} -\indexentry{grids@\texttt {grids} key|hyperpage}{58} -\indexentry{pgfplots@\texttt {/pgfplots/}!grids@\texttt {grids}|hyperpage}{58} -\indexentry{@\texttt {.} handler|hyperpage}{58} -\indexentry{Key handlers!.@\texttt {.}|hyperpage}{58} -\indexentry{@\texttt {.} handler|hyperpage}{58} -\indexentry{Key handlers!.@\texttt {.}|hyperpage}{58} -\indexentry{pgfplotsset@\myprintocmmand {pgfplotsset}|hyperpage}{59} -\indexentry{every axis@\texttt {every axis} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis@\texttt {every axis}|hyperpage}{59} -\indexentry{every semilogx axis@\texttt {every semilogx axis} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every semilogx axis@\texttt {every semilogx axis}|hyperpage}{59} -\indexentry{every semilogy axis@\texttt {every semilogy axis} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every semilogy axis@\texttt {every semilogy axis}|hyperpage}{59} -\indexentry{every loglog axis@\texttt {every loglog axis} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every loglog axis@\texttt {every loglog axis}|hyperpage}{59} -\indexentry{every linear axis@\texttt {every linear axis} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every linear axis@\texttt {every linear axis}|hyperpage}{59} -\indexentry{every axis plot@\texttt {every axis plot} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis plot@\texttt {every axis plot}|hyperpage}{59} -\indexentry{every axis plot post@\texttt {every axis plot post} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis plot post@\texttt {every axis plot post}|hyperpage}{59} -\indexentry{every axis plot no \#@\texttt {every axis plot no \#} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis plot no \#@\texttt {every axis plot no \#}|hyperpage}{59} -\indexentry{every axis label@\texttt {every axis label} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis label@\texttt {every axis label}|hyperpage}{59} -\indexentry{every axis x label@\texttt {every axis x label} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis x label@\texttt {every axis x label}|hyperpage}{59} -\indexentry{every axis y label@\texttt {every axis y label} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis y label@\texttt {every axis y label}|hyperpage}{59} -\indexentry{every axis title@\texttt {every axis title} key|hyperpage}{59} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis title@\texttt {every axis title}|hyperpage}{59} -\indexentry{every tick@\texttt {every tick} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every tick@\texttt {every tick}|hyperpage}{60} -\indexentry{every minor tick@\texttt {every minor tick} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every minor tick@\texttt {every minor tick}|hyperpage}{60} -\indexentry{every major tick@\texttt {every major tick} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every major tick@\texttt {every major tick}|hyperpage}{60} -\indexentry{every x tick@\texttt {every x tick} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every x tick@\texttt {every x tick}|hyperpage}{60} -\indexentry{every minor x tick@\texttt {every minor x tick} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every minor x tick@\texttt {every minor x tick}|hyperpage}{60} -\indexentry{every major x tick@\texttt {every major x tick} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every major x tick@\texttt {every major x tick}|hyperpage}{60} -\indexentry{every y tick@\texttt {every y tick} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every y tick@\texttt {every y tick}|hyperpage}{60} -\indexentry{every minor y tick@\texttt {every minor y tick} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every minor y tick@\texttt {every minor y tick}|hyperpage}{60} -\indexentry{every major y tick@\texttt {every major y tick} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every major y tick@\texttt {every major y tick}|hyperpage}{60} -\indexentry{every axis grid@\texttt {every axis grid} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis grid@\texttt {every axis grid}|hyperpage}{60} -\indexentry{every minor grid@\texttt {every minor grid} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every minor grid@\texttt {every minor grid}|hyperpage}{60} -\indexentry{every major grid@\texttt {every major grid} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every major grid@\texttt {every major grid}|hyperpage}{60} -\indexentry{every axis x grid@\texttt {every axis x grid} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis x grid@\texttt {every axis x grid}|hyperpage}{60} -\indexentry{every minor x grid@\texttt {every minor x grid} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every minor x grid@\texttt {every minor x grid}|hyperpage}{60} -\indexentry{every major x grid@\texttt {every major x grid} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every major x grid@\texttt {every major x grid}|hyperpage}{60} -\indexentry{every axis y grid@\texttt {every axis y grid} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis y grid@\texttt {every axis y grid}|hyperpage}{60} -\indexentry{every minor y grid@\texttt {every minor y grid} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every minor y grid@\texttt {every minor y grid}|hyperpage}{60} -\indexentry{every major y grid@\texttt {every major y grid} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every major y grid@\texttt {every major y grid}|hyperpage}{60} -\indexentry{every tick label@\texttt {every tick label} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every tick label@\texttt {every tick label}|hyperpage}{60} -\indexentry{every x tick label@\texttt {every x tick label} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every x tick label@\texttt {every x tick label}|hyperpage}{60} -\indexentry{every y tick label@\texttt {every y tick label} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every y tick label@\texttt {every y tick label}|hyperpage}{60} -\indexentry{every x tick scale label@\texttt {every x tick scale label} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every x tick scale label@\texttt {every x tick scale label}|hyperpage}{60} -\indexentry{every y tick scale label@\texttt {every y tick scale label} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every y tick scale label@\texttt {every y tick scale label}|hyperpage}{60} -\indexentry{every extra x tick@\texttt {every extra x tick} key|hyperpage}{60} -\indexentry{pgfplots@\texttt {/pgfplots/}!every extra x tick@\texttt {every extra x tick}|hyperpage}{60} -\indexentry{every error bar@\texttt {every error bar} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!every error bar@\texttt {every error bar}|hyperpage}{61} -\indexentry{every extra y tick@\texttt {every extra y tick} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!every extra y tick@\texttt {every extra y tick}|hyperpage}{61} -\indexentry{every axis legend@\texttt {every axis legend} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!every axis legend@\texttt {every axis legend}|hyperpage}{61} -\indexentry{x\ tick label style@\texttt {x\ tick label style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!x\ tick label style@\texttt {x\ tick label style}|hyperpage}{61} -\indexentry{y\ tick label style@\texttt {y\ tick label style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!y\ tick label style@\texttt {y\ tick label style}|hyperpage}{61} -\indexentry{x\ tick scale label style@\texttt {x\ tick scale label style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!x\ tick scale label style@\texttt {x\ tick scale label style}|hyperpage}{61} -\indexentry{y\ tick scale label style@\texttt {y\ tick scale label style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!y\ tick scale label style@\texttt {y\ tick scale label style}|hyperpage}{61} -\indexentry{label style@\texttt {label style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!label style@\texttt {label style}|hyperpage}{61} -\indexentry{x\ label style@\texttt {x\ label style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!x\ label style@\texttt {x\ label style}|hyperpage}{61} -\indexentry{y\ label style@\texttt {y\ label style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!y\ label style@\texttt {y\ label style}|hyperpage}{61} -\indexentry{title style@\texttt {title style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!title style@\texttt {title style}|hyperpage}{61} -\indexentry{tick style@\texttt {tick style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!tick style@\texttt {tick style}|hyperpage}{61} -\indexentry{minor tick style@\texttt {minor tick style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!minor tick style@\texttt {minor tick style}|hyperpage}{61} -\indexentry{major tick style@\texttt {major tick style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!major tick style@\texttt {major tick style}|hyperpage}{61} -\indexentry{x\ tick style@\texttt {x\ tick style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!x\ tick style@\texttt {x\ tick style}|hyperpage}{61} -\indexentry{y\ tick style@\texttt {y\ tick style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!y\ tick style@\texttt {y\ tick style}|hyperpage}{61} -\indexentry{minor x\ tick style@\texttt {minor x\ tick style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!minor x\ tick style@\texttt {minor x\ tick style}|hyperpage}{61} -\indexentry{minor y\ tick style@\texttt {minor y\ tick style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!minor y\ tick style@\texttt {minor y\ tick style}|hyperpage}{61} -\indexentry{major x\ tick style@\texttt {major x\ tick style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!major x\ tick style@\texttt {major x\ tick style}|hyperpage}{61} -\indexentry{major y\ tick style@\texttt {major y\ tick style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!major y\ tick style@\texttt {major y\ tick style}|hyperpage}{61} -\indexentry{grid style@\texttt {grid style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!grid style@\texttt {grid style}|hyperpage}{61} -\indexentry{minor grid style@\texttt {minor grid style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!minor grid style@\texttt {minor grid style}|hyperpage}{61} -\indexentry{major grid style@\texttt {major grid style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!major grid style@\texttt {major grid style}|hyperpage}{61} -\indexentry{x\ grid style@\texttt {x\ grid style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!x\ grid style@\texttt {x\ grid style}|hyperpage}{61} -\indexentry{y\ grid style@\texttt {y\ grid style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!y\ grid style@\texttt {y\ grid style}|hyperpage}{61} -\indexentry{minor x\ grid style@\texttt {minor x\ grid style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!minor x\ grid style@\texttt {minor x\ grid style}|hyperpage}{61} -\indexentry{minor y\ grid style@\texttt {minor y\ grid style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!minor y\ grid style@\texttt {minor y\ grid style}|hyperpage}{61} -\indexentry{major x\ grid style@\texttt {major x\ grid style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!major x\ grid style@\texttt {major x\ grid style}|hyperpage}{61} -\indexentry{major y\ grid style@\texttt {major y\ grid style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!major y\ grid style@\texttt {major y\ grid style}|hyperpage}{61} -\indexentry{extra x\ tick style@\texttt {extra x\ tick style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!extra x\ tick style@\texttt {extra x\ tick style}|hyperpage}{61} -\indexentry{extra y\ tick style@\texttt {extra y\ tick style} key|hyperpage}{61} -\indexentry{pgfplots@\texttt {/pgfplots/}!extra y\ tick style@\texttt {extra y\ tick style}|hyperpage}{61} -\indexentry{anchor@\texttt {anchor} key|hyperpage}{62} -\indexentry{pgfplots@\texttt {/pgfplots/}!anchor@\texttt {anchor}|hyperpage}{62} -\indexentry{at@\texttt {at} key|hyperpage}{65} -\indexentry{pgfplots@\texttt {/pgfplots/}!at@\texttt {at}|hyperpage}{65} -\indexentry{disablelogfilter@\texttt {disablelogfilter} key|hyperpage}{65} -\indexentry{pgfplots@\texttt {/pgfplots/}!disablelogfilter@\texttt {disablelogfilter}|hyperpage}{65} -\indexentry{disabledatascaling@\texttt {disabledatascaling} key|hyperpage}{65} -\indexentry{pgfplots@\texttt {/pgfplots/}!disabledatascaling@\texttt {disabledatascaling}|hyperpage}{65} -\indexentry{.code@\texttt {.code} key|hyperpage}{66} -\indexentry{pgfplots@\texttt {/pgfplots/}!x\ filter@\texttt {x\ filter/}!.code@\texttt {.code}|hyperpage}{66} -\indexentry{.code@\texttt {.code} key|hyperpage}{66} -\indexentry{pgfplots@\texttt {/pgfplots/}!y\ filter@\texttt {y\ filter/}!.code@\texttt {.code}|hyperpage}{66} -\indexentry{skip coords between index@\texttt {skip coords between index} key|hyperpage}{66} -\indexentry{pgfplots@\texttt {/pgfplots/}!skip coords between index@\texttt {skip coords between index}|hyperpage}{66} -\indexentry{filter discard warning@\texttt {filter discard warning} key|hyperpage}{67} -\indexentry{pgfplots@\texttt {/pgfplots/}!filter discard warning@\texttt {filter discard warning}|hyperpage}{67} -\indexentry{execute at begin plot@\texttt {execute at begin plot} key|hyperpage}{67} -\indexentry{pgfplots@\texttt {/pgfplots/}!execute at begin plot@\texttt {execute at begin plot}|hyperpage}{67} -\indexentry{execute at end plot@\texttt {execute at end plot} key|hyperpage}{67} -\indexentry{pgfplots@\texttt {/pgfplots/}!execute at end plot@\texttt {execute at end plot}|hyperpage}{67} -\indexentry{before end axis@\texttt {before end axis} key|hyperpage}{67} -\indexentry{pgfplots@\texttt {/pgfplots/}!before end axis@\texttt {before end axis}|hyperpage}{67} -\indexentry{after end axis@\texttt {after end axis} key|hyperpage}{67} -\indexentry{pgfplots@\texttt {/pgfplots/}!after end axis@\texttt {after end axis}|hyperpage}{67} -\indexentry{extra description@\texttt {extra description} key|hyperpage}{68} -\indexentry{pgfplots@\texttt {/pgfplots/}!extra description@\texttt {extra description}|hyperpage}{68} diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.importexport.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.importexport.tex index e5a2a81b047..048dc50e721 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.importexport.tex +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.importexport.tex @@ -1,20 +1,143 @@ \section{Import/Export from other formats} -There are two (experimental) scripts which may be used to generate \LaTeX-code with plot coordinates or to simplify format conversion. They are not necessary to run \PGFPlots. +\label{sec:pgfplots:importexport} +This section contains information of how to single pictures into separate \pdf\ graphics files (or \eps\ graphics files). Furthermore, it explains a matlab (tm) script which allows to convert from matlab to \PGFPlots. -\subsection{pgf2pdf.sh} -This is a unix \texttt{bash}--script which attempts to simplify the workflow of creating PDF-Dokuments for single plots. +\subsection{Export to \pdf/\eps} +It is possible to export images to single \pdf-documents using routines of \pgfname\ and/or \Tikz. -\PGF\ provides a method to externalize graphics, meaning to write specific portions of the \LaTeX-file to separate PDF/EPS-files. The script pgf2pdf.sh assumes that portions which need externalization are in files `\texttt{.pgf}' and should be converted to PDF/EPS. Two ways are supported: +\subsubsection{Using the Externalization framework of \pgfname\ ``by hand''} +The first way to export \TeX-pictures to single graphics files is to use the externalization framework of \pgfname. +The basic idea is to encapsulate the desired parts with + +|\beginpgfgraphicnamed|\marg{output file name} + +\meta{picture contents} + +|\endpgfgraphicnamed|. + +\noindent Furthermore, one needs to tell \pgfname\ the name of the main document using + +|\pgfrealjobname|\marg{the real job's name} + +\noindent in the preamble. This enables two different modes: \begin{enumerate} - \item Run \LaTeX\ on the complete document and write only the portion of interest, - \item Run \LaTeX\ \emph{only} on the `\texttt{.pgf}'-file. This mode requires a \TeX-file which defines all required commands and includes all required packages (a header). + \item The first is the normal typesetting mode. \LaTeX\ checks whether a file named \marg{output file name} with one of the accepted file extensions exists -- if that is the case, the graphics file is included with |\pgfimage| and the \meta{picture contents} is skipped. If no such file exists, the \meta{picture contents} is typeset normally. This mode is applied if |\jobname| equals \marg{the real job's name}. + \item The second mode applies if |\jobname| equals \marg{output file name}, it initiates the ``conversion mode'' which is used to write the graphics file \marg{output file name}. In this case, \emph{only} \meta{picture contents} is written to |\jobname|, the complete rest of the \LaTeX\ is processed as normal, but it is silently discarded. + + This mode needs to be started manually with |pdflatex --jobname |\meta{output file name} for every externalized graphics file. \end{enumerate} +A complete example may look as follows. +\begin{codeexample}[code only] +\documentclass{article} -If you are interested in externalized graphics, you should read\cite[Section~54]{tikz}. You may also type -\begin{lstlisting} - pgf2pdf.sh --help. -\end{lstlisting} -This script is experimental. +\usepackage{pgfplots} + +\pgfrealjobname{test} + +\begin{document} + \begin{figure} + \beginpgfgraphicnamed{testfigure} + \begin{tikzpicture} + \begin{axis} + \addplot (\x,\x^2); + \end{axis} + \end{tikzpicture} + \endpgfgraphicnamed + \caption{Our first external graphics example} + \end{figure} + + \begin{figure} + \beginpgfgraphicnamed{testfigure2} + \begin{tikzpicture} + \begin{axis} + \addplot (\x,\x^3); + \end{axis} + \end{tikzpicture} + \endpgfgraphicnamed + \caption{A second graphics} + \end{figure} +\end{document} +\end{codeexample} +\noindent The file is named |test.tex|, and it is processed (for example) with +\begin{codeexample}[code only] +pdflatex test +\end{codeexample} +\noindent Now, we type +\begin{codeexample}[code only] +pdflatex --jobname testfigure test +pdflatex --jobname testfigure2 test +\end{codeexample} +\noindent to enter conversion mode. These last calls will \emph{only} write the contents of our named graphics environments, one for \marg{testfigure} and one for \marg{testfigure2} into the respective output files |testfigure.pdf| and |testfigure2.pdf|. + +In summary, one needs |\pgfrealjobname| and calls |pdflatex --jobname |\marg{graphics file} for every externalized graphics environment. Please note that it is absolutely necessary to use the syntax above, \emph{not} |\begin{pgfgraphicnamed}|. + +These steps are explained in much more detail in Section``Externalizing Graphics'' of~\cite{tikz}. This reference also contains information about how to typeset such a document without \pgfname\ installed. + +I once attempted to write a unix \texttt{bash}--script |pgf2pdf.sh| which simplifies these steps in case that every externalized graphics environment is placed into a separate file |.pgf|. Interested readers find it in the installation tree. + +\paragraph{Attention:} Do not forget a correct |\pgfrealjobname| statement! If it is missing, externalization simply won't work. If it is wrong, any call to \LaTeX\ will produce empty output files. + +\subsubsection{Using the automatic Externalization framework of \Tikz} +It is also possible to externalize graphics with the high-level library + +|\usetikzlibrary{external}| + +\noindent which comes with (recent versions of) \Tikz\footnote{At the time of this writing, it is only available in the CVS~$2.0$ version of \pgfname, sorry.}. It is a front-end for |\beginpgfgraphicnamed| which automatically encapsulates every picture in your document with the required externalization commands and performs commands to generate all required graphics files. +\begin{enumerate} + \item Every |\begin{tikzpicture}| $\dotsc$ |\end{tikzpicture}| gets a file name. The file name can be assigned manually with |\tikzsetnextfilename|\marg{output file name} or automatically, in which case \meta{tex file name}|-figure|\meta{number} is used with an increasing \meta{number}. + + \item The library issues the required calls to |pdflatex --jobname |\marg{output file name} automatically, using the write18 system call of \TeX. It is the same framework which can be used to call |gnuplot|. +\end{enumerate} +The only steps which are necessary is to use + +|\tikzexternalize|\marg{the job's real file name} + +\noindent as above. No further modification to the document is necessary. Now, the example file |test.tex| of the last subsection reads as follows: +\begin{codeexample}[code only] +\documentclass{article} + +\usepackage{pgfplots} + +\usetikzlibrary{external} +\tikzexternalize{test} + +\begin{document} + \begin{figure} + \begin{tikzpicture} + \begin{axis} + \addplot (\x,\x^2); + \end{axis} + \end{tikzpicture} + \caption{Our first external graphics example} + \end{figure} + + \begin{figure} + \begin{tikzpicture} + \begin{axis} + \addplot (\x,\x^3); + \end{axis} + \end{tikzpicture} + \caption{A second graphics} + \end{figure} +\end{document} +\end{codeexample} +\noindent To enable the system calls, we type +\begin{codeexample}[code only] +pdflatex --shell-escape test +\end{codeexample} +\noindent and \LaTeX\ will now generate the required graphics files |test-figure0.pdf| and |test-figure1.pdf| automatically. + +The command |\tikzset{external/force remake}| somewhere in the document can be used to remake every following picture automatically. Of course, it is also possible to simply delete every graphics file. + +The library can also be configured to produce a list of figures in case system calls are undesired (or unavailable). In that case, |pdflatex --jobname |\marg{output file name} needs to be invoked for every file name listed in \meta{real file name}|.figlist|. This step can be done within a script. + +The command |\tikzsetexternalprefix|\marg{file prefix} can be used to prepend a directory name to every figure, for example with +\begin{codeexample}[code only] +\tikzsetexternalprefix{figures/} +\end{codeexample} +\noindent to produce |figures/test-figure0.pdf| and |figures/test-figure1.pdf| in our example. + +The complete reference documentation and remaining options are documented in the documentation for the ``PDF externalization library'' of~\cite{tikz}. This reference also contains information about how to typeset such a document without \pgfname\ installed. \subsection{matlab2pgfplots.m} This is a matlab (tm) script which attempts to convert a matlab figure to \PGFPlots. diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.install.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.install.tex index 13bb6c9afdd..b94fa632f7b 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.install.tex +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.install.tex @@ -13,16 +13,16 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. A copy of the GNU General Public License can be found in the package file -\begin{lstlisting} +\begin{verbatim} doc/latex/pgfplots/gpl-3.0.txt -\end{lstlisting} +\end{verbatim} You may also visit~\url{http://www.gnu.org/licenses}. \subsection{Prerequisites} \PGFPlots\ requires \PGF\ with \textbf{at least version~$2.0$}. It is used with -\begin{lstlisting} +\begin{verbatim} \usepackage{pgfplots} -\end{lstlisting} +\end{verbatim} in your preamble (see section~\ref{sec:tex:dialects} for information about how to use it with Con{\TeX}t and plain \TeX). There are several ways how to teach \TeX\ where to find the files. Choose the option which fits your needs best. \subsection{Installation in Windows} @@ -30,21 +30,21 @@ Windows users often use Mik\TeX\ which downloads the latest stable package versi \subsection{Assigning the \texttt{TEXINPUTS} Variable} You can simply install \PGFPlots\ anywhere on your disc, for example into -\begin{lstlisting} +\begin{verbatim} /foo/bar/pgfplots. -\end{lstlisting} +\end{verbatim} Then, you set the \texttt{TEXINPUTS} variable to -\begin{lstlisting} +\begin{verbatim} TEXINPUTS=/foo/bar/pgfplots//: -\end{lstlisting} +\end{verbatim} The trailing~`\texttt{:}' tells \TeX\ to check the default search paths after \lstinline!/foo/bar/pgfplots!. The double slash~`\texttt{//}' tells \TeX\ to search all subdirectories. If the \texttt{TEXINPUTS} variable already contains something, you can append the line above to the existing \texttt{TEXINPUTS} content. Furthermore, you should set |TEXDOCS| as well, -\begin{lstlisting} +\begin{verbatim} TEXDOCS=/foo/bar/pgfplots//: -\end{lstlisting} +\end{verbatim} so that the \TeX-documentation system finds the files |pgfplots.pdf| and |pgfplotstable.pdf| (on some systems, it is then enough to use |texdoc pgfplots|). Please refer to your operating systems manual for how to set environment variables. @@ -58,7 +58,7 @@ A TDS conforming installation will use the same base directory as in the last se Do not forget to run \lstinline!texhash!. \subsection{If everything else fails...} -If \TeX\ still doesn't find your files, you can copy all \lstinline!.sty!-files into your current project's working directory. +If \TeX\ still doesn't find your files, you can copy all \lstinline!.sty! and all |.tex|-files into your current project's working directory. Please refer to \url{http://www.ctan.org/installationadvice/} for more information about package installation. @@ -80,12 +80,14 @@ Furthermore, \PGF\ needs to know a \emph{driver} so that the DVI file can be con \item \lstinline!latex!/\lstinline!dvips! does not need anything special because \lstinline!dvips! is the default driver if you invoke \lstinline!latex!. \item \lstinline!pdflatex! will also work directly because \lstinline!pdflatex! will be detected automatically. \item \lstinline!latex!/\lstinline!dvipdfm! requires to use -\begin{lstlisting} +\begin{verbatim} \def\pgfsysdriver{pgfsys-dvipdfm.def} %\def\pgfsysdriver{pgfsys-pdftex.def} %\def\pgfsysdriver{pgfsys-dvips.def} \usepackage{pgfplots}. -\end{lstlisting} +\end{verbatim} The uncommented commands could be used to set other drivers explictly. \end{itemize} Please read the corresponding sections in~\cite[Section 7.2.1 and 7.2.2]{tikz} if you have further questions. These sections also contain limitations of particular drivers. + +The choice which won't produce any problems at all is |pdflatex|. diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.intro.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.intro.tex index 3cb4be4c2ab..c81d1a1268e 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.intro.tex +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.intro.tex @@ -11,86 +11,86 @@ %\hspace{-1cm}% \begin{tabular}{*{2}{p{4cm}}}% }% -\item[\LaTeX:] \lstinline!\usepackage{pgfplots}! and +\item[\LaTeX:] |\usepackage{pgfplots}| and {\HEAD -\begin{lstlisting} +\begin{codeexample}[code only] \begin{tikzpicture} \begin{axis} ... \end{axis} \end{tikzpicture} -\end{lstlisting} +\end{codeexample} & -\begin{lstlisting} +\begin{codeexample}[code only] \begin{tikzpicture} \begin{semilogxaxis} ... \end{semilogxaxis} \end{tikzpicture} -\end{lstlisting} +\end{codeexample} \\ \end{tabular}% } A small \LaTeX--example file can be found in -\begin{lstlisting} +\begin{codeexample}[code only] doc/latex/pgfplots/pgfplotsexample.tex. -\end{lstlisting} +\end{codeexample} -\item[Con{\TeX}t:] \lstinline!\usemodule[pgfplots]! and +\item[Con{\TeX}t:] |\usemodule[pgfplots]| and {\HEAD -\begin{lstlisting} +\begin{codeexample}[code only] \starttikzpicture \startaxis ... \stopaxis \stoptikzpicture -\end{lstlisting} +\end{codeexample} & -\begin{lstlisting} +\begin{codeexample}[code only] \starttikzpicture \startsemilogxaxis ... \stopsemilogxaxis \stoptikzpicture -\end{lstlisting} +\end{codeexample} \\ \end{tabular}% } A small Con{\TeX}t--example file can be found in -\begin{lstlisting} +\begin{codeexample}[code only] doc/context/pgfplots/pgfplotsexample.tex. -\end{lstlisting} +\end{codeexample} -\item[plain \TeX:] \lstinline!\input pgfplots.tex! and +\item[plain \TeX:] |\input pgfplots.tex| and {\HEAD -\begin{lstlisting} +\begin{codeexample}[code only] \tikzpicture \axis ... \endaxis \endtikzpicture -\end{lstlisting} +\end{codeexample} & -\begin{lstlisting} +\begin{codeexample}[code only] \tikzpicture \semilogxaxis ... \endsemilogxaxis \endtikzpicture -\end{lstlisting} +\end{codeexample} \\ \end{tabular}% } A small plain--\TeX--example file can be found in -\begin{lstlisting} +\begin{codeexample}[code only] doc/plain/pgfplots/pgfplotsexample.tex. -\end{lstlisting} +\end{codeexample} \end{description} You may need to set low--level drivers if you intend to use |dvipdfm|, see section~\ref{sec:drivers}. @@ -127,10 +127,10 @@ Plotting is done using \lstinline|\begin{axis} ... \addplot ...; \end{axis}|, wh \end{axis} \end{tikzpicture}% \end{codeexample} -The \lstinline!plot coordinates! and \lstinline!plot function! commands are two of the several \Tikz\ ways to create plots, see section~\ref{sec:addplot} for more details\footnote{Please note that you need \lstinline{gnuplot} installed to use \lstinline{plot function}.}. The options `|xlabel|' and `|ylabel|' define axis descriptions. +The |plot coordinates| and |plot function| commands are two of the several \Tikz\ ways to create plots, see section~\ref{sec:addplot} for more details\footnote{Please note that you need \lstinline{gnuplot} installed to use \lstinline{plot function}.}. The options `|xlabel|' and `|ylabel|' define axis descriptions. \subsection{Two plots in the same axis} -Multiple \lstinline!\addplot!-commands can be placed into the same axis. +Multiple |\addplot|-commands can be placed into the same axis. % generated with this statement: %\addplot plot[id=filesuffix_noise,domain=-6:5,samples=10] function{(-x**5 - 242 + (-300 + 600*rand(0)))}; \begin{codeexample}[leave comments] @@ -221,18 +221,18 @@ The first plot employs inline coordinates; the second one reads numerical data f \noindent Besided the environment ``|loglogaxis|'' you can use \begin{itemize} - \item \lstinline!\begin{axis}...\end{axis}! for normal plots, - \item \lstinline!\begin{semilogxaxis}...\end{semilogxaxis}! for plots which have a normal~$y$ axis and a logarithmic~$x$ axis, - \item \lstinline!\begin{semilogyaxis}...\end{semilogyaxis}! the same with $x$~and~$y$ switched, - \item \lstinline!\begin{loglogaxis}...\end{loglogaxis}! for double--logarithmic plots. + \item |\begin{axis}...\end{axis}| for normal plots, + \item |\begin{semilogxaxis}...\end{semilogxaxis}| for plots which have a normal~$y$ axis and a logarithmic~$x$ axis, + \item |\begin{semilogyaxis}...\end{semilogyaxis}| the same with $x$~and~$y$ switched, + \item |\begin{loglogaxis}...\end{loglogaxis}| for double--logarithmic plots. \end{itemize} You can also use -\begin{lstlisting} +\begin{codeexample}[code only] \begin{axis}[xmode=normal,ymode=log] ... \end{axis} -\end{lstlisting} -which is the same as \lstinline!\begin{semilogyaxis}...\end{semilogyaxis}!. +\end{codeexample} +which is the same as |\begin{semilogyaxis}...\end{semilogyaxis}|. \begin{codeexample}[] \begin{tikzpicture} \begin{semilogyaxis}[ @@ -252,7 +252,7 @@ which is the same as \lstinline!\begin{semilogyaxis}...\end{semilogyaxis}!. \end{codeexample} \subsection{Cycling line styles} -You can skip the style arguments for \lstinline!\addplot[...]! to determine plot specifications from a predefined list: +You can skip the style arguments for |\addplot[...]| to determine plot specifications from a predefined list: \label{page:plotcoords:src}% \begin{codeexample}[width=4cm] \begin{tikzpicture} diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.pdf b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.pdf Binary files differindex 8b25c545254..5f8f5f5dc3e 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.pdf +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.pdf diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.preamble.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.preamble.tex index 087d13237be..fdc26bad5ad 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.preamble.tex +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.preamble.tex @@ -33,9 +33,12 @@ \newcommand{\N}{\mathbb{N}} \newcommand{\Z}{\mathbb{Z}} +\usepackage{textcomp} + \usepackage{calc} \usepackage[formats]{listings} -\usepackage{courier} +%\usepackage{courier} % don't use it - the '^' character can't be copy-pasted in courier + %-------------------------------------------------- % \usepackage{array} %-------------------------------------------------- @@ -58,6 +61,8 @@ %\def\pgfsysdriver{pgfsys-pdftex.def} \usepackage{pgfplots} +\usetikzlibrary{dateplot} + \usepackage[a4paper,left=2.25cm,right=2.25cm,top=2.5cm,bottom=2.5cm,nohead]{geometry} \usepackage{amsmath,amssymb} \usepackage{xxcolor} @@ -65,6 +70,7 @@ \usepackage{makeidx} \usepackage[latin1]{inputenc} \usepackage{amsmath} +\usepackage{eurosym} \input{pgfplots-macros} \pgfqkeys{/codeexample}{% @@ -74,7 +80,10 @@ }, tabsize=4, } -\pgfplotsset{every axis/.append style={width=7cm}} +\pgfplotsset{ + every axis/.append style={width=7cm}, + filter discard warning=false, +} \usetikzlibrary{backgrounds,patterns} % Global styles: diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.reference.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.reference.tex index e2dd98148f5..40049e9d851 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.reference.tex +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.reference.tex @@ -3,7 +3,7 @@ \section{Command Reference} \subsection{The Axis-environments} There is an axis environment for linear scaling, two for semi-logarithmic scaling and one for double-logarithmic scaling. -\begin{environment}{{axis}\marg{options}} +\begin{environment}{{axis}\oarg{options}} The axis environment for normal plots with linear axis scaling. The `|every linear axis|' style key can be modified with @@ -13,7 +13,7 @@ There is an axis environment for linear scaling, two for semi-logarithmic scalin to install styles specifically for linear axes. These styles can contain both \Tikz- and \PGFPlots\ options. \end{environment} -\begin{environment}{{semilogxaxis}\marg{options}} +\begin{environment}{{semilogxaxis}\oarg{options}} The axis environment for logarithmic scaling of~$x$ and normal scaling of~$y$. Use \begin{codeexample}[code only] @@ -22,13 +22,13 @@ Use to install styles specifically for the case with |xmode=log|, |ymode=normal|. \end{environment} -\begin{environment}{{semilogyaxis}\marg{options}} +\begin{environment}{{semilogyaxis}\oarg{options}} The axis environment for normal scaling of~$x$ and logarithmic scaling of~$y$, The style `|every semilogy axis|' will be installed for each such plot. \end{environment} -\begin{environment}{{loglogaxis}\marg{options}} +\begin{environment}{{loglogaxis}\oarg{options}} The axis environment for logarithmic scaling of both, $x$~and~$y$ axes, As for the other axis possibilities, there is a style `|every loglog axis|' which is installed at the environment's beginning. \end{environment} @@ -83,7 +83,7 @@ coordinates \end{tikzpicture} \end{codeexample} -\begin{command}{\addplot[\meta{style options}] \textcolor{gray}{plot[\meta{behavior options}]} \meta{input data} \meta{trailing path commands};} +\begin{command}{\addplot\oarg{style options} \textcolor{gray}{plot\oarg{behavior options}} \meta{input data} \meta{trailing path commands};} This is the main plotting command, available within each axis environment. It reads point coordinates from one of the available input sources specified by \meta{input data}, updates limits, remembers \meta{style options} for use in a legend (if any) and applies any necessary coordinate transformations (or logarithms). @@ -108,18 +108,18 @@ Some more details: to modify options for the plot with number~$3$ only. The first plot has number~$0$. \item The \meta{style options} are remembered for the legend. Furthermore, they are available as `|current plot style|' as long as the path is not yet finished or in associated error bars. \item See subsection~\ref{sec:markers} for a list of available markers and line styles. - \item For log plots, \PGFPlots\ will compute the natural logarithm $\log(\cdot)$ numerically. This works with normal fixed point numbers or in scientific notation. For example, the following numbers are valid input to \lstinline!\addplot!. + \item For log plots, \PGFPlots\ will compute the natural logarithm $\log(\cdot)$ numerically. This works with normal fixed point numbers or in scientific notation. For example, the following numbers are valid input to |\addplot|. \begin{codeexample}[] \begin{tikzpicture} \begin{loglogaxis} \addplot coordinates { - (769, 1.6227e-04) - (1793, 4.4425e-05) - (4097, 1.2071e-05) - (9217, 3.2610e-06) - (2.2e5, 2.1E-6) - (1e6, 0.00003341) - (2.3e7, 0.00131415) + (769, 1.6227e-04) + (1793, 4.4425e-05) + (4097, 1.2071e-05) + (9217, 3.2610e-06) + (2.2e5, 2.1E-6) + (1e6, 0.00003341) + (2.3e7, 0.00131415) }; \end{loglogaxis} \end{tikzpicture} @@ -132,18 +132,18 @@ Some more details: \item As a consequence of the coordinate parsing routines, you can't use the mathematical expression parsing method of \PGF\ as coordinates (that means: you will need to provide coordinates without suffixes like ``cm'' or ``pt'' and you can't invoke mathematical functions). - \item If you did not specify axis limits for $x$ and $y$ manually, \lstinline!\addplot! will compute them automatically. + \item If you did not specify axis limits for $x$ and $y$ manually, |\addplot| will compute them automatically. The automatic computation of axis limits works as follows: \begin{enumerate} \item Every coordinate will be checked. Care has been taken to avoid \TeX's limited numerical capabilities. - \item Since more than one \lstinline!\addplot! command may be used inside an \lstinline!\begin{axis}...\end{axis}!, all drawing commands will be postponed until \lstinline!\end{axis}!. + \item Since more than one |\addplot| command may be used inside an |\begin{axis}...\end{axis}|, all drawing commands will be postponed until |\end{axis}|. \end{enumerate} \end{itemize} \end{command} \subsubsection{Providing Input Coordinates} -\begin{addplotoperation}[noindex]{coordinates}{\marg{coordinate list}} +\begin{addplotoperation}[]{coordinates}{\marg{coordinate list}} The `|plot coordinates|' command is provided by \Tikz\ and reads its input data from a sequence of point coordinates. \begin{codeexample}[code only] \addplot plot coordinates { @@ -153,7 +153,7 @@ The `|plot coordinates|' command is provided by \Tikz\ and reads its input data }; \end{codeexample} -You can also supply error coordinates (reliability bounds) if you are interested in error bars. Simply append the error coordinates with `|+- (|\marg{ex}|,|\marg{ey}|)|' to the associated coordinate: +You can also supply error coordinates (reliability bounds) if you are interested in error bars. Simply append the error coordinates with `|+- |\parg{ex,ey}' to the associated coordinate: \begin{codeexample}[code only] \addplot plot coordinates { (0,0) +- (0.1,0) @@ -176,12 +176,12 @@ The coordinates as such can be numbers as |+5|, |-1.2345e3|, |35.0e2|, |0.000001 \end{addplotoperation} -\begin{addplotoperation}[noindex]{file}{\marg{name}} +\begin{addplotoperation}[]{file}{\marg{name}} \PGFPlots\ supports two ways to read plot coordinates of external files, and one of them is the \Tikz-command `|plot file|'. It is to be used like \begin{codeexample}[code only] \addplot plot file {datafile.dat}; \end{codeexample} -where \marg{name} is a text file with at least two columns which will be used as $x$ and $y$ coordinates. Such files are often generated by \textsc{gnuplot}: +where \marg{name} is a text file with at least two columns which will be used as $x$ and $y$ coordinates. Lines starting with `|%|' or `|#|' are ignored. Such files are often generated by \textsc{gnuplot}: \begin{codeexample}[code only] #Curve 0, 20 points #x y type @@ -193,10 +193,25 @@ where \marg{name} is a text file with at least two columns which will be used as 9.47368 -0.04889 i 10.00000 -0.54402 i \end{codeexample} -This listing has been copied from~\cite[section~16.4]{tikz}. The mentioned section also contains some more details about using |plot file|. +This listing has been copied from~\cite[section~16.4]{tikz}. + +Plot file accepts one optional argument, + +\begin{codeexample}[code only] +\addplot file[skip first] {datafile.dat}; +\end{codeexample} + +\noindent +which allows to skip over a non-comment header line. This allows to read the same input files as |plot table| by skipping over column names. Please note that comment lines do not count as lines here. + +Plot file is very similar to |plot table|: you can achieve the same effect with +\begin{codeexample}[code only] +\addplot table[x index=0,y index=0,header=false] {datafile.dat}; +\end{codeexample} +\noindent Due to its simplicity, |plot file| is slightly faster while |plot table| allows higher flexibility. \end{addplotoperation} -\begin{addplotoperation}[noindex]{table}{[\meta{column selection}]\marg{file}} +\begin{addplotoperation}[]{table}{\oarg{column selection}\marg{file}} \PGFPlots\ comes with a new plotting command, the `|plot table|' macro. It's usage is similar in spirit to `|plot file|', but its flexibility is higher. Given a data file like \begin{codeexample}[code only] dof L2 Lmax maxlevel @@ -239,7 +254,11 @@ Alternatively, you can load the table \emph{once} and use it \emph{multiple} tim \addplot table[x=dof,y=Lmax] from \table; ... \end{codeexample} -I am not really sure how much time can be saved, but it works anyway. +I am not really sure how much time can be saved, but it works anyway. As a rule of thumb, decide as follows: +\begin{enumerate} + \item If tables contain few rows and many columns, the |from |\meta{\textbackslash macro} framework will be more efficient. + \item If tables contain more than~$200$ data points (rows), you should always use file input (and reload if necessary). +\end{enumerate} If you do prefer to access columns by column indices instead of column names (or your tables do not have column names), you can also use \begin{codeexample}[code only] @@ -276,7 +295,26 @@ Summary and remarks: \end{itemize} \end{addplotoperation} -\begin{addplotoperation}[noindex]{function}{\marg{gnuplot code}} +\begin{pgfplotskey}{table/header=\mchoice{true,false} (initially true)} + Allows to disable header identification for |plot table|. See above. +\end{pgfplotskey} +\begin{pgfplotsxykeylist}{table/\x=\marg{column name}, + table/\x\ index=\marg{column index}} + These keys define the sources for |plot table|. If both, column names and column indices are given, column names are preferred. Column indexing starts with~$0$. The initial setting is to use |x index=0| and |y index=1|. + + Please note that column \emph{aliases} will be considered if unknown column names are used. Please refer to the manual of \PGFPlotstable\ which comes with this package. +\end{pgfplotsxykeylist} +\begin{pgfplotsxykeylist}{% + \x\ error=\marg{column name}, + \x\ error index=\marg{column index}} + These keys define input sources for error bars with explicit error values. Please see section~\ref{sec:errorbars} for details. +\end{pgfplotsxykeylist} +\begin{key}{/pgfplots/table/col sep=\mchoice{space,comma,semicolon,colon,braces} (initially space)} + Allows to choose column separators for |plot table|. Please refer to the manual of \PGFPlotstable\ which comes with this package for details about |col sep|. +\end{key} + + +\begin{addplotoperation}[]{function}{\marg{gnuplot code}} The plot function command uses the external program |gnuplot| to compute coordinates. The resulting coordinates are written to a text file which will be plotted with |plot file|. \PGF\ checks whether coordinates need to be re-generated and calls |gnuplot| whenever necessary (this is usually the case if you change the number of samples, the argument to |plot function| or the plotted domain\footnote{Please note that \PGFPlots\ produces slightly different files than \Tikz\ when used with |plot function| (it configures high precision output). You should use different ids to avoid conflicts in such a case.}). Since system calls are a potential danger, they need to be enabled explicitly using command line options, for example @@ -305,7 +343,7 @@ Sometimes it is called |shell-escape| or |enable-write18|. The \meta{style options} determine the appearance of the plotted function; these parameters also affect the legend. The \meta{behavior options} are specific to the gnuplot interface. These options are described in all detail in \cite[section~18.6]{tikz}. A short summary is shown below. \end{addplotoperation} -\begin{key}{/tikz/domain=[\meta{start}:\meta{end}] (initially [-5:5])} +\begin{key}{/tikz/domain=\meta{start}:\meta{end} (initially [-5:5])} Determines the plotted range. This is not necessarily the same as the axis limits (which are configured with the |xmin|/|xmax| options). This option is also used for plot expression, see below. @@ -330,7 +368,7 @@ The \meta{style options} determine the appearance of the plotted function; these \noindent Please refer to \cite[section~18.6]{tikz} for more details about |plot function| and the |gnuplot| interaction. -\begin{addplotoperation}[noindex]{(\meta{$x$ expression},\meta{$y$ expression})}{} +\begin{addplotoperation}[]{(\meta{$x$ expression},\meta{$y$ expression})}{} Similar to |plot function|, this input method allows to provide expressions which will be sampled. But unlike |plot function|, the expressions are evaluated using the math parser of \PGF, no external program is required. \begin{codeexample}[] \begin{tikzpicture} @@ -363,8 +401,8 @@ the braces are necessary to delimit the $y$ argument here. If you want to use ra to convert the radians to degrees. The \Tikz\ plot expression parser also accepts some more options like |samples at=|\marg{coordinate list} or |variable=\t| which are described in the \Tikz\ manual. \end{addplotoperation} -\begin{command}{\addplot+[\meta{style options}] \textcolor{gray}{\dots};} -Does the same like |\addplot[|\meta{style options}|] ...;| except that \meta{style options} is \emph{appended} to the arguments which would have been taken for \lstinline!\addplot ...! (the element of the default list). +\begin{command}{\addplot+\oarg{style options} \textcolor{gray}{\dots};} +Does the same like |\addplot[|\meta{style options}|] ...;| except that \meta{style options} is \emph{appended} to the arguments which would have been taken for |\addplot ...| (the element of the default list). \begin{codeexample}[] \begin{tikzpicture} @@ -460,6 +498,7 @@ It can be used to draw any \Tikz-graphics at axis coordinates. It is used like \end{predefinednode} \subsection{Legend Commands} +\label{pgfplots:sec:legendcmds} \begin{command}{\addlegendentry\marg{name}} Adds a single legend entry to the legend list. This will also enable legend drawing. @@ -487,7 +526,9 @@ Adds a single legend entry to the legend list. This will also enable legend draw It does not matter where |\addlegendentry| commands are placed, only the sequence matters. You will need one |\addlegendentry| for every |\addplot| command. -Optional argument are accepted with|\addlegendentry|[\meta{key-value-list}]|{...}|. This does mainly affect some keys affecting the legend layout, support is very limited. +Optional argument are accepted with|\addlegendentry|\oarg{key-value-list}|{...}|. This does mainly affect some keys affecting the legend layout, support is very limited. + +Using |\addlegendentry| disables the key |legend entries|. \end{command} @@ -500,120 +541,70 @@ You can use |\legend|\marg{list} to assign a complete legend. \end{codeexample} The argument of |\legend| is a comma--separated list of entries, one for each plot. It is processed using the \PGF-foreach command\footnote{Older versions of \PGFPlots\ used \texttt{\textbackslash legend\{first\textbackslash\textbackslash second\textbackslash\textbackslash third\textbackslash\textbackslash\}} instead of comma--separated lists. This syntax is still accepted.}. The short marker/line combination shown in legends is acquired from the \marg{style options} argument of |\addplot|. + +Using |\legend| overwrites any other existing legend entries. \end{command} \subsubsection{Legend Appearance} -{% -\pgfplotsset{every axis/.append style={width=3cm,scale only axis,legend style={font=\footnotesize}}}% -\begin{stylekey}{/pgfplots/every axis legend} -The style ``|every axis legend|'' determines the legend's position and outer appearance: -\begin{codeexample}[code only] -\pgfplotsset{every axis legend/.append style={ - at={(0,0)}, - anchor=south west}} -\end{codeexample} -will draw it at the lower left corner of the axis while -\begin{codeexample}[code only] -\pgfplotsset{every axis legend/.append style={ - at={(1,1)}, - anchor=north east}} -\end{codeexample} -means the upper right corner. The `|anchor|' option determines which point \emph{of the legend} will be placed at $(0,0)$ or $(1,1)$. - -The legend is a \Tikz-matrix, so you can use any \Tikz\ option which affects -nodes and matrizes (see~\cite[section 13~and~14]{tikz}). The matrix is created by something like -\begin{codeexample}[code only] -\matrix[style=every axis legend] { - draw plot specification 1 & \node{legend 1}\\ - draw plot specification 2 & \node{legend 2}\\ - ... -}; -\end{codeexample} +The legend appearance can be configured with the help of several styles and options. These options are described in section~\ref{pgfplots:sec:legendopts}, under Axis Descriptions. +\subsubsection{\texttt{\textbackslash label} and \texttt{\textbackslash ref} for Legend Creation} +\PGFPlots\ offers a |\label| and |\ref| feature for \LaTeX\ to assemble a legend manually, for example as part of the figure caption. These references work as usual \LaTeX\ references: a |\label| remembers where and what needs to be referenced and a |\ref| expands to proper text. In context of plots, a |\label| remembers the plot specification of one plot and a |\ref| expands to the small image which would also be used inside of legends. \begin{codeexample}[] -\pgfplotsset{every axis legend/.append style={ - at={(1.02,1)}, - anchor=north west}} -\begin{tikzpicture} +\begin{tikzpicture}[baseline] \begin{axis} -\addplot coordinates {(0,0) (1,1)}; -\addplot coordinates {(0,1) (1,2)}; -\addplot coordinates {(0,2) (1,3)}; -\legend{$l_1$,$l_2$,$l_3$} + \addplot+[only marks] + plot[samples=15, + error bars/y dir=both, + error bars/y fixed=2.5] + (\x,3*\x+2.5*rand); + \label{pgfplots:label1} + + \addplot+[mark=none] (\x,3*\x); + \label{pgfplots:label2} + + \addplot (\x,{4*cos(\x r)}); + \label{pgfplots:label3} \end{axis} \end{tikzpicture} \end{codeexample} - -Use |legend columns=|\marg{number} to configure the number of horizontal legend entries. -\begin{codeexample}[] -\begin{tikzpicture} -\pgfplotsset{every axis legend/.append style={ - at={(0.5,1.03)}, - anchor=south}} -\begin{axis}[legend columns=4] -\addplot coordinates {(0,0) (1,1)}; -\addplot coordinates {(0,1) (1,2)}; -\addplot coordinates {(0,2) (1,3)}; -\legend{$l_1$,$l_2$,$l_3$} -\end{axis} -\end{tikzpicture} +\begin{codeexample}[code only] +The picture shows the estimations \ref{pgfplots:label1} which are subjected to noise. +It appears the model \ref{pgfplots:label2} fits the data appropriately. +Finally, \ref{pgfplots:label3} is only here to get three examples. \end{codeexample} -\noindent -Instead of the |.append style|, you can also use |legend style| as in the following example. It has the same effect. +\noindent The picture shows the estimations \ref{pgfplots:label1} which are subjected to noise. +It appears the model \ref{pgfplots:label2} fits the data appropriately. +Finally, \ref{pgfplots:label3} is only here to get three examples. +\begin{command}{\label\marg{label name}} + When used after |\addplot|, this command creates a \LaTeX\ label named \marg{label name}\footnote{This feature is \emph{only} available in \LaTeX, sorry.}. If this label is cross-referenced with |\ref|\marg{label name} somewhere, the associated plot specification will be inserted. \begin{codeexample}[] -\begin{tikzpicture} -\begin{axis}[ - legend style={ - at={(1,0.5)}, - anchor=east}] -\addplot coordinates {(0,0) (1,1)}; -\addplot coordinates {(0,1) (1,2)}; -\addplot coordinates {(0,2) (1,3)}; -\legend{$l_1$,$l_2$,$l_3$} -\end{axis} -\end{tikzpicture} +Label3 = \ref{pgfplots:label3}; +Label2 = \ref{pgfplots:label2} \end{codeexample} + The label is assembled using |legend image code| and the plot style of the last plot. Any \PGFPlots\ option is expanded until only \Tikz\ (or \pgfname) options remain; these options are used to get an independant label\footnote{Please note that you can't use the label/ref mechanism in conjunction with image externalization as this will (naturally) lead to undefined references.}. -\noindent -The default |every axis legend| style is + More precisely, the small image generated by |\ref|\marg{label name} is \begin{codeexample}[code only] -\pgfplotsset{every axis legend/.style={% - cells={anchor=center}, - inner xsep=3pt,inner ysep=2pt,nodes={inner sep=2pt,text depth=0.15em}, - anchor=north east,% - shape=rectangle,% - fill=white,% - draw=black, - at={(0.98,0.98)} -}} +\tikz[/pgfplots/every crossref picture] {...} \end{codeexample} -\paragraph{Attention:} you should \emph{not reset} the default style to stay compatible with future versions. If possible, use -\begin{codeexample}[code only] -\pgfplotsset{every axis legend/.append style={...}} -\end{codeexample} -\end{stylekey} - -} - - -\begin{command}{\autoplotspeclist} -This command should no longer be used, although it will be kept as technical implementation detail. Please use the `|cycle list|' option, section~\ref{sec:cycle:list}. + \noindent where the contents is determined by |legend image code| and the plot style. \end{command} -\begin{command}{\pgfmathlogtologten\meta{number}} -Assigns the result of $\meta{number}/\log(10)$ to \lstinline!\pgfmathresult!. -\end{command} +\begin{command}{\ref\marg{label name}} + Can be used to reference a labeled, single plot. See the example above. -\begin{command}{\logten} -Expands to the constant $\log(10)$. Useful for logplots because $\log(10^i) = i\log(10)$. This command is only available inside of an \Tikz-picture. + This will also work together with |hyperref| links and |\pageref|. \end{command} -\begin{command}{\pgfmathprintnumber\marg{number}} -Generates pretty--printed output\footnote{This method was previously \texttt{\textbackslash prettyprintnumber}. It's functionality has been included into \PGF\ and the old command is now deprecated.} for \marg{number}. This method is used for every tick label. +\begin{stylekey}{/pgfplots/every crossref picture} + A style which will be used by the cross-referencing feature for plots. The default is +\begin{codeexample}[code only] +\pgfplotsset{every crossref picture/.style={baseline,yshift=0.3em} +\end{codeexample} +\end{stylekey} -The number is printed using the current number printing options, see section~\ref{sec:number:printing} for the different number styles, rounding precision and rounding methods. -\end{command} \subsection{Closing Plots} \begin{command}{\closedcycle} @@ -636,7 +627,7 @@ The number is printed using the current number printing options, see section~\re \end{axis} \end{tikzpicture} \end{codeexample} - In case of stacked plots, |\closedcycle| connects the current plot with the previous plot instead of connecting with the $x$~axis\footnote{The implementation for stacked plots requires some additional logic to determine the filled area: \lstinline{\\closedcycle} will produce a \lstinline!plot coordinates! command with \emph{reversed} coordinates of the previous plot. This is usually irrelevant for end users, but it assumes that the plot's type is symmetric. Since constant plots are inherently unsymmetric, \lstinline{\\closedcycle} will use \texttt{const plot mark right} as reversed sequence for \texttt{const plot mark left}.}. + In case of stacked plots, |\closedcycle| connects the current plot with the previous plot instead of connecting with the $x$~axis\footnote{The implementation for stacked plots requires some additional logic to determine the filled area: \lstinline{\\closedcycle} will produce a |plot coordinates| command with \emph{reversed} coordinates of the previous plot. This is usually irrelevant for end users, but it assumes that the plot's type is symmetric. Since constant plots are inherently unsymmetric, \lstinline{\\closedcycle} will use \texttt{const plot mark right} as reversed sequence for \texttt{const plot mark left}.}. \begin{codeexample}[] \begin{tikzpicture} \begin{axis}[stack plots=y] @@ -650,6 +641,24 @@ The number is printed using the current number printing options, see section~\re \end{command} \subsection{Other Commands} +\begin{command}{\autoplotspeclist} +This command should no longer be used, although it will be kept as technical implementation detail. Please use the `|cycle list|' option, section~\ref{sec:cycle:list}. +\end{command} + +\begin{command}{\pgfmathlogtologten\meta{number}} +Assigns the result of $\meta{number}/\log(10)$ to |\pgfmathresult|. +\end{command} + +\begin{command}{\logten} +Expands to the constant $\log(10)$. Useful for logplots because $\log(10^i) = i\log(10)$. This command is only available inside of an \Tikz-picture. +\end{command} + +\begin{command}{\pgfmathprintnumber\marg{number}} +Generates pretty--printed output\footnote{This method was previously \texttt{\textbackslash prettyprintnumber}. It's functionality has been included into \PGF\ and the old command is now deprecated.} for \marg{number}. This method is used for every tick label. + +The number is printed using the current number printing options, see section~\ref{sec:number:printing} for the different number styles, rounding precision and rounding methods. +\end{command} + \begin{command}{\plotnum} Inside of |\addplot| or any associated style, option or command, |\plotnum| expands to the current plot's number, starting with~$0$. \end{command} @@ -1163,7 +1172,8 @@ Area plots are a combination of |\closedcycle| and |stack plots|. They can be co \begin{tikzpicture} \begin{axis}[ stack plots=y, - area cycle list] + area style, + enlarge x limits=false] \addplot coordinates {(0,1) (1,1) (2,2) (3,2)} \closedcycle; @@ -1176,13 +1186,28 @@ Area plots are a combination of |\closedcycle| and |stack plots|. They can be co \end{axis} \end{tikzpicture} \end{codeexample} +\noindent +Area plots may need modified legends, for example using the |area legend| key. Furthermore, one may want to consider the |axis on top| key such that filled areas to not overlap ticks and grid lines. + +\begin{stylekey}{/pgfplots/area style} + A style which sets +\begin{codeexample}[code only] +\pgfplotsset{ + /pgfplots/area style/.style={% + area cycle list, + area legend, + axis on top, + }} +\end{codeexample} +\end{stylekey} \begin{codeexample}[] \begin{tikzpicture} \begin{axis}[ const plot, stack plots=y, - area cycle list] + area style, + enlarge x limits=false] \addplot coordinates {(0,1) (1,1) (2,2) (3,2)} \closedcycle; @@ -1201,7 +1226,8 @@ Area plots are a combination of |\closedcycle| and |stack plots|. They can be co \begin{axis}[ smooth, stack plots=y, - area cycle list] + area style, + enlarge x limits=false] \addplot coordinates {(0,1) (1,1) (2,2) (3,2)} \closedcycle; @@ -1226,14 +1252,15 @@ Area plots are a combination of |\closedcycle| and |stack plots|. They can be co \begin{tikzpicture} \begin{axis}[ - ymin=0,ymax=210, + ymin=0, minor tick num=4, - enlargelimits=false, - tick align=outside, + enlarge x limits=false, + axis on top, every axis plot post/.append style= {mark=none}, const plot, legend style={ + area legend, at={(0.5,-0.15)}, anchor=north, legend columns=-1}] @@ -1255,20 +1282,21 @@ Area plots are a combination of |\closedcycle| and |stack plots|. They can be co \begin{tikzpicture} \begin{axis}[ - ymin=0,ymax=160, + ymin=0, minor tick num=4, - enlargelimits=false, - tick align=outside, + enlarge x limits=false, const plot, + axis on top, stack plots=y, cycle list={% {blue!70!black,fill=blue},% - {green,fill=green!50!black},% - {green!30!white,fill=green!80!white},% + {blue!60!white,fill=blue!30!white},% + {draw=none,fill={rgb:red,138;green,82;blue,232}},% {red,thick}% }, ylabel={Mem [GB]}, legend style={ + area legend, at={(0.5,-0.15)}, anchor=north, legend columns=2}] @@ -1276,7 +1304,7 @@ Area plots are a combination of |\closedcycle| and |stack plots|. They can be co \addplot table[x=time,y=memused] from \table \closedcycle; \addplot table[x=time,y=memcached] from \table \closedcycle; \addplot table[x=time,y=membuf] from \table \closedcycle; - \addplot plot[/pgfplots/stack plots=false] + \addplot plot[stack plots=false] table[x=time,y=memtotal] from \table; \legend{Memory used,Memory cached,Memory buffered,Total memory} \end{axis} @@ -1313,7 +1341,7 @@ This list is copied from~\cite[section~29]{tikz}: \item[mark=+] \showit{mark=+} % \item[mark=ball] \showit{mark=ball} \end{longdescription} -And with \lstinline!\usetikzlibrary{plotmarks}!: +And with |\usetikzlibrary{plotmarks}|: \begin{longdescription} \item[mark=$-$] \showit{mark=-} \item[mark=$\vert$] \showit{mark=|} @@ -1344,6 +1372,54 @@ All these options have been drawn with the additional options ] \end{codeexample} +\begin{key}{/tikz/mark size=\marg{dimension}} + This \Tikz\ option allows to set marker sizes to \marg{dimension}. For circular markers, \marg{dimension} is the radius, for other plot marks it is about half the width and height. +\end{key} +\begin{key}{/tikz/every mark} + This \Tikz\ style can be reconfigured to set marker appearance options like colors or transformations like scaling or rotation. \PGFPlots\ appends its cycle list options to this style. +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[y=2cm] + \addplot coordinates + {(-2,0) (-1,1) (0,0) (1,1) (2,0)}; +\end{axis} +\end{tikzpicture} +\end{codeexample} + +\begin{codeexample}[] +\tikzset{every mark/.append style={scale=2}} +\begin{tikzpicture} +\begin{axis}[y=2cm] + \addplot coordinates + {(-2,0) (-1,1) (0,0) (1,1) (2,0)}; +\end{axis} +\end{tikzpicture} +\end{codeexample} + +The |every axis plot post| style can be used to overwrite parts (or all) of the drawing styles which are assigned for plots. +\begin{codeexample}[] +% Overwrite any cycle list: +\pgfplotsset{ + every axis plot post/.append style={ + mark=triangle, + every mark/.append style={rotate=90}}} +\begin{tikzpicture} +\begin{axis}[y=2cm] + \addplot coordinates + {(-2,0) (-1,1) (0,0) (1,1) (2,0)}; +\end{axis} +\end{tikzpicture} +\end{codeexample} +\end{key} + +\begin{key}{/tikz/mark options=\marg{options}} + Resets |every mark| to \marg{options}. +\end{key} + +Markers paths are not subjected to clipping as other parts of the figure. Markers are either drawn completely or not at all. + +\Tikz\ offers more options for marker fine tuning, please refer to~\cite{tikz} for details. + \subsubsection{Line Styles} \def\showit#1{% \tikz\draw[% @@ -1380,7 +1456,7 @@ The following line styles are predefined in \Tikz. \begin{stylekey}{/tikz/loosely dashed} \showit{style=loosely dashed} \end{stylekey} -You may need the option \lstinline!mark options={solid}! to avoid dotted or dashed marker boundaries. +You may need the option |mark options={solid}| to avoid dotted or dashed marker boundaries. \endgroup \subsubsection{Font Size and Line Width} @@ -1455,11 +1531,77 @@ This example shows the same plots as on page~\pageref{page:plotcoords:src} (usin \end{tikzpicture} \end{codeexample} +\subsubsection{Colors} +{% +\def\showcolorandname#1{% + \showcolor{#1}~#1% +}% +\def\showcolor#1{% + \tikz \draw[black,fill={#1}] (0,0) rectangle (1em,0.6em);% +}% +\PGF\ uses the color support of |xcolor|. Therefore, the main reference for how to specify colors is the |xcolor| manual~\cite{xcolor}. The \PGF\ manual~\cite{tikz} is the reference for how to select colors for specific purposes like drawing, filling, shading, patterns etc. This section contains a short overview over the specification of colors in~\cite{xcolor} (which is not limited to \PGFPlots). + +The package |xcolor| defines a set of predefined colors, namely +\showcolorandname{red}, +\showcolorandname{green}, +\showcolorandname{blue}, +\showcolorandname{cyan}, +\showcolorandname{magenta}, +\showcolorandname{yellow}, +\showcolorandname{black}, +\showcolorandname{gray}, +\showcolorandname{white}, +\showcolorandname{darkgray}, +\showcolorandname{lightgray}, +\showcolorandname{brown}, +\showcolorandname{lime}, +\showcolorandname{olive}, +\showcolorandname{orange}, +\showcolorandname{pink}, +\showcolorandname{purple}, +\showcolorandname{teal}, +\showcolorandname{violet}. + +\begin{codeexample}[] +\begin{tikzpicture} + \begin{axis}[enlarge x limits=false] + \addplot[red] + plot[samples=500] (\x,{sin(\x r)}); + + \addplot[orange] + plot[samples=7] (\x,{sin(\x r)}); + + \addplot[teal,const plot] + plot[samples=14] (\x,{sin(\x r)}); + \end{axis} +\end{tikzpicture} +\end{codeexample} + +Besides predefined colors, you can \emph{mix} two (or more) colors. For example, \showcolorandname{red!30!white} contains $30\%$ of \showcolorandname{red} and $70\%$ of \showcolorandname{white}. Consequently, one can build \showcolorandname{red!70!white} to get $70\%$ red and $30\%$ white or \showcolorandname{red!10!white} for $10\%$ red and $90\%$ white. This mixing can be done with any color, \showcolorandname{red!50!green}, \showcolorandname{blue!50!yellow}. + +A different type of color mixing is supported, which allows to take $100\%$ of \emph{each} component. For example, \showcolorandname{rgb,2:red,1;green,1} will add $1/2$ part \showcolorandname{red} and $1/2$ part \showcolorandname{green} and we reproduced the example from above. Using the denominator~$1$ instead of~$2$ leads to \showcolorandname{rgb,1:red,1;green,1} which uses $1$ part \showcolorandname{red} and $1$ part \showcolorandname{green}. Many programs allow to select pieces between $0,\dotsc,255$, so a denominator of $255$ is useful. Consequently, \showcolorandname{rgb,255:red,231;green,84;blue,121} uses $231/255$ red, $84/255$ green and $121/255$. This corresponds to the standard RGB color $(231,84,121)$. Other examples are \showcolorandname{rgb,255:red,32;green,127;blue,43}, \showcolorandname{rgb,255:red,178;green,127;blue,43}, \showcolorandname{rgb,255:red,169;green,178;blue,43}. + +It is also possible to use RGB values, the HSV color model or the HTML color syntax directly. However, this requires some more programming. I suppose this is the fastest (and probably the most uncomfortable) method to use colors. For example, +\begin{codeexample}[] +\definecolor{color1}{rgb}{1,1,0} +\tikz \fill[color1] + (0,0) rectangle (1em,0.6em); +\end{codeexample} +\noindent creates the color with $100\%$ red, $100\%$ green and $0\%$ blue; + +\begin{codeexample}[] +\definecolor{color1}{HTML}{D0B22B} +\tikz \fill[color1] + (0,0) rectangle (1em,0.6em); +\end{codeexample} +\noindent creates the color with $208/255$ pieces red, $178/255$ pieces green and $43$ pieces blue, specified in standard HTML notation. Please refer to the |xcolor| manual~\cite{xcolor} for more details and color models. +}% + \subsubsection{Options Controlling Linestyles} \label{sec:cycle:list}% \begin{pgfplotskeylist}{cycle list=\marg{list},cycle list name=\marg{\textbackslash macro}} -Allows to specify a list of plot specifications which will be used for each \hbox{\lstinline!\addplot!}-command without explicit plot specification. +Allows to specify a list of plot specifications which will be used for each \hbox{|\addplot|}-command without explicit plot specification. There are several possiblities to change it: \begin{enumerate} @@ -1500,7 +1642,7 @@ These examples employs the same coords as in the example on page~\pageref{page:p \end{loglogaxis} \end{tikzpicture} \end{codeexample} - (This example list requires \lstinline!\usetikzlibrary{plotmarks}!). + (This example list requires |\usetikzlibrary{plotmarks}|). \item Define macro names and use them with `|cycle list name|': \begin{codeexample}[code only] \pgfcreateplotcyclelist{\mylist}{% @@ -1517,7 +1659,7 @@ These examples employs the same coords as in the example on page~\pageref{page:p \end{codeexample} \end{enumerate} -\paragraph{Remark:} You can also terminate single entries with `\lstinline!\\!' as in +\paragraph{Remark:} You can also terminate single entries with `|\\|' as in \begin{codeexample}[code only] \begin{axis}[cycle list={% blue,mark=*\\% @@ -1531,18 +1673,21 @@ These examples employs the same coords as in the example on page~\pageref{page:p ... \end{axis} \end{codeexample} -In this case, the \emph{last} entry also needs a terminating `\lstinline!\\!', but you can omit braces around the single entries. +In this case, the \emph{last} entry also needs a terminating `|\\|', but you can omit braces around the single entries. \end{pgfplotskeylist} \subsection{Axis Descriptions} +Axis descriptions are labels for $x$ and $y$ axis and titles. Axis descriptions are drawn after the plot is finished and they are not subjected to clipping. Their placement is always relative to the axis rectangle, where $(0,0)$ refers to the lower left corner and $(1,1)$ refers to the upper right one. + +Furthermore, axis descriptions can be placed using the predefined node |current axis|. At the time when axis descriptions are drawn, all anchors which refer to the axis origin (that means the ``real'' point $(0,0)$) or any of the axis corners can be references using |current axis.|\meta{anchor name}. Please see section~\ref{pgfplots:sec:align}, Alignment, for further details. \subsubsection{Labels} \begin{pgfplotsxykey}{\x label=\marg{text}} -The options |xlabel| and |ylabel| change axis labels to \marg{text} which is any \TeX\ text. Use |xlabel={, = characters}| if you need to include `|=|' or `|,|' literally. +The options |xlabel| and |ylabel| change axis labels to \marg{text} which is any \TeX\ text. Use ``|xlabel={, = characters}|'' if you need to include `|=|' or `|,|' literally. Labels are \Tikz-Nodes which are placed with \begin{codeexample}[code only] @@ -1553,7 +1698,7 @@ Labels are \Tikz-Nodes which are placed with [style=every axis label, style=every axis y label] \end{codeexample} -so their position and appearance can be customized. As for legends, the coordinate \lstinline!(0,0)! denotes the lower left axis corner and \lstinline!(1,1)! the upper right. +so their position and appearance can be customized. The coordinate |(0,0)| denotes the lower left axis corner and |(1,1)| the upper right. The default styles are \begin{codeexample}[code only] @@ -1567,12 +1712,13 @@ The default styles are xshift=-35pt, rotate=90}} \end{codeexample} -Please add options using |.append style| instead of overwriting the default styles to ensure compatibility with future versions. +Whenever possible, you should use |.append style| instead of overwriting the default styles to ensure compatibility with future versions. \begin{codeexample}[code only] \pgfplotsset{every axis label/.append style={...}} \pgfplotsset{every axis x label/.append style={...}} \pgfplotsset{every axis y label/.append style={...}} \end{codeexample} + Use |xlabel/.add=|\marg{prefix}\marg{suffix} to modify an already assigned label. \end{pgfplotsxykey} \begin{pgfplotskey}{title=\marg{text}} @@ -1623,14 +1769,152 @@ to the current axis. % \end{loglogaxis} % \end{tikzpicture} %-------------------------------------------------- - The title is placed in the middle of the axis (the placing does not incorporate any axis descriptions). You can reconfigure the appearance and/or placing of the title for example with +The title's appearance and/or placing can be reconfigured with \begin{codeexample}[code only] \pgfplotsset{every axis title/.append style={at={(0.75,1)}}} \end{codeexample} This will place the title at~75\% of the $x$-axis. The coordinate~$(0,0)$ is the lower left corner and~$(1,1)$ the upper right one. + +Use |title/.add=|\marg{prefix}\marg{suffix} to modify an already assigned title. \end{pgfplotskey} +\begin{pgfplotscodekey}{extra description} +Allows to insert \marg{commands} after axis labels, titles and legends have been typeset. + +As all other axis descriptions, the code can use $(0,0)$ to access the lower left corner and $(1,1)$ to access the upper right one. It won't be clipped. +\begin{codeexample}[] +\pgfplotsset{every axis/.append style={ + extra description/.code={ + \node at (0.5,0.5) {Center!}; + }}} +\begin{tikzpicture} + \begin{axis} + \addplot (\x,\x^2); + \end{axis} +\end{tikzpicture} +\end{codeexample} +\end{pgfplotscodekey} + + \subsubsection{Legend} +\label{pgfplots:sec:legendopts} +Legends can be generated in two ways: the first is to use |\addlegendentry| or |\legend| inside of an axis. This method has been presented in section~\ref{pgfplots:sec:legendcmds}, Legend Commands. The other method is to use a key. + +\begin{pgfplotskey}{legend entries=\marg{comma separated list}} + This key can be used to assign legend entries just like the commands |\addlegendentry| and |\legend|. +\begin{codeexample}[] +\begin{tikzpicture} + \begin{axis}[legend entries={$x$,$x^2$}] + \addplot (\x,\x); + \addplot (\x,\x^2); + \end{axis} +\end{tikzpicture} +\end{codeexample} + + The commands for legend creation take precedence: the key is only considered if there is no legend command in the current axis. Please refer to section~\ref{pgfplots:sec:legendcmds}, Legend Commands, for details about the commands. +\begin{codeexample}[] +\begin{tikzpicture} + \begin{axis}[legend entries={$x$,$x^2$}] + \addplot (\x,\x); + \addplot (\x,\x^2); + \legend{$a$,$b$}% overrides the option + \end{axis} +\end{tikzpicture} +\end{codeexample} +\end{pgfplotskey} + +{% +\pgfplotsset{every axis/.append style={width=3cm,scale only axis,legend style={font=\footnotesize}}}% +\begin{stylekey}{/pgfplots/every axis legend} +The style ``|every axis legend|'' determines the legend's position and outer appearance: +\begin{codeexample}[code only] +\pgfplotsset{every axis legend/.append style={ + at={(0,0)}, + anchor=south west}} +\end{codeexample} +will draw it at the lower left corner of the axis while +\begin{codeexample}[code only] +\pgfplotsset{every axis legend/.append style={ + at={(1,1)}, + anchor=north east}} +\end{codeexample} +means the upper right corner. The `|anchor|' option determines which point \emph{of the legend} will be placed at $(0,0)$ or $(1,1)$. + +The legend is a \Tikz-matrix, so you can use any \Tikz\ option which affects +nodes and matrizes (see~\cite[section 13~and~14]{tikz}). The matrix is created by something like +\begin{codeexample}[code only] +\matrix[style=every axis legend] { + draw plot specification 1 & \node{legend 1}\\ + draw plot specification 2 & \node{legend 2}\\ + ... +}; +\end{codeexample} + +\begin{codeexample}[] +\pgfplotsset{every axis legend/.append style={ + at={(1.02,1)}, + anchor=north west}} +\begin{tikzpicture} +\begin{axis} +\addplot coordinates {(0,0) (1,1)}; +\addplot coordinates {(0,1) (1,2)}; +\addplot coordinates {(0,2) (1,3)}; +\legend{$l_1$,$l_2$,$l_3$} +\end{axis} +\end{tikzpicture} +\end{codeexample} + +Use |legend columns=|\marg{number} to configure the number of horizontal legend entries. +\begin{codeexample}[] +\begin{tikzpicture} +\pgfplotsset{every axis legend/.append style={ + at={(0.5,1.03)}, + anchor=south}} +\begin{axis}[legend columns=4] +\addplot coordinates {(0,0) (1,1)}; +\addplot coordinates {(0,1) (1,2)}; +\addplot coordinates {(0,2) (1,3)}; +\legend{$l_1$,$l_2$,$l_3$} +\end{axis} +\end{tikzpicture} +\end{codeexample} +\noindent +Instead of the |.append style|, you can also use |legend style| as in the following example. It has the same effect. + +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + legend style={ + at={(1,0.5)}, + anchor=east}] +\addplot coordinates {(0,0) (1,1)}; +\addplot coordinates {(0,1) (1,2)}; +\addplot coordinates {(0,2) (1,3)}; +\legend{$l_1$,$l_2$,$l_3$} +\end{axis} +\end{tikzpicture} +\end{codeexample} + +\noindent +The default |every axis legend| style is +\begin{codeexample}[code only] +\pgfplotsset{every axis legend/.style={% + cells={anchor=center},% Centered entries + inner xsep=3pt,inner ysep=2pt,nodes={inner sep=2pt,text depth=0.15em}, + anchor=north east,% + shape=rectangle,% + fill=white,% + draw=black, + at={(0.98,0.98)} +}} +\end{codeexample} +Whenever possible, consider using |.append style| to keep the default styles active. This ensures compatibility with future versions. +\begin{codeexample}[code only] +\pgfplotsset{every axis legend/.append style={...}} +\end{codeexample} +\end{stylekey} + +} \begin{pgfplotskey}{legend columns=\marg{number} (default 1)} Allows to configure the maximum number of adjacent legend entries. The default value~|1| places legend entries vertically below each other. @@ -1644,7 +1928,7 @@ Configures where the small line specifications will be drawn: left of the descri \begin{pgfplotscodekey}{legend image code} \label{opt:legend:image:code} -Allows to replace the default images which are drawn inside of legends. The first argument to this option is the plot specification, a key-value list which has been determined by \lstinline!\addplot!. +Allows to replace the default images which are drawn inside of legends. The first argument to this option is the plot specification, a key-value list which has been determined by |\addplot|. The default is \begin{codeexample}[code only] @@ -1659,17 +1943,91 @@ The default is \end{codeexample} \end{pgfplotscodekey} +\begin{stylekey}{/pgfplots/area legend} + A style which sets |legend image code| to +\begin{codeexample}[code only] +\pgfplotsset{ + /pgfplots/legend image code/.code={% + \draw[#1] (0cm,-0.1cm) rectangle (0.6cm,0.1cm); + }} +\end{codeexample} + +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[area legend, + axis x line=bottom, + axis y line=left, + domain=0:1, + legend style={at={(0.03,0.97)}, + anchor=north west}, + axis on top,xmin=0] +\addplot[pattern=crosshatch dots, + pattern color=blue,draw=blue] +plot[samples=500] + (\x,{sqrt(\x)}) \closedcycle; + +\addplot[pattern=crosshatch, + pattern color=blue!30!white, + draw=blue!30!white] + (\x,\x^2) \closedcycle; + +\addplot[red] coordinates {(0,0) (1,1)}; +\legend{$\sqrt x$,$x^2$,$x$} +\end{axis} +\end{tikzpicture} +\end{codeexample} +\end{stylekey} + \subsubsection{Axis Lines} By default the axis lines are drawn as a |box|, but it is possible to change the appearance of the $x$~and~$y$ axis lines. +\begin{pgfplotskeylist}{ + axis x line=\mchoice{box,top,middle,center,bottom,none} (initially box), + axis x line*=\mchoice{box,top,middle,center,bottom,none} (initially box), + axis y line=\mchoice{box,left,middle,center,right,none} (initially box), + axis y line*=\mchoice{box,left,middle,center,right,none} (initially box)} +Allows to choose the location of the axis line(s). Ticks and tick labels are placed accordingly. +The choice |bottom| will draw the $x$ line at $y=y_\text{min}$, |middle| will draw the $x$~line at $y=0$, and |top| will draw it at $y=y_\text{max}$. Finally, |box| is a combination of options |top| and |bottom|. The $y$~variant works similarly. + +The case |center| is a synonym for |middle|, both draw the line through the respective coordinate~$0$. If this coordinate is not part of the axis limit, the lower axis limit is chosen instead. + +The starred versions $\dotsc$|line*| \emph{only} affect the axis lines, without correcting the positions of axis labels, tick lines or other keys which are (possibly) affected by a changed axis line. The non-starred versions are actually styles which set the starred key \emph{and} some other keys which also affect the figure layout: +\begin{itemize} + \item In case |axis x line=box|, the style |every boxed x axis| will be installed immediately. + \item In case |axis x line|$\neq$|box|, the style |every non boxed x axis| will be installed immediately. Furthermore, axis labels positions will be adjusted to fit the choosen value. +\end{itemize} +The same holds true for the |y|-variants. The default styles are defined as +\begin{codeexample}[code only] +\pgfplotsset{ + /pgfplots/every non boxed x axis/.style={ + xtick align=center, + enlarge x limits=false, + x axis line style={-stealth} + }, + /pgfplots/every boxed x axis/.style={} +} +\end{codeexample} +Feel free to overwrite these styles if the default doesn't fit your needs or taste. + +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + xlabel=$x$,ylabel=$\sin x$] + + \addplot[blue,mark=none] + plot[id=sinneg,domain=-10:0,samples=40] + function{sin(x)}; +\end{axis} +\end{tikzpicture} +\end{codeexample} + \begin{codeexample}[] \begin{tikzpicture} \begin{axis}[ axis x line=middle, axis y line=right, - tick align=center, ymax=1.1, ymin=-1.1, - enlargelimits=false + xlabel=$x$,ylabel=$\sin x$ ] \addplot[blue,mark=none] plot[id=sinneg,domain=-10:0,samples=40] @@ -1681,10 +2039,24 @@ By default the axis lines are drawn as a |box|, but it is possible to change the \begin{codeexample}[] \begin{tikzpicture} \begin{axis}[ - enlargelimits=false, + axis x line=bottom, + axis y line=left, + xlabel=$x$,ylabel=$\sqrt{|x|}$ +] +\addplot[blue,mark=none] + plot[id=sqrtabsx,domain=-4:4,samples=501] + function{sqrt(abs(x))}; +\end{axis} +\end{tikzpicture} +\end{codeexample} + +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ minor tick num=3, axis y line=center, - axis x line=middle + axis x line=middle, + xlabel=$x$,ylabel=$\sin x$ ] \addplot[blue,mark=none] plot[domain=-5:5,samples=40] @@ -1693,8 +2065,212 @@ By default the axis lines are drawn as a |box|, but it is possible to change the \end{tikzpicture} \end{codeexample} +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + minor tick num=3, + axis y line=left, + axis x line=middle, + xlabel=$x$,ylabel=$\sin x$ + ] + \addplot[blue,mark=none] + plot[domain=-5:5,samples=40] + (\x,{sin(\x r)}); +\end{axis} +\end{tikzpicture} +\end{codeexample} + +In case |middle|, the style |every inner axis x line| allows to adjust the appearenace. +\end{pgfplotskeylist} + +\begin{pgfplotsxykey}{every inner \x\ axis line} + A style key which can be redefined to customize the appearance of \emph{inner} axis lines. Inner axis lines are those drawn by the |middle| (or |center|) choice of |axis x line|, see above. + + This style affects \emph{only} the line as such. +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + minor tick num=1, + axis x line=middle, + axis y line=middle, + every inner x axis line/.append style= + {|->>}, + every inner y axis line/.append style= + {|->>}, + xlabel=$x$,ylabel=$y^3$ +] +\addplot[blue] plot[domain=-3:5] (\x,\x^3); +\end{axis} +\end{tikzpicture} +\end{codeexample} +\end{pgfplotsxykey} + +\begin{pgfplotsxykey}{every outer \x\ axis line} + Similar to |every inner x axis line|, this style configures the appearance of all axis lines which are part of the outer box. +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + separate axis lines, % important ! + every outer x axis line/.append style= + {-stealth}, + every outer y axis line/.append style= + {-stealth}, +] +\addplot[blue] plot[id=DoG, + samples=100, + domain=-15:15] + function{1.3*exp(-x**2/10) - exp(-x**2/20)}; +\end{axis} +\end{tikzpicture} +\end{codeexample} +\end{pgfplotsxykey} + +\begin{pgfplotskey}{separate axis lines=\marg{true,false} (default true)} + Enables or disables separate path commands for every axis line. This option affects \emph{only} the case if axis lines are drawn as a \emph{box}. + + Both cases have their advantages and disadvantages, I fear there is no reasonable default (suggestions are welcome). + + The case |separate axis lines=true| allows to draw arrow heads on each single axis line, but it can't close edges very well -- in case of thick lines, you will see unsatisfactory edges. +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + separate axis lines, + every outer x axis line/.append style= + {-stealth,red}, + every outer y axis line/.append style= + {-stealth,green!30!black}, +] +\addplot[blue] plot[id=DoG, + samples=100, + domain=-15:15] + function{1.3*exp(-x**2/10) - exp(-x**2/20)}; +\end{axis} +\end{tikzpicture} +\end{codeexample} + + The case |separate axis lines=false| issues just \emph{one} path for all axis lines. It draws a kind of rectangle, where some parts of the rectangle may be skipped over if they are not wanted. The advantage is that edges are closed properly. The disadvantage is that at most one arrow head is added to the path (and yes, only one drawing color is possible). +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + separate axis lines=false, + every outer x axis line/.append style= + {-stealth,red}, + every outer y axis line/.append style= + {-stealth,green!30!black}, +] +\addplot[blue] plot[id=DoG, + samples=100, + domain=-15:15] + function{1.3*exp(-x**2/10) - exp(-x**2/20)}; +\end{axis} +\end{tikzpicture} +\end{codeexample} +\end{pgfplotskey} + + +\label{pgfplots:page:axislines} +\begin{pgfplotskey}{axis line style=\marg{key-value-list}} + A command which appends \marg{key-value-list} to \emph{all} axis line appearance styles. +\end{pgfplotskey} + +\begin{pgfplotskey}{inner axis line style=\marg{key-value-list}} + A command which appends \marg{key-value-list} to both, |every inner x axis line| and the $y$ variant. +\end{pgfplotskey} +\begin{pgfplotskey}{outer axis line style=\marg{key-value-list}} + A command which appends \marg{key-value-list} to both, |every outer x axis line| and the $y$ variant. +\end{pgfplotskey} +\begin{pgfplotsxykey}{\x\ axis line style=\marg{key-value-list}} + A command which appends \marg{key-value-list} to all axis lines styles for either $x$ or $y$ axis. +\end{pgfplotsxykey} + +\begin{pgfplotsxykey}{every boxed \x\ axis} + A style which will be installed as soon as |axis x line=box| (|y|) is set. + + The default is simply empty. +\end{pgfplotsxykey} +\begin{pgfplotsxykey}{every non boxed \x\ axis} + A style which will be installed as soon as |axis x line| (|y|) will be set to something different than |box|. + + The default is +\begin{codeexample}[code only] +\pgfplotsset{ + /pgfplots/every non boxed x axis/.style={ + xtick align=center, + enlarge x limits=false, + x axis line style={-stealth}}} +\end{codeexample} + \noindent with similar values for the |y|-variant. Feel free to redefine this style to your needs / taste. +\end{pgfplotsxykey} + +\subsubsection[Two Ordinates]{Two Ordinates ($y$ axis)} +{% +\pgfplotsset{every axis/.append style={width=4.5cm}}% +In some applications, more than one $y$ axis is used if the $x$ range is the same. This section demonstrates how to create them. + +\begin{codeexample}[] +\begin{tikzpicture} + \begin{axis}[ + scale only axis, + xmin=-5,xmax=5, + axis y line=left, + xlabel=$x$, + ylabel=First ordinate] + \addplot (\x,\x^2); + \end{axis} + + \begin{axis}[ + scale only axis, + xmin=-5,xmax=5, + axis y line=right, + axis x line=none, + ylabel=Second ordinate] + \addplot[red] (\x,3*\x); + \end{axis} +\end{tikzpicture} +\end{codeexample} +\noindent The basic idea is to draw two axis ``on top'' of each other -- one, which contains the $x$ axis and the left $y$ axis, and one which has \emph{only} the right $y$ axis. This requires attention in the following possibly non-obvious aspects: +\begin{enumerate} + \item Scaling. You should set |scale only axis| because this forces equal dimensions for both axis, without respecting any labels. + \item Same $x$ limits. You should set those limits explicitly. +\end{enumerate} +You may want to consider different legend styles. +It is also possible to use only the axis, without any plots: +\begin{codeexample}[] +% \usepackage{textcomp} +\begin{tikzpicture} + \begin{axis}[ + scale only axis, + xmin=-5,xmax=5, + axis y line=left, + xlabel=$x$, + ylabel=Absolute] + \addplot (\x,\x^2); + \end{axis} + + \begin{axis}[ + scale only axis, + xmin=-5,xmax=5, + ymin=0,ymax=1000, + yticklabel= +{$\pgfmathprintnumber{\tick}$\textperthousand}, + axis y line=right, + axis x line=none, + y label style={yshift=-10pt}, + ylabel=per thousand] + \end{axis} +\end{tikzpicture} +\end{codeexample} +} + +\subsubsection{Axis Discontinuities} In case the range of either of the axis do not include the zero value, it is possible to visualize this with a discontinuity decoration on the corresponding axis line. +\begin{pgfplotsxykey}{axis \x\ discontinuity=\mchoice{crunch,parallel,none} (initially none)} +Insert a discontinuity decoration on the $x$ (or $y$, respectively) axis. +This is to visualize that the $y$ axis does cross the $x$ axis at its $0$ value, because the minimum $x$ axis value is positive or the maximum value is negative. + +The description applies |axis y discontinuity| as well, with interchanged meanings of $x$~and~$y$. + \begin{codeexample}[] \begin{tikzpicture} \begin{axis}[ @@ -1729,35 +2305,39 @@ In case the range of either of the axis do not include the zero value, it is pos \end{axis} \end{tikzpicture} \end{codeexample} +\end{pgfplotsxykey} -\begin{pgfplotskey}{axis x line=\mchoice{box,top,middle,bottom,none} (initially box)} -Allows to choose the location of the $x$ axis line(s). -The labels and ticks are placed accordingly. -Bottom will draw only a line at y=ymin, middle will draw a line at y=0, and top will draw only a line at y=ymax. -Box is a combination of options top and bottom. -\end{pgfplotskey} - -\begin{pgfplotskey}{axis y line=\mchoice{box,left,center,right,none} (initially box)} -Allows to choose the location of the $y$ axis line(s). -The labels and ticks are placed accordingly. -Left will draw only a line at x=xmin, center will draw a line at x=0, and right will draw only a line at x=xmax. -Box is a combination of options left and right. -\end{pgfplotskey} -\begin{pgfplotskey}{axis x discontinuity=\mchoice{crunch,parallel,none} (initially none)} -Insert a discontinuity decoration on the $x$ axis. -This is to visualize that the $y$ axis does cross the $x$ axis at its 0 value, because the minimum $x$ axis value is positive or the maximum value is negative. -\end{pgfplotskey} +\begin{pgfplotsxykey}{hide \x\ axis=\mchoice{true,false} (initially false)} +Allows to hide either the $x$ or the $y$ axis. No outer rectangle, no tick marks and no labels will be drawn. Only titles and legends will be processed as usual. -\begin{pgfplotskey}{axis y discontinuity=\mchoice{crunch,parallel,none} (initially none)} -Similar to |axis x discontinuity|, but now for the $y$ axis. -\end{pgfplotskey} +Axis scaling and clipping will be done as if you did not use |hide x axis|. +\begin{codeexample}[] +\begin{tikzpicture} + \begin{axis}[ + hide x axis, + hide y axis, + title={$\cos(x)$}] + \addplot (\x,{cos(\x)*\x^2}); + \end{axis} +\end{tikzpicture} +\end{codeexample} -\begin{pgfplotskey}{hide axis=\mchoice{true,false} (initially false)} -Allows to hide the axis. No outer rectangle, no tick marks and no labels will be drawn. Only titles and legends will be processed as usual. +\begin{codeexample}[] +\begin{tikzpicture} + \begin{axis}[ + hide x axis, + axis y line=left, + title={$\cos(x)$}] + \addplot (\x,{cos(\x)*\x^2}); + \end{axis} +\end{tikzpicture} +\end{codeexample} +\end{pgfplotsxykey} -Axis scaling and clipping will be done as if you did not use |hide axis|. -\end{pgfplotskey} +\begin{stylekey}{/pgfplots/hide axis=\mchoice{true,false} (default true)} + A style which sets both, |hide x axis| and |hide y axis|. +\end{stylekey} \subsection{Scaling Options} @@ -1779,7 +2359,7 @@ Sets the width of the final picture to \marg{dimen}. If no |height| is specified \end{codeexample} to scale the complete picture. - \item The \Tikz-options \lstinline!x! and \lstinline!y! which set the unit dimensions in $x$ and $y$ directions can be specified as arguments to \lstinline!\begin{axis}[x=1.5cm,y=2cm]! if needed (see below). These settings override the \lstinline!width! and \lstinline!height! options. + \item The \Tikz-options |x| and |y| which set the unit dimensions in $x$ and $y$ directions can be specified as arguments to |\begin{axis}[x=1.5cm,y=2cm]| if needed (see below). These settings override the |width| and |height| options. \item You can also force a fixed width/height of the axis (without looking at labels) with \begin{codeexample}[code only] @@ -1809,7 +2389,7 @@ If |scale only axis=false| (the default), \PGFPlots\ will try to produce the des \begin{pgfplotsxykey}{\x=\marg{dimen}} Sets the unit size for one $x$ (or $y$) coordinate to \marg{dimen}. - Setting $x$ explicitly overrides the \lstinline!width! option. Setting $y$ explicitly overrides the \lstinline!height! option. + Setting $x$ explicitly overrides the |width| option. Setting $y$ explicitly overrides the |height| option. \begin{codeexample}[] \begin{tikzpicture} \begin{axis}[x=1cm,y=1cm] @@ -1819,7 +2399,7 @@ Sets the unit size for one $x$ (or $y$) coordinate to \marg{dimen}. \end{codeexample} Setting |x| and/or |y| for logarithmic axis will set the dimension used for $1 \cdot e \approx 2.71828$. - Please note that it is \emph{not} possible to specify \lstinline!x! as argument to \lstinline!tikzpicture!. The option + Please note that it is \emph{not} possible to specify |x| as argument to |tikzpicture|. The option \begin{codeexample}[code only] \begin{tikzpicture}[x=1.5cm] \begin{axis} @@ -1827,7 +2407,7 @@ Sets the unit size for one $x$ (or $y$) coordinate to \marg{dimen}. \end{axis} \end{tikzpicture} \end{codeexample} - won't have any effect because an axis rescales its coordinates (see the \lstinline!width! option). + won't have any effect because an axis rescales its coordinates (see the |width| option). \end{pgfplotsxykey} \subsection{Error Bars} @@ -1836,16 +2416,16 @@ Sets the unit size for one $x$ (or $y$) coordinate to \marg{dimen}. \def\pgfplotserror#1{\ensuremath{\epsilon_{#1}}}% \PGFPlots\ supports error bars for normal and logarithmic plots. -Error bars are enabled for each plot separately, using \meta{behavior options} after \lstinline!\addplot!: +Error bars are enabled for each plot separately, using \meta{behavior options} after |\addplot|: \begin{codeexample}[code only] -\addplot plot[/pgfplots/error bars/.cd,x dir=both,y dir=both] ... +\addplot plot[error bars/.cd,x dir=both,y dir=both] ... \end{codeexample} Error bars inherit all drawing options of the associated plot, but they use their own marker and style arguments additionally. \begin{codeexample}[] \begin{tikzpicture} \begin{axis} -\addplot plot[/pgfplots/error bars/.cd, +\addplot plot[error bars/.cd, y dir=plus,y explicit] coordinates { (0,0) +- (0.5,0.1) @@ -1860,7 +2440,7 @@ coordinates { \begin{codeexample}[] \begin{tikzpicture} \begin{axis} -\addplot plot[/pgfplots/error bars/.cd, +\addplot plot[error bars/.cd, y dir=both,y explicit, x dir=both,x fixed=0.05, error mark=diamond*] @@ -1874,12 +2454,13 @@ coordinates { \end{tikzpicture} \end{codeexample} +\pgfplotsset{anchor=center,/tikz/every picture/.append style={baseline}} \begin{codeexample}[] \pgfplotstabletypesetfile{pgfplots.testtable2.dat} \begin{tikzpicture} \begin{loglogaxis} -\addplot plot[/pgfplots/error bars/.cd, +\addplot plot[error bars/.cd, x dir=both,x fixed relative=0.5, y dir=both,y explicit relative, error mark=triangle*] @@ -1904,7 +2485,7 @@ coordinates { \begin{tikzpicture} \begin{axis}[enlargelimits=false] \addplot[red,mark=*] - plot[/pgfplots/error bars/.cd, + plot[error bars/.cd, y dir=minus,y fixed relative=1, x dir=minus,x fixed relative=1, error mark=none, @@ -2025,10 +2606,24 @@ Please refer to the manual of \PGFPlotstable\ (shipped with this package) for de \end{command} \label{sec:identify:minor:log}% -\begin{pgfplotskey}{log identify minor tick positions=\mchoice{true,false} (initially true)} +\begin{pgfplotskey}{log identify minor tick positions=\mchoice{true,false} (initially false)} Set this to |true| if you want to identify log--plot tick labels at positions \[ i \cdot 10^j \] -with $i \in \{2,3,4,5,6,7,8,9\},\, j \in \Z$. This may be valueable in conjunction with the `|extra x ticks|' and `|extra y ticks|' options. An example is shown below: The axis range is so small that only one tick label $10^j$ is inside of it. Extra tick labels can be placed on top of the normal ticks, and placing ticks at $i \cdot 10^j $ may be appropriate. +with $i \in \{2,3,4,5,6,7,8,9\},\, j \in \Z$. This may be valueable in conjunction with the `|extra x ticks|' and `|extra y ticks|' options. +\begin{codeexample}[] +\begin{tikzpicture}% +\begin{loglogaxis} + [title=Standard options, + width=6cm] +\addplot coordinates { + (1e-2,10) + (3e-2,100) + (6e-2,200) +}; +\end{loglogaxis} +\end{tikzpicture}% +\end{codeexample} + \begin{codeexample}[] \pgfplotsset{every axis/.append style={% width=6cm, @@ -2036,9 +2631,13 @@ with $i \in \{2,3,4,5,6,7,8,9\},\, j \in \Z$. This may be valueable in conjuncti extra x ticks={3e-2,6e-2}, extra x tick style={major tick length=0pt,font=\footnotesize} }}% + \begin{tikzpicture}% \begin{loglogaxis}[ - title=with minor tick identification] + xtick={1e-2}, + title=with minor tick identification, + extra x tick style={ + log identify minor tick positions=true}] \addplot coordinates { (1e-2,10) (3e-2,100) @@ -2049,8 +2648,10 @@ with $i \in \{2,3,4,5,6,7,8,9\},\, j \in \Z$. This may be valueable in conjuncti \begin{tikzpicture}% \begin{loglogaxis}[ + xtick={1e-2}, title=without minor tick identification, - log identify minor tick positions=false] + extra x tick style={ + log identify minor tick positions=false}] \addplot coordinates { (1e-2,10) (3e-2,100) @@ -2059,6 +2660,7 @@ with $i \in \{2,3,4,5,6,7,8,9\},\, j \in \Z$. This may be valueable in conjuncti \end{loglogaxis}% \end{tikzpicture}% \end{codeexample} + This key is set by the default styles for extra ticks. \end{pgfplotskey} \begin{pgfplotscodekey}{log number format code} @@ -2154,7 +2756,7 @@ Allows to configure the number format of log plot exponents. This style is insta % \let\pgfmathprintnumber@fixed@style=\myfixedpointstyle} % }% % \end{codeexample} -% You only need to overwrite the macro \lstinline!\pgfmathprintnumber@fixed@style!. This macro takes one argument (the result of any numerical computations). The \TeX-boolean \lstinline!\ifpgfmathfloatroundhasperiod! is true if and only if the input number contains a period. +% You only need to overwrite the macro |\pgfmathprintnumber@fixed@style|. This macro takes one argument (the result of any numerical computations). The \TeX-boolean |\ifpgfmathfloatroundhasperiod| is true if and only if the input number contains a period. % % \item An example for a new scientific display style: % \begin{lstlisting} @@ -2185,11 +2787,34 @@ Allows to configure the number format of log plot exponents. This style is insta \begin{pgfplotsxykeylist}{\x min=\marg{coord},\x max=\marg{coord}} The options |xmin|, |xmax| and |ymin|, |ymax| allow to define the axis limits, i.e. the lower left and the upper right corner. Everything outside of the axis limits will be clipped away. -If one of \lstinline!xmin! or \lstinline!xmax! is missing, the $x$-interval will be determined automatically. The same holds true if one of \lstinline!ymin! or \lstinline!ymax! is missing: in this case, the $y$-interval will be determined automatically. +Each missing limit will be determined automatically. -If $x$-limits have been specified explicitly and $y$-limits are computed automatically, the automatic computation of $y$-limits will only considers points which fall into the specified $x$-range (and vice--versa). This can be disable using |clip limits=false|. +If $x$-limits have been specified explicitly and $y$-limits are computed automatically, the automatic computation of $y$-limits will only considers points which fall into the specified $x$-range (and vice--versa). The same holds true if, for example, only |xmin| has been provided explicitly: in that case, |xmax| will be updated only for points for which $x \ge $|xmin| holds. This feature can be disable using |clip limits=false|. Axis limits can be increased automatically using the |enlargelimits| option. +\begin{codeexample}[] +\begin{tikzpicture} + \begin{axis} + \addplot (\x,\x^2); + \end{axis} +\end{tikzpicture} +\end{codeexample} + +\begin{codeexample}[] +\begin{tikzpicture} + \begin{axis}[xmin=0] + \addplot (\x,\x^2); + \end{axis} +\end{tikzpicture} +\end{codeexample} + +\begin{codeexample}[] +\begin{tikzpicture} + \begin{axis}[ymax=10] + \addplot (\x,\x^2); + \end{axis} +\end{tikzpicture} +\end{codeexample} \end{pgfplotsxykeylist} \begin{pgfplotsxykey}{\x mode=\mchoice{normal,linear,log} (initially normal)} @@ -2202,32 +2827,39 @@ Allows to choose between linear (=normal) or logarithmic axis scaling or logplot This option has nothing to do with path clipping, it only affects how the axis limits are computed. \end{pgfplotskey} -\begin{pgfplotskey}{enlargelimits=\mchoice{true,false,auto,\marg{val}}} -Enlarges the axis size somewhat if enabled. +\begin{pgfplotsxykey}{enlarge \x\ limits=\mchoice{true,false,auto,\marg{val}} (default true)} +Enlarges the axis size for one axis somewhat if enabled. -You can set |xmin|, |xmax| and |ymin|, |ymax| to the minimum/maximum values of your data and |enlargelimits| will enlarge the canvas such that the axis doesn't touch the plots. +You can set |xmin|, |xmax| and |ymin|, |ymax| to the minimum/maximum values of your data and |enlarge x limits| will enlarge the canvas such that the axis doesn't touch the plots. \begin{itemize} \item The value |true| enlarges all axes. \item The value |false| uses tight axis limits as specified by the user (or read from input coordinates). \item The value |auto| will enlarge limits only for axis for which axis limits have been determined automatically. - \item All other values like `|enlargelimits=0.1|' will enlarge all axis limits relatively (in this example, 10\% of the axis limits will be added at all sides). + \item All other values like `|enlarge x limits=0.1|' will enlarge all axis limits relatively (in this example, 10\% of the axis limits will be added at all sides). \end{itemize} -A small value of |enlargelimits| may avoid problems with large markers near the boundary. -\end{pgfplotskey} +A small value of |enlarge x limits| may avoid problems with large markers near the boundary. +\end{pgfplotsxykey} +\begin{stylekey}{/pgfplots/enlargelimits=\mchoice{true,false,auto,\marg{val}} (default true)} + A style which sets |enlarge x limits| and |enlarge y limits| to the specified value. +\end{stylekey} + +\begin{environment}{{pgfplotsinterruptdatabb}} + Everything in \marg{environment contents} will not contribute to the data bounding box. +\end{environment} \subsection{Tick and Grid Options} \begin{pgfplotsxykey}{\x tick=\mchoice{\textbackslash empty,data,\marg{coordinate list}} (initially \marg{})} The options |xtick| and |ytick| assigns a list of \emph{Positions} where ticks shall be placed. The argument is either the command |\empty|, |data| or a list of coordinates. The choice |\empty| will result in no tick at all. The special value |data| will produce tick marks at every coordinate of the first plot. Otherwise, tick marks will be placed at every coordinate in \marg{coordinate list}. If this list is empty, \PGFPlots\ will compute a default list. -\marg{coordinate list} will be used inside of a \lstinline!\foreach \x in !\marg{coordinate list} statement. The format is as follows: +\marg{coordinate list} will be used inside of a |\foreach \x in |\marg{coordinate list} statement. The format is as follows: \begin{itemize} - \item \lstinline!{0,1,2,5,8,1e1,1.5e1}! (a series of coordinates), - \item \lstinline!{0,...,5}! (the same as \lstinline!{0,1,2,3,4,5}!), - \item \lstinline!{0,2,...,10}! (the same as \lstinline!{0,2,4,6,8,10}!), - \item \lstinline!{9,...,3.5}! (the same as \lstinline!{9, 8, 7, 6, 5, 4}!), + \item |{0,1,2,5,8,1e1,1.5e1}| (a series of coordinates), + \item |{0,...,5}| (the same as |{0,1,2,3,4,5}|), + \item |{0,2,...,10}| (the same as |{0,2,4,6,8,10}|), + \item |{9,...,3.5}| (the same as |{9, 8, 7, 6, 5, 4}|), \item See \cite[Section~34]{tikz} for a more detailed definition of the options. \end{itemize} For logplots, \PGFPlots\ will apply $\log(\cdot)$ to each element in `\marg{coordinate list}'. @@ -2255,11 +2887,13 @@ For logplots, \PGFPlots\ will apply $\log(\cdot)$ to each element in `\marg{coor \vspace*{0.3cm} \noindent -The default choice for tick \emph{positions} in normal plots is to place a tick at each coordinate~$i\cdot h$. The step size~$h$ depends on the axis scaling and the axis limits. It is chosen from a list a ``feasable'' step sizes such that neither too much nor too few ticks will be generated. The default for logplots is to place ticks at positions $10^i$ in the axis' range. Which positions depends on the axis scaling and the dimensions of the picture. The default tick positions can be reconfigured with +The default choice for tick \emph{positions} in normal plots is to place a tick at each coordinate~$i\cdot h$. The step size~$h$ depends on the axis scaling and the axis limits. It is chosen from a list a ``feasable'' step sizes such that neither too much nor too few ticks will be generated. The default for logplots is to place ticks at positions $10^i$ in the axis' range. Which positions depends on the axis scaling and the dimensions of the picture. If log plots contain just one (or two) positions $10^i$ in their limits, ticks will be placed at positions $10^{i\cdot h}$ with ``feasable'' step sizes $h$ as in the case of linear axis. + +The default tick positions can be reconfigured with \begin{itemize} - \item `\lstinline!max space between ticks=!\marg{number}' where the integer argument denotes the maximum space between adjacent ticks in full points. The suffix ``|pt|'' has to be omitted and fractional numbers are not supported. The default is~\axisdefaulttickwidth. - \item `\lstinline!try min ticks=!\marg{number}' configures a loose lower bound on the number of ticks. It should be considered as a suggestion, not a tight limit. The default is~\axisdefaulttryminticks. This number will increase the number of ticks if `|max space between ticks|' produces too few of them. - \item `\lstinline!try min ticks log=!\marg{number}' The same for logarithmic axis. + \item `|max space between ticks=|\marg{number}' where the integer argument denotes the maximum space between adjacent ticks in full points. The suffix ``|pt|'' has to be omitted and fractional numbers are not supported. The default is~\axisdefaulttickwidth. + \item `|try min ticks=|\marg{number}' configures a loose lower bound on the number of ticks. It should be considered as a suggestion, not a tight limit. The default is~\axisdefaulttryminticks. This number will increase the number of ticks if `|max space between ticks|' produces too few of them. + \item `|try min ticks log=|\marg{number}' The same for logarithmic axis. \end{itemize} The total number of ticks may still vary because not all fractional numbers in the axis' range are valid tick positions. @@ -2275,9 +2909,38 @@ or \pgfplotsset{every tick/.append style={very thin,gray}} \pgfplotsset{every minor tick/.append style={black}} \end{codeexample} -Please prefer the `|.append style|' versions to ensure compatibility with future versions. +Please prefer the `|.append style|' versions whenever possible to ensure compatibility with future versions. This style commands can be used at any time. The tick line width can be configured with `|major tick length|' and `|minor tick length|'. + +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[xtick=data,xmajorgrids] + \addplot coordinates { + (1,2) + (2,5) + (4,6.5) + (6,8) + (10,9) + }; +\end{axis} +\end{tikzpicture} +\end{codeexample} + +\begin{codeexample}[] +\begin{tikzpicture} +\begin{loglogaxis}[ + title=A log plot with small axis range] + + \addplot coordinates { + (10,1e-4) + (17,8.3176e-05) + (25,7.0794e-05) + (50,5e-5) + }; +\end{loglogaxis} +\end{tikzpicture} +\end{codeexample} \end{pgfplotsxykey} \begin{pgfplotskey}{minor tick num=\marg{number}} @@ -2304,7 +2967,7 @@ This style commands can be used at any time. The tick line width can be configur \end{pgfplotskey} -\begin{pgfplotsxykey}{minor \x~tick num=\marg{number} (initially 0)} +\begin{pgfplotsxykey}{minor \x\ tick num=\marg{number} (initially 0)} Sets the number of minor tick lines used for linear $x$~or~$y$ axis separately. Minor ticks will be disabled if the major ticks don't have the same distance. @@ -2332,7 +2995,7 @@ Adds \emph{additional} tick positions and tick labels to the $x$~or~$y$ axis. `A extra y tick labels={$e$}, extra x ticks={2.2}, extra x tick style={grid=major, - /pgfplots/tick label style={ + tick label style={ rotate=90,anchor=east}}, extra x tick labels={Cut}, ] @@ -2344,7 +3007,9 @@ Adds \emph{additional} tick positions and tick labels to the $x$~or~$y$ axis. `A \begin{codeexample}[] \pgfplotsset{every axis/.append style={width=5.3cm}} \begin{tikzpicture} -\begin{loglogaxis} +\begin{loglogaxis}[ + xtickten={1,2}, + ytickten={-5,-6}] \addplot coordinates {(10,1e-5) (20,5e-6) (40,2.5e-6)}; \end{loglogaxis} @@ -2352,6 +3017,8 @@ Adds \emph{additional} tick positions and tick labels to the $x$~or~$y$ axis. `A \begin{tikzpicture} \begin{loglogaxis}[ + xtickten={1,2}, + ytickten={-5,-6}, extra x ticks={20,40}, extra y ticks={5e-6,2.5e-6}] \addplot coordinates @@ -2362,6 +3029,8 @@ Adds \emph{additional} tick positions and tick labels to the $x$~or~$y$ axis. `A \begin{tikzpicture} \begin{loglogaxis}[ log identify minor tick positions=false, + xtickten={1,2}, + ytickten={-5,-6}, extra x ticks={20,40}, extra y ticks={5e-6,2.5e-6}] \addplot coordinates @@ -2471,16 +3140,16 @@ This is one of two options to assign tick labels directly. The other option is ` The argument \marg{command} can be any \TeX-text. The following commands are valid inside of \marg{command}: \begin{description} - \item[\textbackslash tick] The current element of option \lstinline!xtick! (or \lstinline!ytick!). + \item[\textbackslash tick] The current element of option |xtick| (or |ytick|). \item[\textbackslash ticknum] The current tick number, starting with~0 (a counter). \item[\textbackslash nexttick] This command is only valid in case if the |x tick label as interval| option is set (or the corresponding variable for~$y$). It will contain the position of the next tick position, that means the right boundary of the tick interval. \end{description} The default argument is \begin{itemize} - \item \lstinline!\axisdefaultticklabel! for normal plots and - \item \lstinline!\axisdefaultticklabellog! for logplots, see below. + \item |\axisdefaultticklabel| for normal plots and + \item |\axisdefaultticklabellog| for logplots, see below. \end{itemize} -(the same holds for \lstinline!yticklabel!). The defaults are set to +(the same holds for |yticklabel|). The defaults are set to \begin{codeexample}[code only] \def\axisdefaultticklabel{% $\pgfmathprintnumber{\tick}$% @@ -2556,9 +3225,13 @@ which has the same effect as the `|every x tick label|' statement above. This is \end{pgfplotsxykey} \label{sec:scaled:ticks}% -\begin{pgfplotskey}{scaled ticks=\mchoice{true,false} (initially true)} +\begin{pgfplotsxykeylist}{ + scaled \x\ ticks=\mchoice{true,false} (initially true), + scaled ticks=\mchoice{true,false} (initially true)} Allows to factor out common exponents in tick labels. For example, if you have tick labels $20000,40000$ and $60000$, you may want to save some space and write $2,4,6$ with a separate factor `$\cdot 10^4$'. Use `|scaled ticks=true|' to enable this feature (default is |true|). + The |scaled ticks| key is a style which simply enables scaled ticks for both, $x$ and $y$. + \begin{codeexample}[] \begin{tikzpicture} \begin{axis}[scaled ticks=true] @@ -2582,7 +3255,7 @@ Allows to factor out common exponents in tick labels. For example, if you have t \end{axis} \end{tikzpicture} \end{codeexample} -\end{pgfplotskey} +\end{pgfplotsxykeylist} \begin{pgfplotscodekey}{tick scale label code} Allows to change the default code for scaled tick labels. The default is @@ -2606,15 +3279,87 @@ Allows fine tuning of the '|scaled ticks|' algorithm: if the axis limits are of \end{pgfplotskey} -\begin{pgfplotskey}{tickpos=\mchoice{left,right,both} (initially both)} -Allows to choose where to place the small tick lines. Default is ``|both|''. This setting applies to both $x$~and~$y$ axis where ``left'' and ``right'' mean ``bottom'' and ``top'' for~$y$. +\begin{pgfplotsxykey}{\x tick pos=\mchoice{left,right,both} (initially both)} +Allows to choose where to place the small tick lines. In the default configuration, this does also affect tick \emph{labels}, see below. + +For $y$, the additional choices |bottom| and |top| can be used which are equivalent to |left| and |right|, respectively. Both are accepted for $y$. +\end{pgfplotsxykey} + +\begin{pgfplotskey}{tickpos=\mchoice{left,right,both}} + A style which sets both, |xtick pos| and |ytick pos|. \end{pgfplotskey} -\begin{pgfplotskey}{tick align=\mchoice{inside,center,outside} (initially inside)} -Allows to change the location of the ticks relative to the axis lines. -Default is ``|inside|''. this setting applies to both $x$~and~$y$ axis. +\begin{pgfplotsxykey}{\x ticklabel pos=\mchoice{left,right,default} (initially default)} +Allows to choose where to place tick \emph{labels}. The choices |left| and |right| place tick labels either at the left or at the right side of the complete axis. The choice |default| uses the same setting as |xtick pos| (or |ytick pos|). This option is only useful for boxed axis -- keep it to |default| for non-boxed figures. + +For $y$, the additional choices |bottom| and |top| can be used which are equivalent to |left| and |right|, respectively. Both are accepted for $y$. +\end{pgfplotsxykey} + +\begin{pgfplotskey}{ticklabelpos=\mchoice{left,right,default}} + A style which sets both, |xticklabel pos| and |yticklabel pos|. \end{pgfplotskey} +\begin{pgfplotsxykey}{\x tick align=\mchoice{inside,center,outside} (initially inside)} +Allows to change the location of the ticks relative to the axis lines. +Default is ``|inside|''. +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + xtick=data,ytick=data, + xtick align=center, + axis x line=center, + axis y line=center, + enlargelimits=0.05] +\addplot coordinates + {(-3,0) (-2,0.1) (-1,-0.6) + (0,1) + (1,-0.6) (2,0.1) (3,0)}; +\end{axis} +\end{tikzpicture} +\end{codeexample} + +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + xtick=data,ytick=data, + axis x line=bottom, + ytick align=outside, + axis y line=left, + enlargelimits=0.05] +\addplot coordinates + {(-3,0) (-2,0.1) (-1,-0.6) + (0,1) + (1,-0.6) (2,0.1) (3,0)}; +\end{axis} +\end{tikzpicture} +\end{codeexample} + +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + xtick=data, + axis x line=center, + xticklabels={,,}, + ytick={-0.6,0,0.1,1}, + yticklabels={ + $-\frac{6}{10}$,, + $\frac{1}{10}$,$1$}, + ymajorgrids, + axis y line=left, + enlargelimits=0.05] +\addplot coordinates + {(-3,0) (-2,0.1) (-1,-0.6) + (0,1) + (1,-0.6) (2,0.1) (3,0)}; +\end{axis} +\end{tikzpicture} +\end{codeexample} +\end{pgfplotsxykey} + +\begin{stylekey}{/pgfplots/tick align=\mchoice{inside,center,outside} (initially inside)} + A style which sets both, |xtick align| and |ytick align| to the specified value. +\end{stylekey} + \begin{pgfplotsxykeylist}{\x minorticks=\mchoice{true,false} (initially true),\x majorticks=\mchoice{true,false} (initially true),ticks=\mchoice{minor,major,both,none} (initially both)} Enables/disables the small tick lines either for single axis or for all of them. Major ticks are those placed at the tick positions and minor ticks are between tick positions. Please note that minor ticks are automatically disabled if |xtick| is not a uniform range\footnote{A uniform list means the difference between all elements is the same for linear axis or, for logarithmic axes, $\log(10)$.}. @@ -2676,15 +3421,15 @@ Grid lines will be drawn before tick lines are processed, so ticks will be drawn \subsection{Style Options} \label{sec:styles} \subsubsection{All Supported Styles} -\PGFPlots\ provides many styles to customize its appearance and behavior. They can be defined and changed in any place where keys are allowed. +\PGFPlots\ provides many styles to customize its appearance and behavior. They can be defined and changed in any place where keys are allowed. Furthermore, own styles are defined easily. -\begin{handler}{.style=\marg{key-value-list}} +\begin{handler}{{.style}=\marg{key-value-list}} Defines or redefines a style \meta{key}. A style is a normal key which will set all options in \marg{key-value-list} when it is set. Use |\pgfplotsset{|\meta{key}|/.style={|\meta{key-value-list}|}}| to (re-) define a style \meta{key} in the namespace |/pgfplots|. \end{handler} -\begin{handler}{.append style=\marg{key-value-list}} +\begin{handler}{{.append style}=\marg{key-value-list}} Appends \marg{key-value-list} to an already existing style \meta{key}. This is the preferred method to change the predefined styles: if you only append, you maintain compatibility with future versions. Use |\pgfplotsset{|\meta{key}|/.append style={|\meta{key-value-list}|}}| to append \marg{key-value-list} to the style \meta{key}. This will assume the prefix |/pgfplots|. @@ -2698,32 +3443,38 @@ Grid lines will be drawn before tick lines are processed, so ticks will be drawn You can define new style keys with |.style| and |.append style|, see above. \end{command} -\begin{stylekey}{/pgfplots/every axis} +\subsubsection*{Styles installed for linear/logarithmic axis} + +\begin{stylekey}{/pgfplots/every axis (initially empty)} Installed at the beginning of every axis. \Tikz\ options inside of it will be used for anything inside of the axis rectangle and any axis descriptions. \end{stylekey} -\begin{stylekey}{/pgfplots/every semilogx axis} +\begin{stylekey}{/pgfplots/every semilogx axis (initially empty)} Installed at the beginning of every plot with linear $x$~axis and logarithmic $y$~axis, but after `|every axis|'. \end{stylekey} -\begin{stylekey}{/pgfplots/every semilogy axis} +\begin{stylekey}{/pgfplots/every semilogy axis (initially empty)} Likewise, but with interchanged roles for $x$~and~$y$. \end{stylekey} -\begin{stylekey}{/pgfplots/every loglog axis} +\begin{stylekey}{/pgfplots/every loglog axis (initially empty)} Installed at the beginning of every double--logarithmic plot. \end{stylekey} -\begin{stylekey}{/pgfplots/every linear axis} +\begin{stylekey}{/pgfplots/every linear axis (initially empty)} Installed at the beginning of every plot with normal axis scaling. \end{stylekey} -\begin{stylekey}{/pgfplots/every axis plot} - Used for the \Tikz-drawing command in any `\lstinline!\addplot!' command. May only contain \Tikz\ options. +\subsubsection*{Styles installed for single plots} + +\begin{stylekey}{/pgfplots/every axis plot (initially empty)} + Installed for each plot. This style may contain \meta{behavior options} like samples, gnuplot parameters, error bars and it may contain \meta{style options} which affect the final drawing commands. + +% \FIXME{currently, pgfplots options need to be prefixed with /pgfplots/} \end{stylekey} -\begin{stylekey}{/pgfplots/every axis plot post} - This style is very similar to |every axis plot| in that is applies to any drawing command in |\addplot|. However, it is set \emph{after} any user defined styles or |cycle list| options. +\begin{stylekey}{/pgfplots/every axis plot post (initially empty)} + This style is similar to |every axis plot| in that is applies to any drawing command in |\addplot|. However, it is set \emph{after} any user defined styles or |cycle list| options. \begin{codeexample}[] \begin{tikzpicture} \pgfplotsset{ @@ -2742,175 +3493,223 @@ Grid lines will be drawn before tick lines are processed, so ticks will be drawn \end{codeexample} \end{stylekey} -\begin{stylekey}{/pgfplots/every axis plot no \#} - Used for every \#th plot where $\#=1,2,3,4,\dotsc$. +\begin{stylekey}{/pgfplots/every axis plot no \# (initially empty)} + Used for every \#th plot where $\#=1,2,3,4,\dotsc$. This option may also contain \meta{behavior options}. \end{stylekey} -\begin{stylekey}{/pgfplots/every axis label} - Used for $x$~and~$y$ axis label. You can use `|at=|\marg{(x,y)} to set its position where $(0,0)$ refers to the lower left corner and $(1,1)$ to the upper right one. -\end{stylekey} +\subsubsection*{Styles for axis descriptions} -\begin{stylekey}{/pgfplots/every axis x label} - Used for $x$~labels, installed after `|every axis label|'. +\begin{stylekey}{/pgfplots/every axis label (initially empty)} + Used for $x$~and~$y$ axis label. You can use `|at=|\parg{x,y} to set its position where $(0,0)$ refers to the lower left corner and $(1,1)$ to the upper right one. \end{stylekey} -\begin{stylekey}{/pgfplots/every axis y label} - Like `|every axis x label|', just for~$y$. -\end{stylekey} +\pgfplotsshortstylekey label style=every axis label; -\begin{stylekey}{/pgfplots/every axis title} - Used for any axis title. The |at=|\marg{(x,y)} command works as for `|every axis label|'. -\end{stylekey} +\begin{xystylekey}{/pgfplots/every axis \x\ label} + Used only~$x$ or only for~$y$ labels, installed after `|every axis label|'. -\begin{stylekey}{/pgfplots/every tick} - Installed for each of the small tick lines. -\end{stylekey} - -\begin{stylekey}{/pgfplots/every minor tick} - Used for each minor tick line, installed after `|every tick|'. -\end{stylekey} + The initial settings are +\begin{codeexample}[code only] +\pgfplotsset{ + every axis x label/.style={at={(0.5,0)},below,yshift=-15pt}, + every axis y label/.style={at={(0,0.5)},xshift=-35pt,rotate=90}} +\end{codeexample} -\begin{stylekey}{/pgfplots/every major tick} - Used for each major tick line, installed after `|every tick|'. -\end{stylekey} + The predefined node |current axis| can be used to refer to anchors of the unfinished picture. For example + `|at={(current axis.origin)}|' will position a label at the \emph{data} coordinate $(0,0)$. More useful is probably + `|at={(current axis.right of origin)}|', see + section~\ref{pgfplots:sec:align} for more details. This remark holds + for any axis description, but it is mostly useful for axis labels. -\begin{stylekey}{/pgfplots/every x tick} +\paragraph{Attention:} These styles will be overwritten by |axis x line| and/or |axis y line|. Please remember to place your modifications after the axis line variations. +\end{xystylekey} -\end{stylekey} +\pgfplotsshortxystylekeys \x\ label style,\x label style=every axis \x\ label; -\begin{stylekey}{/pgfplots/every minor x tick} +\begin{stylekey}{/pgfplots/every axis title} + Used for any axis title. The |at=|\parg{x,y} command works as for `|every axis label|'. +The initial setting is +\begin{codeexample}[code only] +\pgfplotsset{every axis title/.style={at={(0.5,1)},above,yshift=6pt}} +\end{codeexample} \end{stylekey} -\begin{stylekey}{/pgfplots/every major x tick} +\pgfplotsshortstylekey title style=every axis title; +\begin{stylekey}{/pgfplots/every axis legend} + Installed for each legend. As for |every axis label|, the legend's position can be placed using coordinates between $0$~and~$1$, see above. + + The initial setting is +\begin{codeexample}[code only] +\pgfplotsset{every axis legend/.style={ + cells={anchor=center}, + inner xsep=3pt,inner ysep=2pt,nodes={inner sep=2pt,text depth=0.15em}, + anchor=north east, + shape=rectangle, + fill=white,draw=black, + at={(0.98,0.98)}}} +\end{codeexample} \end{stylekey} -\begin{stylekey}{/pgfplots/every y tick} +\pgfplotsshortstylekey legend style=every axis legend; -\end{stylekey} +\subsubsection*{Styles for axis lines} +\begin{xystylekey}{/pgfplots/every outer \x\ axis line (initially empty)} + Installed for every axis line which lies on the outer box. -\begin{stylekey}{/pgfplots/every minor y tick} + If you want arrow heads, you may also need to check the |separate axis lines| boolean key. +\end{xystylekey} -\end{stylekey} +\begin{xystylekey}{/pgfplots/every inner \x\ axis line (initially empty)} + Installed for every axis line which is drawn using the |center| or |middle| options. +\end{xystylekey} -\begin{stylekey}{/pgfplots/every major y tick} +\begin{pgfplotsxykeylist}{% + axis line style=\marg{key-value-list}, + inner axis line style=\marg{key-value-list}, + outer axis line style=\marg{key-value-list}, + \x\ axis line style=\marg{key-value-list}} + These options modify selects parts of the axis line styles. They set |every inner x axis line| and |every outer x axis line| and the respective $y$ variants. +\end{pgfplotsxykeylist} -\end{stylekey} +\noindent +Please refer to section~\ref{pgfplots:page:axislines} on page~\pageref{pgfplots:page:axislines} for details about styles for axis lines. -\begin{stylekey}{/pgfplots/every axis grid} - Used for each grid line. -\end{stylekey} -\begin{stylekey}{/pgfplots/every minor grid} - Used for each minor grid line, installed after `|every axis grid|'. -\end{stylekey} -\begin{stylekey}{/pgfplots/every major grid} - Likewise, for major grid lines. +\subsubsection*{Styles for ticks} + +\begin{stylekey}{/pgfplots/every tick (initially very thin,gray)} + Installed for each of the small tick \emph{lines}. \end{stylekey} -\begin{stylekey}{/pgfplots/every axis x grid} +\pgfplotsshortstylekey tick style=every tick; +\begin{stylekey}{/pgfplots/every minor tick (initially empty)} + Used for each minor tick line, installed after `|every tick|'. \end{stylekey} -\begin{stylekey}{/pgfplots/every minor x grid} +\pgfplotsshortstylekey minor tick style=every minor tick; +\begin{stylekey}{/pgfplots/every major tick (initially empty)} + Used for each major tick line, installed after `|every tick|'. \end{stylekey} -\begin{stylekey}{/pgfplots/every major x grid} +\pgfplotsshortstylekey major tick style=every major tick; +\begin{stylekey}{/pgfplots/every tick label (initially empty)} + Used for each $x$~and~$y$ tick labels. \end{stylekey} -\begin{stylekey}{/pgfplots/every axis y grid} +\begin{xystylekey}{/pgfplots/every \x\ tick label (initially empty)} + Used for each $x$ (or $y$, respectively) tick label, installed after `|every tick label|'. +\end{xystylekey} -\end{stylekey} +\pgfplotsshortxystylekeys \x\ tick label style,\x ticklabel style=every \x\ tick label; -\begin{stylekey}{/pgfplots/every minor y grid} +\begin{xystylekey}{/pgfplots/every \x\ tick scale label} + Configures placement and display of the nodes containing the order of magnitude of tick labels, see section~\ref{sec:scaled:ticks} for more information about |scaled ticks|. -\end{stylekey} +The initial settings are +\begin{codeexample}[code only] +\pgfplotsset{ + every x tick scale label/.style={at={(1,0)},yshift=-2em,left,inner sep=0pt}, + every y tick scale label/.style={at={(0,1)},above right,inner sep=0pt,yshift=0.3em}} +\end{codeexample} +\end{xystylekey} -\begin{stylekey}{/pgfplots/every major y grid} +\pgfplotsshortxystylekey \x\ tick scale label style=every \x\ tick scale label; -\end{stylekey} +\begin{xystylekey}{/pgfplots/every \x\ tick (initially empty)} + Installed for tick \emph{lines} on either $x$ or $y$ axis. +\end{xystylekey} -\begin{stylekey}{/pgfplots/every tick label} - Used for each $x$~and~$y$ tick labels. -\end{stylekey} +\pgfplotsshortxystylekey \x\ tick style=every \x\ tick; -\begin{stylekey}{/pgfplots/every x tick label} - Used for each $x$~tick label, installed after `|every tick label|'. -\end{stylekey} +\begin{xystylekey}{/pgfplots/every minor \x\ tick (initially empty)} + Installed for minor tick lines on either $x$ or $y$ axis. +\end{xystylekey} -\begin{stylekey}{/pgfplots/every y tick label} - Likewise, for $y$~tick labels. -\end{stylekey} +\pgfplotsshortxystylekey minor \x\ tick style=every minor \x\ tick; -\begin{stylekey}{/pgfplots/every x tick scale label} - Configures placement and display of the nodes containing the order of magnitude of $x$~tick labels, see~\ref{sec:scaled:ticks} for more information about |scaled ticks|. -\end{stylekey} +\begin{xystylekey}{/pgfplots/every major \x\ tick (initially empty)} + Installed for major tick lines on either $x$ or $y$ axis. +\end{xystylekey} +\pgfplotsshortxystylekey major \x\ tick style=every major \x\ tick; -\begin{stylekey}{/pgfplots/every y tick scale label} - Likewise, but for $y$-tick scale labels. -\end{stylekey} +\begin{xystylekey}{/pgfplots/every extra \x\ tick} + Allows to configure the appearance of `|extra x ticks|'. This style is installed before touching the first extra $x$~tick. It is possible to set any option which affects tick or grid line generation. -\begin{stylekey}{/pgfplots/every extra x tick} - Allows to configure the appearance of `|extra x ticks|'. This style is installed before touching the first extra $x$~tick, so you can set any option which affects tick generation, for example -\end{stylekey} +The initial setting is +\begin{codeexample}[code only] +\pgfplotsset{ + every extra x tick/.style={/pgfplots/log identify minor tick positions=true}, + every extra y tick/.style={/pgfplots/log identify minor tick positions=true}} +\end{codeexample} -\begin{stylekey}{/pgfplots/every error bar} - Installed for every error bar. + Useful examples are shown below. \begin{codeexample}[code only] \pgfplotsset{every extra x tick/.append style={grid=major}} \pgfplotsset{every extra x tick/.append style={major tick length=0pt}} \pgfplotsset{every extra x tick/.append style={/pgf/number format=sci subscript}} \end{codeexample} -or something like that. +\end{xystylekey} + +\pgfplotsshortxystylekey extra \x\ tick style=every extra \x\ tick; + + + +\subsubsection*{Styles for grid lines} + +\begin{stylekey}{/pgfplots/every axis grid (initially thin,black!25)} + Used for each grid line. \end{stylekey} -\begin{stylekey}{/pgfplots/every extra y tick} - Likewise, but for extra $y$-ticks. +\pgfplotsshortstylekey grid style=every axis grid; + +\begin{stylekey}{/pgfplots/every minor grid (initially empty)} + Used for each minor grid line, installed after `|every axis grid|'. \end{stylekey} -\begin{stylekey}{/pgfplots/every axis legend} - Installed for each legend. As for |every axis label|, the legend's position can be placed using coordinates between $0$~and~$1$, see above. +\pgfplotsshortstylekey minor grid style=every minor grid; + +\begin{stylekey}{/pgfplots/every major grid (initially empty)} + Likewise, for major grid lines. \end{stylekey} +\pgfplotsshortstylekey major grid style=every major grid; -\begin{pgfplotsxykeylist}{% - \x\ tick label style=\marg{$\dots$}, - \x\ tick scale label style=\marg{$\dots$}, - label style=\marg{$\dots$}, - \x\ label style=\marg{$\dots$}, - title style=\marg{$\dots$}, - tick style=\marg{$\dots$}, - minor tick style=\marg{$\dots$}, - major tick style=\marg{$\dots$}, - \x\ tick style=\marg{$\dots$}, - minor \x\ tick style=\marg{$\dots$}, - major \x\ tick style=\marg{$\dots$}, - grid style=\marg{$\dots$}, - minor grid style=\marg{$\dots$}, - major grid style=\marg{$\dots$}, - \x\ grid style=\marg{$\dots$}, - minor \x\ grid style=\marg{$\dots$}, - major \x\ grid style=\marg{$\dots$}, - extra \x\ tick style=\marg{$\dots$}} - -All these options are equivalent to the corresponding `|every ...|'--styles. - -For example, |label style=|\marg{...} has the same effect as -\begin{codeexample}[code only] -\pgfplotsset{every axis label/.append style={...}} -\end{codeexample} -but can be provided as an option (or as part of a user defined style). -See section~\ref{sec:styles} for more information about the available styles. -\end{pgfplotsxykeylist} +\begin{xystylekey}{/pgfplots/every axis \x\ grid (initially empty)} + Used for each grid line in either $x$ or $y$ direction. +\end{xystylekey} + +\pgfplotsshortxystylekey \x\ grid style=every axis \x\ grid; + +\begin{xystylekey}{/pgfplots/every minor \x\ grid (initially empty)} + Used for each minor grid line in either $x$ or $y$ direction. +\end{xystylekey} + +\pgfplotsshortxystylekey minor \x\ grid style=every minor \x\ grid; + +\begin{xystylekey}{/pgfplots/every major \x\ grid (initially empty)} + Used for each major grid line in either $x$ or $y$ direction. +\end{xystylekey} + +\pgfplotsshortxystylekey major \x\ grid style=every major \x\ grid; + +\subsubsection*{Styles for error bars} -\subsubsection{Assigning Own Styles} +\begin{stylekey}{/pgfplots/every error bar (initially thin)} + Installed for every error bar. +\end{stylekey} + +\pgfplotsshortstylekey error bars/error bar style=every error bar; + +\subsubsection{(Re-)Defining Own Styles} \label{sec:styles:own}% Use |\pgfplotsset{|\meta{style name}|/.style=|\marg{key-value-list}|}| -to create own styles. You \emph{can't use} |\tikzstyle|\marg{style name}|=[]|. +to create own styles. If \meta{style name} exists already, it will be replaced. Please note that it is \emph{not} possible to use the \Tikz-command |\tikzstyle|\marg{style name}|=[]| in this context\footnote{This was possible in a previous version and is still supported for backwards compatibility. But in some cases, it may not work as expected.}. \begin{codeexample}[] \pgfplotsset{my personal style/.style= {grid=major,font=\large}} @@ -2923,6 +3722,7 @@ to create own styles. You \emph{can't use} |\tikzstyle|\marg{style name}|=[]|. \end{codeexample} \subsection{Alignment Options} +\label{pgfplots:sec:align} \begin{pgfplotskey}{anchor=\marg{name} (initially south west)} \label{option:anchor}% @@ -2930,7 +3730,7 @@ This option shifts the axis horizontally and vertically such that the axis ancho Anchors are useful in conjunction with horizontal or vertical alignment of plots, see the examples below. -There are three sets of anchors available: anchors positioned on the axis rectangle, anchors on the outer bounding box and anchors which have one coordinate on the outer bounding box and the other one at a position of the axis rectangle. +There are four sets of anchors available: anchors positioned on the axis rectangle, anchors on the outer bounding box and anchors which have one coordinate on the outer bounding box and the other one at a position of the axis rectangle. Finally, one can place anchors near the origin. {% %\pgfplotsset{every picture/.append style={background rectangle/.style={help lines},show background rectangle}}% @@ -2988,9 +3788,9 @@ Anchors on the outer bounding box, \showit{outer center}{90} \end{tikzpicture} \end{center} -Finally there are anchors which have one coordinate on the outer bounding box, and one on the axis rectangle, +There are anchors which have one coordinate on the outer bounding box, and one on the axis rectangle, \begin{center} - \begin{tikzpicture}[show background rectangle] + \begin{tikzpicture} \plot {\pgfplotsset{every pin/.append style={pin distance=1cm}}% \showit{above north}{90} @@ -3010,7 +3810,37 @@ Finally there are anchors which have one coordinate on the outer bounding box, a \showit{above north west}{90} \end{tikzpicture} \end{center} -The default value is |anchor=south west|. You can use anchors in conjunction with the \Tikz\ |baseline| option and/or \lstinline!\begin{pgfinterruptboundingbox}! to perform alignment. +And finally, we have origin anchors which are especially useful when axis lines pass through the origin, + \begin{center} + \begin{tikzpicture} + \begin{axis}[ + name=test plot, + axis x line=center, + axis y line=center, + enlargelimits=false, + minor tick num=3, + tick style={semithick}, + tick align=center, + xlabel=$x$, + ylabel=$y$, + every axis x label/.style={at={(current axis.right of origin)},anchor=north east}, + every axis y label/.style={at={(current axis.above origin)},anchor=north east}, + inner axis line style={->}, + ] + \addplot plot[domain=-2:5] (\x,20*\x); + \end{axis} + {\pgfplotsset{every pin/.append style={pin distance=1cm}}% + \showit{above origin}{45} + }% + \showit{right of origin}{45} + {\pgfplotsset{every pin/.append style={pin distance=1cm}}% + \showit{below origin}{0} + }% + \showit{left of origin}{135} + \showit{origin}{135} + \end{tikzpicture} + \end{center} +The default value is |anchor=south west|. You can use anchors in conjunction with the \Tikz\ |baseline| option and/or |\begin{pgfinterruptboundingbox}| to perform alignment. } \begin{description} @@ -3094,7 +3924,7 @@ cycle list={ \item[Bounding box restrictions] \label{sec:bounding:box:example}% {% -The following figure is centered and encapsulated with an \lstinline!\fbox! to show its bounding box. +The following figure is centered and encapsulated with an |\fbox| to show its bounding box. \setlength{\fboxsep}{0pt}% \begin{codeexample}[] \fbox{% @@ -3128,12 +3958,110 @@ The |pgfinterruptboundingbox| environment does not include its content into the \end{description} \end{pgfplotskey} +\begin{predefinednode}{current axis} + A node which refers to the current axis or the last typeset axis. + + You can use this node in axis descriptions, for example to place axis labels or titles. + + \paragraph{Remark:} If you use |current axis| inside of axis descriptions, the ``current axis'' is not yet finished. That means you \emph{can't use any outer anchor} inside of axis descriptions. +\end{predefinednode} + \begin{pgfplotskey}{at=\marg{coordinate expression}} -Assigns a position for the complete axis image. This option works similarly to the |at|-option of |\node[at=|\marg{coordinate expression}|]|, see~\cite{tikz}. The common syntax is |at=|\marg{(x,y)}. +Assigns a position for the complete axis image. This option works similarly to the |at|-option of |\node[at=|\marg{coordinate expression}|]|, see~\cite{tikz}. The common syntax is |at=|\parg{x,y}. +\end{pgfplotskey} + +\subsection{Symbolic Coordinates and User Transformations} +\PGFPlots\ supports user transformations which can be applied to input and output coordinates. Suppose the plot shall display days versus account statements over time. Then, one wants to visualize date versus credit balance. But: dates need to be transformed to numbers before doing so! Furthermore, tick labels shall be displayed as dates as well. This, and more general transformations, can be realized using the |x coord trafo| and |y coord trafo| keys. + +\begin{pgfplotsxycodekeylist}{ + \x\ coord trafo, + \x\ coord inv trafo} + These code keys allow arbitrary coordinate transformations which are applied to input coordinates and output tick labels. + + The |x coord trafo| and |y coord trafo| command keys take one argument which is the input coordinate. They are expected to set |\pgfmathresult| to the final value. + + At this level, the input coordinate is provided as it is found in the |\addplot| statement. For example, if $x$ coordinates are actually of the form \meta{year}-\meta{month}-\meta{day}, for example |2008-01-05|, then a useful coordinate transformation would transform this string into a number (see below for a predefined realization). + + In short, \emph{no} numerics has been applied to input coordinates when this transformation is applied\footnote{Of course, if coordinates have been generated by gnuplot or \pgfname, this does no longer hold.}. + + The input coordinate transformation is applied to + \begin{itemize} + \item any input coordinates (specified with |\addplot| or |axis cs|), + \item any user-specified |xtick| or |ytick| options, + \item any user-specified |extra x ticks| and |extra y ticks| options, + \item any user-specified axis limits like |xmin| and |xmax|. + \end{itemize} + + The output coordinate transformation |x coord inv trafo| is applied to tick positions just before evaluating the |xticklabel| and |yticklabel| keys. The tick label code may use additional macros defined by the inverse transformation. + + Remark: \PGFPlots\ will continue to produce tick positions as usual, no extra magic is applied. It may be necessary to provide tick positions explicitly if the default doesn't respect the coordinate space properly. + + The initial value of these keys is +\begin{codeexample}[code only] +\pgfplotsset{ + x coord trafo/.code={}, + x coord inv trafo/.code={}} +\end{codeexample} + \noindent which simply disables the transformation (the same for $y$, of course). +\end{pgfplotsxycodekeylist} + +\subsubsection{Dates as input coordinates} +The already mentioned application of using dates as input coordinates has been predefined. It relies on the \pgfname\ calendar library which converts dates to numbers in the julian calendar. Then, one coordinate unit is one day. + +\begin{tikzlibrary}{dateplot} + Loads the coordinate transformation code. +\end{tikzlibrary} + +\begin{stylekey}{/pgfplots/date coordinates in=\mchoice{x,y}} + Installs |x coord trafo| and |x coord inv trafo| (or the respective $y$ variant) such that ISO dates of the form \meta{year}-\meta{month}-\meta{day} are accepted. For example, |2006-02-28| will be converted to an ``appropriate'' integer using the julian calender. + + The result of the transformation are numbers where one unit is one day. + + The transformation is realized using the \pgfname-calendar module, see \cite[Calendar Library]{tikz}. This reference also contains more information about extended syntax options. + + The inverse transformation provides the following three macros which are available during tick label evaluation: + \begin{itemize} + \item |\year| expands to the year component, + \item |\month| expands to the month component, + \item |\day| expands to the day component. + \end{itemize} + This allows to use |\day.\month.\year| inside of |xticklabel|, for example. + + A complete example (with fictional data) is shown below. +\pgfplotsset{anchor=center,/tikz/every picture/.append style={baseline}} +\begin{codeexample}[] +% requires \usetikzlibrary{dateplot} ! + +\pgfplotstabletypesetfile[string type]{plotdata/accounts.dat} + +\begin{tikzpicture} + \begin{axis}[ + date coordinates in=x, + xticklabel={\day.\month.}, + xlabel={2008}, + stack plots=y, + yticklabel={\pgfmathprintnumber{\tick}\EUR{}}, % <- requires \usepackage{eurosym} + ylabel=Total credit, + ylabel style={yshift=10pt}, + legend style={ + at={(0.5,-0.3)},anchor=north,legend columns=-1}] + + \addplot table[x=date,y=account1] {plotdata/accounts.dat}; + \addplot table[x=date,y=account2] {plotdata/accounts.dat}; + \addplot table[x=date,y=account3] {plotdata/accounts.dat}; + \legend{Giro,Tagesgeld,Sparbuch} + \end{axis} +\end{tikzpicture} +\end{codeexample} +\end{stylekey} + +\begin{pgfplotskey}{date ZERO=\meta{year}-\meta{month}-\meta{day} (initially 2006-01-01)} + A technical key which defines the $0$ coordinate of |date coordinates in|. Users will never see the resulting numbers, so one probably never needs to change it. However, the resulting numbers may become very large and a mantisse of 6 significant digits may not be enough to get accurate results. In this case, |date ZERO| should be set to a number which falls into the input date range. \end{pgfplotskey} + \subsection{Miscellaneous Options} \begin{pgfplotskey}{disablelogfilter=\mchoice{true,false} (initally false, default true)} @@ -3148,10 +4076,10 @@ Disables internal re-scaling of input data. Normally, every input data like plot \[ T(x) = 10^{q-m} \cdot x - a \] is applied to every input coordinate/position where $m$ is ``the order of $x$'' base~$10$. Example: $x=1234 = 1.234\cdot 10^3$ has order~$m=4$ while $x=0.001234 = 1.234\cdot 10^{-3}$ has order $m=-2$. The parameter~$q$ is the order of the axis' width/height. -The \textbf{effect} is that your plot coordinates can be of \emph{arbitrary magnitude} like $0.0000001$ and $0.0000004$. For these two coordinates, \PGFPlots\ will use 100pt and 400pt internally. The transformation is quit fast since it relies only on period shifts. This scaling allows precision beyond \TeX's capabilities. +The \textbf{effect} of the transformation is that your plot coordinates can be of \emph{arbitrary magnitude} like $0.0000001$ and $0.0000004$. For these two coordinates, \PGFPlots\ will use 100pt and 400pt internally. The transformation is quit fast since it relies only on period shifts. This scaling allows precision beyond \TeX's capabilities. %\footnote{Please note that while plot coordinates can be of quite large magnitude like $10^12$ or $10^{-9}$, \PGFPlots\ still uses \TeX-registers internally (the math parser of \PGF). If your axis interval is $[1234567.8, 1234567.9]$ or something like that, }. -The option ``|disabledatascaling|'' disables this data transformation. That means you are restricted to coordinates which \TeX\ can handle\footnote{Please note that the axis' scaling requires to compute $1/( x_\text{max} - x_{\text{min}} )$. The option |disabledatascaling| may lead to overflow or underflow in this context, so use it with care! Normally, the data scale transformation avoids this problem.}. +The option ``|disabledatascaling|'' disables this data transformation. This has two consequences: first, coordinate expressions like \parg{{\normalfont\texttt{axis cs:}}x,y} have the same effect like \parg{x,y}, no re-scaling is applied. Second, coordinates are restricted to what \TeX\ can handle\footnote{Please note that the axis' scaling requires to compute $1/( x_\text{max} - x_{\text{min}} )$. The option |disabledatascaling| may lead to overflow or underflow in this context, so use it with care! Normally, the data scale transformation avoids this problem.}. So far, the data scale transformation applies only to normal axis (logarithmic scales do not need it). \end{pgfplotskey} @@ -3196,7 +4124,7 @@ During evaluation of the filter, the macro |\coordindex| contains the number of \end{codeexample} There is also a style key which simplifies selection by index, see below. - \PGFPlots\ invokes the filter with argument |#1| set to the input coordinate. For $x$-filters, this is the $x$-coordinate as it is specified to \lstinline!\addplot!, for $y$-filters it is the $y$-coordinate. + \PGFPlots\ invokes the filter with argument |#1| set to the input coordinate. For $x$-filters, this is the $x$-coordinate as it is specified to |\addplot|, for $y$-filters it is the $y$-coordinate. If the corresponding axis is logarithmic, |#1| is the \emph{logarithm} of the coordinate as a real number, for example |#1=4.2341|. @@ -3223,13 +4151,13 @@ There is also a style key which simplifies selection by index, see below. \end{pgfplotskey} \begin{pgfplotskey}{execute at begin plot=\marg{commands}} -This axis option allows to invoke \marg{commands} at the beginning of each \lstinline!\addplot! command. The argument \marg{commands} can be any \TeX\ content. +This axis option allows to invoke \marg{commands} at the beginning of each |\addplot| command. The argument \marg{commands} can be any \TeX\ content. You may use this in conjunction with |xfilter=...| to reset any counters or whatever. An example would be to change every $4$th coordinate. \end{pgfplotskey} \begin{pgfplotskey}{execute at end plot=\marg{commands}} -This axis option allows to invoke \marg{commands} after each \lstinline!\addplot! command. The argument \marg{commands} can be any \TeX\ content. +This axis option allows to invoke \marg{commands} after each |\addplot| command. The argument \marg{commands} can be any \TeX\ content. \end{pgfplotskey} \begin{pgfplotscodekey}{before end axis} @@ -3267,19 +4195,32 @@ Allows to insert \marg{commands} right after the end of the clipped drawing comm \end{codeexample} \end{pgfplotscodekey} -\begin{pgfplotscodekey}{extra description} -Allows to insert \marg{commands} after axis labels, titles and legends have been typeset. +\begin{pgfplotskey}{clip marker paths=\mchoice{true,false} (initially false)} + The initial choice |clip marker paths=false| causes markers to be drawn \emph{after} the clipped region. Only their positions will be clipped. As a consequence, markers will be drawn completely, or not at all. The value |clip marker paths=true| is here for backwards compatibility: it does not introduce special marker treatment, so markers may be drawn partially if they are close to the clipping boundary\footnote{Please note that clipped marker paths may be slightly faster during \TeX\ compilation.}. +\end{pgfplotskey} -The code can thus use $(0,0)$ to access the lower left corner and $(1,1)$ to access the upper right one. It won't be clipped. +\begin{pgfplotskey}{axis on top=\mchoice{true,false} (initially false)} + If set to |true|, axis lines, ticks, tick labels and grid lines will be drawn on top of plot graphics. \begin{codeexample}[] -\pgfplotsset{every axis/.append style={ - extra description/.code={ - \node at (0.5,0.5) {Center!}; - }}} \begin{tikzpicture} - \begin{axis} - \addplot (\x,\x^2); - \end{axis} + \begin{axis}[ + axis on top=true, + axis x line=middle, + axis y line=middle] + \addplot+[fill] (\x,\x^3) \closedcycle; + \end{axis} \end{tikzpicture} \end{codeexample} -\end{pgfplotscodekey} + +\begin{codeexample}[] +\begin{tikzpicture} + \begin{axis}[ + axis on top=false, + axis x line=middle, + axis y line=middle] + \addplot+[fill] (\x,\x^3) \closedcycle; + \end{axis} +\end{tikzpicture} +\end{codeexample} +Please note that this feature does not affect plot marks. I think it looks unfamiliar if plot marks are crossed by axis descriptions. +\end{pgfplotskey} diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.resources.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.resources.tex new file mode 100644 index 00000000000..38e4a884194 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.resources.tex @@ -0,0 +1,75 @@ +\section{Memory and Speed considerations} +\label{sec:pgfplots:optimization} +\PGFPlots\ can typeset plots with several thousand points if memory limits of \TeX\ are configured properly. Its runtime is roughly proportional to the number of input points\footnote{In fact, the runtime is pseudo--linear: starting with about $100{,}000$ points, it will become quadratic. This limitation applies to the path length of \PGF\ paths as well. Furthermore, the linear runtime is not possible yet for stacked plots.}. + +\message{ATTENTION: I am now about to typeset really huge pictures. You will need to ENLARGE YOUR TeX MEMORY CAPACITIES if this fails...}% +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + enlargelimits=0.01, + title style={yshift=5pt}, + title=Scatter plot with $2250$ points] + +\addplot[blue, + mark=*,only marks,mark options={scale=0.3}] + file[skip first] + {plotdata/pgfplots_scatterdata3.dat}; + +\end{axis} +\end{tikzpicture} +\end{codeexample} + +\begin{codeexample}[] +\begin{tikzpicture} +\begin{axis}[ + enlarge x limits=0.03, + title=Ornstein-Uhlenbeck sample + ($13000$ time steps), + xlabel=$t$] +\addplot[blue] file{plotdata/ou.dat}; +\end{axis} +\end{tikzpicture} +\end{codeexample} +\message{ok, passed.}% + +\PGFPlots\ relies completely on \TeX\ to do all typesetting. In uses the front-end-layer and basic layer of \PGF\ to perform all drawing operations. For complicated plots, this may take some time, and you may want to read section~\ref{sec:pgfplots:importexport} for how to write single figures to external graphics files. Externalization is the best way to reduce typesetting time. + +However, for large scale plots with a lot of points, limitations of \TeX's capacities are reached easily. + +\subsection{Memory limitations} +The default settings of most \TeX-distributions are quite restrictive, so it may be necessary to adjust them. For Mik\TeX, this can be done using simple command line switches: +\begin{codeexample}[code only] +pdflatex + --stack-size=n --save-size=n + --main-memory=n --extra-mem-top=n --extra-mem-bot=n + --pool-size=n --max-strings=n +\end{codeexample} +\noindent Experiment with these settings if Mik\TeX\ runs out of memory. + +Usually, the log--file contains a summary about the used ressources, giving a hint which parameter needs to be increased. For Unix installations, one needs to adjust config files. This can be done as follows: +\begin{enumerate} + \item Locate |texmf.cnf| on your system. On my Ubuntu installation, it is in + + |/usr/share/texmf/web2c/texmf.cnf|. + \item Either change |texmf.cnf| directly, or copy it to some convenient place. If you copy it, here is how to proceed: + \begin{itemize} + \item keep only the changed entries in your local copy to reduce conflicts. \TeX\ will always read \emph{all} config files found in its search path. + \item Adjust the search path to find your local copy. This can be done using the environment variable |TEXMFCNF|. Assuming your local copy is in |~/texmf/mytexcnf/texmf.cnf|, you can write +\begin{codeexample}[code only] +export TEXMFCNF=~/texmf/mytexcnf: +\end{codeexample} + to search first in your directory, then in all other system directories. + \end{itemize} + \item You should change the entries +\begin{codeexample}[code only] +main_memory = n +extra_mem_top = n +extra_mem_bot = n +max_strings = n +param_size = n +save_size = n +stack_size = n +\end{codeexample} + The log--file usually contains information about the parameter which needs to be enlarged. +\end{enumerate} +Unfortunately, \TeX\ does not allow arbirtrary memory limits, there is an upper bound hard coded in the executables. diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.tex index b00a5fd7ea6..36fce7596e1 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.tex +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.tex @@ -21,6 +21,9 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \input{pgfplots.preamble.tex} +%\usetikzlibrary{external} +%\tikzexternalize[prefix=figures/]{pgfplots} + \def\plotcoords{% \addplot coordinates { (5,8.312e-02) (17,2.547e-02) (49,7.407e-03) @@ -59,10 +62,13 @@ {\small Version \pgfplotsversion}\\ {\small\href{http://sourceforge.net/projects/pgfplots}{http://sourceforge.net/projects/pgfplots}}} +%\includeonly{pgfplots.reference} + + \begin{document} \maketitle \begin{abstract}% -\PGFPlots\ draws high--quality function plots in normal or logarithmic scaling with a user-friendly interface. The user supplies axis labels, legend entries and the plot coordinates for one or more plots and \PGFPlots\ applies axis scaling, computes any logarithms and axis ticks and draws the plots, supporting line plots, piecewise constant plots, bar plots and area plots. It is based on Till Tantau's package \PGF/\Tikz. +\PGFPlots\ draws high--quality function plots in normal or logarithmic scaling with a user-friendly interface directly in \TeX. The user supplies axis labels, legend entries and the plot coordinates for one or more plots and \PGFPlots\ applies axis scaling, computes any logarithms and axis ticks and draws the plots, supporting line plots, piecewise constant plots, bar plots and area plots. It is based on Till Tantau's package \PGF/\Tikz. \end{abstract} \tableofcontents \section{Introduction} @@ -79,13 +85,14 @@ I thank God for all hours of enjoyed programming. I thank Pascal Wolkotte, autho Last but not least, I thank Till Tantau and Mark Wibrow for their excellent graphics (and more) package \PGF\ and \Tikz\ which is the base of \PGFPlots. -\input{pgfplots.install.tex}% -\input{pgfplots.intro.tex}% -\input{pgfplots.reference.tex}% -\input{pgfplots.importexport.tex}% +\include{pgfplots.install}% +\include{pgfplots.intro}% +\include{pgfplots.reference}% +\include{pgfplots.resources}% +\include{pgfplots.importexport}% \printindex \bibliographystyle{abbrv} %gerapali} %gerabbrv} %gerunsrt.bst} %gerabbrv}% gerplain} -\bibliography{pgfplots.bib} +\bibliography{pgfplots} \end{document} diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplotsexample.pdf b/Master/texmf-dist/doc/latex/pgfplots/pgfplotsexample.pdf Binary files differindex 5a40e21c97d..6c0214828ac 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplotsexample.pdf +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplotsexample.pdf diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplotsexample.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplotsexample.tex index d6a2695ad42..83b62a54b5f 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplotsexample.tex +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplotsexample.tex @@ -54,6 +54,3 @@ \end{figure} \end{document} - - - diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.csv b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.csv index 7a3ee44f7d6..b859bf9e02b 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.csv +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.csv @@ -1,13 +1,13 @@ # Convergence results # fictional source, generated 2008 -level,dof,error1,error2,info,{grad(log(dof),log(error1))},quot(error1) -1,9,2.50000000e-01,7.57858283e-01,48,0,0 -2,25,6.25000000e-02,5.00000000e-01,25,-1.35691545e+00,4 -3,81,1.56250000e-02,2.87174589e-01,41,-1.17924958e+00,4 -4,289,3.90625000e-03,1.43587294e-01,8,-1.08987331e+00,4 -5,1089,9.76562500e-04,4.41941738e-02,22,-1.04500712e+00,4 -6,4225,2.44140625e-04,1.69802322e-02,46,-1.02252239e+00,4 -7,16641,6.10351562e-05,8.20091159e-03,40,-1.01126607e+00,4 -8,66049,1.52587891e-05,3.90625000e-03,48,-1.00563427e+00,3.99999999e+00 -9,263169,3.81469727e-06,1.95312500e-03,33,-1.00281745e+00,4.00000001e+00 -10,1050625,9.53674316e-07,9.76562500e-04,2,-1.00140880e+00,4.00000001e+00 +level,dof,error1,error2,info,{grad(log(dof),log(error2))},quot(error1) +1,4,2.50000000e-01,7.57858283e-01,48,0,0 +2,16,6.25000000e-02,5.00000000e-01,25,-3.00000000e-01,4 +3,64,1.56250000e-02,2.87174589e-01,41,-3.99999999e-01,4 +4,256,3.90625000e-03,1.43587294e-01,8,-5.00000003e-01,4 +5,1024,9.76562500e-04,4.41941738e-02,22,-8.49999999e-01,4 +6,4096,2.44140625e-04,1.69802322e-02,46,-6.90000001e-01,4 +7,16384,6.10351562e-05,8.20091159e-03,40,-5.24999999e-01,4 +8,65536,1.52587891e-05,3.90625000e-03,48,-5.35000000e-01,3.99999999e+00 +9,262144,3.81469727e-06,1.95312500e-03,33,-5.00000000e-01,4.00000001e+00 +10,1048576,9.53674316e-07,9.76562500e-04,2,-5.00000000e-01,4.00000001e+00 diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.dat b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.dat index eec53846198..f9837f53cf8 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.dat +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.dat @@ -1,13 +1,13 @@ # Convergence results # fictional source, generated 2008 -level dof error1 error2 info grad(log(dof),log(error1)) quot(error1) -1 9 2.50000000e-01 7.57858283e-01 48 0 0 -2 25 6.25000000e-02 5.00000000e-01 25 -1.35691545e+00 4 -3 81 1.56250000e-02 2.87174589e-01 41 -1.17924958e+00 4 -4 289 3.90625000e-03 1.43587294e-01 8 -1.08987331e+00 4 -5 1089 9.76562500e-04 4.41941738e-02 22 -1.04500712e+00 4 -6 4225 2.44140625e-04 1.69802322e-02 46 -1.02252239e+00 4 -7 16641 6.10351562e-05 8.20091159e-03 40 -1.01126607e+00 4 -8 66049 1.52587891e-05 3.90625000e-03 48 -1.00563427e+00 3.99999999e+00 -9 263169 3.81469727e-06 1.95312500e-03 33 -1.00281745e+00 4.00000001e+00 -10 1050625 9.53674316e-07 9.76562500e-04 2 -1.00140880e+00 4.00000001e+00 +level dof error1 error2 info grad(log(dof),log(error2)) quot(error1) +1 4 2.50000000e-01 7.57858283e-01 48 0 0 +2 16 6.25000000e-02 5.00000000e-01 25 -3.00000000e-01 4 +3 64 1.56250000e-02 2.87174589e-01 41 -3.99999999e-01 4 +4 256 3.90625000e-03 1.43587294e-01 8 -5.00000003e-01 4 +5 1024 9.76562500e-04 4.41941738e-02 22 -8.49999999e-01 4 +6 4096 2.44140625e-04 1.69802322e-02 46 -6.90000001e-01 4 +7 16384 6.10351562e-05 8.20091159e-03 40 -5.24999999e-01 4 +8 65536 1.52587891e-05 3.90625000e-03 48 -5.35000000e-01 3.99999999e+00 +9 262144 3.81469727e-06 1.95312500e-03 33 -5.00000000e-01 4.00000001e+00 +10 1048576 9.53674316e-07 9.76562500e-04 2 -5.00000000e-01 4.00000001e+00 diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.out.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.out.tex index 5dd615f7638..c46056ebe5a 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.out.tex +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example1.out.tex @@ -1 +1 @@ -\begin {tabular}{cc}dof&error1\\\pgfutilensuremath {9}&\pgfutilensuremath {0.25}\\\pgfutilensuremath {25}&\pgfutilensuremath {6.25\cdot 10^{-2}}\\\pgfutilensuremath {81}&\pgfutilensuremath {1.56\cdot 10^{-2}}\\\pgfutilensuremath {289}&\pgfutilensuremath {3.91\cdot 10^{-3}}\\\pgfutilensuremath {1{,}089}&\pgfutilensuremath {9.77\cdot 10^{-4}}\\\pgfutilensuremath {4{,}225}&\pgfutilensuremath {2.44\cdot 10^{-4}}\\\pgfutilensuremath {16{,}641}&\pgfutilensuremath {6.1\cdot 10^{-5}}\\\pgfutilensuremath {66{,}049}&\pgfutilensuremath {1.53\cdot 10^{-5}}\\\pgfutilensuremath {2.63\cdot 10^{5}}&\pgfutilensuremath {3.81\cdot 10^{-6}}\\\pgfutilensuremath {1.05\cdot 10^{6}}&\pgfutilensuremath {9.54\cdot 10^{-7}}\\\end {tabular} +\begin {tabular}{cc}dof&error1\\\pgfutilensuremath {4}&\pgfutilensuremath {0.25}\\\pgfutilensuremath {16}&\pgfutilensuremath {6.25\cdot 10^{-2}}\\\pgfutilensuremath {64}&\pgfutilensuremath {1.56\cdot 10^{-2}}\\\pgfutilensuremath {256}&\pgfutilensuremath {3.91\cdot 10^{-3}}\\\pgfutilensuremath {1{,}024}&\pgfutilensuremath {9.77\cdot 10^{-4}}\\\pgfutilensuremath {4{,}096}&\pgfutilensuremath {2.44\cdot 10^{-4}}\\\pgfutilensuremath {16{,}384}&\pgfutilensuremath {6.1\cdot 10^{-5}}\\\pgfutilensuremath {65{,}536}&\pgfutilensuremath {1.53\cdot 10^{-5}}\\\pgfutilensuremath {2.62\cdot 10^{5}}&\pgfutilensuremath {3.81\cdot 10^{-6}}\\\pgfutilensuremath {1.05\cdot 10^{6}}&\pgfutilensuremath {9.54\cdot 10^{-7}}\\\end {tabular} diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example2.dat b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example2.dat new file mode 100644 index 00000000000..3e53d4cd74b --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example2.dat @@ -0,0 +1,22 @@ +A B +A1 B1 +A2 B2 +A3 B3 +A4 B4 +A5 B5 +A6 B6 +A7 B7 +A8 B8 +A9 B9 +A10 B10 +A11 B11 +A12 B12 +A13 B13 +A14 B14 +A15 B15 +A16 B16 +A17 B17 +A18 B18 +A19 B19 +A20 B20 +A21 B21 diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.idx b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.idx deleted file mode 100644 index 1cf1c458d1d..00000000000 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.idx +++ /dev/null @@ -1,110 +0,0 @@ -\indexentry{col sep@\texttt {col sep} key|hyperpage}{2} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!col sep@\texttt {col sep}|hyperpage}{2} -\indexentry{pgfplotstabletypesetfile@\myprintocmmand {pgfplotstabletypesetfile}|hyperpage}{3} -\indexentry{pgfplotstableread@\myprintocmmand {pgfplotstableread}|hyperpage}{3} -\indexentry{pgfplotstabletypeset@\myprintocmmand {pgfplotstabletypeset}|hyperpage}{4} -\indexentry{columns@\texttt {columns} key|hyperpage}{4} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!columns@\texttt {columns}|hyperpage}{4} -\indexentry{column type@\texttt {column type} key|hyperpage}{5} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!column type@\texttt {column type}|hyperpage}{5} -\indexentry{assign column name@\texttt {assign column name} key|hyperpage}{5} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!assign column name@\texttt {assign column name}|hyperpage}{5} -\indexentry{multicolumn names@\texttt {multicolumn names} key|hyperpage}{5} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!multicolumn names@\texttt {multicolumn names}|hyperpage}{5} -\indexentry{dec sep align@\texttt {dec sep align} key|hyperpage}{5} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!dec sep align@\texttt {dec sep align}|hyperpage}{5} -\indexentry{dcolumn@\texttt {dcolumn} key|hyperpage}{6} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!dcolumn@\texttt {dcolumn}|hyperpage}{6} -\indexentry{every first column@\texttt {every first column} key|hyperpage}{6} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!every first column@\texttt {every first column}|hyperpage}{6} -\indexentry{every last column@\texttt {every last column} key|hyperpage}{7} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!every last column@\texttt {every last column}|hyperpage}{7} -\indexentry{every even column@\texttt {every even column} key|hyperpage}{7} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!every even column@\texttt {every even column}|hyperpage}{7} -\indexentry{every odd column@\texttt {every odd column} key|hyperpage}{7} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!every odd column@\texttt {every odd column}|hyperpage}{7} -\indexentry{pgfplotstablecol@\myprintocmmand {pgfplotstablecol}|hyperpage}{7} -\indexentry{pgfplotstablerow@\myprintocmmand {pgfplotstablerow}|hyperpage}{7} -\indexentry{before row@\texttt {before row} key|hyperpage}{8} -\indexentry{pgfplots@\texttt {/pgfplots/}!before row@\texttt {before row}|hyperpage}{8} -\indexentry{after row@\texttt {after row} key|hyperpage}{8} -\indexentry{pgfplots@\texttt {/pgfplots/}!after row@\texttt {after row}|hyperpage}{8} -\indexentry{every even row@\texttt {every even row} key|hyperpage}{8} -\indexentry{pgfplots@\texttt {/pgfplots/}!every even row@\texttt {every even row}|hyperpage}{8} -\indexentry{every odd row@\texttt {every odd row} key|hyperpage}{8} -\indexentry{pgfplots@\texttt {/pgfplots/}!every odd row@\texttt {every odd row}|hyperpage}{8} -\indexentry{every head row@\texttt {every head row} key|hyperpage}{8} -\indexentry{pgfplots@\texttt {/pgfplots/}!every head row@\texttt {every head row}|hyperpage}{8} -\indexentry{every first row@\texttt {every first row} key|hyperpage}{9} -\indexentry{pgfplots@\texttt {/pgfplots/}!every first row@\texttt {every first row}|hyperpage}{9} -\indexentry{every last row@\texttt {every last row} key|hyperpage}{9} -\indexentry{pgfplots@\texttt {/pgfplots/}!every last row@\texttt {every last row}|hyperpage}{9} -\indexentry{row predicate@\texttt {row predicate} key|hyperpage}{9} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!row predicate@\texttt {row predicate}|hyperpage}{9} -\indexentry{skip rows between index@\texttt {skip rows between index} key|hyperpage}{9} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!skip rows between index@\texttt {skip rows between index}|hyperpage}{9} -\indexentry{assign cell content@\texttt {assign cell content} key|hyperpage}{10} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!assign cell content@\texttt {assign cell content}|hyperpage}{10} -\indexentry{assign cell content as number@\texttt {assign cell content as number} key|hyperpage}{10} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!assign cell content as number@\texttt {assign cell content as number}|hyperpage}{10} -\indexentry{string type@\texttt {string type} key|hyperpage}{10} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!string type@\texttt {string type}|hyperpage}{10} -\indexentry{every table@\texttt {every table} key|hyperpage}{10} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!every table@\texttt {every table}|hyperpage}{10} -\indexentry{font@\texttt {font} key|hyperpage}{10} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!font@\texttt {font}|hyperpage}{10} -\indexentry{begin table@\texttt {begin table} key|hyperpage}{10} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!begin table@\texttt {begin table}|hyperpage}{10} -\indexentry{end table@\texttt {end table} key|hyperpage}{10} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!end table@\texttt {end table}|hyperpage}{10} -\indexentry{outfile@\texttt {outfile} key|hyperpage}{10} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!outfile@\texttt {outfile}|hyperpage}{10} -\indexentry{debug@\texttt {debug} key|hyperpage}{11} -\indexentry{pgfplots@\texttt {/pgfplots/}!table@\texttt {table/}!debug@\texttt {debug}|hyperpage}{11} -\indexentry{newcolumntype@\myprintocmmand {newcolumntype}|hyperpage}{11} -\indexentry{pgfmathprintnumber@\myprintocmmand {pgfmathprintnumber}|hyperpage}{12} -\indexentry{pgfmathprintnumberto@\myprintocmmand {pgfmathprintnumberto}|hyperpage}{12} -\indexentry{fixed@\texttt {fixed} key|hyperpage}{12} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!fixed@\texttt {fixed}|hyperpage}{12} -\indexentry{fixed zerofill@\texttt {fixed zerofill} key|hyperpage}{12} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!fixed zerofill@\texttt {fixed zerofill}|hyperpage}{12} -\indexentry{sci@\texttt {sci} key|hyperpage}{12} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!sci@\texttt {sci}|hyperpage}{12} -\indexentry{sci zerofill@\texttt {sci zerofill} key|hyperpage}{13} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!sci zerofill@\texttt {sci zerofill}|hyperpage}{13} -\indexentry{zerofill@\texttt {zerofill} key|hyperpage}{13} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!zerofill@\texttt {zerofill}|hyperpage}{13} -\indexentry{std@\texttt {std} key|hyperpage}{13} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!std@\texttt {std}|hyperpage}{13} -\indexentry{int detect@\texttt {int detect} key|hyperpage}{13} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!int detect@\texttt {int detect}|hyperpage}{13} -\indexentry{int trunc@\texttt {int trunc} key|hyperpage}{13} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!int trunc@\texttt {int trunc}|hyperpage}{13} -\indexentry{precision@\texttt {precision} key|hyperpage}{13} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!precision@\texttt {precision}|hyperpage}{13} -\indexentry{set decimal separator@\texttt {set decimal separator} key|hyperpage}{14} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!set decimal separator@\texttt {set decimal separator}|hyperpage}{14} -\indexentry{dec sep@\texttt {dec sep} key|hyperpage}{14} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!dec sep@\texttt {dec sep}|hyperpage}{14} -\indexentry{set thousands separator@\texttt {set thousands separator} key|hyperpage}{14} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!set thousands separator@\texttt {set thousands separator}|hyperpage}{14} -\indexentry{1000 sep@\texttt {1000 sep} key|hyperpage}{14} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!1000 sep@\texttt {1000 sep}|hyperpage}{14} -\indexentry{use period@\texttt {use period} key|hyperpage}{14} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!use period@\texttt {use period}|hyperpage}{14} -\indexentry{use comma@\texttt {use comma} key|hyperpage}{15} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!use comma@\texttt {use comma}|hyperpage}{15} -\indexentry{skip 0.@\texttt {skip 0.} key|hyperpage}{15} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!skip 0.@\texttt {skip 0.}|hyperpage}{15} -\indexentry{sci 10e@\texttt {sci 10e} key|hyperpage}{15} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!sci 10e@\texttt {sci 10e}|hyperpage}{15} -\indexentry{sci 10\textasciicircum e@\texttt {sci 10\textasciicircum e} key|hyperpage}{15} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!sci 10\textasciicircum e@\texttt {sci 10\textasciicircum e}|hyperpage}{15} -\indexentry{sci e@\texttt {sci e} key|hyperpage}{15} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!sci e@\texttt {sci e}|hyperpage}{15} -\indexentry{sci E@\texttt {sci E} key|hyperpage}{15} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!sci E@\texttt {sci E}|hyperpage}{15} -\indexentry{sci subscript@\texttt {sci subscript} key|hyperpage}{15} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!sci subscript@\texttt {sci subscript}|hyperpage}{15} -\indexentry{assume math mode@\texttt {assume math mode} key|hyperpage}{15} -\indexentry{pgf@\texttt {/pgf/}!number format@\texttt {number format/}!assume math mode@\texttt {assume math mode}|hyperpage}{15} diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.pdf b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.pdf Binary files differindex d131f2937bd..420896cd09c 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.pdf +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.pdf diff --git a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.tex b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.tex index e2e3c74fa37..f32467d7779 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.tex +++ b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.tex @@ -25,12 +25,14 @@ \usepackage{array} \usepackage{colortbl} \usepackage{booktabs} +\usepackage{eurosym} \pgfqkeys{/codeexample}{% every codeexample/.style={ width=4cm, /pgfplots/every axis/.append style={legend style={fill=graphicbackground}} }, + narrow/.style={width=7cm}, tabsize=4, } @@ -50,13 +52,19 @@ \section{Introduction} \PGFPlotstable\ is a lightweight sub-package of \PGFPlots\ which employs its table input methods and the number formatting techniques to convert tab-separated tables into tabulars. -It's input is a text file containing space separated rows, possibly starting with column names. Its output is a \LaTeX\ tabular which contains selected columns of the text table, rounded to the desired precision, printed in the desired number format (fixed point, integer, scientific etc). +Its input is a text file containing space separated rows, possibly starting with column names. Its output is a \LaTeX\ tabular\footnote{Please see the remarks in section~\ref{sec:pgfplotstable:context} for plain \TeX\ and Con\TeX t.} which contains selected columns of the text table, rounded to the desired precision, printed in the desired number format (fixed point, integer, scientific etc). It is used with \begin{codeexample}[code only] -\usepackage{pgfplots} +\usepackage{pgfplotstable} +% recommended: +%\usepackage{booktabs} +%\usepackage{array} +%\usepackage{colortbl} \end{codeexample} -\noindent and requires \PGFPlots\ and \PGF\ installed. +\noindent and requires \PGFPlots\ and \PGF\ $ \ge 2.00$ installed. + +Knowledge of |pgfkeys| is useful for a deeper insight into this package. Please refer to the \PGF\ manual,~\cite[section pgfkeys]{tikz} if you want a deeper insight into |pgfkeys|. Otherwise, simply skip over to the examples provided in this document. \section{Text table input format} \PGFPlotstable\ works with plain text file tables in which entries (``cells'') are separated by a separation character. The initial separation character is ``white space'' which means ``at least one space or tab''. Those tables can have a header line which contains column names and most other columns typically contain numerical data. @@ -65,17 +73,17 @@ It is used with \begin{codeexample}[code only] # Convergence results # fictional source, generated 2008 -level dof error1 error2 info grad(log(dof),log(error1)) quot(error1) -1 9 2.50000000e-01 7.57858283e-01 48 0 0 -2 25 6.25000000e-02 5.00000000e-01 25 -1.35691545e+00 4 -3 81 1.56250000e-02 2.87174589e-01 41 -1.17924958e+00 4 -4 289 3.90625000e-03 1.43587294e-01 8 -1.08987331e+00 4 -5 1089 9.76562500e-04 4.41941738e-02 22 -1.04500712e+00 4 -6 4225 2.44140625e-04 1.69802322e-02 46 -1.02252239e+00 4 -7 16641 6.10351562e-05 8.20091159e-03 40 -1.01126607e+00 4 -8 66049 1.52587891e-05 3.90625000e-03 48 -1.00563427e+00 3.99999999e+00 -9 263169 3.81469727e-06 1.95312500e-03 33 -1.00281745e+00 4.00000001e+00 -10 1050625 9.53674316e-07 9.76562500e-04 2 -1.00140880e+00 4.00000001e+00 +level dof error1 error2 info grad(log(dof),log(error2)) quot(error1) +1 4 2.50000000e-01 7.57858283e-01 48 0 0 +2 16 6.25000000e-02 5.00000000e-01 25 -3.00000000e-01 4 +3 64 1.56250000e-02 2.87174589e-01 41 -3.99999999e-01 4 +4 256 3.90625000e-03 1.43587294e-01 8 -5.00000003e-01 4 +5 1024 9.76562500e-04 4.41941738e-02 22 -8.49999999e-01 4 +6 4096 2.44140625e-04 1.69802322e-02 46 -6.90000001e-01 4 +7 16384 6.10351562e-05 8.20091159e-03 40 -5.24999999e-01 4 +8 65536 1.52587891e-05 3.90625000e-03 48 -5.35000000e-01 3.99999999e+00 +9 262144 3.81469727e-06 1.95312500e-03 33 -5.00000000e-01 4.00000001e+00 +10 1048576 9.53674316e-07 9.76562500e-04 2 -5.00000000e-01 4.00000001e+00 \end{codeexample} Lines starting with `|%|' or `|#|' are considered to be comment lines and are ignored. @@ -88,7 +96,7 @@ There is future support for a second header line which must start with `|$flags \begin{codeexample}[code only] # Convergence results # fictional source generated 2008 -level,dof,error1,error2,info,{grad(log(dof),log(error1))},quot(error1) +level,dof,error1,error2,info,{grad(log(dof),log(error2))},quot(error1) 1,9,2.50000000e-01,7.57858283e-01,48,0,0 2,25,6.25000000e-02,5.00000000e-01,25,-1.35691545e+00,4 3,81,1.56250000e-02,2.87174589e-01,41,-1.17924958e+00,4 @@ -104,16 +112,16 @@ level,dof,error1,error2,info,{grad(log(dof),log(error1))},quot(error1) \begin{codeexample}[] \pgfplotstabletypesetfile[col sep=comma]{pgfplotstable.example1.csv} \end{codeexample} - You may call |\pgfplotstableset{col sep=comma}| once in your preamble if all your tables uses commas as column separator. + You may call |\pgfplotstableset{col sep=comma}| once in your preamble if all your tables use commas as column separator. - Please note that if cell entries (for example column names) contain the separation character, you need to enclose the column entry in \emph{braces}: |{grad(log(dof),log(error1)}|. If you want to use unmatched braces, you need to write a backslash before the brace. For example the name `|column{withbrace|' needs to be written as `|column\{withbrace|'. + Please note that if cell entries (for example column names) contain the separation character, you need to enclose the column entry in \emph{braces}: |{grad(log(dof),log(error2)}|. If you want to use unmatched braces, you need to write a backslash before the brace. For example the name `|column{withbrace|' needs to be written as `|column\{withbrace|'. Furthermore, if you need empty cells in case |col sep=space|, you have to provide |{}| to delimit such a cell since |col sep=space| uses \emph{at least} one white space (consuming all following ones). The value |col sep=braces| is special since it actually uses two separation characters. Every single cell entry is delimited by an opening and a closing brace, \marg{entry}, for this choice. Furthermore, any wite spaces (spaces and tabs) between cell entries are \emph{skipped} in case |braces| until the next \marg{entry} is found. \end{key} -\begin{command}{\pgfplotstabletypesetfile[\meta{optional arguments}]\marg{file name}} +\begin{command}{\pgfplotstabletypesetfile\oarg{optional arguments}\marg{file name}} This command loads the table file \marg{file name} and typesets it using the current configuration of number formats and table options. \begin{codeexample}[] \pgfplotstabletypesetfile{pgfplotstable.example1.dat} @@ -126,7 +134,6 @@ level,dof,error1,error2,info,{grad(log(dof),log(error1))},quot(error1) \end{codeexample} \end{command} -% FIXME : 'header' option! \begin{command}{\pgfplotstableread\marg{file name}\marg{\textbackslash macro}} Loads the table \marg{file name} into a \TeX-macro \meta{\textbackslash macro}. This macro can than be used several times. \begin{codeexample}[] @@ -137,10 +144,20 @@ level,dof,error1,error2,info,{grad(log(dof),log(error1))},quot(error1) \end{codeexample} \end{command} -\begin{command}{\pgfplotstabletypeset[\meta{optional arguments}]\marg{\textbackslash macro}} +\begin{command}{\pgfplotstabletypeset\oarg{optional arguments}\marg{\textbackslash macro}} Works in the same way as |\pgfplotstabletypesetfile|, but it accepts an already loaded table. \end{command} +\begin{key}{/pgfplots/table/header=\marg{boolean} (initially true)} + Configures if column names shall be identified during input operations. + + The `header' is the first non-comment line, but only if this line contains non-numerical entries. If the first non-comment line contains at least one non-numerical entry (for example `|a name|'), each entry in this line is supposed to be a column name. + + If the first non-comment line contains only numerical data, it is used as data row. In this case, column indices will be assigned as column ``names''. + + Use |header=false| to force this last case, i.e. even if the first line contains strings, they won't be recognised as column names. +\end{key} + \section{Selecting columns} \begin{key}{/pgfplots/table/columns=\marg{comma-separated-list} (initially all available ones)} Selects particular columns the table. If this option is missing, all available columns will be selected. @@ -151,6 +168,16 @@ level,dof,error1,error2,info,{grad(log(dof),log(error1))},quot(error1) \end{codeexample} \end{key} +\begin{pgfplotstablealiaskey} + Assigns the new name \meta{new col name} for the column denoted by \meta{real col name}. Afterwards, accessing \meta{new col name} will use the data associated with column \meta{real col name}. + + You can use |columns/|\meta{new col name}|/.style| to assign styles for the alias, not for the original column name. + + If there exists both an alias and a column of the same name, the column name will be preferred. Furthermore, if there exists a |create on use| statement with the same name, this one will also be preferred. + + In case \meta{new col name} contains characters which are required for key settings, you need to use braces around it: ``|alias/{name=wi/th,special}/.initial={othername}|''. +\end{pgfplotstablealiaskey} + \begin{pgfplotstablecolumnkey} Sets all options in \marg{key-value-list} exclusively for \marg{column name}. @@ -172,9 +199,9 @@ level,dof,error1,error2,info,{grad(log(dof),log(error1))},quot(error1) {pgfplotstable.example1.dat} \end{codeexample} If your column name contains commas `|,|', slashes `|/|' or equal signs `|=|', you need to enclose the column name in braces. -\begin{codeexample}[width=7cm] +\begin{codeexample}[narrow] \pgfplotstabletypesetfile[ - columns={dof,error1,{grad(log(dof),log(error1))}}, + columns={dof,error1,{grad(log(dof),log(error2))}}, columns/error1/.style={ column name=$L_2$, sci,sci zerofill,sci subscript, @@ -182,22 +209,33 @@ level,dof,error1,error2,info,{grad(log(dof),log(error1))},quot(error1) columns/dof/.style={ int detect, column name=\textsc{Dof}}, - columns/{grad(log(dof),log(error1))}/.style={ + columns/{grad(log(dof),log(error2))}/.style={ column name=slopes $L_2$, fixed,fixed zerofill, precision=1} ] {pgfplotstable.example1.dat} \end{codeexample} + If your tables don't have column names, you can simply use integer indices instead of \marg{column name} to refer to columns. If you have column names, you can't set column styles using indices. \end{pgfplotstablecolumnkey} +\begin{pgfplotstabledisplaycolumnkey} + Applies all options in \marg{key-value-list} exclusively to the column which will appear at position \meta{index} in the output table. + + In contrast to the |table/columns/|\meta{name} styles, this option refers to the output table instead of the input table. Since the output table has no unique column name, you can only access columns by index. + + Indexing starts with~$\meta{index}=0$. + + Display column styles override input column styles. +\end{pgfplotstabledisplaycolumnkey} + \begin{key}{/pgfplots/table/column type=\marg{tabular column type} (initially c)} Contains the column type for |tabular|. If all column types are empty, the complete argument is skipped (assuming that no |tabular| environment is generated). Use |\pgfplotstableset{column type/.add=|\marg{before}\marg{after}|}| to \emph{modify} a value instead of overwriting it. The |.add| key handler works for other options as well. -\begin{codeexample}[width=7cm] +\begin{codeexample}[narrow] \pgfplotstabletypesetfile[ columns={dof,error1,info}, column type/.add={|}{}% results in '|c' @@ -224,36 +262,53 @@ level,dof,error1,error2,info,{grad(log(dof),log(error1))},quot(error1) \end{stylekey} \begin{stylekey}{/pgfplots/table/dec sep align=\marg{header column type} (initially c)} - A style which employs the current decimal separator as alignment character. + A style which aligns numerical columns at the decimal separator. The first argument determines the alignment of the header column. - The style |dec sep align| actually introduces two new |tabular| columns, namely |r@{}l|. It introduces multicolumns for column names accordingly and handles numbers which do not have a decimal separator. - + The style |dec sep align| actually introduces two new |tabular| columns, namely |r@{}l|. It introduces multicolumns for column names accordingly and handles numbers which do not have a decimal separator. + + Please note that you need |\usepackage{array}| for this style. \begin{codeexample}[] +% requires \usepackage{array} \pgfplotstabletypesetfile[ - columns={dof,error1,error2,info,{grad(log(dof),log(error1))}}, + columns={dof,error1,error2,info,{grad(log(dof),log(error2))}}, columns/error1/.style={dec sep align}, columns/error2/.style={sci,sci subscript,sci zerofill,dec sep align}, columns/info/.style={fixed,dec sep align}, - columns/{grad(log(dof),log(error1))}/.style={fixed,dec sep align} + columns/{grad(log(dof),log(error2))}/.style={fixed,dec sep align} ] {pgfplotstable.example1.dat} \end{codeexample} Or with comma as decimal separator: \begin{codeexample}[] +% requires \usepackage{array} \pgfplotstabletypesetfile[ use comma, - columns={dof,error1,error2,info,{grad(log(dof),log(error1))}}, + columns={dof,error1,error2,info,{grad(log(dof),log(error2))}}, columns/error1/.style={dec sep align}, columns/error2/.style={sci,sci subscript,sci zerofill,dec sep align}, columns/info/.style={fixed,dec sep align}, - columns/{grad(log(dof),log(error1))}/.style={fixed,dec sep align} + columns/{grad(log(dof),log(error2))}/.style={fixed,dec sep align} ] {pgfplotstable.example1.dat} \end{codeexample} It may be advisable to use the |zerofill| variants to force at least one digit after the decimal separator. + + Please note that this style overwrites |column type|, |assign cell content| and some number formatting settings. +\end{stylekey} + +\begin{stylekey}{/pgfplots/table/sci sep align=\marg{header column type} (initially c)} + A style which aligns numerical columns at the exponent in scientific representation. + + The first argument determines the alignment of the header column. + + It works similiarly to |dec sep align|, namely by introducing two artificial columns |r@{}l| for alignment. + + Please note that you need |\usepackage{array}| for this style. + + Please note that this style overwrites |column type|, |assign cell content| and some number formatting settings. \end{stylekey} \begin{stylekey}{/pgfplots/table/dcolumn=\marg{tabular column type}\marg{type for column name} (initially \{D\{.\}\{.\}\{2\}\}\{c\})} @@ -262,7 +317,7 @@ level,dof,error1,error2,info,{grad(log(dof),log(error1))},quot(error1) \begin{stylekey}{/pgfplots/table/every first column} A style which is installed for every first column only. -\begin{codeexample}[width=7cm] +\begin{codeexample}[narrow] \pgfplotstabletypesetfile[ every head row/.style={before row=\hline,after row=\hline\hline}, every last row/.style={after row=\hline}, @@ -284,7 +339,7 @@ A style which is installed for every last column only. A style which is installed for every column with even column index (starting with~$0$). { \pgfplotstableset{ - columns={dof,error1,{grad(log(dof),log(error1))},info}, + columns={dof,error1,{grad(log(dof),log(error2))},info}, columns/error1/.style={ column name=$L_2$, sci,sci zerofill,sci subscript, @@ -292,14 +347,14 @@ A style which is installed for every column with even column index (starting wit columns/dof/.style={ int detect, column name=\textsc{Dof}}, - columns/{grad(log(dof),log(error1))}/.style={ + columns/{grad(log(dof),log(error2))}/.style={ column name=slopes $L_2$, fixed,fixed zerofill, precision=1}} \begin{codeexample}[code only] \pgfplotstableset{ - columns={dof,error1,{grad(log(dof),log(error1))},info}, + columns={dof,error1,{grad(log(dof),log(error2))},info}, columns/error1/.style={ column name=$L_2$, sci,sci zerofill,sci subscript, @@ -307,14 +362,14 @@ A style which is installed for every column with even column index (starting wit columns/dof/.style={ int detect, column name=\textsc{Dof}}, - columns/{grad(log(dof),log(error1))}/.style={ + columns/{grad(log(dof),log(error2))}/.style={ column name=slopes $L_2$, fixed,fixed zerofill, precision=1}} \end{codeexample} -\begin{codeexample}[width=7cm,graphic=white] -% \usepackage{colortbl} +\begin{codeexample}[narrow,graphic=white] +% requires \usepackage{colortbl} \pgfplotstabletypesetfile[ every even column/.style={ column type/.add={>{\columncolor[gray]{.8}}}{} @@ -331,25 +386,36 @@ A style which is installed for every column with odd column index (starting with \begin{command}{\pgfplotstablecol} During the evaluation of row or column options, this command expands to the current columns' index. \end{command} +\label{pgfplotstable:page:tablerow} \begin{command}{\pgfplotstablerow} During the evaluation of row or column options, this command expands to the current rows' index. \end{command} +\begin{command}{\pgfplotstablecols} + During the evaluation of row or column options, this command expands to the total number of columns in the output table. +\end{command} +\begin{command}{\pgfplotstablerows} + During evaluation of \emph{columns}, this command expands to the total number of \emph{input} rows. You can use it inside of |row predicate|. + + During evaluation of \emph{rows}, this command expands to the total number of \emph{output} rows. +\end{command} \section{Configuring row appearance} -\begin{key}{/pgfplots/before row=\marg{\TeX\ code}} +The following styles allow to configure the final table code \emph{after any cell contents have been assigned}. + +\begin{key}{/pgfplots/table/before row=\marg{\TeX\ code}} Contains \TeX\ code which will be installed before the first cell in a row. \end{key} -\begin{key}{/pgfplots/after row=\marg{\TeX\ code}} +\begin{key}{/pgfplots/table/after row=\marg{\TeX\ code}} Contains \TeX\ code which will be installed after the last cell in a row (i.e. after |\\|). \end{key} -\begin{stylekey}{/pgfplots/every even row} +\begin{stylekey}{/pgfplots/table/every even row} A style which is installed for each row with even row index. The first row is supposed to be a ``head'' row and does not count. Indexing starts with~$0$. { \pgfplotstableset{ - columns={dof,error1,{grad(log(dof),log(error1))}}, + columns={dof,error1,{grad(log(dof),log(error2))}}, columns/error1/.style={ column name=$L_2$, sci,sci zerofill,sci subscript, @@ -357,14 +423,14 @@ A style which is installed for every column with odd column index (starting with columns/dof/.style={ int detect, column name=\textsc{Dof}}, - columns/{grad(log(dof),log(error1))}/.style={ + columns/{grad(log(dof),log(error2))}/.style={ column name=slopes $L_2$, fixed,fixed zerofill, precision=1}} \begin{codeexample}[code only] \pgfplotstableset{ - columns={dof,error1,{grad(log(dof),log(error1))}}, + columns={dof,error1,{grad(log(dof),log(error2))}}, columns/error1/.style={ column name=$L_2$, sci,sci zerofill,sci subscript, @@ -372,14 +438,14 @@ A style which is installed for every column with odd column index (starting with columns/dof/.style={ int detect, column name=\textsc{Dof}}, - columns/{grad(log(dof),log(error1))}/.style={ + columns/{grad(log(dof),log(error2))}/.style={ column name=slopes $L_2$, fixed,fixed zerofill, precision=1}} \end{codeexample} -\begin{codeexample}[width=7cm,graphic=white] -% \usepackage{booktabs} +\begin{codeexample}[narrow,graphic=white] +% requires \usepackage{booktabs} \pgfplotstabletypesetfile[ every head row/.style={ before row=\toprule,after row=\midrule}, @@ -389,8 +455,8 @@ A style which is installed for every column with odd column index (starting with {pgfplotstable.example1.dat} \end{codeexample} -\begin{codeexample}[width=7cm,graphic=white] -% \usepackage{booktabs,colortbl} +\begin{codeexample}[narrow,graphic=white] +% requires \usepackage{booktabs,colortbl} \pgfplotstabletypesetfile[ every even row/.style={ before row={\rowcolor[gray]{0.9}}}, @@ -405,28 +471,91 @@ A style which is installed for every column with odd column index (starting with } \end{stylekey} -\begin{stylekey}{/pgfplots/every odd row} +\begin{stylekey}{/pgfplots/table/every odd row} A style which is installed for each row with odd row index. The first row is supposed to be a ``head'' row and does not count. Indexing starts with~$0$. \end{stylekey} -\begin{stylekey}{/pgfplots/every head row} +\begin{stylekey}{/pgfplots/table/every head row} A style which is installed for each first row in the tabular. This can be used to adjust options for column names or to add extra lines/colours. \end{stylekey} -\begin{stylekey}{/pgfplots/every first row} +\begin{stylekey}{/pgfplots/table/every first row} A style which is installed for each first \emph{data} row, i.e. after the head row. \end{stylekey} -\begin{stylekey}{/pgfplots/every last row} +\begin{stylekey}{/pgfplots/table/every last row} A style which is installed for each last \emph{data} row. \end{stylekey} +\section{Determining cell contents} +The conversion from an unprocessed input table to a final typesetted |tabular| code uses three stages for every cell, +\begin{enumerate} + \item Preprocessing, + \item Typesetting, + \item Postprocessing. +\end{enumerate} +The main idea is to select one typesetting algorithm (for example ``format my numbers with the configured number style''). This algorithm usually doesn't need to be changed. Fine tuning can then be done using zero, one or more preprocessors and postprocessors. Preprocessing can mean to select only particular rows or to apply some sort of operation before the typesetting algorithm sees the content. Postprocessing means to apply fine-tuning to the resulting \TeX\ output -- for example to deal with empty cells or to insert unit suffixes or modify fonts for single cells. + +\subsection{Typesetting cells} +\begin{codekey}{/pgfplots/table/assign cell content} + Allows to redefine the algorithm which assigns cell contents. The argument |#1| is the (unformatted) contents of the input table. + + The resulting output needs to be written to |/pgfplots/table/@cell content|. + + Please note that you may need special attention for |#1=|\marg{}, i.e. the empty string. This may happen if a column has less rows than the first column. \PGFPlotstable\ will balance columns automatically in this case, inserting enough empty cells to match the number of rows of the first column. + + Please note further that if any column has more entries than the first column, these entries will be skipped and a warning message will be issued into the log file. + + This key is evaluated inside of a local \TeX\ group, so any local macro assignments will be cleared afterwards. +\end{codekey} + +\begin{key}{/pgfplots/table/assign cell content as number} + This here is the default implementation of |assign cell contents|. + + It invokes |\pgfmathprintnumberto| and writes the result into |@cell content|. +\end{key} + +\begin{stylekey}{/pgfplots/table/string type} + A style which redefines |assign cell contents| to simply return the ``raw'' input data, that means as text column. This assumes input tables with valid \LaTeX\ content (verbatim printing is not supported). +\end{stylekey} + + +\subsection{Preprocessing cells} +\begin{codekey}{/pgfplots/table/preproc cell content} + Allows to \emph{modify} the contents of cells \emph{before} |assign cell contents| is called. + + The semantics is as follows: before the preprocessor, |@cell content| contains the raw input data (or, maybe, the result of another preprocessor call). After the preprocessor, |@cell content| is filled with a -- possibly modified -- value. The resulting value is then used as input to |assign cell contents|. + + In the default settings, |assign cell contents| expects numerical input. So, the preprocessor is expected to produce numerical output. + + It is possible to provide multiple preprocessor directives using |.append code| or |.append style| key handlers. + + In case you don't want (or need) stackable preprocessors, you can also use `|#1|' to get the raw input datum as it is found in the file. +\end{codekey} + +\begin{stylekey}{/pgfplots/table/multiply -1} + Appends code to current |preproc cell content| value which multiplies every cell with $-1$. +\begin{codeexample}[] +\pgfplotstableset{ + columns={dof,error2,slopes2}, + columns/error2/.style={sci,sci zerofill}, + columns/slopes2/.style={dec sep align,empty cells with={\ensuremath{-}}}, + create on use/slopes2/.style= + {create col/gradient loglog={dof}{error2}}} + +\pgfplotstabletypesetfile{pgfplotstable.example1.dat} + +\pgfplotstabletypesetfile[columns/slopes2/.append style={multiply -1}] + {pgfplotstable.example1.dat} +\end{codeexample} +\end{stylekey} + \begin{codekey}{/pgfplots/table/row predicate} A boolean predicate which allows to select particular rows of the input table. The argument |#1| contains the current row's index (starting with~$0$, not counting comment lines or column names). The return value is assigned to the \TeX-if |\ifpgfplotstableuserow|. If the boolean is not changed, the return value is true. -\begin{codeexample}[width=7cm] -% \usepackage{booktabs} +\begin{codeexample}[narrow] +% requires \usepackage{booktabs} \pgfplotstabletypesetfile[ every head row/.style={ before row=\toprule,after row=\midrule}, @@ -441,15 +570,17 @@ A style which is installed for every column with odd column index (starting with ] {pgfplotstable.example1.dat} \end{codeexample} - Please note that |row predicate| is applied \emph{before} any other option which affects row appearance. For example, the even/odd styles refer to those rows which are selected. + Please note that |row predicate| is applied \emph{before} any other option which affects row appearance. It is evaluated before |assign cell contents|. For example, the even/odd row styles refer to those rows for which the predicate returns |true|. In fact, you can use |row predicate| to truncate the complete table before it as actually processed. + + During |row predicate|, the macro |\pgfplotstablerows| contains the total number of \emph{input} rows. Furthermore, |row predicate| applies only to the typeset routines, not the read methods. If you want to plot only selected table entries with |\addplot table|, use the \PGFPlots\ coordinate filter options. \end{codekey} \begin{stylekey}{/pgfplots/table/skip rows between index=\marg{begin}\marg{end}} A style which appends an |row predicate| which discards selected rows. The selection is done by index where indexing starts with~$0$. Every row with index $\meta{begin} \le i < \meta{end}$ will be skipped. -\begin{codeexample}[width=7cm] -% \usepackage{booktabs} +\begin{codeexample}[narrow] +% requires \usepackage{booktabs} \pgfplotstabletypesetfile[ every head row/.style={ before row=\toprule,after row=\midrule}, @@ -462,25 +593,99 @@ A style which is installed for every column with odd column index (starting with \end{codeexample} \end{stylekey} +\begin{stylekey}{/pgfplots/table/select equal part entry of=\marg{part no}\marg{part count}} + A style which overwrites |row predicate| with a subset selection predicate. The idea is to split the current column into \marg{part count} equally sized parts and select only \marg{part no}. -\section{Determining cell contents} -\begin{codekey}{/pgfplots/table/assign cell content} - Allows to redefine the algorithm which assigns cell contents. The argument |#1| is the (unformatted) contents of the input table. + This can be used to simulate multicolumn tables. +\begin{codeexample}[] +% requires \usepackage{booktabs} +\pgfplotstableset{ + every head row/.style={before row=\toprule,after row=\midrule}, + every last row/.style={after row=\bottomrule}} + +\pgfplotstabletypesetfile[string type]{pgfplotstable.example2.dat} + +\pgfplotstabletypesetfile[ + display columns/0/.style={select equal part entry of={0}{2},string type}, + display columns/1/.style={select equal part entry of={0}{2},string type}, + display columns/2/.style={select equal part entry of={1}{2},string type}, + display columns/3/.style={select equal part entry of={1}{2},string type}, + columns={A,B,A,B} +] + {pgfplotstable.example2.dat} +\end{codeexample} + The example above shows the original file as-is on the left side. The right side shows columns A,B,A,B~-- but only half of the elements are shown, selected by indices \#0 or \#1 of \#2. The parts are equally large, up to a remainder. - The resulting output needs to be written to |/pgfplots/table/@cell content|. + If the available number of rows is not dividable by \marg{part count}, the remaining entries are distributed equally among the first parts. +\end{stylekey} + + +\subsection{Postprocessing cells} +\begin{codekey}{/pgfplots/table/postproc cell content} + Allows to \emph{modify} assigned cell content \emph{after} it has been assigned, possibly content-dependend. Ideas could be to draw negative numbers in red, typeset single entries in bold face or insert replacement text. + + This key is evaluated \emph{after} |assign cell content|. Its semantics is to modify an existing |@cell content| value. + + There may be more than one |postproc cell content| command, if you use |.append code| or |.append style| to define them: +\begin{codeexample}[] +% requires \usepackage{eurosym} +\pgfplotstabletypesetfile[ + column type=r, + columns={dof,info}, + columns/info/.style={ + postproc cell content/.append style={ + /pgfplots/table/@cell content/.add={$\bf}{$}}, + postproc cell content/.append style={ + /pgfplots/table/@cell content/.add={}{\EUR{}}} + }] + {pgfplotstable.example1.dat} +\end{codeexample} + The code above modifies |@cell content| successively. First, ``|$\bf ... $|'' is inserted, then ``|...\EUR|''. It should be noted that |pgfkeys| handles |.style| and |.code| in (quasi) the same way -- both are simple code keys and can be used as such. You can combine both with |.append style| and |.append code|. Please refer to~\cite[section about pgfkeys]{tikz} for details. + + As in |assign cell contents|, the code can evaluate helper macros like |\pgfplotstablerow| to change only particular entries. Furthermore, the argument ``|#1|'' expands to the \emph{unformatted} input argument which was found in the input table. This allows complete context based formatting options. Please remember that empty strings may appear due to column balancing -- introduce special treatment if necessary. + + There is one special case which occurs if |@cell content| itsself contains the cell separation character `|&|'. In this case, |postproc cell contents| is invoked \emph{separately} for each part before and after the ampersand and the ampersand is inserted afterwards. This allows compatibility with special styles which create artificial columns in the output (which is allowed, see |dec sep align|). To allow separate treatment of each part, you can use the macro |\pgfplotstablepartno|. It is defined only during the evaluation of |postproc cell content| and it evaluates to the current part index (starting with~$0$). If there is no ampersand in your text, the value will always be~$0$. + + This key is evaluated inside of a local \TeX\ group, so any local macro assignments will be cleared afterwards. + + The following example can be used to insert a dash, $-$, in a slope column: +\begin{codeexample}[] +\pgfplotstableset{ + create on use/slopes1/.style= + {create col/gradient loglog={dof}{error1}}} + +\pgfplotstabletypesetfile[ + columns={dof,error1,slopes1}, + columns/error1/.style={sci,sci zerofill}, + columns/slopes1/.style={ + postproc cell content/.append code={% + \ifnum\pgfplotstablerow=0 + \pgfkeyssetvalue{/pgfplots/table/@cell content}{\ensuremath{-}}% + \fi + }% + }] + {pgfplotstable.example1.dat} +\end{codeexample} +Since this may be useful in a more general context, it is available as |empty cells with| style. \end{codekey} -\begin{key}{/pgfplots/table/assign cell content as number} - This here is the default implementation of |assign cell contents|. -\end{key} +\begin{stylekey}{/pgfplots/table/empty cells with=\marg{replacement}} + Appends code to |postproc cell content| which replaces any empty cell with \marg{replacement}. -\begin{stylekey}{/pgfplots/table/string type} - A style which redefines |assign cell contents| to allow (a) text column(s). + If |dec sep align| is active, the replacement will be inserted only for the part before the decimal separator. \end{stylekey} +\begin{stylekey}{/pgfplots/table/set content=\marg{content}} + A style which redefines |postproc cell contents| to always return the value \marg{content}. +\end{stylekey} + + + \section{Customizing and getting the tabular code} -\begin{stylekey}{/pgfplots/table/every table} +\begin{stylekey}{/pgfplots/table/every table=\marg{file name}} A style which is installed at the beginning of every |\pgfplotstabletypeset| command. + + The table file name is given as first argument. \end{stylekey} \begin{key}{/pgfplots/table/font=\marg{font name} (initially empty)} @@ -510,13 +715,13 @@ The command |\pgfutilensuremath| checks whether math mode is active and switches \end{key} \begin{key}{/pgfplots/table/debug=\marg{boolean} (initially false)} - If enabled, will write every final tabular code to you log file. + If enabled, will write every final tabular code to your log file. \end{key} \section{Defining column types for \texttt{tabular}} Besides input of text files, it is sometimes desireable to define column types for existing \texttt{tabular} environments. -\begin{command}{\newcolumntype\marg{letter}[\meta{number of arguments}]$>$\marg{before column}\meta{column type}$<$\marg{after column}} +\begin{command}{\newcolumntype\marg{letter}\oarg{number of arguments}$>$\marg{before column}\meta{column type}$<$\marg{after column}} The command |\newcolumntype| is part of the |array| package and it defines a new column type \marg{letter} for use in \LaTeX\ tabular environments. \begin{codeexample}[code only] \usepackage{array} @@ -532,6 +737,7 @@ c & d \\ Now, the environment |pgfplotstablecoltype| can be used in \marg{before column} and \marg{after column} to define numerical columns: \begin{codeexample}[] +% requires \usepackage{array} \newcolumntype{L}[1] {>{\begin{pgfplotstablecoltype}[#1]}r<{\end{pgfplotstablecoltype}}} @@ -551,6 +757,7 @@ Now, the environment |pgfplotstablecoltype| can be used in \marg{before column} \noindent The environment |pgfplotstablecoltype| accepts an optional argument which may contain any number formatting options. It is an error if numerical columns contain non-numerical data, so it may be necessary to use |\multicolumn| for column names. \begin{codeexample}[] +% requires \usepackage{array} \newcolumntype{L}[1] {>{\begin{pgfplotstablecoltype}[#1]}r<{\end{pgfplotstablecoltype}}} @@ -788,7 +995,7 @@ A predefined style which installs commas `\texttt{,}' as decimal separators and \end{codeexample} \end{key} -\begin{key}{/pgf/number format/skip 0.=\marg{boolean}} +\begin{key}{/pgf/number format/skip 0.=\marg{boolean} (initially false)} Configures whether numbers like $0.1$ shall be typeset as $.1$ or not. \begin{codeexample}[] \pgfkeys{/pgf/number format/.cd, @@ -806,6 +1013,28 @@ A predefined style which installs commas `\texttt{,}' as decimal separators and \end{codeexample} \end{key} +\begin{key}{/pgf/number format/showpos=\marg{boolean} (initially false)} + Enables or disables display of plus signs for non-negative numbers. +\begin{codeexample}[] +\pgfkeys{/pgf/number format/showpos} +\pgfmathprintnumber{12.345} +\end{codeexample} + +\begin{codeexample}[] +\pgfkeys{/pgf/number format/showpos=false} +\pgfmathprintnumber{12.345} +\end{codeexample} + +\begin{codeexample}[] +\pgfkeys{/pgf/number format/.cd,showpos,sci} +\pgfmathprintnumber{12.345} +\end{codeexample} +\end{key} + +\begin{stylekey}{/pgf/number format/print sign=\marg{boolean}} + A style which is simply an alias for |showpos=|\marg{boolean}. +\end{stylekey} + \begin{key}{/pgf/number format/sci 10e} Uses $m \cdot 10^e$ for any number displayed in scientific format. @@ -846,17 +1075,247 @@ Typesets the exponent as subscript for any number displayed in scientific format \end{codeexample} \end{key} +\begin{key}{/pgf/number format/@dec sep mark=\marg{text}} + Will be placed right before the place where a decimal separator belongs to. However, \marg{text} will be inserted even if there is no decimal separator. It is intented as place-holder for auxiliary routines to find alignment positions. + + This key should never be used to change the decimal separator! Use |dec sep| instead. +\end{key} + +\begin{key}{/pgf/number format/@sci exponent mark=\marg{text}} + Will be placed right before exponents in scientific notation. It is intented as place-holder for auxiliary routines to find alignment positions. + + This key should never be used to change the exponent! +\end{key} + \begin{key}{/pgf/number format/assume math mode=\marg{boolean} (default true)} Set this to |true| if you don't want any checks for math mode. The initial setting installs a |\pgfutilensuremath| around each final number to change to math mode if necessary. Use |assume math mode=true| if you know that math mode is active and you don't want |\pgfutilensuremath|. \end{key} +\section{Changing tables} +After tables have been loaded from disk, it is possible to change their contents. The methods are limited up to now and they reflect mostly what I needed in my applications. Nevertheless, the approaches are quite general and can be customized. + +\begin{command}{\pgfplotstablecreatecol\oarg{options}\marg{new col name}\marg{\textbackslash table}} +Creates a new column named \marg{new col name} and appends it to table \marg{\textbackslash table}. + +This command is technical, but it offers a flexible framework to generate new columns. It has been designed to create new columns using the already existing values -- for example using logical or numerical methods to combine existing values. It provides fast access to a row's value and the next row's value. + +The following documentation is for all who want to \emph{write} specialised columns. It is not particularly difficult; it is just technical and it requires some knowledge of |pgfkeys|. If you don't like it, you can resort to some predefined column generation styles - and enable those styles in \marg{options}. + +The column entries will be created using the command key |create col/assign|. It will be invoked for every row of the table. +It is supposed to assign contents to |create col/next content|. +During the evaluation, the macro |\thisrow|\marg{col name} +expands to the current row's value of the column identified by \marg{col name}. +Furthermore, |\nextrow|\marg{col name} expands to the \emph{next} row's +value of the designated column and |\prevrow|\marg{col name} expands to the value of the \emph{previous} row. + +Two special |assign| routines are available for the first and last row: The contents for the \emph{last} row is computed with |create col/assign last|. Its semantics is the same. The contents for the \emph{first} row is computed with |create col/assign first| to simplify special cases here. These first and last commands are optional, their default is to invoke the normal |assign| routine. + +The evaluation of the |assign| keys is done in local \TeX\ groups. + +The following macros are useful during cell assignments: +\begin{enumerate} + \item |\prevrow|\marg{col name} / |\getprevrow|\marg{col name}\marg{\textbackslash macro} + + These two routines return the value stored in the \emph{previous} row of the designated column \marg{col name}. The |get| routine stores it into \meta{\textbackslash macro}. + + \item |\thisrow|\marg{col name} / |\getthisrow|\marg{col name}\marg{\textbackslash macro} + + These two routines return the \emph{current} row's value stored in the designated column. The |get| routine stores it into \meta{\textbackslash macro}. + + \item |\nextrow|\marg{col name} / |\getnextrow|\marg{col name}\marg{\textbackslash macro} + + These two routines return the \emph{next} row's value. + + \item |\pgfplotstablerow| and |\pgfplotstablerows| which contain the current row's index and the total number of rows, respectively. See page~\pageref{pgfplotstable:page:tablerow} for details. + \item |\pgfmathaccuma| and |\pgfmathaccumb| can be used to transport intermediate results. + Both maintain their value from one call to the next. All other local variables will be deleted after leaving the assignment routines. +\end{enumerate} +The \marg{col name} is expected to be a \emph{physical} column name, no alias or column index is allowed (unless column indices and column names are the same). + +The following example takes our well-known input table and creates a copy of the |level| column. Furthermore, it produces a lot of output to show the available macros. Finally, it uses |\pgfkeyslet| to assign the contents of the resulting |\entry| to |next content|. +\begin{codeexample}[] +\pgfplotstableread{pgfplotstable.example1.dat}\table +\pgfplotstablecreatecol[ + create col/assign/.code={% + \getthisrow{level}\entry + \getnextrow{level}\nextentry + \edef\entry{thisrow=\entry; nextrow=\nextentry. + (\#\pgfplotstablerow/\pgfplotstablerows)}% + \pgfkeyslet{/pgfplots/table/create col/next content}\entry + }] + {new}\table + +\pgfplotstabletypeset[ + column type=l, + columns={level,new}, + columns/new/.style={string type} +]\table +\end{codeexample} + +There is one more speciality: you can use |columns=|\marg{column list} to reduce the runtime complexity of this command. This works only if the |columns| key is provided directly into \marg{options}. In this case |\thisrow| and its variants are only defined for those columns listed in the |columns| value. + +\paragraph{Limitations.} Currently, you can only access three values of one column at a time: the current row, the previous row and the next row. Access to arbitrary indices is not (yet) supported. Furthermore, this command has been designed to modify an existing table. You can't create a table from scratch with this command. + +The default implementation of |assign| is to produce empty strings. The default implementation of |assign last| is to invoke |assign|, so in case you never really use the next row's value, you won't need to touch |assign last|. The same holds for |assign first|. +\end{command} + +\begin{pgfplotstablecreateonusekey} + Allows ``lazy creation'' of the column \meta{col name}. Whenever the column \meta{col name} is queried by name, for example in an |\pgfplotstabletypeset| command, and such a column does not exist already, it is created on-the-fly. + +\begin{codeexample}[narrow] +% requires \usepackage{array} +\pgfplotstableset{ + create on use/quot1/.style= + {create col/quotient={error1}}} + +\pgfplotstabletypesetfile[ + columns={error1,quot1}, + columns/error1/.style={sci,sci zerofill}, + columns/quot1/.style={dec sep align}] +{pgfplotstable.example1.dat} +\end{codeexample} + The example above queries |quot1| which does not yet exist in the input file. Therefor, it is checked whether a |create on use| style for |quot1| exists. This is the case, so it is used to create the missing column. + + A |create on use| specification is translated into + + |\pgfplotstablecreatecol[|\meta{create options}|]|\marg{col name}\marg{the table}. + + This feature allows some lazyness, because you can omit the lengthy table modifications. However, lazyness may cost something: in the example above, the generated column will be \emph{lost} after returning from |\pgfplotstabletypesetfile|. + + The |create on use| has higher priority than |alias|. + + In case \meta{col name} contains characters which are required for key settings, you need to use braces around it: ``|create on use/{name=wi/th,special}/.style={...}|''. +\end{pgfplotstablecreateonusekey} + +\begin{stylekey}{/pgfplots/table/create col/expr=\marg{math expression}} + A style for use in |\pgfplotstablecreatecol| which uses \marg{math expression} to assign contents for the new column. + +\begin{codeexample}[] +\pgfplotstableread{pgfplotstable.example1.dat}\table +\pgfplotstablecreatecol[ + create col/expr={\thisrow{level}*2}] + {new}\table + +\pgfplotstabletypeset[ + columns={level,new}, + columns/new/.style={column name=$2\cdot $level} +]\table +\end{codeexample} + The macros |\thisrow|\marg{col name} and |\nextrow|\marg{col name} can be used to use values of the existing table. + + Please see |\pgfplotstablecreatecol| for more information. + + \paragraph{Attention:} Currently, |expr| uses the math parser of \PGF. Although very powerful, it has never been intended for scientific applications. Its $5.5$ fixed point arithmetic has its limitations. + + There is limited support for float point arithmetics, but that is far from complete and every elementary operation needs to be programmed by hand. Some of the following numerical styles employ these routines, they have been included into the \PGF\ math library (but not into the parser). + + Furthermore, you can create new columns using the |fp| package which allows precise fixed point arithmetics. +\end{stylekey} + +\begin{stylekey}{/pgfplots/table/create col/quotient=\marg{column name}} + A style for use in |\pgfplotstablecreatecol| which computes the quotient $c_i := m_{i-1} / m_i$ for every entry $i = 1,\dotsc, (n-1)$ in the column identified with \marg{column name}. The first value $c_0$ is kept empty. + +\begin{codeexample}[] +% requires \usepackage{array} +\pgfplotstableread{pgfplotstable.example1.dat}\table +\pgfplotstablecreatecol[create col/quotient=error1] + {quot1}\table +\pgfplotstablecreatecol[create col/quotient=error2] + {quot2}\table + +\pgfplotstabletypeset[ + columns={error1,error2,quot1,quot2}, + columns/error1/.style={sci,sci zerofill}, + columns/error2/.style={sci,sci zerofill}, + columns/quot1/.style={dec sep align}, + columns/quot2/.style={dec sep align}] +\table +\end{codeexample} + This style employs methods of the floating point unit, that means it works with a relative precision of about $10^{-7}$ ($7$ significant digits in the mantisse). +\end{stylekey} + +\begin{stylekey}{/pgfplots/table/create col/iquotient=\marg{column name}} + Like |create col/quotient|, but the quotient is inverse. +\end{stylekey} + +\begin{stylekey}{/pgfplots/table/create col/dyadic refinement rate=\marg{column name}} + A style for use in |\pgfplotstablecreatecol| which computes the convergence rate $\alpha$ of the data in column \marg{column name}. The contents of \marg{column name} is assumed to be something like $e_i(h_i) = O(h_i^\alpha)$. Assuming a dyadic refinement relation from one row to the next, $h_i = h_{i-1}/2$, we have $h_{i-1}^\alpha / (h_{i-1}/2)^\alpha = 2^\alpha$, so we get $\alpha$ using + \[ c_i := \log_2\left( \frac{e_{i-1}}{e_i} \right). \] + The first value $c_0$ is kept empty. + +\begin{codeexample}[] +% requires \usepackage{array} +\pgfplotstabletypesetfile[ + create on use/rate1/.style={create col/dyadic refinement rate={error1}}, + create on use/rate2/.style={create col/dyadic refinement rate={error2}}, + columns={error1,error2,rate1,rate2}, + columns/error1/.style={sci,sci zerofill}, + columns/error2/.style={sci,sci zerofill}, + columns/rate1/.style={dec sep align}, + columns/rate2/.style={dec sep align}] + {pgfplotstable.example1.dat} +\end{codeexample} + This style employs methods of the floating point unit, that means it works with a relative precision of about $10^{-6}$ ($6$ significant digits in the mantisse). +\end{stylekey} + +\begin{stylekey}{/pgfplots/table/create col/idyadic refinement rate=\marg{column name}} + As |create col/dyadic refinement rate|, but the quotient is inverse. +\end{stylekey} + +\begin{keylist}{ + /pgfplots/table/create col/gradient=\marg{col x}\marg{col y}, + /pgfplots/table/create col/gradient loglog=\marg{col x}\marg{col y}, + /pgfplots/table/create col/gradient semilogx=\marg{col x}\marg{col y}, + /pgfplots/table/create col/gradient semilogy=\marg{col x}\marg{col y}} + A style for |\pgfplotstablecreatecol| which computes piecewise gradients $(y_{i+1} - y_i) / (x_{i+1} - x_i )$ for each row. The $y$ values are taken out of column \marg{col y} and the $x$ values are taken from \marg{col y}. + + The logarithmic variants apply the natural logarithm, $\log(\cdot)$, to its argument before starting to compute differences. More precisely, the |loglog| variant applies the logarithm to both, $x$ and $y$, the |semilogx| variant applies the logarithm only to~$x$ and the |semilogy| variant applies the logarithm only to~$y$. + +\begin{codeexample}[] +% requires \usepackage{array} +\pgfplotstableread{pgfplotstable.example1.dat}\table +\pgfplotstablecreatecol[create col/gradient loglog={dof}{error1}] + {slopes1}\table +\pgfplotstablecreatecol[create col/gradient loglog={dof}{error2}] + {slopes2}\table + +\pgfplotstabletypeset[ + columns={dof,error1,error2,slopes1,slopes2}, + columns/dof/.style={int detect}, + columns/error1/.style={sci,sci zerofill}, + columns/error2/.style={sci,sci zerofill}, + columns/slopes1/.style={dec sep align}, + columns/slopes2/.style={dec sep align}] +\table +\end{codeexample} + +\begin{codeexample}[] +% requires \usepackage{array} +\pgfplotstableread + {pgfplotstable.example1.dat}\table +\pgfplotstablecreatecol + [create col/gradient semilogy={level}{error1}] + {slopes1}\table + +\pgfplotstabletypeset[ + columns={level,error1,slopes1}, + columns/level/.style={int detect}, + columns/error1/.style= + {sci,sci zerofill,sci subscript}, + columns/slopes1/.style={dec sep align}] +\table +\end{codeexample} + This style employs methods of the floating point unit, that means it works with a relative precision of about $10^{-6}$ ($6$ significant digits in the mantisse). +\end{keylist} + \section{Plain \TeX\ and Con\TeX t support} +\label{sec:pgfplotstable:context} The table code generator is initialised to produce \LaTeX\ |tabular| environments. However, it only relies on~`|&|' being the column separator and~`|\\|' the row terminator. The |column type| feature is more or less specific to |tabular|, but you can disable it completely. Replace |begin table| and |end table| with appropriate \TeX- or Con\TeX t commands to change it. If you have useful default styles (or bug reports), let me know. \printindex \bibliographystyle{abbrv} %gerapali} %gerabbrv} %gerunsrt.bst} %gerabbrv}% gerplain} -\bibliography{pgfplots.bib} +\bibliography{pgfplots} \end{document} diff --git a/Master/texmf-dist/doc/latex/pgfplots/plotdata/accounts.dat b/Master/texmf-dist/doc/latex/pgfplots/plotdata/accounts.dat new file mode 100644 index 00000000000..a59f57ab652 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgfplots/plotdata/accounts.dat @@ -0,0 +1,7 @@ +date account1 account2 account3 +2008-01-03 60 1200 400 +2008-02-06 120 1600 410 +2008-03-15 -10 1600 410 +2008-04-01 1800 500 410 +2008-05-20 2300 500 410 +2008-06-15 800 1920 410 diff --git a/Master/texmf-dist/doc/latex/pgfplots/plotdata/ou.dat b/Master/texmf-dist/doc/latex/pgfplots/plotdata/ou.dat new file mode 100644 index 00000000000..1e7c07061c6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgfplots/plotdata/ou.dat @@ -0,0 +1,13000 @@ + 0.0000000e+00 0.0000000e+00 + 3.8464497e-04 4.1302249e-03 + 7.6928995e-04 1.4973563e-02 + 1.1539349e-03 1.7672638e-02 + 1.5385799e-03 1.7308837e-02 + 1.9232249e-03 1.7046291e-02 + 2.3078698e-03 1.1745450e-02 + 2.6925148e-03 1.7520611e-02 + 3.0771598e-03 1.9106890e-02 + 3.4618048e-03 2.4412321e-02 + 3.8464497e-03 3.3145319e-02 + 4.2310947e-03 3.4191310e-02 + 4.6157397e-03 3.4660472e-02 + 5.0003846e-03 3.7854034e-02 + 5.3850296e-03 4.6084165e-02 + 5.7696746e-03 4.6576366e-02 + 6.1543196e-03 5.3098790e-02 + 6.5389645e-03 5.2526147e-02 + 6.9236095e-03 5.8222424e-02 + 7.3082545e-03 5.0814744e-02 + 7.6928995e-03 5.7613784e-02 + 8.0775444e-03 6.3381495e-02 + 8.4621894e-03 6.5154217e-02 + 8.8468344e-03 7.0245295e-02 + 9.2314793e-03 7.4855640e-02 + 9.6161243e-03 7.4595429e-02 + 1.0000769e-02 7.4296459e-02 + 1.0385414e-02 7.7313241e-02 + 1.0770059e-02 8.6355311e-02 + 1.1154704e-02 9.5504769e-02 + 1.1539349e-02 9.6767098e-02 + 1.1923994e-02 9.2272847e-02 + 1.2308639e-02 9.2631579e-02 + 1.2693284e-02 9.4622825e-02 + 1.3077929e-02 9.9317429e-02 + 1.3462574e-02 1.0916904e-01 + 1.3847219e-02 1.0955256e-01 + 1.4231864e-02 1.1479791e-01 + 1.4616509e-02 1.1067328e-01 + 1.5001154e-02 1.1184969e-01 + 1.5385799e-02 1.1538357e-01 + 1.5770444e-02 1.1658832e-01 + 1.6155089e-02 1.1525382e-01 + 1.6539734e-02 1.2027449e-01 + 1.6924379e-02 1.2446846e-01 + 1.7309024e-02 1.1714991e-01 + 1.7693669e-02 1.2236253e-01 + 1.8078314e-02 1.1794362e-01 + 1.8462959e-02 1.1575203e-01 + 1.8847604e-02 1.1307514e-01 + 1.9232249e-02 1.1571520e-01 + 1.9616894e-02 1.2823222e-01 + 2.0001539e-02 1.2692625e-01 + 2.0386184e-02 1.2467693e-01 + 2.0770829e-02 1.2955591e-01 + 2.1155473e-02 1.2992685e-01 + 2.1540118e-02 1.3054347e-01 + 2.1924763e-02 1.3159762e-01 + 2.2309408e-02 1.3381161e-01 + 2.2694053e-02 1.3274047e-01 + 2.3078698e-02 1.3309855e-01 + 2.3463343e-02 1.3147837e-01 + 2.3847988e-02 1.3057880e-01 + 2.4232633e-02 1.3907113e-01 + 2.4617278e-02 1.4004576e-01 + 2.5001923e-02 1.3538492e-01 + 2.5386568e-02 1.4004369e-01 + 2.5771213e-02 1.4793747e-01 + 2.6155858e-02 1.5559410e-01 + 2.6540503e-02 1.4875176e-01 + 2.6925148e-02 1.4504589e-01 + 2.7309793e-02 1.5117587e-01 + 2.7694438e-02 1.5636363e-01 + 2.8079083e-02 1.5290703e-01 + 2.8463728e-02 1.4546828e-01 + 2.8848373e-02 1.4023434e-01 + 2.9233018e-02 1.4265271e-01 + 2.9617663e-02 1.4400082e-01 + 3.0002308e-02 1.4542957e-01 + 3.0386953e-02 1.4840894e-01 + 3.0771598e-02 1.4794871e-01 + 3.1156243e-02 1.4242754e-01 + 3.1540888e-02 1.4019834e-01 + 3.1925533e-02 1.3364342e-01 + 3.2310178e-02 1.1759100e-01 + 3.2694823e-02 1.2361643e-01 + 3.3079468e-02 1.1511047e-01 + 3.3464113e-02 1.1347587e-01 + 3.3848758e-02 1.1502755e-01 + 3.4233403e-02 1.1561691e-01 + 3.4618048e-02 1.2349253e-01 + 3.5002693e-02 1.1092210e-01 + 3.5387337e-02 1.1650267e-01 + 3.5771982e-02 1.2166840e-01 + 3.6156627e-02 1.1245686e-01 + 3.6541272e-02 1.0431071e-01 + 3.6925917e-02 1.0031731e-01 + 3.7310562e-02 1.0584602e-01 + 3.7695207e-02 1.0810713e-01 + 3.8079852e-02 1.1670811e-01 + 3.8464497e-02 1.2546108e-01 + 3.8849142e-02 1.1745766e-01 + 3.9233787e-02 1.2068965e-01 + 3.9618432e-02 1.1610624e-01 + 4.0003077e-02 1.1951508e-01 + 4.0387722e-02 1.1749831e-01 + 4.0772367e-02 1.1759155e-01 + 4.1157012e-02 1.2096984e-01 + 4.1541657e-02 1.2289463e-01 + 4.1926302e-02 1.2820546e-01 + 4.2310947e-02 1.3363901e-01 + 4.2695592e-02 1.3254715e-01 + 4.3080237e-02 1.3741985e-01 + 4.3464882e-02 1.3968635e-01 + 4.3849527e-02 1.3986584e-01 + 4.4234172e-02 1.3888049e-01 + 4.4618817e-02 1.4185582e-01 + 4.5003462e-02 1.3541613e-01 + 4.5388107e-02 1.3527933e-01 + 4.5772752e-02 1.3905872e-01 + 4.6157397e-02 1.3464824e-01 + 4.6542042e-02 1.3657783e-01 + 4.6926687e-02 1.3328724e-01 + 4.7311332e-02 1.3269804e-01 + 4.7695977e-02 1.3457911e-01 + 4.8080622e-02 1.3905207e-01 + 4.8465267e-02 1.3308009e-01 + 4.8849912e-02 1.3519455e-01 + 4.9234557e-02 1.3584989e-01 + 4.9619201e-02 1.3802437e-01 + 5.0003846e-02 1.3415969e-01 + 5.0388491e-02 1.2972455e-01 + 5.0773136e-02 1.3915547e-01 + 5.1157781e-02 1.5588324e-01 + 5.1542426e-02 1.6290922e-01 + 5.1927071e-02 1.7683411e-01 + 5.2311716e-02 1.8810221e-01 + 5.2696361e-02 1.7973846e-01 + 5.3081006e-02 1.8445064e-01 + 5.3465651e-02 1.7826869e-01 + 5.3850296e-02 1.6932804e-01 + 5.4234941e-02 1.6675290e-01 + 5.4619586e-02 1.7073333e-01 + 5.5004231e-02 1.7633695e-01 + 5.5388876e-02 1.6060712e-01 + 5.5773521e-02 1.5518902e-01 + 5.6158166e-02 1.7049199e-01 + 5.6542811e-02 1.7068031e-01 + 5.6927456e-02 1.7499646e-01 + 5.7312101e-02 1.6871864e-01 + 5.7696746e-02 1.7580466e-01 + 5.8081391e-02 1.7954788e-01 + 5.8466036e-02 1.8279017e-01 + 5.8850681e-02 1.7835104e-01 + 5.9235326e-02 1.8814430e-01 + 5.9619971e-02 1.7261037e-01 + 6.0004616e-02 1.7205752e-01 + 6.0389261e-02 1.7928760e-01 + 6.0773906e-02 1.7440898e-01 + 6.1158551e-02 1.6984351e-01 + 6.1543196e-02 1.6832249e-01 + 6.1927841e-02 1.5552968e-01 + 6.2312486e-02 1.5978801e-01 + 6.2697131e-02 1.6248348e-01 + 6.3081776e-02 1.5947529e-01 + 6.3466420e-02 1.5603421e-01 + 6.3851065e-02 1.5793710e-01 + 6.4235710e-02 1.5869497e-01 + 6.4620355e-02 1.6318603e-01 + 6.5005000e-02 1.6238818e-01 + 6.5389645e-02 1.4998798e-01 + 6.5774290e-02 1.5771745e-01 + 6.6158935e-02 1.4943712e-01 + 6.6543580e-02 1.4572499e-01 + 6.6928225e-02 1.4439166e-01 + 6.7312870e-02 1.3233596e-01 + 6.7697515e-02 1.2847899e-01 + 6.8082160e-02 1.1561883e-01 + 6.8466805e-02 1.2339182e-01 + 6.8851450e-02 1.1421778e-01 + 6.9236095e-02 1.1784685e-01 + 6.9620740e-02 1.1535128e-01 + 7.0005385e-02 1.1692894e-01 + 7.0390030e-02 1.1136501e-01 + 7.0774675e-02 1.0846689e-01 + 7.1159320e-02 1.0845686e-01 + 7.1543965e-02 1.1491412e-01 + 7.1928610e-02 1.1770754e-01 + 7.2313255e-02 1.2748749e-01 + 7.2697900e-02 1.3088818e-01 + 7.3082545e-02 1.2249978e-01 + 7.3467190e-02 1.2366041e-01 + 7.3851835e-02 1.1750475e-01 + 7.4236480e-02 1.2195943e-01 + 7.4621125e-02 1.2680063e-01 + 7.5005770e-02 1.3514636e-01 + 7.5390415e-02 1.4375592e-01 + 7.5775060e-02 1.4177703e-01 + 7.6159705e-02 1.3805080e-01 + 7.6544350e-02 1.3638773e-01 + 7.6928995e-02 1.3286478e-01 + 7.7313640e-02 1.2698100e-01 + 7.7698284e-02 1.2069576e-01 + 7.8082929e-02 1.2348279e-01 + 7.8467574e-02 1.3324059e-01 + 7.8852219e-02 1.4150902e-01 + 7.9236864e-02 1.3883076e-01 + 7.9621509e-02 1.5032067e-01 + 8.0006154e-02 1.6072873e-01 + 8.0390799e-02 1.5712100e-01 + 8.0775444e-02 1.5608961e-01 + 8.1160089e-02 1.6552785e-01 + 8.1544734e-02 1.6534916e-01 + 8.1929379e-02 1.7107776e-01 + 8.2314024e-02 1.6768437e-01 + 8.2698669e-02 1.6181086e-01 + 8.3083314e-02 1.4511254e-01 + 8.3467959e-02 1.4812870e-01 + 8.3852604e-02 1.5313069e-01 + 8.4237249e-02 1.4469004e-01 + 8.4621894e-02 1.5012867e-01 + 8.5006539e-02 1.5571844e-01 + 8.5391184e-02 1.6658070e-01 + 8.5775829e-02 1.7083086e-01 + 8.6160474e-02 1.6302151e-01 + 8.6545119e-02 1.6150278e-01 + 8.6929764e-02 1.6923500e-01 + 8.7314409e-02 1.6094465e-01 + 8.7699054e-02 1.6123473e-01 + 8.8083699e-02 1.5730620e-01 + 8.8468344e-02 1.4917828e-01 + 8.8852989e-02 1.5019137e-01 + 8.9237634e-02 1.5705907e-01 + 8.9622279e-02 1.4480183e-01 + 9.0006924e-02 1.3954603e-01 + 9.0391569e-02 1.3466980e-01 + 9.0776214e-02 1.3506659e-01 + 9.1160859e-02 1.3774012e-01 + 9.1545504e-02 1.4732648e-01 + 9.1930148e-02 1.4510495e-01 + 9.2314793e-02 1.5306691e-01 + 9.2699438e-02 1.4207017e-01 + 9.3084083e-02 1.5521998e-01 + 9.3468728e-02 1.5002640e-01 + 9.3853373e-02 1.5978394e-01 + 9.4238018e-02 1.5841754e-01 + 9.4622663e-02 1.5855475e-01 + 9.5007308e-02 1.6082491e-01 + 9.5391953e-02 1.6843554e-01 + 9.5776598e-02 1.6783950e-01 + 9.6161243e-02 1.7128330e-01 + 9.6545888e-02 1.6954931e-01 + 9.6930533e-02 1.6945406e-01 + 9.7315178e-02 1.6684675e-01 + 9.7699823e-02 1.7014641e-01 + 9.8084468e-02 1.7205958e-01 + 9.8469113e-02 1.7274647e-01 + 9.8853758e-02 1.6436414e-01 + 9.9238403e-02 1.7320209e-01 + 9.9623048e-02 1.6952574e-01 + 1.0000769e-01 1.6487024e-01 + 1.0039234e-01 1.6240824e-01 + 1.0077698e-01 1.5965006e-01 + 1.0116163e-01 1.5625160e-01 + 1.0154627e-01 1.5501706e-01 + 1.0193092e-01 1.4380045e-01 + 1.0231556e-01 1.4630222e-01 + 1.0270021e-01 1.3972280e-01 + 1.0308485e-01 1.3322555e-01 + 1.0346950e-01 1.4175110e-01 + 1.0385414e-01 1.3873038e-01 + 1.0423879e-01 1.4191034e-01 + 1.0462343e-01 1.5166412e-01 + 1.0500808e-01 1.4661326e-01 + 1.0539272e-01 1.5029943e-01 + 1.0577737e-01 1.4961686e-01 + 1.0616201e-01 1.4243026e-01 + 1.0654666e-01 1.4007712e-01 + 1.0693130e-01 1.4722389e-01 + 1.0731595e-01 1.5446686e-01 + 1.0770059e-01 1.6357532e-01 + 1.0808524e-01 1.6661169e-01 + 1.0846988e-01 1.6303831e-01 + 1.0885453e-01 1.5953772e-01 + 1.0923917e-01 1.6865004e-01 + 1.0962382e-01 1.7099495e-01 + 1.1000846e-01 1.6259526e-01 + 1.1039311e-01 1.7120783e-01 + 1.1077775e-01 1.6130548e-01 + 1.1116240e-01 1.6311742e-01 + 1.1154704e-01 1.6062786e-01 + 1.1193169e-01 1.6606334e-01 + 1.1231633e-01 1.6978917e-01 + 1.1270098e-01 1.7231990e-01 + 1.1308562e-01 1.7529147e-01 + 1.1347027e-01 1.7274891e-01 + 1.1385491e-01 1.7349205e-01 + 1.1423956e-01 1.6876913e-01 + 1.1462420e-01 1.6959871e-01 + 1.1500885e-01 1.7465170e-01 + 1.1539349e-01 1.7663683e-01 + 1.1577814e-01 1.6930414e-01 + 1.1616278e-01 1.7924503e-01 + 1.1654743e-01 1.8469456e-01 + 1.1693207e-01 1.8541291e-01 + 1.1731672e-01 1.7982627e-01 + 1.1770136e-01 1.8109302e-01 + 1.1808601e-01 1.7823420e-01 + 1.1847065e-01 1.8962350e-01 + 1.1885530e-01 1.8494867e-01 + 1.1923994e-01 1.8672572e-01 + 1.1962459e-01 1.8404967e-01 + 1.2000923e-01 1.9022555e-01 + 1.2039388e-01 1.9424203e-01 + 1.2077852e-01 1.9129225e-01 + 1.2116317e-01 1.9255188e-01 + 1.2154781e-01 1.9889172e-01 + 1.2193246e-01 1.7942382e-01 + 1.2231710e-01 1.7572340e-01 + 1.2270175e-01 1.7544180e-01 + 1.2308639e-01 1.8040296e-01 + 1.2347104e-01 1.8060515e-01 + 1.2385568e-01 1.9066742e-01 + 1.2424033e-01 1.8595564e-01 + 1.2462497e-01 1.8246164e-01 + 1.2500962e-01 1.8383594e-01 + 1.2539426e-01 1.9212838e-01 + 1.2577891e-01 1.9987159e-01 + 1.2616355e-01 2.0326170e-01 + 1.2654820e-01 1.9949321e-01 + 1.2693284e-01 2.0328000e-01 + 1.2731749e-01 2.0172021e-01 + 1.2770213e-01 2.1166203e-01 + 1.2808678e-01 2.0855944e-01 + 1.2847142e-01 2.1195002e-01 + 1.2885607e-01 2.1923650e-01 + 1.2924071e-01 2.1545418e-01 + 1.2962536e-01 2.2217432e-01 + 1.3001000e-01 2.2745148e-01 + 1.3039465e-01 2.2762007e-01 + 1.3077929e-01 2.3038997e-01 + 1.3116394e-01 2.4037992e-01 + 1.3154858e-01 2.5235365e-01 + 1.3193323e-01 2.6215647e-01 + 1.3231787e-01 2.6838107e-01 + 1.3270252e-01 2.7714720e-01 + 1.3308716e-01 2.8199219e-01 + 1.3347181e-01 2.8326038e-01 + 1.3385645e-01 2.7964120e-01 + 1.3424110e-01 2.8328492e-01 + 1.3462574e-01 2.6841627e-01 + 1.3501039e-01 2.5569169e-01 + 1.3539503e-01 2.6208473e-01 + 1.3577968e-01 2.5941169e-01 + 1.3616432e-01 2.5052806e-01 + 1.3654897e-01 2.5596236e-01 + 1.3693361e-01 2.5043175e-01 + 1.3731826e-01 2.5043071e-01 + 1.3770290e-01 2.4533506e-01 + 1.3808755e-01 2.4077590e-01 + 1.3847219e-01 2.3800653e-01 + 1.3885684e-01 2.3437380e-01 + 1.3924148e-01 2.3934206e-01 + 1.3962613e-01 2.4916251e-01 + 1.4001077e-01 2.4091439e-01 + 1.4039542e-01 2.4364207e-01 + 1.4078006e-01 2.4937421e-01 + 1.4116470e-01 2.6108690e-01 + 1.4154935e-01 2.5332501e-01 + 1.4193399e-01 2.5615730e-01 + 1.4231864e-01 2.4882515e-01 + 1.4270328e-01 2.4786683e-01 + 1.4308793e-01 2.5255376e-01 + 1.4347257e-01 2.5217197e-01 + 1.4385722e-01 2.5589500e-01 + 1.4424186e-01 2.5451994e-01 + 1.4462651e-01 2.5156999e-01 + 1.4501115e-01 2.5803800e-01 + 1.4539580e-01 2.7127360e-01 + 1.4578044e-01 2.6905837e-01 + 1.4616509e-01 2.6973357e-01 + 1.4654973e-01 2.6183910e-01 + 1.4693438e-01 2.6580950e-01 + 1.4731902e-01 2.6419503e-01 + 1.4770367e-01 2.6657211e-01 + 1.4808831e-01 2.6582306e-01 + 1.4847296e-01 2.7789813e-01 + 1.4885760e-01 2.8620248e-01 + 1.4924225e-01 2.8831400e-01 + 1.4962689e-01 2.9023073e-01 + 1.5001154e-01 2.9504322e-01 + 1.5039618e-01 2.8838584e-01 + 1.5078083e-01 2.9060791e-01 + 1.5116547e-01 2.8570027e-01 + 1.5155012e-01 2.9234121e-01 + 1.5193476e-01 3.0217956e-01 + 1.5231941e-01 3.0027532e-01 + 1.5270405e-01 3.0899406e-01 + 1.5308870e-01 3.0368229e-01 + 1.5347334e-01 3.0173946e-01 + 1.5385799e-01 2.9834237e-01 + 1.5424263e-01 2.9266544e-01 + 1.5462728e-01 2.9297734e-01 + 1.5501192e-01 2.9811968e-01 + 1.5539657e-01 3.0229822e-01 + 1.5578121e-01 3.0469427e-01 + 1.5616586e-01 3.0617804e-01 + 1.5655050e-01 3.0092158e-01 + 1.5693515e-01 2.9722592e-01 + 1.5731979e-01 3.0021670e-01 + 1.5770444e-01 2.8922359e-01 + 1.5808908e-01 2.8975476e-01 + 1.5847373e-01 2.9639785e-01 + 1.5885837e-01 2.9593638e-01 + 1.5924302e-01 2.8932159e-01 + 1.5962766e-01 2.8626713e-01 + 1.6001231e-01 2.9152747e-01 + 1.6039695e-01 2.9035657e-01 + 1.6078160e-01 2.8582524e-01 + 1.6116624e-01 2.8849063e-01 + 1.6155089e-01 2.8609873e-01 + 1.6193553e-01 2.9100437e-01 + 1.6232018e-01 2.8397709e-01 + 1.6270482e-01 2.7927996e-01 + 1.6308947e-01 2.7709353e-01 + 1.6347411e-01 2.7522084e-01 + 1.6385876e-01 2.6815865e-01 + 1.6424340e-01 2.6460209e-01 + 1.6462805e-01 2.5326829e-01 + 1.6501269e-01 2.5823510e-01 + 1.6539734e-01 2.5940814e-01 + 1.6578198e-01 2.5448598e-01 + 1.6616663e-01 2.5151050e-01 + 1.6655127e-01 2.4407689e-01 + 1.6693592e-01 2.4154953e-01 + 1.6732056e-01 2.4797721e-01 + 1.6770521e-01 2.4272650e-01 + 1.6808985e-01 2.4245625e-01 + 1.6847450e-01 2.4766286e-01 + 1.6885914e-01 2.5409825e-01 + 1.6924379e-01 2.5284910e-01 + 1.6962843e-01 2.5364340e-01 + 1.7001308e-01 2.5768267e-01 + 1.7039772e-01 2.5633446e-01 + 1.7078237e-01 2.4702284e-01 + 1.7116701e-01 2.4797076e-01 + 1.7155166e-01 2.5076155e-01 + 1.7193630e-01 2.5361399e-01 + 1.7232095e-01 2.5548994e-01 + 1.7270559e-01 2.6162740e-01 + 1.7309024e-01 2.6303094e-01 + 1.7347488e-01 2.6205760e-01 + 1.7385953e-01 2.6587614e-01 + 1.7424417e-01 2.7149820e-01 + 1.7462882e-01 2.7154339e-01 + 1.7501346e-01 2.7379629e-01 + 1.7539811e-01 2.8565833e-01 + 1.7578275e-01 2.8301539e-01 + 1.7616740e-01 2.8583937e-01 + 1.7655204e-01 2.8311825e-01 + 1.7693669e-01 2.8369819e-01 + 1.7732133e-01 2.8915821e-01 + 1.7770598e-01 2.8662994e-01 + 1.7809062e-01 2.9349949e-01 + 1.7847527e-01 2.9349843e-01 + 1.7885991e-01 3.0347682e-01 + 1.7924456e-01 2.9737889e-01 + 1.7962920e-01 3.0010352e-01 + 1.8001385e-01 3.0931963e-01 + 1.8039849e-01 3.0758293e-01 + 1.8078314e-01 3.0636192e-01 + 1.8116778e-01 3.0096292e-01 + 1.8155243e-01 2.8704611e-01 + 1.8193707e-01 2.8660513e-01 + 1.8232172e-01 2.9705514e-01 + 1.8270636e-01 3.0135587e-01 + 1.8309101e-01 2.9499095e-01 + 1.8347565e-01 2.9813183e-01 + 1.8386030e-01 2.9992503e-01 + 1.8424494e-01 2.9894178e-01 + 1.8462959e-01 2.9891278e-01 + 1.8501423e-01 3.0055507e-01 + 1.8539888e-01 3.0365977e-01 + 1.8578352e-01 3.0668689e-01 + 1.8616817e-01 3.0861948e-01 + 1.8655281e-01 3.0906003e-01 + 1.8693746e-01 3.0341011e-01 + 1.8732210e-01 3.0606464e-01 + 1.8770675e-01 3.0287880e-01 + 1.8809139e-01 3.0587225e-01 + 1.8847604e-01 3.1152296e-01 + 1.8886068e-01 3.0748625e-01 + 1.8924533e-01 2.9743020e-01 + 1.8962997e-01 2.9591816e-01 + 1.9001462e-01 2.9479957e-01 + 1.9039926e-01 3.0329338e-01 + 1.9078391e-01 2.9980671e-01 + 1.9116855e-01 3.0118156e-01 + 1.9155320e-01 3.0367937e-01 + 1.9193784e-01 3.0762007e-01 + 1.9232249e-01 3.1988318e-01 + 1.9270713e-01 3.2866938e-01 + 1.9309178e-01 3.2664686e-01 + 1.9347642e-01 3.1661185e-01 + 1.9386107e-01 3.0560577e-01 + 1.9424571e-01 3.0526173e-01 + 1.9463036e-01 3.0391370e-01 + 1.9501500e-01 2.9721659e-01 + 1.9539965e-01 2.9534409e-01 + 1.9578429e-01 3.0491713e-01 + 1.9616894e-01 2.9979374e-01 + 1.9655358e-01 3.0371365e-01 + 1.9693823e-01 3.0148463e-01 + 1.9732287e-01 3.1000736e-01 + 1.9770752e-01 3.1215715e-01 + 1.9809216e-01 3.0769731e-01 + 1.9847681e-01 3.0203271e-01 + 1.9886145e-01 3.0364509e-01 + 1.9924610e-01 3.0569187e-01 + 1.9963074e-01 2.9960017e-01 + 2.0001539e-01 2.9237133e-01 + 2.0040003e-01 2.9054000e-01 + 2.0078468e-01 2.9075241e-01 + 2.0116932e-01 2.9188370e-01 + 2.0155397e-01 2.8622526e-01 + 2.0193861e-01 2.7746242e-01 + 2.0232326e-01 2.7138908e-01 + 2.0270790e-01 2.6017353e-01 + 2.0309255e-01 2.5718349e-01 + 2.0347719e-01 2.5999854e-01 + 2.0386184e-01 2.6269113e-01 + 2.0424648e-01 2.5923414e-01 + 2.0463113e-01 2.5046095e-01 + 2.0501577e-01 2.4604390e-01 + 2.0540042e-01 2.4712658e-01 + 2.0578506e-01 2.3990139e-01 + 2.0616971e-01 2.3653146e-01 + 2.0655435e-01 2.3266153e-01 + 2.0693900e-01 2.4035820e-01 + 2.0732364e-01 2.4042914e-01 + 2.0770829e-01 2.2514904e-01 + 2.0809293e-01 2.1148433e-01 + 2.0847758e-01 2.0427440e-01 + 2.0886222e-01 2.0138776e-01 + 2.0924687e-01 1.9351337e-01 + 2.0963151e-01 1.9399023e-01 + 2.1001616e-01 1.9047311e-01 + 2.1040080e-01 1.9695737e-01 + 2.1078545e-01 1.9311092e-01 + 2.1117009e-01 1.9781530e-01 + 2.1155473e-01 1.9605512e-01 + 2.1193938e-01 2.0233470e-01 + 2.1232402e-01 1.9752768e-01 + 2.1270867e-01 1.9632031e-01 + 2.1309331e-01 1.9021999e-01 + 2.1347796e-01 2.0336457e-01 + 2.1386260e-01 1.9869115e-01 + 2.1424725e-01 2.0058412e-01 + 2.1463189e-01 1.9881784e-01 + 2.1501654e-01 1.9749534e-01 + 2.1540118e-01 2.0972777e-01 + 2.1578583e-01 2.2213357e-01 + 2.1617047e-01 2.2391548e-01 + 2.1655512e-01 2.2366582e-01 + 2.1693976e-01 2.2109370e-01 + 2.1732441e-01 2.1336099e-01 + 2.1770905e-01 2.1716031e-01 + 2.1809370e-01 2.2154754e-01 + 2.1847834e-01 2.2266594e-01 + 2.1886299e-01 2.3198530e-01 + 2.1924763e-01 2.3288387e-01 + 2.1963228e-01 2.3210404e-01 + 2.2001692e-01 2.3461273e-01 + 2.2040157e-01 2.3847838e-01 + 2.2078621e-01 2.3517633e-01 + 2.2117086e-01 2.4092343e-01 + 2.2155550e-01 2.4291363e-01 + 2.2194015e-01 2.4371822e-01 + 2.2232479e-01 2.4500621e-01 + 2.2270944e-01 2.4265111e-01 + 2.2309408e-01 2.4621290e-01 + 2.2347873e-01 2.4091889e-01 + 2.2386337e-01 2.4261284e-01 + 2.2424802e-01 2.4661636e-01 + 2.2463266e-01 2.5207988e-01 + 2.2501731e-01 2.5414944e-01 + 2.2540195e-01 2.5716450e-01 + 2.2578660e-01 2.5982957e-01 + 2.2617124e-01 2.6044597e-01 + 2.2655589e-01 2.5531631e-01 + 2.2694053e-01 2.6064951e-01 + 2.2732518e-01 2.5053342e-01 + 2.2770982e-01 2.5099393e-01 + 2.2809447e-01 2.5557189e-01 + 2.2847911e-01 2.6443091e-01 + 2.2886376e-01 2.6581810e-01 + 2.2924840e-01 2.6708270e-01 + 2.2963305e-01 2.7360592e-01 + 2.3001769e-01 2.7278181e-01 + 2.3040234e-01 2.6863308e-01 + 2.3078698e-01 2.7077758e-01 + 2.3117163e-01 2.7309863e-01 + 2.3155627e-01 2.6624615e-01 + 2.3194092e-01 2.7082020e-01 + 2.3232556e-01 2.5850890e-01 + 2.3271021e-01 2.6035751e-01 + 2.3309485e-01 2.5066214e-01 + 2.3347950e-01 2.4436009e-01 + 2.3386414e-01 2.4741419e-01 + 2.3424879e-01 2.5022303e-01 + 2.3463343e-01 2.5118044e-01 + 2.3501808e-01 2.6407090e-01 + 2.3540272e-01 2.7056642e-01 + 2.3578737e-01 2.7525262e-01 + 2.3617201e-01 2.7589865e-01 + 2.3655666e-01 2.8002581e-01 + 2.3694130e-01 2.8014418e-01 + 2.3732595e-01 2.7757292e-01 + 2.3771059e-01 2.8253066e-01 + 2.3809524e-01 2.7771517e-01 + 2.3847988e-01 2.7842196e-01 + 2.3886453e-01 2.7757728e-01 + 2.3924917e-01 2.7308171e-01 + 2.3963382e-01 2.6949662e-01 + 2.4001846e-01 2.7246938e-01 + 2.4040311e-01 2.7527738e-01 + 2.4078775e-01 2.7524331e-01 + 2.4117240e-01 2.6472668e-01 + 2.4155704e-01 2.6934107e-01 + 2.4194169e-01 2.7159030e-01 + 2.4232633e-01 2.7192019e-01 + 2.4271098e-01 2.6812036e-01 + 2.4309562e-01 2.6721621e-01 + 2.4348027e-01 2.7305729e-01 + 2.4386491e-01 2.8439880e-01 + 2.4424956e-01 2.8774899e-01 + 2.4463420e-01 2.9855765e-01 + 2.4501885e-01 2.9845828e-01 + 2.4540349e-01 2.9375495e-01 + 2.4578814e-01 2.9871381e-01 + 2.4617278e-01 3.0134796e-01 + 2.4655743e-01 3.0555945e-01 + 2.4694207e-01 3.1004582e-01 + 2.4732672e-01 3.1220302e-01 + 2.4771136e-01 3.1018590e-01 + 2.4809601e-01 3.1013515e-01 + 2.4848065e-01 3.1186380e-01 + 2.4886530e-01 3.1694643e-01 + 2.4924994e-01 3.2320644e-01 + 2.4963459e-01 3.1738361e-01 + 2.5001923e-01 3.2451111e-01 + 2.5040388e-01 3.2495551e-01 + 2.5078852e-01 3.1931837e-01 + 2.5117317e-01 3.2328284e-01 + 2.5155781e-01 3.1112588e-01 + 2.5194246e-01 3.2303843e-01 + 2.5232710e-01 3.2412944e-01 + 2.5271175e-01 3.1587688e-01 + 2.5309639e-01 3.0210195e-01 + 2.5348104e-01 2.9821940e-01 + 2.5386568e-01 2.9968673e-01 + 2.5425033e-01 3.1723669e-01 + 2.5463497e-01 3.1856324e-01 + 2.5501962e-01 3.1282809e-01 + 2.5540426e-01 3.1063993e-01 + 2.5578891e-01 3.2067401e-01 + 2.5617355e-01 3.1401334e-01 + 2.5655820e-01 3.0171672e-01 + 2.5694284e-01 3.0013133e-01 + 2.5732749e-01 3.0119344e-01 + 2.5771213e-01 3.0991370e-01 + 2.5809678e-01 3.0677880e-01 + 2.5848142e-01 3.0992005e-01 + 2.5886607e-01 3.1629742e-01 + 2.5925071e-01 3.2370621e-01 + 2.5963536e-01 3.3052940e-01 + 2.6002000e-01 3.3223591e-01 + 2.6040465e-01 3.3541850e-01 + 2.6078929e-01 3.2847789e-01 + 2.6117394e-01 3.1332616e-01 + 2.6155858e-01 3.1717053e-01 + 2.6194323e-01 3.2496561e-01 + 2.6232787e-01 3.2222659e-01 + 2.6271252e-01 3.2414790e-01 + 2.6309716e-01 3.2607355e-01 + 2.6348181e-01 3.2979880e-01 + 2.6386645e-01 3.2257302e-01 + 2.6425110e-01 3.2883069e-01 + 2.6463574e-01 3.2370574e-01 + 2.6502039e-01 3.1972878e-01 + 2.6540503e-01 3.1781656e-01 + 2.6578968e-01 3.2429256e-01 + 2.6617432e-01 3.3376462e-01 + 2.6655897e-01 3.4439061e-01 + 2.6694361e-01 3.3491565e-01 + 2.6732826e-01 3.4061519e-01 + 2.6771290e-01 3.4304706e-01 + 2.6809755e-01 3.4577611e-01 + 2.6848219e-01 3.4742943e-01 + 2.6886684e-01 3.5540206e-01 + 2.6925148e-01 3.6344617e-01 + 2.6963613e-01 3.6237953e-01 + 2.7002077e-01 3.6395105e-01 + 2.7040542e-01 3.6021544e-01 + 2.7079006e-01 3.6386692e-01 + 2.7117471e-01 3.6707423e-01 + 2.7155935e-01 3.6815167e-01 + 2.7194400e-01 3.6957329e-01 + 2.7232864e-01 3.6551026e-01 + 2.7271329e-01 3.7726828e-01 + 2.7309793e-01 3.7363768e-01 + 2.7348258e-01 3.7903959e-01 + 2.7386722e-01 3.7514688e-01 + 2.7425187e-01 3.7309796e-01 + 2.7463651e-01 3.6694813e-01 + 2.7502116e-01 3.7187569e-01 + 2.7540580e-01 3.7836506e-01 + 2.7579045e-01 3.7458387e-01 + 2.7617509e-01 3.7008081e-01 + 2.7655974e-01 3.7447239e-01 + 2.7694438e-01 3.7269197e-01 + 2.7732903e-01 3.6926958e-01 + 2.7771367e-01 3.8133285e-01 + 2.7809832e-01 3.8602334e-01 + 2.7848296e-01 3.8399953e-01 + 2.7886761e-01 3.7451998e-01 + 2.7925225e-01 3.7333273e-01 + 2.7963690e-01 3.6837889e-01 + 2.8002154e-01 3.7068814e-01 + 2.8040619e-01 3.7483804e-01 + 2.8079083e-01 3.7326765e-01 + 2.8117548e-01 3.7602359e-01 + 2.8156012e-01 3.7384832e-01 + 2.8194476e-01 3.7881254e-01 + 2.8232941e-01 3.8101767e-01 + 2.8271405e-01 3.9007717e-01 + 2.8309870e-01 3.9958982e-01 + 2.8348334e-01 4.0028747e-01 + 2.8386799e-01 3.9450091e-01 + 2.8425263e-01 3.9953388e-01 + 2.8463728e-01 4.0206665e-01 + 2.8502192e-01 4.1428510e-01 + 2.8540657e-01 4.0134888e-01 + 2.8579121e-01 3.9371955e-01 + 2.8617586e-01 4.0734460e-01 + 2.8656050e-01 4.0219335e-01 + 2.8694515e-01 3.9047878e-01 + 2.8732979e-01 3.8865801e-01 + 2.8771444e-01 3.9092503e-01 + 2.8809908e-01 3.9286511e-01 + 2.8848373e-01 3.9039760e-01 + 2.8886837e-01 3.9719791e-01 + 2.8925302e-01 3.9684338e-01 + 2.8963766e-01 3.9728610e-01 + 2.9002231e-01 3.9678610e-01 + 2.9040695e-01 3.9493640e-01 + 2.9079160e-01 4.0235756e-01 + 2.9117624e-01 4.0827882e-01 + 2.9156089e-01 4.1224728e-01 + 2.9194553e-01 4.1877429e-01 + 2.9233018e-01 4.2555724e-01 + 2.9271482e-01 4.1668100e-01 + 2.9309947e-01 4.0896813e-01 + 2.9348411e-01 4.2395791e-01 + 2.9386876e-01 4.3509353e-01 + 2.9425340e-01 4.3929419e-01 + 2.9463805e-01 4.4617950e-01 + 2.9502269e-01 4.4748876e-01 + 2.9540734e-01 4.4607503e-01 + 2.9579198e-01 4.4337913e-01 + 2.9617663e-01 4.3527347e-01 + 2.9656127e-01 4.3334275e-01 + 2.9694592e-01 4.3547431e-01 + 2.9733056e-01 4.4467542e-01 + 2.9771521e-01 4.3523010e-01 + 2.9809985e-01 4.4396582e-01 + 2.9848450e-01 4.3615849e-01 + 2.9886914e-01 4.4290336e-01 + 2.9925379e-01 4.3964290e-01 + 2.9963843e-01 4.3374599e-01 + 3.0002308e-01 4.4796513e-01 + 3.0040772e-01 4.5468189e-01 + 3.0079237e-01 4.5357981e-01 + 3.0117701e-01 4.6119491e-01 + 3.0156166e-01 4.6041753e-01 + 3.0194630e-01 4.6501758e-01 + 3.0233095e-01 4.6506367e-01 + 3.0271559e-01 4.7145329e-01 + 3.0310024e-01 4.7555066e-01 + 3.0348488e-01 4.8173730e-01 + 3.0386953e-01 4.8142589e-01 + 3.0425417e-01 4.9585512e-01 + 3.0463882e-01 4.9531953e-01 + 3.0502346e-01 4.9567981e-01 + 3.0540811e-01 4.9827770e-01 + 3.0579275e-01 4.9362643e-01 + 3.0617740e-01 4.9227557e-01 + 3.0656204e-01 4.9291336e-01 + 3.0694669e-01 4.9586872e-01 + 3.0733133e-01 5.0067916e-01 + 3.0771598e-01 4.9649736e-01 + 3.0810062e-01 4.9815380e-01 + 3.0848527e-01 4.9377755e-01 + 3.0886991e-01 4.8809890e-01 + 3.0925456e-01 4.9469687e-01 + 3.0963920e-01 4.9789484e-01 + 3.1002385e-01 5.0362773e-01 + 3.1040849e-01 4.9133977e-01 + 3.1079314e-01 4.8007895e-01 + 3.1117778e-01 4.7854346e-01 + 3.1156243e-01 4.7835540e-01 + 3.1194707e-01 4.7985481e-01 + 3.1233172e-01 4.7317484e-01 + 3.1271636e-01 4.8195048e-01 + 3.1310101e-01 4.8121035e-01 + 3.1348565e-01 4.8140884e-01 + 3.1387030e-01 4.6930905e-01 + 3.1425494e-01 4.7120989e-01 + 3.1463959e-01 4.7757907e-01 + 3.1502423e-01 4.7956483e-01 + 3.1540888e-01 4.7880892e-01 + 3.1579352e-01 4.8186995e-01 + 3.1617817e-01 4.8438304e-01 + 3.1656281e-01 4.8884938e-01 + 3.1694746e-01 4.9252945e-01 + 3.1733210e-01 4.9211781e-01 + 3.1771675e-01 4.9127479e-01 + 3.1810139e-01 4.8629069e-01 + 3.1848604e-01 4.8962931e-01 + 3.1887068e-01 4.9039115e-01 + 3.1925533e-01 4.9521114e-01 + 3.1963997e-01 4.9653162e-01 + 3.2002462e-01 4.9479243e-01 + 3.2040926e-01 5.0264837e-01 + 3.2079391e-01 5.0575480e-01 + 3.2117855e-01 5.0675263e-01 + 3.2156320e-01 5.1483742e-01 + 3.2194784e-01 5.2080910e-01 + 3.2233249e-01 5.2624646e-01 + 3.2271713e-01 5.3303379e-01 + 3.2310178e-01 5.3295063e-01 + 3.2348642e-01 5.2461088e-01 + 3.2387107e-01 5.1831503e-01 + 3.2425571e-01 5.1655465e-01 + 3.2464036e-01 4.9495261e-01 + 3.2502500e-01 4.8857105e-01 + 3.2540965e-01 4.9064295e-01 + 3.2579429e-01 4.9718122e-01 + 3.2617894e-01 4.9496347e-01 + 3.2656358e-01 4.9100604e-01 + 3.2694823e-01 4.8977081e-01 + 3.2733287e-01 4.9052908e-01 + 3.2771752e-01 4.9545162e-01 + 3.2810216e-01 4.8961787e-01 + 3.2848681e-01 4.8572323e-01 + 3.2887145e-01 4.9297848e-01 + 3.2925610e-01 4.9281308e-01 + 3.2964074e-01 4.9532990e-01 + 3.3002539e-01 5.0336934e-01 + 3.3041003e-01 5.0875931e-01 + 3.3079468e-01 5.1366946e-01 + 3.3117932e-01 5.0624232e-01 + 3.3156397e-01 5.0778585e-01 + 3.3194861e-01 5.0310864e-01 + 3.3233326e-01 5.0919442e-01 + 3.3271790e-01 5.0668202e-01 + 3.3310255e-01 5.1849821e-01 + 3.3348719e-01 5.1786917e-01 + 3.3387184e-01 5.1301516e-01 + 3.3425648e-01 5.0977479e-01 + 3.3464113e-01 5.0540570e-01 + 3.3502577e-01 4.9797566e-01 + 3.3541042e-01 4.9755507e-01 + 3.3579506e-01 5.0190975e-01 + 3.3617971e-01 5.0859412e-01 + 3.3656435e-01 4.9651423e-01 + 3.3694900e-01 4.9394416e-01 + 3.3733364e-01 4.9521130e-01 + 3.3771829e-01 4.9920088e-01 + 3.3810293e-01 4.9807167e-01 + 3.3848758e-01 4.8921396e-01 + 3.3887222e-01 4.8689270e-01 + 3.3925687e-01 5.0032773e-01 + 3.3964151e-01 4.9793860e-01 + 3.4002616e-01 5.0005065e-01 + 3.4041080e-01 5.0094521e-01 + 3.4079545e-01 5.0138709e-01 + 3.4118009e-01 5.0148396e-01 + 3.4156474e-01 4.9805150e-01 + 3.4194938e-01 4.9910140e-01 + 3.4233403e-01 5.0224678e-01 + 3.4271867e-01 4.9863446e-01 + 3.4310332e-01 4.9793337e-01 + 3.4348796e-01 4.9431466e-01 + 3.4387261e-01 5.0409743e-01 + 3.4425725e-01 5.0037190e-01 + 3.4464190e-01 4.9714105e-01 + 3.4502654e-01 4.9861156e-01 + 3.4541119e-01 5.0172265e-01 + 3.4579583e-01 5.0739106e-01 + 3.4618048e-01 5.0636708e-01 + 3.4656512e-01 5.0204788e-01 + 3.4694977e-01 4.9245174e-01 + 3.4733441e-01 4.9467856e-01 + 3.4771906e-01 4.9471709e-01 + 3.4810370e-01 4.9282466e-01 + 3.4848835e-01 4.8411190e-01 + 3.4887299e-01 4.8338303e-01 + 3.4925764e-01 4.9092609e-01 + 3.4964228e-01 4.8678423e-01 + 3.5002693e-01 4.9008460e-01 + 3.5041157e-01 4.8971678e-01 + 3.5079622e-01 4.8370774e-01 + 3.5118086e-01 4.6626489e-01 + 3.5156551e-01 4.5825638e-01 + 3.5195015e-01 4.5498873e-01 + 3.5233479e-01 4.5012370e-01 + 3.5271944e-01 4.4630198e-01 + 3.5310408e-01 4.4731550e-01 + 3.5348873e-01 4.5032631e-01 + 3.5387337e-01 4.4561393e-01 + 3.5425802e-01 4.4680809e-01 + 3.5464266e-01 4.5337348e-01 + 3.5502731e-01 4.5552289e-01 + 3.5541195e-01 4.5566944e-01 + 3.5579660e-01 4.6000561e-01 + 3.5618124e-01 4.5694240e-01 + 3.5656589e-01 4.5322488e-01 + 3.5695053e-01 4.5207520e-01 + 3.5733518e-01 4.5582229e-01 + 3.5771982e-01 4.5669181e-01 + 3.5810447e-01 4.5862483e-01 + 3.5848911e-01 4.6184344e-01 + 3.5887376e-01 4.6671621e-01 + 3.5925840e-01 4.7249066e-01 + 3.5964305e-01 4.6137423e-01 + 3.6002769e-01 4.6188383e-01 + 3.6041234e-01 4.5985401e-01 + 3.6079698e-01 4.5506722e-01 + 3.6118163e-01 4.6409675e-01 + 3.6156627e-01 4.7188479e-01 + 3.6195092e-01 4.7848172e-01 + 3.6233556e-01 4.8665295e-01 + 3.6272021e-01 4.8100960e-01 + 3.6310485e-01 4.7986543e-01 + 3.6348950e-01 4.8491503e-01 + 3.6387414e-01 4.7888243e-01 + 3.6425879e-01 4.7376345e-01 + 3.6464343e-01 4.7817100e-01 + 3.6502808e-01 4.8774077e-01 + 3.6541272e-01 4.8937843e-01 + 3.6579737e-01 4.7647232e-01 + 3.6618201e-01 4.7648209e-01 + 3.6656666e-01 4.7597843e-01 + 3.6695130e-01 4.7254180e-01 + 3.6733595e-01 4.7079434e-01 + 3.6772059e-01 4.6551415e-01 + 3.6810524e-01 4.6286998e-01 + 3.6848988e-01 4.6285167e-01 + 3.6887453e-01 4.5803223e-01 + 3.6925917e-01 4.4500797e-01 + 3.6964382e-01 4.5024447e-01 + 3.7002846e-01 4.5168996e-01 + 3.7041311e-01 4.4894192e-01 + 3.7079775e-01 4.4259675e-01 + 3.7118240e-01 4.5997691e-01 + 3.7156704e-01 4.5833111e-01 + 3.7195169e-01 4.5288668e-01 + 3.7233633e-01 4.5164534e-01 + 3.7272098e-01 4.4405982e-01 + 3.7310562e-01 4.3874816e-01 + 3.7349027e-01 4.4112006e-01 + 3.7387491e-01 4.3446110e-01 + 3.7425956e-01 4.4233179e-01 + 3.7464420e-01 4.5379845e-01 + 3.7502885e-01 4.5823963e-01 + 3.7541349e-01 4.6074017e-01 + 3.7579814e-01 4.5881926e-01 + 3.7618278e-01 4.6332720e-01 + 3.7656743e-01 4.6809639e-01 + 3.7695207e-01 4.5837510e-01 + 3.7733672e-01 4.5187234e-01 + 3.7772136e-01 4.5627295e-01 + 3.7810601e-01 4.4617485e-01 + 3.7849065e-01 4.4627602e-01 + 3.7887530e-01 4.4419056e-01 + 3.7925994e-01 4.5108384e-01 + 3.7964459e-01 4.5253290e-01 + 3.8002923e-01 4.5440212e-01 + 3.8041388e-01 4.5101216e-01 + 3.8079852e-01 4.5559452e-01 + 3.8118317e-01 4.5979252e-01 + 3.8156781e-01 4.6608621e-01 + 3.8195246e-01 4.7348595e-01 + 3.8233710e-01 4.7644692e-01 + 3.8272175e-01 4.8037292e-01 + 3.8310639e-01 4.7635732e-01 + 3.8349104e-01 4.7444136e-01 + 3.8387568e-01 4.7966032e-01 + 3.8426033e-01 4.8814052e-01 + 3.8464497e-01 4.8384100e-01 + 3.8502962e-01 4.8383380e-01 + 3.8541426e-01 4.7928583e-01 + 3.8579891e-01 4.7452061e-01 + 3.8618355e-01 4.8217963e-01 + 3.8656820e-01 4.8024373e-01 + 3.8695284e-01 4.8160902e-01 + 3.8733749e-01 4.8387893e-01 + 3.8772213e-01 4.8032644e-01 + 3.8810678e-01 4.8931061e-01 + 3.8849142e-01 4.7617402e-01 + 3.8887607e-01 4.6842198e-01 + 3.8926071e-01 4.7559184e-01 + 3.8964536e-01 4.7238816e-01 + 3.9003000e-01 4.7135075e-01 + 3.9041465e-01 4.7576567e-01 + 3.9079929e-01 4.8076522e-01 + 3.9118394e-01 4.9207134e-01 + 3.9156858e-01 4.9147806e-01 + 3.9195323e-01 4.9721825e-01 + 3.9233787e-01 4.9748570e-01 + 3.9272252e-01 5.0377450e-01 + 3.9310716e-01 5.0883564e-01 + 3.9349181e-01 4.9952460e-01 + 3.9387645e-01 5.0997896e-01 + 3.9426110e-01 5.0376775e-01 + 3.9464574e-01 5.0001359e-01 + 3.9503039e-01 5.0706927e-01 + 3.9541503e-01 5.0989733e-01 + 3.9579968e-01 5.0768857e-01 + 3.9618432e-01 5.0465238e-01 + 3.9656897e-01 5.0260344e-01 + 3.9695361e-01 5.0104525e-01 + 3.9733826e-01 5.0136803e-01 + 3.9772290e-01 5.0218260e-01 + 3.9810755e-01 4.9954114e-01 + 3.9849219e-01 5.0729847e-01 + 3.9887684e-01 5.1132473e-01 + 3.9926148e-01 5.0553390e-01 + 3.9964613e-01 4.9639483e-01 + 4.0003077e-01 4.8975816e-01 + 4.0041542e-01 4.8497809e-01 + 4.0080006e-01 4.9840640e-01 + 4.0118471e-01 4.9807252e-01 + 4.0156935e-01 4.8938677e-01 + 4.0195400e-01 4.8704424e-01 + 4.0233864e-01 4.8784240e-01 + 4.0272329e-01 4.9103947e-01 + 4.0310793e-01 4.8564826e-01 + 4.0349258e-01 4.7787586e-01 + 4.0387722e-01 4.8153924e-01 + 4.0426187e-01 4.8261817e-01 + 4.0464651e-01 4.8034880e-01 + 4.0503116e-01 4.8565613e-01 + 4.0541580e-01 4.8237529e-01 + 4.0580045e-01 4.7976902e-01 + 4.0618509e-01 4.8494752e-01 + 4.0656974e-01 4.7529480e-01 + 4.0695438e-01 4.7729321e-01 + 4.0733903e-01 4.8541900e-01 + 4.0772367e-01 4.9344471e-01 + 4.0810832e-01 4.9213660e-01 + 4.0849296e-01 4.9305519e-01 + 4.0887761e-01 4.9280414e-01 + 4.0926225e-01 4.9624218e-01 + 4.0964690e-01 5.0035962e-01 + 4.1003154e-01 4.9198084e-01 + 4.1041619e-01 4.9306174e-01 + 4.1080083e-01 4.9527229e-01 + 4.1118548e-01 5.0367673e-01 + 4.1157012e-01 5.0181371e-01 + 4.1195477e-01 4.9803610e-01 + 4.1233941e-01 5.0394884e-01 + 4.1272406e-01 5.1583346e-01 + 4.1310870e-01 5.1741511e-01 + 4.1349335e-01 5.2187333e-01 + 4.1387799e-01 5.2071833e-01 + 4.1426264e-01 5.1851542e-01 + 4.1464728e-01 5.2380372e-01 + 4.1503193e-01 5.2727290e-01 + 4.1541657e-01 5.1482468e-01 + 4.1580122e-01 5.0890908e-01 + 4.1618586e-01 5.1098920e-01 + 4.1657051e-01 5.1772483e-01 + 4.1695515e-01 5.2953521e-01 + 4.1733980e-01 5.2418968e-01 + 4.1772444e-01 5.1850215e-01 + 4.1810909e-01 5.1564101e-01 + 4.1849373e-01 5.1493327e-01 + 4.1887838e-01 5.0953441e-01 + 4.1926302e-01 5.1103442e-01 + 4.1964767e-01 5.0655376e-01 + 4.2003231e-01 5.0762991e-01 + 4.2041696e-01 5.0904952e-01 + 4.2080160e-01 5.0274806e-01 + 4.2118625e-01 5.0853683e-01 + 4.2157089e-01 5.0326026e-01 + 4.2195554e-01 4.9200121e-01 + 4.2234018e-01 4.8645199e-01 + 4.2272482e-01 4.9347096e-01 + 4.2310947e-01 4.8967078e-01 + 4.2349411e-01 4.9938784e-01 + 4.2387876e-01 4.9527985e-01 + 4.2426340e-01 4.9650132e-01 + 4.2464805e-01 4.9915129e-01 + 4.2503269e-01 5.0165752e-01 + 4.2541734e-01 4.9681673e-01 + 4.2580198e-01 5.0858757e-01 + 4.2618663e-01 5.0870845e-01 + 4.2657127e-01 5.0559384e-01 + 4.2695592e-01 5.0632217e-01 + 4.2734056e-01 5.0730983e-01 + 4.2772521e-01 5.0765267e-01 + 4.2810985e-01 5.1027791e-01 + 4.2849450e-01 5.0615913e-01 + 4.2887914e-01 5.0778544e-01 + 4.2926379e-01 5.0909922e-01 + 4.2964843e-01 5.0548101e-01 + 4.3003308e-01 5.0902164e-01 + 4.3041772e-01 5.1103984e-01 + 4.3080237e-01 5.0883484e-01 + 4.3118701e-01 5.2212530e-01 + 4.3157166e-01 5.2634554e-01 + 4.3195630e-01 5.2640717e-01 + 4.3234095e-01 5.2675965e-01 + 4.3272559e-01 5.3268407e-01 + 4.3311024e-01 5.2886865e-01 + 4.3349488e-01 5.2632455e-01 + 4.3387953e-01 5.2884028e-01 + 4.3426417e-01 5.3274723e-01 + 4.3464882e-01 5.4201120e-01 + 4.3503346e-01 5.4122830e-01 + 4.3541811e-01 5.5683787e-01 + 4.3580275e-01 5.5213143e-01 + 4.3618740e-01 5.4792352e-01 + 4.3657204e-01 5.4309164e-01 + 4.3695669e-01 5.3440251e-01 + 4.3734133e-01 5.3697497e-01 + 4.3772598e-01 5.4279492e-01 + 4.3811062e-01 5.5419453e-01 + 4.3849527e-01 5.4949525e-01 + 4.3887991e-01 5.5065216e-01 + 4.3926456e-01 5.4872762e-01 + 4.3964920e-01 5.6108125e-01 + 4.4003385e-01 5.5307512e-01 + 4.4041849e-01 5.5161210e-01 + 4.4080314e-01 5.4470633e-01 + 4.4118778e-01 5.4610637e-01 + 4.4157243e-01 5.4989266e-01 + 4.4195707e-01 5.6239094e-01 + 4.4234172e-01 5.6386803e-01 + 4.4272636e-01 5.6340807e-01 + 4.4311101e-01 5.7513896e-01 + 4.4349565e-01 5.8404964e-01 + 4.4388030e-01 5.8446015e-01 + 4.4426494e-01 5.8235464e-01 + 4.4464959e-01 5.7883734e-01 + 4.4503423e-01 5.7383017e-01 + 4.4541888e-01 5.7015472e-01 + 4.4580352e-01 5.6448016e-01 + 4.4618817e-01 5.6732176e-01 + 4.4657281e-01 5.6381106e-01 + 4.4695746e-01 5.6652929e-01 + 4.4734210e-01 5.6923408e-01 + 4.4772675e-01 5.6662744e-01 + 4.4811139e-01 5.6015289e-01 + 4.4849604e-01 5.6216883e-01 + 4.4888068e-01 5.5346980e-01 + 4.4926533e-01 5.5867094e-01 + 4.4964997e-01 5.6350747e-01 + 4.5003462e-01 5.6189776e-01 + 4.5041926e-01 5.5678778e-01 + 4.5080391e-01 5.5935148e-01 + 4.5118855e-01 5.6209663e-01 + 4.5157320e-01 5.5996783e-01 + 4.5195784e-01 5.6594199e-01 + 4.5234249e-01 5.7030267e-01 + 4.5272713e-01 5.6701386e-01 + 4.5311178e-01 5.4904633e-01 + 4.5349642e-01 5.4689024e-01 + 4.5388107e-01 5.3862924e-01 + 4.5426571e-01 5.2807402e-01 + 4.5465036e-01 5.3339270e-01 + 4.5503500e-01 5.3023308e-01 + 4.5541965e-01 5.3849553e-01 + 4.5580429e-01 5.3824658e-01 + 4.5618894e-01 5.2804943e-01 + 4.5657358e-01 5.3448398e-01 + 4.5695823e-01 5.4678044e-01 + 4.5734287e-01 5.4838860e-01 + 4.5772752e-01 5.4123899e-01 + 4.5811216e-01 5.4062397e-01 + 4.5849681e-01 5.4668073e-01 + 4.5888145e-01 5.4600007e-01 + 4.5926610e-01 5.5672828e-01 + 4.5965074e-01 5.5227572e-01 + 4.6003539e-01 5.5139107e-01 + 4.6042003e-01 5.6831401e-01 + 4.6080468e-01 5.6925179e-01 + 4.6118932e-01 5.7369667e-01 + 4.6157397e-01 5.7112363e-01 + 4.6195861e-01 5.7830794e-01 + 4.6234326e-01 5.8196475e-01 + 4.6272790e-01 5.9150705e-01 + 4.6311255e-01 5.8923796e-01 + 4.6349719e-01 5.8182566e-01 + 4.6388184e-01 5.7190772e-01 + 4.6426648e-01 5.7355282e-01 + 4.6465113e-01 5.5639472e-01 + 4.6503577e-01 5.4914254e-01 + 4.6542042e-01 5.5023398e-01 + 4.6580506e-01 5.4045764e-01 + 4.6618971e-01 5.4952109e-01 + 4.6657435e-01 5.4807468e-01 + 4.6695900e-01 5.4206762e-01 + 4.6734364e-01 5.4320041e-01 + 4.6772829e-01 5.3887295e-01 + 4.6811293e-01 5.3484431e-01 + 4.6849758e-01 5.4093088e-01 + 4.6888222e-01 5.3295068e-01 + 4.6926687e-01 5.3115052e-01 + 4.6965151e-01 5.3515439e-01 + 4.7003616e-01 5.2629425e-01 + 4.7042080e-01 5.3601370e-01 + 4.7080545e-01 5.4436710e-01 + 4.7119009e-01 5.4982385e-01 + 4.7157474e-01 5.4916478e-01 + 4.7195938e-01 5.5246726e-01 + 4.7234403e-01 5.4812127e-01 + 4.7272867e-01 5.4960898e-01 + 4.7311332e-01 5.4526215e-01 + 4.7349796e-01 5.5188389e-01 + 4.7388261e-01 5.5556420e-01 + 4.7426725e-01 5.5625641e-01 + 4.7465190e-01 5.5731014e-01 + 4.7503654e-01 5.6851649e-01 + 4.7542119e-01 5.7030721e-01 + 4.7580583e-01 5.6892951e-01 + 4.7619048e-01 5.7254652e-01 + 4.7657512e-01 5.8465296e-01 + 4.7695977e-01 5.9022123e-01 + 4.7734441e-01 6.0037118e-01 + 4.7772906e-01 5.9882537e-01 + 4.7811370e-01 6.0613045e-01 + 4.7849835e-01 6.0196600e-01 + 4.7888299e-01 6.0577068e-01 + 4.7926764e-01 6.0424973e-01 + 4.7965228e-01 6.0936891e-01 + 4.8003693e-01 6.1048147e-01 + 4.8042157e-01 6.1119672e-01 + 4.8080622e-01 6.1779338e-01 + 4.8119086e-01 6.0836138e-01 + 4.8157551e-01 6.0852923e-01 + 4.8196015e-01 5.9545863e-01 + 4.8234480e-01 5.9734934e-01 + 4.8272944e-01 5.8582215e-01 + 4.8311409e-01 5.7839547e-01 + 4.8349873e-01 5.7720795e-01 + 4.8388338e-01 5.7848750e-01 + 4.8426802e-01 5.6853907e-01 + 4.8465267e-01 5.7317288e-01 + 4.8503731e-01 5.6490209e-01 + 4.8542196e-01 5.6161088e-01 + 4.8580660e-01 5.7629911e-01 + 4.8619125e-01 5.7296078e-01 + 4.8657589e-01 5.7115728e-01 + 4.8696054e-01 5.6913502e-01 + 4.8734518e-01 5.6048193e-01 + 4.8772983e-01 5.5261840e-01 + 4.8811447e-01 5.4644299e-01 + 4.8849912e-01 5.4795106e-01 + 4.8888376e-01 5.6144347e-01 + 4.8926841e-01 5.6062186e-01 + 4.8965305e-01 5.6048748e-01 + 4.9003770e-01 5.6085298e-01 + 4.9042234e-01 5.6108647e-01 + 4.9080699e-01 5.6068557e-01 + 4.9119163e-01 5.5468421e-01 + 4.9157628e-01 5.5745387e-01 + 4.9196092e-01 5.6529533e-01 + 4.9234557e-01 5.7251450e-01 + 4.9273021e-01 5.7739870e-01 + 4.9311485e-01 5.7667933e-01 + 4.9349950e-01 5.7309036e-01 + 4.9388414e-01 5.6167023e-01 + 4.9426879e-01 5.6415763e-01 + 4.9465343e-01 5.6010065e-01 + 4.9503808e-01 5.5986842e-01 + 4.9542272e-01 5.5829635e-01 + 4.9580737e-01 5.5914521e-01 + 4.9619201e-01 5.5859305e-01 + 4.9657666e-01 5.6422939e-01 + 4.9696130e-01 5.5636755e-01 + 4.9734595e-01 5.5153197e-01 + 4.9773059e-01 5.5616780e-01 + 4.9811524e-01 5.5768313e-01 + 4.9849988e-01 5.6507533e-01 + 4.9888453e-01 5.6511178e-01 + 4.9926917e-01 5.6164278e-01 + 4.9965382e-01 5.5361724e-01 + 5.0003846e-01 5.5675314e-01 + 5.0042311e-01 5.7384121e-01 + 5.0080775e-01 5.6672137e-01 + 5.0119240e-01 5.6531743e-01 + 5.0157704e-01 5.7810035e-01 + 5.0196169e-01 5.8329450e-01 + 5.0234633e-01 5.7796899e-01 + 5.0273098e-01 5.8188294e-01 + 5.0311562e-01 5.8164294e-01 + 5.0350027e-01 5.8221181e-01 + 5.0388491e-01 5.9083547e-01 + 5.0426956e-01 6.0191000e-01 + 5.0465420e-01 6.0017595e-01 + 5.0503885e-01 6.0016383e-01 + 5.0542349e-01 6.0992059e-01 + 5.0580814e-01 6.0619389e-01 + 5.0619278e-01 6.1855025e-01 + 5.0657743e-01 6.2454170e-01 + 5.0696207e-01 6.2939765e-01 + 5.0734672e-01 6.2050858e-01 + 5.0773136e-01 6.2063156e-01 + 5.0811601e-01 6.2219335e-01 + 5.0850065e-01 6.2255376e-01 + 5.0888530e-01 6.2450709e-01 + 5.0926994e-01 6.2461773e-01 + 5.0965459e-01 6.2013120e-01 + 5.1003923e-01 6.1963674e-01 + 5.1042388e-01 6.1304041e-01 + 5.1080852e-01 6.0296419e-01 + 5.1119317e-01 5.9717582e-01 + 5.1157781e-01 5.8978271e-01 + 5.1196246e-01 5.9524518e-01 + 5.1234710e-01 5.9481150e-01 + 5.1273175e-01 5.9832532e-01 + 5.1311639e-01 6.0250920e-01 + 5.1350104e-01 5.9934305e-01 + 5.1388568e-01 5.9948999e-01 + 5.1427033e-01 6.0659906e-01 + 5.1465497e-01 5.9936744e-01 + 5.1503962e-01 6.0983133e-01 + 5.1542426e-01 6.0490181e-01 + 5.1580891e-01 6.0403575e-01 + 5.1619355e-01 6.0362122e-01 + 5.1657820e-01 6.0395947e-01 + 5.1696284e-01 6.0107219e-01 + 5.1734749e-01 5.9819394e-01 + 5.1773213e-01 5.9549323e-01 + 5.1811678e-01 5.9394461e-01 + 5.1850142e-01 5.9172073e-01 + 5.1888607e-01 5.8402694e-01 + 5.1927071e-01 5.8443330e-01 + 5.1965536e-01 5.8941047e-01 + 5.2004000e-01 5.8882064e-01 + 5.2042465e-01 5.8359916e-01 + 5.2080929e-01 5.8743428e-01 + 5.2119394e-01 5.7830574e-01 + 5.2157858e-01 5.7659288e-01 + 5.2196323e-01 5.6331896e-01 + 5.2234787e-01 5.5597690e-01 + 5.2273252e-01 5.7304448e-01 + 5.2311716e-01 5.7968522e-01 + 5.2350181e-01 5.8031661e-01 + 5.2388645e-01 5.8312446e-01 + 5.2427110e-01 5.7866373e-01 + 5.2465574e-01 5.6828589e-01 + 5.2504039e-01 5.7646615e-01 + 5.2542503e-01 5.7552192e-01 + 5.2580968e-01 5.7013530e-01 + 5.2619432e-01 5.7849780e-01 + 5.2657897e-01 5.8631181e-01 + 5.2696361e-01 5.8040023e-01 + 5.2734826e-01 5.8745019e-01 + 5.2773290e-01 6.0000048e-01 + 5.2811755e-01 6.0710965e-01 + 5.2850219e-01 6.0653737e-01 + 5.2888684e-01 5.9923864e-01 + 5.2927148e-01 6.0489144e-01 + 5.2965613e-01 6.0381801e-01 + 5.3004077e-01 6.1009053e-01 + 5.3042542e-01 6.1382367e-01 + 5.3081006e-01 6.2204621e-01 + 5.3119471e-01 6.1533395e-01 + 5.3157935e-01 6.1487132e-01 + 5.3196400e-01 6.2195032e-01 + 5.3234864e-01 6.2961149e-01 + 5.3273329e-01 6.3712397e-01 + 5.3311793e-01 6.3701561e-01 + 5.3350258e-01 6.3384591e-01 + 5.3388722e-01 6.3466719e-01 + 5.3427187e-01 6.4178701e-01 + 5.3465651e-01 6.3671888e-01 + 5.3504116e-01 6.3862665e-01 + 5.3542580e-01 6.3302975e-01 + 5.3581045e-01 6.3545498e-01 + 5.3619509e-01 6.4010991e-01 + 5.3657974e-01 6.3769910e-01 + 5.3696438e-01 6.3388553e-01 + 5.3734903e-01 6.3693845e-01 + 5.3773367e-01 6.3332492e-01 + 5.3811832e-01 6.3107082e-01 + 5.3850296e-01 6.3718063e-01 + 5.3888761e-01 6.2911995e-01 + 5.3927225e-01 6.3480656e-01 + 5.3965690e-01 6.3291646e-01 + 5.4004154e-01 6.3283079e-01 + 5.4042619e-01 6.3921432e-01 + 5.4081083e-01 6.3617597e-01 + 5.4119548e-01 6.3169367e-01 + 5.4158012e-01 6.3075701e-01 + 5.4196477e-01 6.2692140e-01 + 5.4234941e-01 6.2707047e-01 + 5.4273406e-01 6.3004797e-01 + 5.4311870e-01 6.2411073e-01 + 5.4350335e-01 6.1487846e-01 + 5.4388799e-01 6.1194945e-01 + 5.4427264e-01 6.1385568e-01 + 5.4465728e-01 6.1281402e-01 + 5.4504193e-01 6.1352966e-01 + 5.4542657e-01 6.0512441e-01 + 5.4581122e-01 6.0394529e-01 + 5.4619586e-01 6.1007397e-01 + 5.4658051e-01 6.0482608e-01 + 5.4696515e-01 6.0054098e-01 + 5.4734980e-01 6.0537781e-01 + 5.4773444e-01 6.0116318e-01 + 5.4811909e-01 6.0328672e-01 + 5.4850373e-01 5.9133628e-01 + 5.4888838e-01 5.9216892e-01 + 5.4927302e-01 5.9477076e-01 + 5.4965767e-01 6.0578973e-01 + 5.5004231e-01 6.1218083e-01 + 5.5042696e-01 6.1057105e-01 + 5.5081160e-01 6.1548376e-01 + 5.5119625e-01 6.1400006e-01 + 5.5158089e-01 6.0966741e-01 + 5.5196554e-01 6.1551074e-01 + 5.5235018e-01 6.1859590e-01 + 5.5273483e-01 6.1435184e-01 + 5.5311947e-01 6.1410439e-01 + 5.5350412e-01 6.1544858e-01 + 5.5388876e-01 6.2266056e-01 + 5.5427341e-01 6.1942738e-01 + 5.5465805e-01 6.2062236e-01 + 5.5504270e-01 6.3018990e-01 + 5.5542734e-01 6.4113596e-01 + 5.5581199e-01 6.4075851e-01 + 5.5619663e-01 6.4485230e-01 + 5.5658128e-01 6.3294223e-01 + 5.5696592e-01 6.3353667e-01 + 5.5735057e-01 6.3791448e-01 + 5.5773521e-01 6.3664326e-01 + 5.5811986e-01 6.3706195e-01 + 5.5850450e-01 6.3382302e-01 + 5.5888915e-01 6.3611723e-01 + 5.5927379e-01 6.3072817e-01 + 5.5965844e-01 6.2666847e-01 + 5.6004308e-01 6.2673457e-01 + 5.6042773e-01 6.2831214e-01 + 5.6081237e-01 6.2991839e-01 + 5.6119702e-01 6.4029075e-01 + 5.6158166e-01 6.3444160e-01 + 5.6196631e-01 6.3845009e-01 + 5.6235095e-01 6.3585922e-01 + 5.6273560e-01 6.3490125e-01 + 5.6312024e-01 6.3164227e-01 + 5.6350488e-01 6.3400112e-01 + 5.6388953e-01 6.4554149e-01 + 5.6427417e-01 6.3625270e-01 + 5.6465882e-01 6.3421900e-01 + 5.6504346e-01 6.3480849e-01 + 5.6542811e-01 6.3151529e-01 + 5.6581275e-01 6.1916423e-01 + 5.6619740e-01 6.1929970e-01 + 5.6658204e-01 6.1148617e-01 + 5.6696669e-01 6.0532402e-01 + 5.6735133e-01 6.0796971e-01 + 5.6773598e-01 6.1732080e-01 + 5.6812062e-01 6.0999085e-01 + 5.6850527e-01 6.1162768e-01 + 5.6888991e-01 6.1022861e-01 + 5.6927456e-01 6.0527533e-01 + 5.6965920e-01 6.0918887e-01 + 5.7004385e-01 6.0852830e-01 + 5.7042849e-01 6.0876986e-01 + 5.7081314e-01 6.1211783e-01 + 5.7119778e-01 6.1239952e-01 + 5.7158243e-01 6.2326139e-01 + 5.7196707e-01 6.3801330e-01 + 5.7235172e-01 6.3340082e-01 + 5.7273636e-01 6.4173496e-01 + 5.7312101e-01 6.4084789e-01 + 5.7350565e-01 6.3436817e-01 + 5.7389030e-01 6.5609620e-01 + 5.7427494e-01 6.4927520e-01 + 5.7465959e-01 6.5430641e-01 + 5.7504423e-01 6.5946662e-01 + 5.7542888e-01 6.5128761e-01 + 5.7581352e-01 6.6195863e-01 + 5.7619817e-01 6.6783889e-01 + 5.7658281e-01 6.6959096e-01 + 5.7696746e-01 6.8317923e-01 + 5.7735210e-01 6.8710068e-01 + 5.7773675e-01 6.9738172e-01 + 5.7812139e-01 6.9712900e-01 + 5.7850604e-01 6.9011270e-01 + 5.7889068e-01 6.9305963e-01 + 5.7927533e-01 6.9192989e-01 + 5.7965997e-01 7.0000105e-01 + 5.8004462e-01 6.9753361e-01 + 5.8042926e-01 6.9683230e-01 + 5.8081391e-01 6.9958275e-01 + 5.8119855e-01 6.9614544e-01 + 5.8158320e-01 6.8344923e-01 + 5.8196784e-01 6.7475471e-01 + 5.8235249e-01 6.7396245e-01 + 5.8273713e-01 6.7920430e-01 + 5.8312178e-01 6.9400224e-01 + 5.8350642e-01 6.9577442e-01 + 5.8389107e-01 6.9159193e-01 + 5.8427571e-01 6.8606297e-01 + 5.8466036e-01 6.7817886e-01 + 5.8504500e-01 6.7349291e-01 + 5.8542965e-01 6.6537856e-01 + 5.8581429e-01 6.5577357e-01 + 5.8619894e-01 6.6562388e-01 + 5.8658358e-01 6.5659601e-01 + 5.8696823e-01 6.5833438e-01 + 5.8735287e-01 6.5310987e-01 + 5.8773752e-01 6.5552595e-01 + 5.8812216e-01 6.5556137e-01 + 5.8850681e-01 6.6262487e-01 + 5.8889145e-01 6.7361555e-01 + 5.8927610e-01 6.7126421e-01 + 5.8966074e-01 6.6941883e-01 + 5.9004539e-01 6.6927310e-01 + 5.9043003e-01 6.7195296e-01 + 5.9081468e-01 6.8337204e-01 + 5.9119932e-01 6.7946107e-01 + 5.9158397e-01 6.8228399e-01 + 5.9196861e-01 6.7540566e-01 + 5.9235326e-01 6.8435810e-01 + 5.9273790e-01 6.7800633e-01 + 5.9312255e-01 6.8027262e-01 + 5.9350719e-01 6.8593763e-01 + 5.9389184e-01 6.8136349e-01 + 5.9427648e-01 6.6586700e-01 + 5.9466113e-01 6.6979280e-01 + 5.9504577e-01 6.7804567e-01 + 5.9543042e-01 6.8366380e-01 + 5.9581506e-01 6.9241212e-01 + 5.9619971e-01 6.8947241e-01 + 5.9658435e-01 6.8953495e-01 + 5.9696900e-01 6.9067998e-01 + 5.9735364e-01 6.8333390e-01 + 5.9773829e-01 6.8781121e-01 + 5.9812293e-01 6.9173889e-01 + 5.9850758e-01 6.9223620e-01 + 5.9889222e-01 6.8607424e-01 + 5.9927687e-01 6.9429612e-01 + 5.9966151e-01 6.9349956e-01 + 6.0004616e-01 6.9139379e-01 + 6.0043080e-01 6.9945304e-01 + 6.0081545e-01 6.9634699e-01 + 6.0120009e-01 7.0075836e-01 + 6.0158474e-01 6.9883768e-01 + 6.0196938e-01 6.9275939e-01 + 6.0235403e-01 7.0272044e-01 + 6.0273867e-01 6.9966487e-01 + 6.0312332e-01 6.9856681e-01 + 6.0350796e-01 6.8970514e-01 + 6.0389261e-01 6.8698969e-01 + 6.0427725e-01 6.8500855e-01 + 6.0466190e-01 6.8093810e-01 + 6.0504654e-01 6.7937070e-01 + 6.0543119e-01 6.7391155e-01 + 6.0581583e-01 6.6913234e-01 + 6.0620048e-01 6.6857240e-01 + 6.0658512e-01 6.7248756e-01 + 6.0696977e-01 6.7616250e-01 + 6.0735441e-01 6.7215043e-01 + 6.0773906e-01 6.6690635e-01 + 6.0812370e-01 6.7109310e-01 + 6.0850835e-01 6.8687702e-01 + 6.0889299e-01 6.9160767e-01 + 6.0927764e-01 6.8852650e-01 + 6.0966228e-01 6.9333517e-01 + 6.1004693e-01 6.9686073e-01 + 6.1043157e-01 6.9609016e-01 + 6.1081622e-01 6.9127438e-01 + 6.1120086e-01 6.8563030e-01 + 6.1158551e-01 6.8479193e-01 + 6.1197015e-01 6.8931489e-01 + 6.1235480e-01 6.9255538e-01 + 6.1273944e-01 6.8490837e-01 + 6.1312409e-01 6.9081849e-01 + 6.1350873e-01 6.9142841e-01 + 6.1389338e-01 6.8498860e-01 + 6.1427802e-01 6.9009530e-01 + 6.1466267e-01 6.8870619e-01 + 6.1504731e-01 6.9409151e-01 + 6.1543196e-01 6.9810404e-01 + 6.1581660e-01 7.0346297e-01 + 6.1620125e-01 7.0445568e-01 + 6.1658589e-01 7.0551245e-01 + 6.1697054e-01 7.0566337e-01 + 6.1735518e-01 6.9982325e-01 + 6.1773983e-01 6.9934633e-01 + 6.1812447e-01 6.8968111e-01 + 6.1850912e-01 6.8663984e-01 + 6.1889376e-01 6.8279876e-01 + 6.1927841e-01 6.8906022e-01 + 6.1966305e-01 6.8236861e-01 + 6.2004770e-01 6.7514585e-01 + 6.2043234e-01 6.7152239e-01 + 6.2081699e-01 6.7798873e-01 + 6.2120163e-01 6.9252765e-01 + 6.2158628e-01 6.8975924e-01 + 6.2197092e-01 6.8317415e-01 + 6.2235557e-01 6.8330436e-01 + 6.2274021e-01 6.9037557e-01 + 6.2312486e-01 6.8865154e-01 + 6.2350950e-01 6.8298519e-01 + 6.2389415e-01 6.9345077e-01 + 6.2427879e-01 6.9327832e-01 + 6.2466344e-01 6.8446748e-01 + 6.2504808e-01 6.7897734e-01 + 6.2543273e-01 6.8419212e-01 + 6.2581737e-01 6.8051944e-01 + 6.2620202e-01 6.7121143e-01 + 6.2658666e-01 6.7186491e-01 + 6.2697131e-01 6.5643336e-01 + 6.2735595e-01 6.4632962e-01 + 6.2774060e-01 6.4935229e-01 + 6.2812524e-01 6.4796280e-01 + 6.2850989e-01 6.4156735e-01 + 6.2889453e-01 6.4130392e-01 + 6.2927918e-01 6.4576125e-01 + 6.2966382e-01 6.4165832e-01 + 6.3004847e-01 6.4768685e-01 + 6.3043311e-01 6.5843476e-01 + 6.3081776e-01 6.5804002e-01 + 6.3120240e-01 6.5960813e-01 + 6.3158705e-01 6.5290280e-01 + 6.3197169e-01 6.5499355e-01 + 6.3235634e-01 6.5128883e-01 + 6.3274098e-01 6.5151100e-01 + 6.3312563e-01 6.5424997e-01 + 6.3351027e-01 6.5795068e-01 + 6.3389491e-01 6.5421806e-01 + 6.3427956e-01 6.5674110e-01 + 6.3466420e-01 6.5752041e-01 + 6.3504885e-01 6.6046786e-01 + 6.3543349e-01 6.5470872e-01 + 6.3581814e-01 6.5997479e-01 + 6.3620278e-01 6.6276977e-01 + 6.3658743e-01 6.6549591e-01 + 6.3697207e-01 6.6139544e-01 + 6.3735672e-01 6.5071720e-01 + 6.3774136e-01 6.4973317e-01 + 6.3812601e-01 6.4704436e-01 + 6.3851065e-01 6.4820584e-01 + 6.3889530e-01 6.4206837e-01 + 6.3927994e-01 6.4214686e-01 + 6.3966459e-01 6.4492292e-01 + 6.4004923e-01 6.4783871e-01 + 6.4043388e-01 6.4672887e-01 + 6.4081852e-01 6.5263085e-01 + 6.4120317e-01 6.3858162e-01 + 6.4158781e-01 6.2984079e-01 + 6.4197246e-01 6.3109345e-01 + 6.4235710e-01 6.3144238e-01 + 6.4274175e-01 6.3491217e-01 + 6.4312639e-01 6.3374439e-01 + 6.4351104e-01 6.4328177e-01 + 6.4389568e-01 6.4370598e-01 + 6.4428033e-01 6.4038990e-01 + 6.4466497e-01 6.3372381e-01 + 6.4504962e-01 6.4048616e-01 + 6.4543426e-01 6.4029493e-01 + 6.4581891e-01 6.4443661e-01 + 6.4620355e-01 6.4367460e-01 + 6.4658820e-01 6.4745827e-01 + 6.4697284e-01 6.4889183e-01 + 6.4735749e-01 6.5579851e-01 + 6.4774213e-01 6.5618326e-01 + 6.4812678e-01 6.4774504e-01 + 6.4851142e-01 6.6028396e-01 + 6.4889607e-01 6.6254964e-01 + 6.4928071e-01 6.7460732e-01 + 6.4966536e-01 6.8033675e-01 + 6.5005000e-01 6.8025962e-01 + 6.5043465e-01 6.7175208e-01 + 6.5081929e-01 6.6924914e-01 + 6.5120394e-01 6.7326135e-01 + 6.5158858e-01 6.6263165e-01 + 6.5197323e-01 6.5709817e-01 + 6.5235787e-01 6.5747353e-01 + 6.5274252e-01 6.5738387e-01 + 6.5312716e-01 6.6088727e-01 + 6.5351181e-01 6.6477444e-01 + 6.5389645e-01 6.6813957e-01 + 6.5428110e-01 6.7353160e-01 + 6.5466574e-01 6.7462688e-01 + 6.5505039e-01 6.7472493e-01 + 6.5543503e-01 6.7522911e-01 + 6.5581968e-01 6.7286921e-01 + 6.5620432e-01 6.6945199e-01 + 6.5658897e-01 6.7783745e-01 + 6.5697361e-01 6.7255793e-01 + 6.5735826e-01 6.7473950e-01 + 6.5774290e-01 6.7896149e-01 + 6.5812755e-01 6.7282479e-01 + 6.5851219e-01 6.7929862e-01 + 6.5889684e-01 6.8094258e-01 + 6.5928148e-01 6.7787079e-01 + 6.5966613e-01 6.8326173e-01 + 6.6005077e-01 6.8561920e-01 + 6.6043542e-01 6.9160307e-01 + 6.6082006e-01 6.8779602e-01 + 6.6120471e-01 6.9066017e-01 + 6.6158935e-01 6.8301839e-01 + 6.6197400e-01 6.8281539e-01 + 6.6235864e-01 6.8623565e-01 + 6.6274329e-01 6.7387504e-01 + 6.6312793e-01 6.7709432e-01 + 6.6351258e-01 6.8160290e-01 + 6.6389722e-01 6.8004455e-01 + 6.6428187e-01 6.7104451e-01 + 6.6466651e-01 6.7925938e-01 + 6.6505116e-01 6.7733120e-01 + 6.6543580e-01 6.6672784e-01 + 6.6582045e-01 6.7142582e-01 + 6.6620509e-01 6.7281098e-01 + 6.6658974e-01 6.7491956e-01 + 6.6697438e-01 6.7435761e-01 + 6.6735903e-01 6.7388939e-01 + 6.6774367e-01 6.7209826e-01 + 6.6812832e-01 6.7290378e-01 + 6.6851296e-01 6.8577407e-01 + 6.6889761e-01 6.9680142e-01 + 6.6928225e-01 7.0487710e-01 + 6.6966690e-01 7.0467908e-01 + 6.7005154e-01 7.0855067e-01 + 6.7043619e-01 7.1010833e-01 + 6.7082083e-01 7.0955256e-01 + 6.7120548e-01 7.0573504e-01 + 6.7159012e-01 7.0383266e-01 + 6.7197477e-01 6.9947848e-01 + 6.7235941e-01 7.0824823e-01 + 6.7274406e-01 7.0651017e-01 + 6.7312870e-01 6.9812463e-01 + 6.7351335e-01 6.9593384e-01 + 6.7389799e-01 6.9775611e-01 + 6.7428264e-01 6.9821602e-01 + 6.7466728e-01 6.9715285e-01 + 6.7505193e-01 7.0053993e-01 + 6.7543657e-01 7.0458299e-01 + 6.7582122e-01 7.0045670e-01 + 6.7620586e-01 6.9709341e-01 + 6.7659051e-01 7.0157143e-01 + 6.7697515e-01 6.9810054e-01 + 6.7735980e-01 7.0933973e-01 + 6.7774444e-01 7.1314035e-01 + 6.7812909e-01 7.2106436e-01 + 6.7851373e-01 7.1600740e-01 + 6.7889838e-01 7.1260827e-01 + 6.7928302e-01 7.1563284e-01 + 6.7966767e-01 7.0673755e-01 + 6.8005231e-01 7.0673982e-01 + 6.8043696e-01 7.0737809e-01 + 6.8082160e-01 7.0543215e-01 + 6.8120625e-01 7.1520777e-01 + 6.8159089e-01 7.1393857e-01 + 6.8197554e-01 7.2960229e-01 + 6.8236018e-01 7.1962602e-01 + 6.8274483e-01 7.1723201e-01 + 6.8312947e-01 7.1429415e-01 + 6.8351412e-01 7.0653915e-01 + 6.8389876e-01 6.9710124e-01 + 6.8428341e-01 7.1175138e-01 + 6.8466805e-01 7.2209214e-01 + 6.8505270e-01 7.1962551e-01 + 6.8543734e-01 7.3269239e-01 + 6.8582199e-01 7.3191212e-01 + 6.8620663e-01 7.2736854e-01 + 6.8659128e-01 7.3196984e-01 + 6.8697592e-01 7.4081316e-01 + 6.8736057e-01 7.4516271e-01 + 6.8774521e-01 7.3627875e-01 + 6.8812986e-01 7.2799517e-01 + 6.8851450e-01 7.2763535e-01 + 6.8889915e-01 7.3169742e-01 + 6.8928379e-01 7.3430539e-01 + 6.8966844e-01 7.4074216e-01 + 6.9005308e-01 7.4117281e-01 + 6.9043773e-01 7.4818226e-01 + 6.9082237e-01 7.4964868e-01 + 6.9120702e-01 7.4863423e-01 + 6.9159166e-01 7.4433485e-01 + 6.9197631e-01 7.3770787e-01 + 6.9236095e-01 7.5294994e-01 + 6.9274560e-01 7.4891740e-01 + 6.9313024e-01 7.5628780e-01 + 6.9351489e-01 7.5323351e-01 + 6.9389953e-01 7.5574481e-01 + 6.9428418e-01 7.6913768e-01 + 6.9466882e-01 7.7251124e-01 + 6.9505347e-01 7.8251785e-01 + 6.9543811e-01 7.8046980e-01 + 6.9582276e-01 7.7698080e-01 + 6.9620740e-01 7.7684164e-01 + 6.9659205e-01 7.8289910e-01 + 6.9697669e-01 7.9301856e-01 + 6.9736134e-01 8.0743488e-01 + 6.9774598e-01 8.0733670e-01 + 6.9813063e-01 8.0292425e-01 + 6.9851527e-01 8.0406256e-01 + 6.9889992e-01 8.0868703e-01 + 6.9928456e-01 8.1000617e-01 + 6.9966921e-01 8.0947693e-01 + 7.0005385e-01 8.1058146e-01 + 7.0043850e-01 8.1694598e-01 + 7.0082314e-01 8.2643290e-01 + 7.0120779e-01 8.1719091e-01 + 7.0159243e-01 8.2283654e-01 + 7.0197708e-01 8.2051902e-01 + 7.0236172e-01 8.2416584e-01 + 7.0274637e-01 8.2518391e-01 + 7.0313101e-01 8.3556946e-01 + 7.0351566e-01 8.4048802e-01 + 7.0390030e-01 8.4584741e-01 + 7.0428494e-01 8.5131733e-01 + 7.0466959e-01 8.5744869e-01 + 7.0505423e-01 8.6441776e-01 + 7.0543888e-01 8.6535231e-01 + 7.0582352e-01 8.6668231e-01 + 7.0620817e-01 8.7084668e-01 + 7.0659281e-01 8.7251621e-01 + 7.0697746e-01 8.7658345e-01 + 7.0736210e-01 8.7544388e-01 + 7.0774675e-01 8.8286712e-01 + 7.0813139e-01 8.8705780e-01 + 7.0851604e-01 8.9710298e-01 + 7.0890068e-01 9.0917019e-01 + 7.0928533e-01 9.1424256e-01 + 7.0966997e-01 9.1575069e-01 + 7.1005462e-01 9.1639304e-01 + 7.1043926e-01 9.2409892e-01 + 7.1082391e-01 9.1006612e-01 + 7.1120855e-01 9.0296206e-01 + 7.1159320e-01 9.0823532e-01 + 7.1197784e-01 9.1142084e-01 + 7.1236249e-01 9.1520155e-01 + 7.1274713e-01 9.1633560e-01 + 7.1313178e-01 9.1564394e-01 + 7.1351642e-01 9.2843302e-01 + 7.1390107e-01 9.2396033e-01 + 7.1428571e-01 9.1686852e-01 + 7.1467036e-01 9.1671691e-01 + 7.1505500e-01 9.2064662e-01 + 7.1543965e-01 9.1728390e-01 + 7.1582429e-01 9.1537902e-01 + 7.1620894e-01 9.1812636e-01 + 7.1659358e-01 9.1525701e-01 + 7.1697823e-01 9.0856973e-01 + 7.1736287e-01 9.0646260e-01 + 7.1774752e-01 9.0095532e-01 + 7.1813216e-01 8.9787823e-01 + 7.1851681e-01 8.9551864e-01 + 7.1890145e-01 8.9492646e-01 + 7.1928610e-01 8.9267085e-01 + 7.1967074e-01 8.8789695e-01 + 7.2005539e-01 8.8623092e-01 + 7.2044003e-01 8.9138362e-01 + 7.2082468e-01 8.8815620e-01 + 7.2120932e-01 8.9740375e-01 + 7.2159397e-01 9.0193764e-01 + 7.2197861e-01 9.1042378e-01 + 7.2236326e-01 9.0236886e-01 + 7.2274790e-01 8.9954015e-01 + 7.2313255e-01 8.9738676e-01 + 7.2351719e-01 9.0215408e-01 + 7.2390184e-01 8.9679914e-01 + 7.2428648e-01 8.8525836e-01 + 7.2467113e-01 8.8866716e-01 + 7.2505577e-01 8.7422750e-01 + 7.2544042e-01 8.6873309e-01 + 7.2582506e-01 8.6658817e-01 + 7.2620971e-01 8.6454485e-01 + 7.2659435e-01 8.7649823e-01 + 7.2697900e-01 8.8534389e-01 + 7.2736364e-01 8.8248215e-01 + 7.2774829e-01 8.8236736e-01 + 7.2813293e-01 8.8370366e-01 + 7.2851758e-01 8.8271584e-01 + 7.2890222e-01 8.8021233e-01 + 7.2928687e-01 8.7403285e-01 + 7.2967151e-01 8.6112395e-01 + 7.3005616e-01 8.6370050e-01 + 7.3044080e-01 8.7509764e-01 + 7.3082545e-01 8.7428130e-01 + 7.3121009e-01 8.6907566e-01 + 7.3159474e-01 8.6845175e-01 + 7.3197938e-01 8.6493051e-01 + 7.3236403e-01 8.5965175e-01 + 7.3274867e-01 8.6691955e-01 + 7.3313332e-01 8.6284238e-01 + 7.3351796e-01 8.6588790e-01 + 7.3390261e-01 8.7357619e-01 + 7.3428725e-01 8.7822687e-01 + 7.3467190e-01 8.8547474e-01 + 7.3505654e-01 8.8232957e-01 + 7.3544119e-01 8.8756781e-01 + 7.3582583e-01 8.7677664e-01 + 7.3621048e-01 8.6867027e-01 + 7.3659512e-01 8.6950700e-01 + 7.3697977e-01 8.7119064e-01 + 7.3736441e-01 8.7841595e-01 + 7.3774906e-01 8.8093863e-01 + 7.3813370e-01 8.8822813e-01 + 7.3851835e-01 8.9269600e-01 + 7.3890299e-01 8.9062803e-01 + 7.3928764e-01 8.8904947e-01 + 7.3967228e-01 8.8185546e-01 + 7.4005693e-01 8.7681597e-01 + 7.4044157e-01 8.7351477e-01 + 7.4082622e-01 8.7422624e-01 + 7.4121086e-01 8.7719187e-01 + 7.4159551e-01 8.9594741e-01 + 7.4198015e-01 9.0000514e-01 + 7.4236480e-01 8.9365491e-01 + 7.4274944e-01 8.8382354e-01 + 7.4313409e-01 8.8408625e-01 + 7.4351873e-01 8.7853854e-01 + 7.4390338e-01 8.9081261e-01 + 7.4428802e-01 8.9582754e-01 + 7.4467267e-01 8.9876391e-01 + 7.4505731e-01 8.8553004e-01 + 7.4544196e-01 8.8934386e-01 + 7.4582660e-01 8.9283160e-01 + 7.4621125e-01 9.0646837e-01 + 7.4659589e-01 9.1003005e-01 + 7.4698054e-01 9.1706972e-01 + 7.4736518e-01 9.2205167e-01 + 7.4774983e-01 9.2675226e-01 + 7.4813447e-01 9.3124552e-01 + 7.4851912e-01 9.3038841e-01 + 7.4890376e-01 9.3022676e-01 + 7.4928841e-01 9.2247223e-01 + 7.4967305e-01 9.1984433e-01 + 7.5005770e-01 9.2561349e-01 + 7.5044234e-01 9.3243632e-01 + 7.5082699e-01 9.3952720e-01 + 7.5121163e-01 9.3692718e-01 + 7.5159628e-01 9.3107721e-01 + 7.5198092e-01 9.3778787e-01 + 7.5236557e-01 9.3758092e-01 + 7.5275021e-01 9.3460439e-01 + 7.5313486e-01 9.3086504e-01 + 7.5351950e-01 9.2386523e-01 + 7.5390415e-01 9.2869259e-01 + 7.5428879e-01 9.2714972e-01 + 7.5467344e-01 9.3032284e-01 + 7.5505808e-01 9.3011435e-01 + 7.5544273e-01 9.2733405e-01 + 7.5582737e-01 9.3131400e-01 + 7.5621202e-01 9.2449499e-01 + 7.5659666e-01 9.1562963e-01 + 7.5698131e-01 9.1974416e-01 + 7.5736595e-01 9.2692892e-01 + 7.5775060e-01 9.2407245e-01 + 7.5813524e-01 9.2629062e-01 + 7.5851989e-01 9.1363348e-01 + 7.5890453e-01 9.0457570e-01 + 7.5928918e-01 8.9639197e-01 + 7.5967382e-01 8.9939907e-01 + 7.6005847e-01 9.1121221e-01 + 7.6044311e-01 9.0669216e-01 + 7.6082776e-01 9.1073223e-01 + 7.6121240e-01 9.1348524e-01 + 7.6159705e-01 9.2446978e-01 + 7.6198169e-01 9.2679931e-01 + 7.6236634e-01 9.3273713e-01 + 7.6275098e-01 9.2459133e-01 + 7.6313563e-01 9.1785966e-01 + 7.6352027e-01 9.2162766e-01 + 7.6390492e-01 9.2475739e-01 + 7.6428956e-01 9.1973960e-01 + 7.6467421e-01 9.2610624e-01 + 7.6505885e-01 9.2819762e-01 + 7.6544350e-01 9.2691393e-01 + 7.6582814e-01 9.1638713e-01 + 7.6621279e-01 9.1378104e-01 + 7.6659743e-01 9.1027690e-01 + 7.6698208e-01 9.1010600e-01 + 7.6736672e-01 9.0573962e-01 + 7.6775137e-01 9.0711330e-01 + 7.6813601e-01 9.0412408e-01 + 7.6852066e-01 9.0797260e-01 + 7.6890530e-01 9.0253330e-01 + 7.6928995e-01 8.9845100e-01 + 7.6967459e-01 8.9712366e-01 + 7.7005924e-01 8.9524375e-01 + 7.7044388e-01 8.9874910e-01 + 7.7082853e-01 9.0276541e-01 + 7.7121317e-01 8.9530216e-01 + 7.7159782e-01 8.9161056e-01 + 7.7198246e-01 8.8442256e-01 + 7.7236711e-01 8.8111102e-01 + 7.7275175e-01 8.9295843e-01 + 7.7313640e-01 9.0039817e-01 + 7.7352104e-01 9.0231581e-01 + 7.7390569e-01 8.9896484e-01 + 7.7429033e-01 8.9817094e-01 + 7.7467497e-01 8.8684079e-01 + 7.7505962e-01 8.9265708e-01 + 7.7544426e-01 8.8925353e-01 + 7.7582891e-01 8.8333390e-01 + 7.7621355e-01 8.8975675e-01 + 7.7659820e-01 8.9586432e-01 + 7.7698284e-01 9.0119578e-01 + 7.7736749e-01 9.0334147e-01 + 7.7775213e-01 9.0242183e-01 + 7.7813678e-01 9.0615344e-01 + 7.7852142e-01 8.9745298e-01 + 7.7890607e-01 8.9791968e-01 + 7.7929071e-01 9.0575453e-01 + 7.7967536e-01 9.0089400e-01 + 7.8006000e-01 8.9711820e-01 + 7.8044465e-01 8.9090900e-01 + 7.8082929e-01 8.8122796e-01 + 7.8121394e-01 8.7248066e-01 + 7.8159858e-01 8.7583361e-01 + 7.8198323e-01 8.7988255e-01 + 7.8236787e-01 8.7980575e-01 + 7.8275252e-01 8.8508342e-01 + 7.8313716e-01 8.8255362e-01 + 7.8352181e-01 8.7744624e-01 + 7.8390645e-01 8.7813114e-01 + 7.8429110e-01 8.7382763e-01 + 7.8467574e-01 8.8214876e-01 + 7.8506039e-01 8.7481884e-01 + 7.8544503e-01 8.7962927e-01 + 7.8582968e-01 8.7631530e-01 + 7.8621432e-01 8.8491355e-01 + 7.8659897e-01 8.8951202e-01 + 7.8698361e-01 8.8668359e-01 + 7.8736826e-01 8.9047266e-01 + 7.8775290e-01 8.9188837e-01 + 7.8813755e-01 8.9424278e-01 + 7.8852219e-01 8.9515319e-01 + 7.8890684e-01 9.0351629e-01 + 7.8929148e-01 8.9854881e-01 + 7.8967613e-01 8.9561112e-01 + 7.9006077e-01 9.0606369e-01 + 7.9044542e-01 8.9679507e-01 + 7.9083006e-01 8.9709432e-01 + 7.9121471e-01 8.9630633e-01 + 7.9159935e-01 8.9151248e-01 + 7.9198400e-01 8.9606065e-01 + 7.9236864e-01 9.0142010e-01 + 7.9275329e-01 8.9409115e-01 + 7.9313793e-01 8.9728294e-01 + 7.9352258e-01 8.9770723e-01 + 7.9390722e-01 8.9527619e-01 + 7.9429187e-01 9.0713898e-01 + 7.9467651e-01 8.9975550e-01 + 7.9506116e-01 8.9013302e-01 + 7.9544580e-01 8.8009796e-01 + 7.9583045e-01 8.7176864e-01 + 7.9621509e-01 8.8205267e-01 + 7.9659974e-01 8.7871298e-01 + 7.9698438e-01 8.7608872e-01 + 7.9736903e-01 8.8287675e-01 + 7.9775367e-01 8.7664564e-01 + 7.9813832e-01 8.7792444e-01 + 7.9852296e-01 8.8137691e-01 + 7.9890761e-01 8.8784284e-01 + 7.9929225e-01 8.9662680e-01 + 7.9967690e-01 8.9140552e-01 + 8.0006154e-01 8.9199367e-01 + 8.0044619e-01 9.0244269e-01 + 8.0083083e-01 9.0125372e-01 + 8.0121548e-01 8.9653639e-01 + 8.0160012e-01 8.8865463e-01 + 8.0198477e-01 8.9041192e-01 + 8.0236941e-01 8.9591054e-01 + 8.0275406e-01 8.8834837e-01 + 8.0313870e-01 8.8729907e-01 + 8.0352335e-01 8.7586718e-01 + 8.0390799e-01 8.8729464e-01 + 8.0429264e-01 8.8520646e-01 + 8.0467728e-01 8.8454953e-01 + 8.0506193e-01 8.8809068e-01 + 8.0544657e-01 8.8289103e-01 + 8.0583122e-01 8.8748688e-01 + 8.0621586e-01 9.0212293e-01 + 8.0660051e-01 8.9905350e-01 + 8.0698515e-01 9.0284769e-01 + 8.0736980e-01 9.0294233e-01 + 8.0775444e-01 9.0287962e-01 + 8.0813909e-01 9.0371330e-01 + 8.0852373e-01 9.0245918e-01 + 8.0890838e-01 9.0374947e-01 + 8.0929302e-01 8.9510603e-01 + 8.0967767e-01 8.9215887e-01 + 8.1006231e-01 8.8309562e-01 + 8.1044696e-01 8.7978120e-01 + 8.1083160e-01 8.9845687e-01 + 8.1121625e-01 8.8747122e-01 + 8.1160089e-01 8.9364993e-01 + 8.1198554e-01 8.8763566e-01 + 8.1237018e-01 8.8342174e-01 + 8.1275483e-01 8.7480860e-01 + 8.1313947e-01 8.7933317e-01 + 8.1352412e-01 8.7895041e-01 + 8.1390876e-01 8.7817291e-01 + 8.1429341e-01 8.8543917e-01 + 8.1467805e-01 8.9363442e-01 + 8.1506270e-01 8.9060128e-01 + 8.1544734e-01 8.9927956e-01 + 8.1583199e-01 9.0538753e-01 + 8.1621663e-01 9.1324002e-01 + 8.1660128e-01 9.0659876e-01 + 8.1698592e-01 9.0655056e-01 + 8.1737057e-01 9.1153582e-01 + 8.1775521e-01 9.1085208e-01 + 8.1813986e-01 9.0915507e-01 + 8.1852450e-01 9.1516197e-01 + 8.1890915e-01 9.1199679e-01 + 8.1929379e-01 9.1913758e-01 + 8.1967844e-01 9.1891178e-01 + 8.2006308e-01 9.1402588e-01 + 8.2044773e-01 9.1502525e-01 + 8.2083237e-01 9.0629801e-01 + 8.2121702e-01 9.1017842e-01 + 8.2160166e-01 9.2056971e-01 + 8.2198631e-01 9.2411471e-01 + 8.2237095e-01 9.3269765e-01 + 8.2275560e-01 9.3486336e-01 + 8.2314024e-01 9.3729034e-01 + 8.2352489e-01 9.4406650e-01 + 8.2390953e-01 9.4408226e-01 + 8.2429418e-01 9.3599450e-01 + 8.2467882e-01 9.3523827e-01 + 8.2506347e-01 9.3464941e-01 + 8.2544811e-01 9.3657311e-01 + 8.2583276e-01 9.4067472e-01 + 8.2621740e-01 9.3773364e-01 + 8.2660205e-01 9.4308732e-01 + 8.2698669e-01 9.4197955e-01 + 8.2737134e-01 9.3901242e-01 + 8.2775598e-01 9.3327662e-01 + 8.2814063e-01 9.2754061e-01 + 8.2852527e-01 9.3255091e-01 + 8.2890992e-01 9.3057396e-01 + 8.2929456e-01 9.3031740e-01 + 8.2967921e-01 9.2945507e-01 + 8.3006385e-01 9.2932468e-01 + 8.3044850e-01 9.3008448e-01 + 8.3083314e-01 9.2823543e-01 + 8.3121779e-01 9.3414626e-01 + 8.3160243e-01 9.3343243e-01 + 8.3198708e-01 9.3216745e-01 + 8.3237172e-01 9.2708164e-01 + 8.3275637e-01 9.3398610e-01 + 8.3314101e-01 9.3631646e-01 + 8.3352566e-01 9.4388858e-01 + 8.3391030e-01 9.3275791e-01 + 8.3429495e-01 9.3283835e-01 + 8.3467959e-01 9.4952580e-01 + 8.3506424e-01 9.4621590e-01 + 8.3544888e-01 9.5138510e-01 + 8.3583353e-01 9.5052881e-01 + 8.3621817e-01 9.5283293e-01 + 8.3660282e-01 9.4196160e-01 + 8.3698746e-01 9.4395366e-01 + 8.3737211e-01 9.4191248e-01 + 8.3775675e-01 9.3090863e-01 + 8.3814140e-01 9.2864828e-01 + 8.3852604e-01 9.2763355e-01 + 8.3891069e-01 9.3216306e-01 + 8.3929533e-01 9.3103754e-01 + 8.3967998e-01 9.3103541e-01 + 8.4006462e-01 9.3460318e-01 + 8.4044927e-01 9.4080204e-01 + 8.4083391e-01 9.2805685e-01 + 8.4121856e-01 9.3110810e-01 + 8.4160320e-01 9.2945302e-01 + 8.4198785e-01 9.3702381e-01 + 8.4237249e-01 9.4211319e-01 + 8.4275714e-01 9.4273321e-01 + 8.4314178e-01 9.3008474e-01 + 8.4352643e-01 9.3485342e-01 + 8.4391107e-01 9.3455967e-01 + 8.4429572e-01 9.3059460e-01 + 8.4468036e-01 9.3402582e-01 + 8.4506501e-01 9.3123210e-01 + 8.4544965e-01 9.3278901e-01 + 8.4583429e-01 9.3704716e-01 + 8.4621894e-01 9.3035185e-01 + 8.4660358e-01 9.3046303e-01 + 8.4698823e-01 9.2824359e-01 + 8.4737287e-01 9.2400345e-01 + 8.4775752e-01 9.3244348e-01 + 8.4814216e-01 9.3165355e-01 + 8.4852681e-01 9.3509924e-01 + 8.4891145e-01 9.4053618e-01 + 8.4929610e-01 9.3231546e-01 + 8.4968074e-01 9.2511558e-01 + 8.5006539e-01 9.3377795e-01 + 8.5045003e-01 9.3510965e-01 + 8.5083468e-01 9.3101830e-01 + 8.5121932e-01 9.3067610e-01 + 8.5160397e-01 9.3151417e-01 + 8.5198861e-01 9.2632206e-01 + 8.5237326e-01 9.2300549e-01 + 8.5275790e-01 9.2543184e-01 + 8.5314255e-01 9.2919124e-01 + 8.5352719e-01 9.2207161e-01 + 8.5391184e-01 9.1767367e-01 + 8.5429648e-01 9.1502015e-01 + 8.5468113e-01 9.2112512e-01 + 8.5506577e-01 9.1354224e-01 + 8.5545042e-01 9.0213979e-01 + 8.5583506e-01 9.0976186e-01 + 8.5621971e-01 9.0573637e-01 + 8.5660435e-01 9.0007205e-01 + 8.5698900e-01 9.0451047e-01 + 8.5737364e-01 9.0163999e-01 + 8.5775829e-01 9.0289718e-01 + 8.5814293e-01 9.0593702e-01 + 8.5852758e-01 9.1489749e-01 + 8.5891222e-01 9.1378120e-01 + 8.5929687e-01 9.1389499e-01 + 8.5968151e-01 9.1106064e-01 + 8.6006616e-01 9.1847124e-01 + 8.6045080e-01 9.2768520e-01 + 8.6083545e-01 9.2558966e-01 + 8.6122009e-01 9.1977792e-01 + 8.6160474e-01 9.1767357e-01 + 8.6198938e-01 9.2415898e-01 + 8.6237403e-01 9.1904191e-01 + 8.6275867e-01 9.0909170e-01 + 8.6314332e-01 9.0505164e-01 + 8.6352796e-01 9.0599869e-01 + 8.6391261e-01 9.0146172e-01 + 8.6429725e-01 9.0348281e-01 + 8.6468190e-01 8.9128174e-01 + 8.6506654e-01 9.0007816e-01 + 8.6545119e-01 8.8968826e-01 + 8.6583583e-01 8.8919923e-01 + 8.6622048e-01 8.9514434e-01 + 8.6660512e-01 8.8866514e-01 + 8.6698977e-01 8.8913940e-01 + 8.6737441e-01 8.9321544e-01 + 8.6775906e-01 9.0064558e-01 + 8.6814370e-01 9.0180040e-01 + 8.6852835e-01 8.9968992e-01 + 8.6891299e-01 8.9725856e-01 + 8.6929764e-01 8.9807030e-01 + 8.6968228e-01 9.0528889e-01 + 8.7006693e-01 9.0740260e-01 + 8.7045157e-01 9.0671488e-01 + 8.7083622e-01 9.0999155e-01 + 8.7122086e-01 9.1290390e-01 + 8.7160551e-01 9.1826539e-01 + 8.7199015e-01 9.1915525e-01 + 8.7237480e-01 9.2574770e-01 + 8.7275944e-01 9.3523434e-01 + 8.7314409e-01 9.3844787e-01 + 8.7352873e-01 9.3159580e-01 + 8.7391338e-01 9.3600924e-01 + 8.7429802e-01 9.3328745e-01 + 8.7468267e-01 9.3632227e-01 + 8.7506731e-01 9.3267693e-01 + 8.7545196e-01 9.2846249e-01 + 8.7583660e-01 9.3083210e-01 + 8.7622125e-01 9.3165479e-01 + 8.7660589e-01 9.3649409e-01 + 8.7699054e-01 9.3872403e-01 + 8.7737518e-01 9.2214100e-01 + 8.7775983e-01 9.1072213e-01 + 8.7814447e-01 9.0485627e-01 + 8.7852912e-01 9.1068332e-01 + 8.7891376e-01 9.0559189e-01 + 8.7929841e-01 9.0934854e-01 + 8.7968305e-01 9.0502723e-01 + 8.8006770e-01 8.9887099e-01 + 8.8045234e-01 9.0732670e-01 + 8.8083699e-01 9.0623955e-01 + 8.8122163e-01 9.0452656e-01 + 8.8160628e-01 9.1742084e-01 + 8.8199092e-01 9.2540310e-01 + 8.8237557e-01 9.2407623e-01 + 8.8276021e-01 9.2498550e-01 + 8.8314486e-01 9.2790382e-01 + 8.8352950e-01 9.1792432e-01 + 8.8391415e-01 9.1334122e-01 + 8.8429879e-01 9.0398196e-01 + 8.8468344e-01 9.1433310e-01 + 8.8506808e-01 9.2733078e-01 + 8.8545273e-01 9.2448118e-01 + 8.8583737e-01 9.1945669e-01 + 8.8622202e-01 9.1582543e-01 + 8.8660666e-01 9.1567803e-01 + 8.8699131e-01 9.1255161e-01 + 8.8737595e-01 9.2048624e-01 + 8.8776060e-01 9.3079718e-01 + 8.8814524e-01 9.2531555e-01 + 8.8852989e-01 9.3463010e-01 + 8.8891453e-01 9.1861294e-01 + 8.8929918e-01 9.2304156e-01 + 8.8968382e-01 9.1846245e-01 + 8.9006847e-01 9.2307334e-01 + 8.9045311e-01 9.2597948e-01 + 8.9083776e-01 9.3986361e-01 + 8.9122240e-01 9.4415561e-01 + 8.9160705e-01 9.5253734e-01 + 8.9199169e-01 9.4991655e-01 + 8.9237634e-01 9.4308095e-01 + 8.9276098e-01 9.4538949e-01 + 8.9314563e-01 9.4032256e-01 + 8.9353027e-01 9.5446323e-01 + 8.9391492e-01 9.6030551e-01 + 8.9429956e-01 9.6241750e-01 + 8.9468421e-01 9.5207144e-01 + 8.9506885e-01 9.5745778e-01 + 8.9545350e-01 9.5008598e-01 + 8.9583814e-01 9.4654297e-01 + 8.9622279e-01 9.3767006e-01 + 8.9660743e-01 9.4561321e-01 + 8.9699208e-01 9.5098896e-01 + 8.9737672e-01 9.4936174e-01 + 8.9776137e-01 9.5714507e-01 + 8.9814601e-01 9.5113637e-01 + 8.9853066e-01 9.4923334e-01 + 8.9891530e-01 9.5603175e-01 + 8.9929995e-01 9.5902541e-01 + 8.9968459e-01 9.4787343e-01 + 9.0006924e-01 9.4605806e-01 + 9.0045388e-01 9.4547274e-01 + 9.0083853e-01 9.4526204e-01 + 9.0122317e-01 9.4143121e-01 + 9.0160782e-01 9.4378355e-01 + 9.0199246e-01 9.3503895e-01 + 9.0237711e-01 9.3150188e-01 + 9.0276175e-01 9.3346534e-01 + 9.0314640e-01 9.3468840e-01 + 9.0353104e-01 9.3087519e-01 + 9.0391569e-01 9.3407720e-01 + 9.0430033e-01 9.3433062e-01 + 9.0468498e-01 9.3762275e-01 + 9.0506962e-01 9.3990741e-01 + 9.0545427e-01 9.4850015e-01 + 9.0583891e-01 9.4860138e-01 + 9.0622356e-01 9.3767442e-01 + 9.0660820e-01 9.2974153e-01 + 9.0699285e-01 9.2912284e-01 + 9.0737749e-01 9.2383001e-01 + 9.0776214e-01 9.2168920e-01 + 9.0814678e-01 9.2780033e-01 + 9.0853143e-01 9.3381361e-01 + 9.0891607e-01 9.3579129e-01 + 9.0930072e-01 9.3783024e-01 + 9.0968536e-01 9.3980408e-01 + 9.1007001e-01 9.4652777e-01 + 9.1045465e-01 9.4059075e-01 + 9.1083930e-01 9.3726151e-01 + 9.1122394e-01 9.3976901e-01 + 9.1160859e-01 9.3684007e-01 + 9.1199323e-01 9.3042908e-01 + 9.1237788e-01 9.3176623e-01 + 9.1276252e-01 9.2227985e-01 + 9.1314717e-01 9.2875355e-01 + 9.1353181e-01 9.2981993e-01 + 9.1391646e-01 9.2950400e-01 + 9.1430110e-01 9.2471282e-01 + 9.1468575e-01 9.1473884e-01 + 9.1507039e-01 9.0215828e-01 + 9.1545504e-01 8.9996935e-01 + 9.1583968e-01 9.0541817e-01 + 9.1622432e-01 8.9534053e-01 + 9.1660897e-01 8.9485209e-01 + 9.1699361e-01 8.9237803e-01 + 9.1737826e-01 8.8873520e-01 + 9.1776290e-01 8.9416572e-01 + 9.1814755e-01 8.8741700e-01 + 9.1853219e-01 8.7959178e-01 + 9.1891684e-01 8.9192190e-01 + 9.1930148e-01 8.8178227e-01 + 9.1968613e-01 8.8271869e-01 + 9.2007077e-01 8.8747397e-01 + 9.2045542e-01 8.9554535e-01 + 9.2084006e-01 9.0282808e-01 + 9.2122471e-01 9.0135796e-01 + 9.2160935e-01 9.0139765e-01 + 9.2199400e-01 9.0371486e-01 + 9.2237864e-01 9.1113889e-01 + 9.2276329e-01 8.9780902e-01 + 9.2314793e-01 8.9356768e-01 + 9.2353258e-01 9.0449749e-01 + 9.2391722e-01 9.0816275e-01 + 9.2430187e-01 9.0642574e-01 + 9.2468651e-01 9.1365039e-01 + 9.2507116e-01 9.1513552e-01 + 9.2545580e-01 9.1995011e-01 + 9.2584045e-01 9.1287406e-01 + 9.2622509e-01 9.0781128e-01 + 9.2660974e-01 9.1441821e-01 + 9.2699438e-01 9.2137889e-01 + 9.2737903e-01 9.2103200e-01 + 9.2776367e-01 9.1866184e-01 + 9.2814832e-01 9.0932545e-01 + 9.2853296e-01 9.1053274e-01 + 9.2891761e-01 9.0885726e-01 + 9.2930225e-01 9.0918689e-01 + 9.2968690e-01 8.9238506e-01 + 9.3007154e-01 9.0093222e-01 + 9.3045619e-01 9.0142801e-01 + 9.3084083e-01 8.9179684e-01 + 9.3122548e-01 8.9881917e-01 + 9.3161012e-01 8.9889473e-01 + 9.3199477e-01 9.0091613e-01 + 9.3237941e-01 8.9337082e-01 + 9.3276406e-01 8.8690693e-01 + 9.3314870e-01 8.9652238e-01 + 9.3353335e-01 8.9462015e-01 + 9.3391799e-01 8.9103682e-01 + 9.3430264e-01 8.8335320e-01 + 9.3468728e-01 8.8158502e-01 + 9.3507193e-01 8.7712896e-01 + 9.3545657e-01 8.7697384e-01 + 9.3584122e-01 8.8270979e-01 + 9.3622586e-01 8.7793404e-01 + 9.3661051e-01 8.7192635e-01 + 9.3699515e-01 8.7022976e-01 + 9.3737980e-01 8.6792935e-01 + 9.3776444e-01 8.7637993e-01 + 9.3814909e-01 8.7366128e-01 + 9.3853373e-01 8.7123769e-01 + 9.3891838e-01 8.6933346e-01 + 9.3930302e-01 8.7147684e-01 + 9.3968767e-01 8.6680540e-01 + 9.4007231e-01 8.5532340e-01 + 9.4045696e-01 8.5613429e-01 + 9.4084160e-01 8.5649438e-01 + 9.4122625e-01 8.6304091e-01 + 9.4161089e-01 8.6102245e-01 + 9.4199554e-01 8.5801023e-01 + 9.4238018e-01 8.5053372e-01 + 9.4276483e-01 8.5630603e-01 + 9.4314947e-01 8.6192611e-01 + 9.4353412e-01 8.6552354e-01 + 9.4391876e-01 8.7157958e-01 + 9.4430341e-01 8.6570632e-01 + 9.4468805e-01 8.7240181e-01 + 9.4507270e-01 8.7657013e-01 + 9.4545734e-01 8.7431356e-01 + 9.4584199e-01 8.6977028e-01 + 9.4622663e-01 8.6976707e-01 + 9.4661128e-01 8.6533853e-01 + 9.4699592e-01 8.5947712e-01 + 9.4738057e-01 8.6145685e-01 + 9.4776521e-01 8.6609329e-01 + 9.4814986e-01 8.6709510e-01 + 9.4853450e-01 8.6987933e-01 + 9.4891915e-01 8.7022910e-01 + 9.4930379e-01 8.7219930e-01 + 9.4968844e-01 8.7366576e-01 + 9.5007308e-01 8.7475775e-01 + 9.5045773e-01 8.6989782e-01 + 9.5084237e-01 8.6683711e-01 + 9.5122702e-01 8.6384191e-01 + 9.5161166e-01 8.6409098e-01 + 9.5199631e-01 8.6950501e-01 + 9.5238095e-01 8.6911231e-01 + 9.5276560e-01 8.6523994e-01 + 9.5315024e-01 8.7406902e-01 + 9.5353489e-01 8.7396160e-01 + 9.5391953e-01 8.7255448e-01 + 9.5430418e-01 8.7305009e-01 + 9.5468882e-01 8.8157849e-01 + 9.5507347e-01 8.8550955e-01 + 9.5545811e-01 8.9804106e-01 + 9.5584276e-01 8.9624149e-01 + 9.5622740e-01 8.9448880e-01 + 9.5661205e-01 9.0038062e-01 + 9.5699669e-01 9.0037999e-01 + 9.5738134e-01 8.9945368e-01 + 9.5776598e-01 8.9143534e-01 + 9.5815063e-01 8.9739974e-01 + 9.5853527e-01 9.0526325e-01 + 9.5891992e-01 9.0652361e-01 + 9.5930456e-01 9.0416026e-01 + 9.5968921e-01 9.1337157e-01 + 9.6007385e-01 9.0819050e-01 + 9.6045850e-01 9.1275859e-01 + 9.6084314e-01 9.1295830e-01 + 9.6122779e-01 9.0557738e-01 + 9.6161243e-01 9.0255955e-01 + 9.6199708e-01 9.0785535e-01 + 9.6238172e-01 9.1104456e-01 + 9.6276637e-01 9.1859406e-01 + 9.6315101e-01 9.1816767e-01 + 9.6353566e-01 9.2821020e-01 + 9.6392030e-01 9.2462756e-01 + 9.6430495e-01 9.2813000e-01 + 9.6468959e-01 9.2993076e-01 + 9.6507424e-01 9.3237935e-01 + 9.6545888e-01 9.2545781e-01 + 9.6584353e-01 9.2687075e-01 + 9.6622817e-01 9.2551762e-01 + 9.6661282e-01 9.2591031e-01 + 9.6699746e-01 9.3345812e-01 + 9.6738211e-01 9.3687257e-01 + 9.6776675e-01 9.4032070e-01 + 9.6815140e-01 9.2542839e-01 + 9.6853604e-01 9.1560016e-01 + 9.6892069e-01 9.2680276e-01 + 9.6930533e-01 9.2952101e-01 + 9.6968998e-01 9.2298044e-01 + 9.7007462e-01 9.2734599e-01 + 9.7045927e-01 9.2284184e-01 + 9.7084391e-01 9.3035300e-01 + 9.7122856e-01 9.2020171e-01 + 9.7161320e-01 9.1481339e-01 + 9.7199785e-01 9.1711123e-01 + 9.7238249e-01 9.2246917e-01 + 9.7276714e-01 9.2055040e-01 + 9.7315178e-01 9.2336604e-01 + 9.7353643e-01 9.2420636e-01 + 9.7392107e-01 9.2282505e-01 + 9.7430572e-01 9.2032169e-01 + 9.7469036e-01 9.1583917e-01 + 9.7507501e-01 9.1246672e-01 + 9.7545965e-01 9.1751537e-01 + 9.7584430e-01 9.1830097e-01 + 9.7622894e-01 9.1301408e-01 + 9.7661359e-01 9.1597058e-01 + 9.7699823e-01 9.0993132e-01 + 9.7738288e-01 9.0711724e-01 + 9.7776752e-01 9.0975671e-01 + 9.7815217e-01 9.0710081e-01 + 9.7853681e-01 9.0367820e-01 + 9.7892146e-01 9.0596261e-01 + 9.7930610e-01 9.0707687e-01 + 9.7969075e-01 9.0688182e-01 + 9.8007539e-01 9.0392226e-01 + 9.8046004e-01 9.1228869e-01 + 9.8084468e-01 9.2316741e-01 + 9.8122933e-01 9.3410880e-01 + 9.8161397e-01 9.3293139e-01 + 9.8199862e-01 9.3472339e-01 + 9.8238326e-01 9.2424959e-01 + 9.8276791e-01 9.2975078e-01 + 9.8315255e-01 9.3582642e-01 + 9.8353720e-01 9.3711465e-01 + 9.8392184e-01 9.3754587e-01 + 9.8430649e-01 9.3823134e-01 + 9.8469113e-01 9.4155115e-01 + 9.8507578e-01 9.4522770e-01 + 9.8546042e-01 9.4569738e-01 + 9.8584507e-01 9.4195443e-01 + 9.8622971e-01 9.4700109e-01 + 9.8661435e-01 9.4476088e-01 + 9.8699900e-01 9.5156390e-01 + 9.8738364e-01 9.5359262e-01 + 9.8776829e-01 9.5022356e-01 + 9.8815293e-01 9.4098341e-01 + 9.8853758e-01 9.3432468e-01 + 9.8892222e-01 9.3195004e-01 + 9.8930687e-01 9.3118726e-01 + 9.8969151e-01 9.3111350e-01 + 9.9007616e-01 9.2410935e-01 + 9.9046080e-01 9.1726681e-01 + 9.9084545e-01 9.1477249e-01 + 9.9123009e-01 9.1589580e-01 + 9.9161474e-01 9.0650693e-01 + 9.9199938e-01 9.0437495e-01 + 9.9238403e-01 9.0269205e-01 + 9.9276867e-01 8.9077117e-01 + 9.9315332e-01 8.7693072e-01 + 9.9353796e-01 8.7533268e-01 + 9.9392261e-01 8.8032419e-01 + 9.9430725e-01 8.7925971e-01 + 9.9469190e-01 8.8350815e-01 + 9.9507654e-01 8.8802744e-01 + 9.9546119e-01 8.9577869e-01 + 9.9584583e-01 8.9416826e-01 + 9.9623048e-01 8.8862840e-01 + 9.9661512e-01 8.9678516e-01 + 9.9699977e-01 9.0500739e-01 + 9.9738441e-01 9.0262046e-01 + 9.9776906e-01 9.0538561e-01 + 9.9815370e-01 9.0187618e-01 + 9.9853835e-01 9.0904846e-01 + 9.9892299e-01 9.0633981e-01 + 9.9930764e-01 9.0911674e-01 + 9.9969228e-01 9.1224442e-01 + 1.0000769e+00 9.0566471e-01 + 1.0004616e+00 9.0379420e-01 + 1.0008462e+00 9.0315467e-01 + 1.0012309e+00 9.0127472e-01 + 1.0016155e+00 8.9432784e-01 + 1.0020002e+00 8.8649208e-01 + 1.0023848e+00 8.8133054e-01 + 1.0027694e+00 8.8754805e-01 + 1.0031541e+00 8.8635344e-01 + 1.0035387e+00 8.8071781e-01 + 1.0039234e+00 8.7340883e-01 + 1.0043080e+00 8.7066139e-01 + 1.0046927e+00 8.7492146e-01 + 1.0050773e+00 8.7513761e-01 + 1.0054620e+00 8.7382721e-01 + 1.0058466e+00 8.7847580e-01 + 1.0062312e+00 8.7444467e-01 + 1.0066159e+00 8.7899671e-01 + 1.0070005e+00 8.8395028e-01 + 1.0073852e+00 8.8689783e-01 + 1.0077698e+00 8.8196025e-01 + 1.0081545e+00 8.7984193e-01 + 1.0085391e+00 8.7853852e-01 + 1.0089238e+00 8.7364088e-01 + 1.0093084e+00 8.7801844e-01 + 1.0096931e+00 8.6603118e-01 + 1.0100777e+00 8.7679011e-01 + 1.0104623e+00 8.7130222e-01 + 1.0108470e+00 8.7899190e-01 + 1.0112316e+00 8.8526077e-01 + 1.0116163e+00 8.7791744e-01 + 1.0120009e+00 8.7875265e-01 + 1.0123856e+00 8.8264678e-01 + 1.0127702e+00 8.7347582e-01 + 1.0131549e+00 8.6720245e-01 + 1.0135395e+00 8.6065246e-01 + 1.0139241e+00 8.6033363e-01 + 1.0143088e+00 8.6698688e-01 + 1.0146934e+00 8.7200949e-01 + 1.0150781e+00 8.6977392e-01 + 1.0154627e+00 8.6533179e-01 + 1.0158474e+00 8.6299275e-01 + 1.0162320e+00 8.5575380e-01 + 1.0166167e+00 8.5727313e-01 + 1.0170013e+00 8.6190694e-01 + 1.0173860e+00 8.6527584e-01 + 1.0177706e+00 8.6646389e-01 + 1.0181552e+00 8.6552378e-01 + 1.0185399e+00 8.6389242e-01 + 1.0189245e+00 8.6630209e-01 + 1.0193092e+00 8.6334497e-01 + 1.0196938e+00 8.5592051e-01 + 1.0200785e+00 8.5021871e-01 + 1.0204631e+00 8.5021039e-01 + 1.0208478e+00 8.3452376e-01 + 1.0212324e+00 8.4353660e-01 + 1.0216170e+00 8.3587971e-01 + 1.0220017e+00 8.4362952e-01 + 1.0223863e+00 8.4521641e-01 + 1.0227710e+00 8.3878018e-01 + 1.0231556e+00 8.2933001e-01 + 1.0235403e+00 8.3140852e-01 + 1.0239249e+00 8.4257141e-01 + 1.0243096e+00 8.4413066e-01 + 1.0246942e+00 8.4808783e-01 + 1.0250789e+00 8.3906206e-01 + 1.0254635e+00 8.4506162e-01 + 1.0258481e+00 8.5343600e-01 + 1.0262328e+00 8.5600815e-01 + 1.0266174e+00 8.5666993e-01 + 1.0270021e+00 8.5452162e-01 + 1.0273867e+00 8.5019930e-01 + 1.0277714e+00 8.5083946e-01 + 1.0281560e+00 8.5111235e-01 + 1.0285407e+00 8.5238246e-01 + 1.0289253e+00 8.4747931e-01 + 1.0293099e+00 8.4259607e-01 + 1.0296946e+00 8.5034532e-01 + 1.0300792e+00 8.5436176e-01 + 1.0304639e+00 8.4731257e-01 + 1.0308485e+00 8.3404427e-01 + 1.0312332e+00 8.3807015e-01 + 1.0316178e+00 8.3960167e-01 + 1.0320025e+00 8.2898674e-01 + 1.0323871e+00 8.2887306e-01 + 1.0327718e+00 8.2755244e-01 + 1.0331564e+00 8.3480109e-01 + 1.0335410e+00 8.1951560e-01 + 1.0339257e+00 8.1250762e-01 + 1.0343103e+00 8.1005617e-01 + 1.0346950e+00 8.1206560e-01 + 1.0350796e+00 8.0769502e-01 + 1.0354643e+00 8.0213198e-01 + 1.0358489e+00 8.0095926e-01 + 1.0362336e+00 8.0851081e-01 + 1.0366182e+00 8.1904384e-01 + 1.0370028e+00 8.2553888e-01 + 1.0373875e+00 8.3277220e-01 + 1.0377721e+00 8.3370582e-01 + 1.0381568e+00 8.2982782e-01 + 1.0385414e+00 8.2572620e-01 + 1.0389261e+00 8.2517346e-01 + 1.0393107e+00 8.2109853e-01 + 1.0396954e+00 8.2427634e-01 + 1.0400800e+00 8.3170397e-01 + 1.0404647e+00 8.2864340e-01 + 1.0408493e+00 8.3083258e-01 + 1.0412339e+00 8.3230438e-01 + 1.0416186e+00 8.3226191e-01 + 1.0420032e+00 8.3853903e-01 + 1.0423879e+00 8.3953967e-01 + 1.0427725e+00 8.4567850e-01 + 1.0431572e+00 8.5279259e-01 + 1.0435418e+00 8.5128898e-01 + 1.0439265e+00 8.4023355e-01 + 1.0443111e+00 8.4127564e-01 + 1.0446957e+00 8.3601896e-01 + 1.0450804e+00 8.4032317e-01 + 1.0454650e+00 8.4392327e-01 + 1.0458497e+00 8.4944082e-01 + 1.0462343e+00 8.5126551e-01 + 1.0466190e+00 8.5009209e-01 + 1.0470036e+00 8.5168892e-01 + 1.0473883e+00 8.5617378e-01 + 1.0477729e+00 8.5171040e-01 + 1.0481576e+00 8.4958367e-01 + 1.0485422e+00 8.4829630e-01 + 1.0489268e+00 8.3477506e-01 + 1.0493115e+00 8.3617710e-01 + 1.0496961e+00 8.2910316e-01 + 1.0500808e+00 8.3581003e-01 + 1.0504654e+00 8.4224101e-01 + 1.0508501e+00 8.3781673e-01 + 1.0512347e+00 8.4476705e-01 + 1.0516194e+00 8.3416765e-01 + 1.0520040e+00 8.3631879e-01 + 1.0523886e+00 8.2983861e-01 + 1.0527733e+00 8.3248523e-01 + 1.0531579e+00 8.3313106e-01 + 1.0535426e+00 8.2680968e-01 + 1.0539272e+00 8.3774347e-01 + 1.0543119e+00 8.3787609e-01 + 1.0546965e+00 8.3883484e-01 + 1.0550812e+00 8.4905019e-01 + 1.0554658e+00 8.5107492e-01 + 1.0558505e+00 8.3864678e-01 + 1.0562351e+00 8.4491002e-01 + 1.0566197e+00 8.4128592e-01 + 1.0570044e+00 8.4358188e-01 + 1.0573890e+00 8.3175337e-01 + 1.0577737e+00 8.3672277e-01 + 1.0581583e+00 8.3745851e-01 + 1.0585430e+00 8.4197675e-01 + 1.0589276e+00 8.4405333e-01 + 1.0593123e+00 8.3697248e-01 + 1.0596969e+00 8.3630272e-01 + 1.0600815e+00 8.3397805e-01 + 1.0604662e+00 8.3279103e-01 + 1.0608508e+00 8.4401134e-01 + 1.0612355e+00 8.3456460e-01 + 1.0616201e+00 8.3025906e-01 + 1.0620048e+00 8.3137942e-01 + 1.0623894e+00 8.2419215e-01 + 1.0627741e+00 8.1116925e-01 + 1.0631587e+00 8.1343454e-01 + 1.0635433e+00 8.0880763e-01 + 1.0639280e+00 8.1072678e-01 + 1.0643126e+00 8.0875877e-01 + 1.0646973e+00 8.0561560e-01 + 1.0650819e+00 8.0700011e-01 + 1.0654666e+00 8.0118637e-01 + 1.0658512e+00 7.9497102e-01 + 1.0662359e+00 7.8861826e-01 + 1.0666205e+00 7.8986816e-01 + 1.0670052e+00 7.9656759e-01 + 1.0673898e+00 7.9766720e-01 + 1.0677744e+00 8.0651326e-01 + 1.0681591e+00 8.0772851e-01 + 1.0685437e+00 8.0712602e-01 + 1.0689284e+00 8.1069081e-01 + 1.0693130e+00 8.0033832e-01 + 1.0696977e+00 8.0593314e-01 + 1.0700823e+00 8.0262474e-01 + 1.0704670e+00 7.9646422e-01 + 1.0708516e+00 7.9521593e-01 + 1.0712362e+00 7.9494951e-01 + 1.0716209e+00 7.9656443e-01 + 1.0720055e+00 7.8782439e-01 + 1.0723902e+00 7.8567068e-01 + 1.0727748e+00 7.8517362e-01 + 1.0731595e+00 7.8525011e-01 + 1.0735441e+00 7.8479384e-01 + 1.0739288e+00 7.8867395e-01 + 1.0743134e+00 7.8927592e-01 + 1.0746981e+00 7.9648511e-01 + 1.0750827e+00 8.0868491e-01 + 1.0754673e+00 8.0705115e-01 + 1.0758520e+00 8.0330384e-01 + 1.0762366e+00 8.0140508e-01 + 1.0766213e+00 8.0174450e-01 + 1.0770059e+00 8.1097639e-01 + 1.0773906e+00 8.0607596e-01 + 1.0777752e+00 7.9948249e-01 + 1.0781599e+00 8.0371584e-01 + 1.0785445e+00 8.1130153e-01 + 1.0789291e+00 8.0868193e-01 + 1.0793138e+00 8.0993705e-01 + 1.0796984e+00 7.8900332e-01 + 1.0800831e+00 7.8898642e-01 + 1.0804677e+00 7.8380632e-01 + 1.0808524e+00 7.8104694e-01 + 1.0812370e+00 7.7697612e-01 + 1.0816217e+00 7.7232234e-01 + 1.0820063e+00 7.6568237e-01 + 1.0823910e+00 7.7280763e-01 + 1.0827756e+00 7.8188142e-01 + 1.0831602e+00 7.8124835e-01 + 1.0835449e+00 7.7628979e-01 + 1.0839295e+00 7.8284650e-01 + 1.0843142e+00 7.8058424e-01 + 1.0846988e+00 7.7683845e-01 + 1.0850835e+00 7.7756717e-01 + 1.0854681e+00 7.8736440e-01 + 1.0858528e+00 7.8009713e-01 + 1.0862374e+00 7.7705424e-01 + 1.0866220e+00 7.7433556e-01 + 1.0870067e+00 7.6745821e-01 + 1.0873913e+00 7.7115633e-01 + 1.0877760e+00 7.7334338e-01 + 1.0881606e+00 7.5429948e-01 + 1.0885453e+00 7.5501577e-01 + 1.0889299e+00 7.6049637e-01 + 1.0893146e+00 7.5624742e-01 + 1.0896992e+00 7.5035019e-01 + 1.0900839e+00 7.4717144e-01 + 1.0904685e+00 7.4852533e-01 + 1.0908531e+00 7.5645155e-01 + 1.0912378e+00 7.5244920e-01 + 1.0916224e+00 7.5139249e-01 + 1.0920071e+00 7.3269258e-01 + 1.0923917e+00 7.3339150e-01 + 1.0927764e+00 7.2777789e-01 + 1.0931610e+00 7.3138946e-01 + 1.0935457e+00 7.3197351e-01 + 1.0939303e+00 7.2837175e-01 + 1.0943149e+00 7.2509079e-01 + 1.0946996e+00 7.2266884e-01 + 1.0950842e+00 7.1499716e-01 + 1.0954689e+00 7.1563588e-01 + 1.0958535e+00 7.1690853e-01 + 1.0962382e+00 7.1202007e-01 + 1.0966228e+00 7.0835290e-01 + 1.0970075e+00 7.1620925e-01 + 1.0973921e+00 7.2273888e-01 + 1.0977768e+00 7.2351317e-01 + 1.0981614e+00 7.3189769e-01 + 1.0985460e+00 7.2820232e-01 + 1.0989307e+00 7.3117632e-01 + 1.0993153e+00 7.2873126e-01 + 1.0997000e+00 7.3244685e-01 + 1.1000846e+00 7.3167845e-01 + 1.1004693e+00 7.3562318e-01 + 1.1008539e+00 7.3857371e-01 + 1.1012386e+00 7.3704257e-01 + 1.1016232e+00 7.3205582e-01 + 1.1020078e+00 7.2527300e-01 + 1.1023925e+00 7.1586105e-01 + 1.1027771e+00 7.1233065e-01 + 1.1031618e+00 7.1656519e-01 + 1.1035464e+00 7.1972584e-01 + 1.1039311e+00 7.2259158e-01 + 1.1043157e+00 7.1608055e-01 + 1.1047004e+00 7.1356093e-01 + 1.1050850e+00 7.0526263e-01 + 1.1054697e+00 7.1673057e-01 + 1.1058543e+00 7.1235107e-01 + 1.1062389e+00 7.1711659e-01 + 1.1066236e+00 7.1792672e-01 + 1.1070082e+00 7.1661695e-01 + 1.1073929e+00 7.2880694e-01 + 1.1077775e+00 7.2288874e-01 + 1.1081622e+00 7.2294687e-01 + 1.1085468e+00 7.2183266e-01 + 1.1089315e+00 7.1433959e-01 + 1.1093161e+00 7.1372392e-01 + 1.1097007e+00 7.1228763e-01 + 1.1100854e+00 7.0805840e-01 + 1.1104700e+00 7.0488190e-01 + 1.1108547e+00 7.1123101e-01 + 1.1112393e+00 7.0514912e-01 + 1.1116240e+00 7.0437322e-01 + 1.1120086e+00 7.0063398e-01 + 1.1123933e+00 7.0520788e-01 + 1.1127779e+00 7.0569290e-01 + 1.1131626e+00 6.9726798e-01 + 1.1135472e+00 6.9111483e-01 + 1.1139318e+00 6.9627512e-01 + 1.1143165e+00 7.0031771e-01 + 1.1147011e+00 7.0383475e-01 + 1.1150858e+00 6.9437868e-01 + 1.1154704e+00 6.9536274e-01 + 1.1158551e+00 6.9609196e-01 + 1.1162397e+00 7.0029493e-01 + 1.1166244e+00 6.9435181e-01 + 1.1170090e+00 6.8878262e-01 + 1.1173936e+00 6.8901149e-01 + 1.1177783e+00 6.8626370e-01 + 1.1181629e+00 6.9802668e-01 + 1.1185476e+00 7.1016700e-01 + 1.1189322e+00 7.2098353e-01 + 1.1193169e+00 7.1244157e-01 + 1.1197015e+00 7.1384335e-01 + 1.1200862e+00 7.1418153e-01 + 1.1204708e+00 7.2703888e-01 + 1.1208555e+00 7.3041403e-01 + 1.1212401e+00 7.3488094e-01 + 1.1216247e+00 7.3146670e-01 + 1.1220094e+00 7.3744487e-01 + 1.1223940e+00 7.2539659e-01 + 1.1227787e+00 7.2142384e-01 + 1.1231633e+00 7.3724740e-01 + 1.1235480e+00 7.4574127e-01 + 1.1239326e+00 7.4387857e-01 + 1.1243173e+00 7.4736729e-01 + 1.1247019e+00 7.5333710e-01 + 1.1250865e+00 7.5775830e-01 + 1.1254712e+00 7.5720886e-01 + 1.1258558e+00 7.5966028e-01 + 1.1262405e+00 7.5196146e-01 + 1.1266251e+00 7.4490376e-01 + 1.1270098e+00 7.4038642e-01 + 1.1273944e+00 7.5210048e-01 + 1.1277791e+00 7.4896475e-01 + 1.1281637e+00 7.3718643e-01 + 1.1285483e+00 7.3319777e-01 + 1.1289330e+00 7.3239690e-01 + 1.1293176e+00 7.1859734e-01 + 1.1297023e+00 7.1108734e-01 + 1.1300869e+00 7.0890911e-01 + 1.1304716e+00 7.1251964e-01 + 1.1308562e+00 7.2310341e-01 + 1.1312409e+00 7.2832291e-01 + 1.1316255e+00 7.2767780e-01 + 1.1320102e+00 7.3101183e-01 + 1.1323948e+00 7.3109328e-01 + 1.1327794e+00 7.2697514e-01 + 1.1331641e+00 7.2188822e-01 + 1.1335487e+00 7.2051408e-01 + 1.1339334e+00 7.2579356e-01 + 1.1343180e+00 7.2707654e-01 + 1.1347027e+00 7.2420854e-01 + 1.1350873e+00 7.1634096e-01 + 1.1354720e+00 7.1476339e-01 + 1.1358566e+00 7.1110369e-01 + 1.1362412e+00 7.0932271e-01 + 1.1366259e+00 6.9828458e-01 + 1.1370105e+00 7.1050444e-01 + 1.1373952e+00 7.1611005e-01 + 1.1377798e+00 7.2076615e-01 + 1.1381645e+00 7.2084262e-01 + 1.1385491e+00 7.1822354e-01 + 1.1389338e+00 7.1044763e-01 + 1.1393184e+00 7.0950947e-01 + 1.1397031e+00 6.9968473e-01 + 1.1400877e+00 7.0379239e-01 + 1.1404723e+00 6.9561644e-01 + 1.1408570e+00 7.0167553e-01 + 1.1412416e+00 7.0088351e-01 + 1.1416263e+00 7.0942545e-01 + 1.1420109e+00 7.1081788e-01 + 1.1423956e+00 7.0210885e-01 + 1.1427802e+00 7.0872978e-01 + 1.1431649e+00 7.1085902e-01 + 1.1435495e+00 7.1012570e-01 + 1.1439341e+00 7.0944122e-01 + 1.1443188e+00 7.1056609e-01 + 1.1447034e+00 7.1066388e-01 + 1.1450881e+00 7.1563989e-01 + 1.1454727e+00 7.0634619e-01 + 1.1458574e+00 7.0263682e-01 + 1.1462420e+00 7.0568456e-01 + 1.1466267e+00 7.0387190e-01 + 1.1470113e+00 7.0163898e-01 + 1.1473960e+00 7.0102778e-01 + 1.1477806e+00 7.0299562e-01 + 1.1481652e+00 7.0833917e-01 + 1.1485499e+00 7.1352997e-01 + 1.1489345e+00 7.1191384e-01 + 1.1493192e+00 7.1881951e-01 + 1.1497038e+00 7.1907129e-01 + 1.1500885e+00 7.2189389e-01 + 1.1504731e+00 7.2295091e-01 + 1.1508578e+00 7.2597418e-01 + 1.1512424e+00 7.2728477e-01 + 1.1516270e+00 7.2382172e-01 + 1.1520117e+00 7.3245358e-01 + 1.1523963e+00 7.1957122e-01 + 1.1527810e+00 7.1892349e-01 + 1.1531656e+00 7.1704598e-01 + 1.1535503e+00 7.1552445e-01 + 1.1539349e+00 7.1361509e-01 + 1.1543196e+00 7.2470713e-01 + 1.1547042e+00 7.1224702e-01 + 1.1550889e+00 7.1223848e-01 + 1.1554735e+00 7.1827854e-01 + 1.1558581e+00 7.2446261e-01 + 1.1562428e+00 7.2247662e-01 + 1.1566274e+00 7.1981093e-01 + 1.1570121e+00 7.2135378e-01 + 1.1573967e+00 7.2110437e-01 + 1.1577814e+00 7.2826896e-01 + 1.1581660e+00 7.2490267e-01 + 1.1585507e+00 7.3260231e-01 + 1.1589353e+00 7.2873405e-01 + 1.1593199e+00 7.2693820e-01 + 1.1597046e+00 7.2119317e-01 + 1.1600892e+00 7.2253040e-01 + 1.1604739e+00 7.1737685e-01 + 1.1608585e+00 7.0944605e-01 + 1.1612432e+00 7.0678391e-01 + 1.1616278e+00 6.9918416e-01 + 1.1620125e+00 7.0839783e-01 + 1.1623971e+00 7.0972541e-01 + 1.1627818e+00 7.1067923e-01 + 1.1631664e+00 7.0016395e-01 + 1.1635510e+00 7.0315688e-01 + 1.1639357e+00 7.0244927e-01 + 1.1643203e+00 6.9726553e-01 + 1.1647050e+00 7.0022009e-01 + 1.1650896e+00 6.9085818e-01 + 1.1654743e+00 6.8416883e-01 + 1.1658589e+00 6.9466072e-01 + 1.1662436e+00 7.0543845e-01 + 1.1666282e+00 7.0472510e-01 + 1.1670128e+00 6.9217054e-01 + 1.1673975e+00 6.9248680e-01 + 1.1677821e+00 6.9603242e-01 + 1.1681668e+00 7.0288964e-01 + 1.1685514e+00 7.1313332e-01 + 1.1689361e+00 7.2649270e-01 + 1.1693207e+00 7.2455385e-01 + 1.1697054e+00 7.1683259e-01 + 1.1700900e+00 7.1997701e-01 + 1.1704747e+00 7.3635963e-01 + 1.1708593e+00 7.4130919e-01 + 1.1712439e+00 7.3914625e-01 + 1.1716286e+00 7.3710315e-01 + 1.1720132e+00 7.4635296e-01 + 1.1723979e+00 7.4483680e-01 + 1.1727825e+00 7.4302896e-01 + 1.1731672e+00 7.4049596e-01 + 1.1735518e+00 7.5150466e-01 + 1.1739365e+00 7.5017571e-01 + 1.1743211e+00 7.4037448e-01 + 1.1747057e+00 7.3830954e-01 + 1.1750904e+00 7.4168978e-01 + 1.1754750e+00 7.5118805e-01 + 1.1758597e+00 7.5044852e-01 + 1.1762443e+00 7.5569779e-01 + 1.1766290e+00 7.5691811e-01 + 1.1770136e+00 7.6584594e-01 + 1.1773983e+00 7.6329476e-01 + 1.1777829e+00 7.6021042e-01 + 1.1781676e+00 7.6153144e-01 + 1.1785522e+00 7.6796084e-01 + 1.1789368e+00 7.7032176e-01 + 1.1793215e+00 7.7414596e-01 + 1.1797061e+00 7.7708774e-01 + 1.1800908e+00 7.7422674e-01 + 1.1804754e+00 7.8112882e-01 + 1.1808601e+00 7.7804718e-01 + 1.1812447e+00 7.6932461e-01 + 1.1816294e+00 7.6788571e-01 + 1.1820140e+00 7.6457040e-01 + 1.1823986e+00 7.6302883e-01 + 1.1827833e+00 7.7331729e-01 + 1.1831679e+00 7.7288045e-01 + 1.1835526e+00 7.6687464e-01 + 1.1839372e+00 7.6770456e-01 + 1.1843219e+00 7.6746762e-01 + 1.1847065e+00 7.7041280e-01 + 1.1850912e+00 7.7700688e-01 + 1.1854758e+00 7.7165059e-01 + 1.1858605e+00 7.7444313e-01 + 1.1862451e+00 7.6528803e-01 + 1.1866297e+00 7.7168560e-01 + 1.1870144e+00 7.6393186e-01 + 1.1873990e+00 7.6408506e-01 + 1.1877837e+00 7.5480086e-01 + 1.1881683e+00 7.5471743e-01 + 1.1885530e+00 7.5031540e-01 + 1.1889376e+00 7.5547707e-01 + 1.1893223e+00 7.5597293e-01 + 1.1897069e+00 7.5552445e-01 + 1.1900915e+00 7.5762898e-01 + 1.1904762e+00 7.5818112e-01 + 1.1908608e+00 7.4450015e-01 + 1.1912455e+00 7.4198225e-01 + 1.1916301e+00 7.3616925e-01 + 1.1920148e+00 7.4069244e-01 + 1.1923994e+00 7.3140969e-01 + 1.1927841e+00 7.3437091e-01 + 1.1931687e+00 7.3634969e-01 + 1.1935534e+00 7.4157831e-01 + 1.1939380e+00 7.4426018e-01 + 1.1943226e+00 7.4162527e-01 + 1.1947073e+00 7.4414651e-01 + 1.1950919e+00 7.3929092e-01 + 1.1954766e+00 7.3948557e-01 + 1.1958612e+00 7.4097230e-01 + 1.1962459e+00 7.3298227e-01 + 1.1966305e+00 7.2562463e-01 + 1.1970152e+00 7.2891242e-01 + 1.1973998e+00 7.3305517e-01 + 1.1977844e+00 7.2859273e-01 + 1.1981691e+00 7.2479339e-01 + 1.1985537e+00 7.2981955e-01 + 1.1989384e+00 7.1905631e-01 + 1.1993230e+00 7.2967279e-01 + 1.1997077e+00 7.2735395e-01 + 1.2000923e+00 7.2766056e-01 + 1.2004770e+00 7.2789583e-01 + 1.2008616e+00 7.2157845e-01 + 1.2012462e+00 7.2229213e-01 + 1.2016309e+00 7.2309203e-01 + 1.2020155e+00 7.2116497e-01 + 1.2024002e+00 7.2190842e-01 + 1.2027848e+00 7.1938035e-01 + 1.2031695e+00 7.1629599e-01 + 1.2035541e+00 7.2235089e-01 + 1.2039388e+00 7.3094471e-01 + 1.2043234e+00 7.2598590e-01 + 1.2047081e+00 7.2516488e-01 + 1.2050927e+00 7.3210917e-01 + 1.2054773e+00 7.3023561e-01 + 1.2058620e+00 7.3214859e-01 + 1.2062466e+00 7.4235937e-01 + 1.2066313e+00 7.3680868e-01 + 1.2070159e+00 7.3388092e-01 + 1.2074006e+00 7.3390165e-01 + 1.2077852e+00 7.3833692e-01 + 1.2081699e+00 7.3288825e-01 + 1.2085545e+00 7.3205032e-01 + 1.2089391e+00 7.3617760e-01 + 1.2093238e+00 7.3517570e-01 + 1.2097084e+00 7.3282536e-01 + 1.2100931e+00 7.3796372e-01 + 1.2104777e+00 7.5016103e-01 + 1.2108624e+00 7.5569700e-01 + 1.2112470e+00 7.5301120e-01 + 1.2116317e+00 7.4511552e-01 + 1.2120163e+00 7.4816433e-01 + 1.2124010e+00 7.4449159e-01 + 1.2127856e+00 7.3275616e-01 + 1.2131702e+00 7.3141034e-01 + 1.2135549e+00 7.2897758e-01 + 1.2139395e+00 7.2082944e-01 + 1.2143242e+00 7.2058891e-01 + 1.2147088e+00 7.1907700e-01 + 1.2150935e+00 7.2567182e-01 + 1.2154781e+00 7.2709053e-01 + 1.2158628e+00 7.2327143e-01 + 1.2162474e+00 7.2500937e-01 + 1.2166320e+00 7.1909585e-01 + 1.2170167e+00 7.1348380e-01 + 1.2174013e+00 7.0306335e-01 + 1.2177860e+00 7.0724704e-01 + 1.2181706e+00 7.1134484e-01 + 1.2185553e+00 7.0298944e-01 + 1.2189399e+00 6.8556188e-01 + 1.2193246e+00 6.9138328e-01 + 1.2197092e+00 6.8418148e-01 + 1.2200939e+00 6.8548324e-01 + 1.2204785e+00 6.8609068e-01 + 1.2208631e+00 6.9380570e-01 + 1.2212478e+00 6.9140339e-01 + 1.2216324e+00 7.0002606e-01 + 1.2220171e+00 6.9516826e-01 + 1.2224017e+00 6.9452565e-01 + 1.2227864e+00 6.9872958e-01 + 1.2231710e+00 6.9882499e-01 + 1.2235557e+00 7.0395059e-01 + 1.2239403e+00 7.0779387e-01 + 1.2243249e+00 7.0289529e-01 + 1.2247096e+00 7.0406737e-01 + 1.2250942e+00 7.1130033e-01 + 1.2254789e+00 7.1255594e-01 + 1.2258635e+00 7.1013497e-01 + 1.2262482e+00 7.1276229e-01 + 1.2266328e+00 7.1000916e-01 + 1.2270175e+00 7.1524116e-01 + 1.2274021e+00 7.0608480e-01 + 1.2277868e+00 6.9782240e-01 + 1.2281714e+00 6.9094965e-01 + 1.2285560e+00 6.9088542e-01 + 1.2289407e+00 6.9556830e-01 + 1.2293253e+00 7.0748180e-01 + 1.2297100e+00 7.0896461e-01 + 1.2300946e+00 7.1551987e-01 + 1.2304793e+00 7.2164356e-01 + 1.2308639e+00 7.2808142e-01 + 1.2312486e+00 7.3195125e-01 + 1.2316332e+00 7.3901294e-01 + 1.2320178e+00 7.4423139e-01 + 1.2324025e+00 7.4581956e-01 + 1.2327871e+00 7.4655788e-01 + 1.2331718e+00 7.3893108e-01 + 1.2335564e+00 7.4942589e-01 + 1.2339411e+00 7.5518065e-01 + 1.2343257e+00 7.6097351e-01 + 1.2347104e+00 7.6245374e-01 + 1.2350950e+00 7.6482163e-01 + 1.2354797e+00 7.7173688e-01 + 1.2358643e+00 7.7461139e-01 + 1.2362489e+00 7.8315338e-01 + 1.2366336e+00 7.8687667e-01 + 1.2370182e+00 7.8408939e-01 + 1.2374029e+00 7.8697075e-01 + 1.2377875e+00 7.8625194e-01 + 1.2381722e+00 7.9195667e-01 + 1.2385568e+00 7.8658956e-01 + 1.2389415e+00 7.9609893e-01 + 1.2393261e+00 7.9853521e-01 + 1.2397107e+00 7.9800565e-01 + 1.2400954e+00 8.0256162e-01 + 1.2404800e+00 8.0709705e-01 + 1.2408647e+00 8.0864549e-01 + 1.2412493e+00 8.0452088e-01 + 1.2416340e+00 8.0157398e-01 + 1.2420186e+00 8.0447178e-01 + 1.2424033e+00 8.0958169e-01 + 1.2427879e+00 7.9656595e-01 + 1.2431726e+00 7.8096478e-01 + 1.2435572e+00 7.9088272e-01 + 1.2439418e+00 7.8829264e-01 + 1.2443265e+00 7.7870489e-01 + 1.2447111e+00 7.8149318e-01 + 1.2450958e+00 7.7772118e-01 + 1.2454804e+00 7.7164655e-01 + 1.2458651e+00 7.7424853e-01 + 1.2462497e+00 7.6893754e-01 + 1.2466344e+00 7.6723894e-01 + 1.2470190e+00 7.6807412e-01 + 1.2474036e+00 7.7282826e-01 + 1.2477883e+00 7.6919804e-01 + 1.2481729e+00 7.7159391e-01 + 1.2485576e+00 7.6771039e-01 + 1.2489422e+00 7.7776091e-01 + 1.2493269e+00 7.7847758e-01 + 1.2497115e+00 7.7757684e-01 + 1.2500962e+00 7.7425933e-01 + 1.2504808e+00 7.7692528e-01 + 1.2508655e+00 7.7536774e-01 + 1.2512501e+00 7.8290702e-01 + 1.2516347e+00 7.8220609e-01 + 1.2520194e+00 7.7164796e-01 + 1.2524040e+00 7.9076537e-01 + 1.2527887e+00 7.9156327e-01 + 1.2531733e+00 7.7933882e-01 + 1.2535580e+00 7.8349188e-01 + 1.2539426e+00 7.8740437e-01 + 1.2543273e+00 7.8962080e-01 + 1.2547119e+00 7.8620392e-01 + 1.2550965e+00 7.8279549e-01 + 1.2554812e+00 7.7492888e-01 + 1.2558658e+00 7.8145549e-01 + 1.2562505e+00 7.8779721e-01 + 1.2566351e+00 7.8502164e-01 + 1.2570198e+00 7.8449253e-01 + 1.2574044e+00 7.9107366e-01 + 1.2577891e+00 7.9258810e-01 + 1.2581737e+00 7.8760124e-01 + 1.2585584e+00 7.8914120e-01 + 1.2589430e+00 7.8183295e-01 + 1.2593276e+00 7.8460842e-01 + 1.2597123e+00 7.9207089e-01 + 1.2600969e+00 7.8896515e-01 + 1.2604816e+00 7.8489407e-01 + 1.2608662e+00 7.7946857e-01 + 1.2612509e+00 7.7732067e-01 + 1.2616355e+00 7.7830036e-01 + 1.2620202e+00 7.8075732e-01 + 1.2624048e+00 7.8680748e-01 + 1.2627894e+00 7.9725148e-01 + 1.2631741e+00 8.0161655e-01 + 1.2635587e+00 8.0539193e-01 + 1.2639434e+00 8.0731462e-01 + 1.2643280e+00 8.0706982e-01 + 1.2647127e+00 8.1107635e-01 + 1.2650973e+00 8.2039092e-01 + 1.2654820e+00 8.2674122e-01 + 1.2658666e+00 8.1874365e-01 + 1.2662513e+00 8.1538685e-01 + 1.2666359e+00 8.1825966e-01 + 1.2670205e+00 8.1766256e-01 + 1.2674052e+00 8.0532817e-01 + 1.2677898e+00 8.1478883e-01 + 1.2681745e+00 8.1693527e-01 + 1.2685591e+00 8.1766169e-01 + 1.2689438e+00 8.1772336e-01 + 1.2693284e+00 8.1925164e-01 + 1.2697131e+00 8.0818878e-01 + 1.2700977e+00 8.0952192e-01 + 1.2704823e+00 7.9780510e-01 + 1.2708670e+00 8.0147979e-01 + 1.2712516e+00 8.0114587e-01 + 1.2716363e+00 8.0009494e-01 + 1.2720209e+00 7.9990132e-01 + 1.2724056e+00 8.0397391e-01 + 1.2727902e+00 8.0645393e-01 + 1.2731749e+00 8.0610670e-01 + 1.2735595e+00 8.0994941e-01 + 1.2739441e+00 8.1051961e-01 + 1.2743288e+00 8.0094751e-01 + 1.2747134e+00 8.0733179e-01 + 1.2750981e+00 8.0673019e-01 + 1.2754827e+00 8.0897114e-01 + 1.2758674e+00 8.1910819e-01 + 1.2762520e+00 8.0998405e-01 + 1.2766367e+00 8.0491273e-01 + 1.2770213e+00 7.9779467e-01 + 1.2774060e+00 7.9104125e-01 + 1.2777906e+00 7.9277072e-01 + 1.2781752e+00 7.8378135e-01 + 1.2785599e+00 7.8305176e-01 + 1.2789445e+00 7.8126811e-01 + 1.2793292e+00 7.8085278e-01 + 1.2797138e+00 7.8248282e-01 + 1.2800985e+00 7.8811685e-01 + 1.2804831e+00 7.7754306e-01 + 1.2808678e+00 7.8008867e-01 + 1.2812524e+00 7.7860806e-01 + 1.2816370e+00 7.8869101e-01 + 1.2820217e+00 7.8202874e-01 + 1.2824063e+00 7.7622943e-01 + 1.2827910e+00 7.7275085e-01 + 1.2831756e+00 7.7356496e-01 + 1.2835603e+00 7.5991454e-01 + 1.2839449e+00 7.6046882e-01 + 1.2843296e+00 7.6483640e-01 + 1.2847142e+00 7.7528187e-01 + 1.2850989e+00 7.8713880e-01 + 1.2854835e+00 7.8529911e-01 + 1.2858681e+00 7.8940528e-01 + 1.2862528e+00 7.8271430e-01 + 1.2866374e+00 7.7556441e-01 + 1.2870221e+00 7.7378912e-01 + 1.2874067e+00 7.7964311e-01 + 1.2877914e+00 7.7349532e-01 + 1.2881760e+00 7.8976117e-01 + 1.2885607e+00 7.8292653e-01 + 1.2889453e+00 7.9270083e-01 + 1.2893299e+00 7.8962239e-01 + 1.2897146e+00 7.7791852e-01 + 1.2900992e+00 7.8075476e-01 + 1.2904839e+00 7.8854102e-01 + 1.2908685e+00 7.8267161e-01 + 1.2912532e+00 7.8183113e-01 + 1.2916378e+00 7.8033962e-01 + 1.2920225e+00 7.7828140e-01 + 1.2924071e+00 7.8176478e-01 + 1.2927918e+00 7.8669437e-01 + 1.2931764e+00 7.8999731e-01 + 1.2935610e+00 7.8859390e-01 + 1.2939457e+00 7.9931688e-01 + 1.2943303e+00 7.9412627e-01 + 1.2947150e+00 7.9404654e-01 + 1.2950996e+00 7.9571377e-01 + 1.2954843e+00 7.9624081e-01 + 1.2958689e+00 8.0058229e-01 + 1.2962536e+00 7.9999220e-01 + 1.2966382e+00 7.9465283e-01 + 1.2970228e+00 7.9652259e-01 + 1.2974075e+00 8.0136951e-01 + 1.2977921e+00 7.9565503e-01 + 1.2981768e+00 7.9413489e-01 + 1.2985614e+00 7.9750266e-01 + 1.2989461e+00 8.0111677e-01 + 1.2993307e+00 7.8964984e-01 + 1.2997154e+00 7.8529503e-01 + 1.3001000e+00 7.9788806e-01 + 1.3004847e+00 7.9462088e-01 + 1.3008693e+00 7.8871274e-01 + 1.3012539e+00 7.7996447e-01 + 1.3016386e+00 7.8154666e-01 + 1.3020232e+00 7.6942223e-01 + 1.3024079e+00 7.5917388e-01 + 1.3027925e+00 7.6176479e-01 + 1.3031772e+00 7.5602533e-01 + 1.3035618e+00 7.6499397e-01 + 1.3039465e+00 7.6998705e-01 + 1.3043311e+00 7.6329021e-01 + 1.3047157e+00 7.7096666e-01 + 1.3051004e+00 7.7550403e-01 + 1.3054850e+00 7.7743608e-01 + 1.3058697e+00 7.8024324e-01 + 1.3062543e+00 7.7547062e-01 + 1.3066390e+00 7.7467176e-01 + 1.3070236e+00 7.6587499e-01 + 1.3074083e+00 7.6624835e-01 + 1.3077929e+00 7.6552878e-01 + 1.3081776e+00 7.6335234e-01 + 1.3085622e+00 7.6022589e-01 + 1.3089468e+00 7.5429116e-01 + 1.3093315e+00 7.5830759e-01 + 1.3097161e+00 7.6679648e-01 + 1.3101008e+00 7.7662273e-01 + 1.3104854e+00 7.7974837e-01 + 1.3108701e+00 7.7959346e-01 + 1.3112547e+00 7.8275045e-01 + 1.3116394e+00 7.9155443e-01 + 1.3120240e+00 7.9260073e-01 + 1.3124086e+00 7.8524379e-01 + 1.3127933e+00 7.8160566e-01 + 1.3131779e+00 7.7536826e-01 + 1.3135626e+00 7.7036363e-01 + 1.3139472e+00 7.5919682e-01 + 1.3143319e+00 7.6473651e-01 + 1.3147165e+00 7.6986909e-01 + 1.3151012e+00 7.7280027e-01 + 1.3154858e+00 7.7446269e-01 + 1.3158705e+00 7.8060953e-01 + 1.3162551e+00 7.7651158e-01 + 1.3166397e+00 7.7721434e-01 + 1.3170244e+00 7.7518057e-01 + 1.3174090e+00 7.6850462e-01 + 1.3177937e+00 7.6469171e-01 + 1.3181783e+00 7.5925155e-01 + 1.3185630e+00 7.5239588e-01 + 1.3189476e+00 7.5384918e-01 + 1.3193323e+00 7.4361885e-01 + 1.3197169e+00 7.5563301e-01 + 1.3201015e+00 7.5575756e-01 + 1.3204862e+00 7.5627458e-01 + 1.3208708e+00 7.5889686e-01 + 1.3212555e+00 7.6238938e-01 + 1.3216401e+00 7.5501284e-01 + 1.3220248e+00 7.5836109e-01 + 1.3224094e+00 7.6698535e-01 + 1.3227941e+00 7.6526231e-01 + 1.3231787e+00 7.7291870e-01 + 1.3235634e+00 7.7199566e-01 + 1.3239480e+00 7.7480124e-01 + 1.3243326e+00 7.6510792e-01 + 1.3247173e+00 7.5189184e-01 + 1.3251019e+00 7.4595207e-01 + 1.3254866e+00 7.4183605e-01 + 1.3258712e+00 7.5609668e-01 + 1.3262559e+00 7.5872666e-01 + 1.3266405e+00 7.5862104e-01 + 1.3270252e+00 7.5259580e-01 + 1.3274098e+00 7.5084395e-01 + 1.3277944e+00 7.4396013e-01 + 1.3281791e+00 7.3853066e-01 + 1.3285637e+00 7.3812775e-01 + 1.3289484e+00 7.4343385e-01 + 1.3293330e+00 7.3453704e-01 + 1.3297177e+00 7.3306520e-01 + 1.3301023e+00 7.4402583e-01 + 1.3304870e+00 7.3425549e-01 + 1.3308716e+00 7.2829264e-01 + 1.3312563e+00 7.3923424e-01 + 1.3316409e+00 7.3424828e-01 + 1.3320255e+00 7.3443406e-01 + 1.3324102e+00 7.3693102e-01 + 1.3327948e+00 7.3902088e-01 + 1.3331795e+00 7.3618156e-01 + 1.3335641e+00 7.4131916e-01 + 1.3339488e+00 7.4658968e-01 + 1.3343334e+00 7.5262614e-01 + 1.3347181e+00 7.5182542e-01 + 1.3351027e+00 7.4669599e-01 + 1.3354873e+00 7.4687834e-01 + 1.3358720e+00 7.4503633e-01 + 1.3362566e+00 7.4658325e-01 + 1.3366413e+00 7.4871632e-01 + 1.3370259e+00 7.4379171e-01 + 1.3374106e+00 7.4294290e-01 + 1.3377952e+00 7.4423365e-01 + 1.3381799e+00 7.5655100e-01 + 1.3385645e+00 7.5753306e-01 + 1.3389491e+00 7.5585256e-01 + 1.3393338e+00 7.5967373e-01 + 1.3397184e+00 7.6078587e-01 + 1.3401031e+00 7.5408351e-01 + 1.3404877e+00 7.5281724e-01 + 1.3408724e+00 7.5532926e-01 + 1.3412570e+00 7.5880649e-01 + 1.3416417e+00 7.5259459e-01 + 1.3420263e+00 7.5161544e-01 + 1.3424110e+00 7.5332830e-01 + 1.3427956e+00 7.5411605e-01 + 1.3431802e+00 7.5621556e-01 + 1.3435649e+00 7.5741296e-01 + 1.3439495e+00 7.5672385e-01 + 1.3443342e+00 7.5791620e-01 + 1.3447188e+00 7.5574071e-01 + 1.3451035e+00 7.4983704e-01 + 1.3454881e+00 7.3321058e-01 + 1.3458728e+00 7.2846899e-01 + 1.3462574e+00 7.2860993e-01 + 1.3466420e+00 7.3236305e-01 + 1.3470267e+00 7.3004949e-01 + 1.3474113e+00 7.4163797e-01 + 1.3477960e+00 7.4713292e-01 + 1.3481806e+00 7.4751006e-01 + 1.3485653e+00 7.4618727e-01 + 1.3489499e+00 7.4652877e-01 + 1.3493346e+00 7.6335830e-01 + 1.3497192e+00 7.6622212e-01 + 1.3501039e+00 7.6608471e-01 + 1.3504885e+00 7.5567116e-01 + 1.3508731e+00 7.6088834e-01 + 1.3512578e+00 7.6833127e-01 + 1.3516424e+00 7.7142985e-01 + 1.3520271e+00 7.7538092e-01 + 1.3524117e+00 7.7298659e-01 + 1.3527964e+00 7.6860522e-01 + 1.3531810e+00 7.6951206e-01 + 1.3535657e+00 7.7169908e-01 + 1.3539503e+00 7.7412709e-01 + 1.3543349e+00 7.6553969e-01 + 1.3547196e+00 7.6571894e-01 + 1.3551042e+00 7.6939369e-01 + 1.3554889e+00 7.6866441e-01 + 1.3558735e+00 7.7136197e-01 + 1.3562582e+00 7.7359449e-01 + 1.3566428e+00 7.7608036e-01 + 1.3570275e+00 7.8021837e-01 + 1.3574121e+00 7.8332961e-01 + 1.3577968e+00 7.8518117e-01 + 1.3581814e+00 7.8695585e-01 + 1.3585660e+00 7.8497522e-01 + 1.3589507e+00 7.8411096e-01 + 1.3593353e+00 7.9404455e-01 + 1.3597200e+00 7.9688624e-01 + 1.3601046e+00 7.9880258e-01 + 1.3604893e+00 7.9900511e-01 + 1.3608739e+00 7.9344528e-01 + 1.3612586e+00 8.0025660e-01 + 1.3616432e+00 7.9246654e-01 + 1.3620278e+00 7.8549573e-01 + 1.3624125e+00 7.8020668e-01 + 1.3627971e+00 7.8605058e-01 + 1.3631818e+00 7.8474882e-01 + 1.3635664e+00 7.8792552e-01 + 1.3639511e+00 7.9274154e-01 + 1.3643357e+00 7.9573779e-01 + 1.3647204e+00 7.9569328e-01 + 1.3651050e+00 7.9837425e-01 + 1.3654897e+00 7.9568371e-01 + 1.3658743e+00 7.9531387e-01 + 1.3662589e+00 8.0107048e-01 + 1.3666436e+00 8.0205958e-01 + 1.3670282e+00 8.0294041e-01 + 1.3674129e+00 8.1938509e-01 + 1.3677975e+00 8.3688851e-01 + 1.3681822e+00 8.3317815e-01 + 1.3685668e+00 8.3030900e-01 + 1.3689515e+00 8.2870269e-01 + 1.3693361e+00 8.2717932e-01 + 1.3697207e+00 8.3206349e-01 + 1.3701054e+00 8.3052643e-01 + 1.3704900e+00 8.2806295e-01 + 1.3708747e+00 8.3035446e-01 + 1.3712593e+00 8.2442915e-01 + 1.3716440e+00 8.3129543e-01 + 1.3720286e+00 8.3987465e-01 + 1.3724133e+00 8.3174880e-01 + 1.3727979e+00 8.2432092e-01 + 1.3731826e+00 8.2365028e-01 + 1.3735672e+00 8.2208646e-01 + 1.3739518e+00 8.1123420e-01 + 1.3743365e+00 8.2109056e-01 + 1.3747211e+00 8.0960601e-01 + 1.3751058e+00 8.1018021e-01 + 1.3754904e+00 8.0906091e-01 + 1.3758751e+00 8.1975907e-01 + 1.3762597e+00 8.2608255e-01 + 1.3766444e+00 8.3333218e-01 + 1.3770290e+00 8.2446042e-01 + 1.3774136e+00 8.2398633e-01 + 1.3777983e+00 8.3242607e-01 + 1.3781829e+00 8.3281414e-01 + 1.3785676e+00 8.3382393e-01 + 1.3789522e+00 8.3149628e-01 + 1.3793369e+00 8.3225512e-01 + 1.3797215e+00 8.2824876e-01 + 1.3801062e+00 8.3202321e-01 + 1.3804908e+00 8.3042400e-01 + 1.3808755e+00 8.2875654e-01 + 1.3812601e+00 8.2191780e-01 + 1.3816447e+00 8.3069080e-01 + 1.3820294e+00 8.2849185e-01 + 1.3824140e+00 8.1737260e-01 + 1.3827987e+00 8.2432914e-01 + 1.3831833e+00 8.2508473e-01 + 1.3835680e+00 8.2913581e-01 + 1.3839526e+00 8.2919815e-01 + 1.3843373e+00 8.2232870e-01 + 1.3847219e+00 8.2153146e-01 + 1.3851065e+00 8.2194477e-01 + 1.3854912e+00 8.2461823e-01 + 1.3858758e+00 8.3151295e-01 + 1.3862605e+00 8.2539255e-01 + 1.3866451e+00 8.1803820e-01 + 1.3870298e+00 8.1392676e-01 + 1.3874144e+00 8.1397919e-01 + 1.3877991e+00 8.2206293e-01 + 1.3881837e+00 8.2304743e-01 + 1.3885684e+00 8.3096084e-01 + 1.3889530e+00 8.2888646e-01 + 1.3893376e+00 8.2875916e-01 + 1.3897223e+00 8.3190371e-01 + 1.3901069e+00 8.3259815e-01 + 1.3904916e+00 8.4205359e-01 + 1.3908762e+00 8.4593814e-01 + 1.3912609e+00 8.5365012e-01 + 1.3916455e+00 8.5938421e-01 + 1.3920302e+00 8.6196481e-01 + 1.3924148e+00 8.5813647e-01 + 1.3927994e+00 8.5401809e-01 + 1.3931841e+00 8.5298058e-01 + 1.3935687e+00 8.5098863e-01 + 1.3939534e+00 8.5135812e-01 + 1.3943380e+00 8.5052311e-01 + 1.3947227e+00 8.4279581e-01 + 1.3951073e+00 8.3239052e-01 + 1.3954920e+00 8.3050906e-01 + 1.3958766e+00 8.4153222e-01 + 1.3962613e+00 8.4984347e-01 + 1.3966459e+00 8.5329670e-01 + 1.3970305e+00 8.5633016e-01 + 1.3974152e+00 8.6229691e-01 + 1.3977998e+00 8.5872854e-01 + 1.3981845e+00 8.5708663e-01 + 1.3985691e+00 8.5657323e-01 + 1.3989538e+00 8.4935590e-01 + 1.3993384e+00 8.4375875e-01 + 1.3997231e+00 8.4171313e-01 + 1.4001077e+00 8.4035349e-01 + 1.4004923e+00 8.3387622e-01 + 1.4008770e+00 8.3756733e-01 + 1.4012616e+00 8.4358193e-01 + 1.4016463e+00 8.3858366e-01 + 1.4020309e+00 8.4753823e-01 + 1.4024156e+00 8.5352363e-01 + 1.4028002e+00 8.6246054e-01 + 1.4031849e+00 8.6637643e-01 + 1.4035695e+00 8.7439782e-01 + 1.4039542e+00 8.6940438e-01 + 1.4043388e+00 8.7676348e-01 + 1.4047234e+00 8.7205752e-01 + 1.4051081e+00 8.7493964e-01 + 1.4054927e+00 8.7278984e-01 + 1.4058774e+00 8.7007897e-01 + 1.4062620e+00 8.7983970e-01 + 1.4066467e+00 8.7673648e-01 + 1.4070313e+00 8.6983293e-01 + 1.4074160e+00 8.6511071e-01 + 1.4078006e+00 8.6473728e-01 + 1.4081852e+00 8.5517526e-01 + 1.4085699e+00 8.6197874e-01 + 1.4089545e+00 8.7183862e-01 + 1.4093392e+00 8.6767555e-01 + 1.4097238e+00 8.6358845e-01 + 1.4101085e+00 8.5312618e-01 + 1.4104931e+00 8.5099053e-01 + 1.4108778e+00 8.5091581e-01 + 1.4112624e+00 8.5949451e-01 + 1.4116470e+00 8.5551929e-01 + 1.4120317e+00 8.6851390e-01 + 1.4124163e+00 8.7177017e-01 + 1.4128010e+00 8.7309479e-01 + 1.4131856e+00 8.8055531e-01 + 1.4135703e+00 8.7756044e-01 + 1.4139549e+00 8.7901538e-01 + 1.4143396e+00 8.8307867e-01 + 1.4147242e+00 8.8473237e-01 + 1.4151089e+00 8.8403868e-01 + 1.4154935e+00 8.9011385e-01 + 1.4158781e+00 8.7792708e-01 + 1.4162628e+00 8.8435567e-01 + 1.4166474e+00 8.8912940e-01 + 1.4170321e+00 8.8987948e-01 + 1.4174167e+00 8.8938627e-01 + 1.4178014e+00 8.8461017e-01 + 1.4181860e+00 8.8864369e-01 + 1.4185707e+00 8.9747384e-01 + 1.4189553e+00 8.9098489e-01 + 1.4193399e+00 8.8227861e-01 + 1.4197246e+00 8.7996404e-01 + 1.4201092e+00 8.8145938e-01 + 1.4204939e+00 8.8406378e-01 + 1.4208785e+00 8.7999748e-01 + 1.4212632e+00 8.8025864e-01 + 1.4216478e+00 8.8537987e-01 + 1.4220325e+00 8.8449229e-01 + 1.4224171e+00 8.9666155e-01 + 1.4228018e+00 8.9312137e-01 + 1.4231864e+00 8.9706703e-01 + 1.4235710e+00 8.9234374e-01 + 1.4239557e+00 8.9310400e-01 + 1.4243403e+00 8.9062123e-01 + 1.4247250e+00 8.9531273e-01 + 1.4251096e+00 8.9084759e-01 + 1.4254943e+00 8.9243016e-01 + 1.4258789e+00 8.9367192e-01 + 1.4262636e+00 9.0051317e-01 + 1.4266482e+00 9.0220735e-01 + 1.4270328e+00 9.0155030e-01 + 1.4274175e+00 8.8893881e-01 + 1.4278021e+00 8.8368626e-01 + 1.4281868e+00 8.8224569e-01 + 1.4285714e+00 8.8287104e-01 + 1.4289561e+00 8.8760054e-01 + 1.4293407e+00 8.8614660e-01 + 1.4297254e+00 8.8291258e-01 + 1.4301100e+00 8.8257050e-01 + 1.4304947e+00 8.9232313e-01 + 1.4308793e+00 8.9808577e-01 + 1.4312639e+00 8.9794127e-01 + 1.4316486e+00 8.9762052e-01 + 1.4320332e+00 8.9544621e-01 + 1.4324179e+00 9.0054721e-01 + 1.4328025e+00 9.1055846e-01 + 1.4331872e+00 9.1210963e-01 + 1.4335718e+00 9.1270013e-01 + 1.4339565e+00 9.0817421e-01 + 1.4343411e+00 9.0596093e-01 + 1.4347257e+00 9.0068481e-01 + 1.4351104e+00 9.0903053e-01 + 1.4354950e+00 9.1246776e-01 + 1.4358797e+00 9.0780231e-01 + 1.4362643e+00 8.9246514e-01 + 1.4366490e+00 8.9573727e-01 + 1.4370336e+00 8.9705186e-01 + 1.4374183e+00 8.9705390e-01 + 1.4378029e+00 8.9586551e-01 + 1.4381876e+00 8.8795207e-01 + 1.4385722e+00 8.9249410e-01 + 1.4389568e+00 8.9427949e-01 + 1.4393415e+00 8.8994403e-01 + 1.4397261e+00 8.9209362e-01 + 1.4401108e+00 8.8053003e-01 + 1.4404954e+00 8.8123458e-01 + 1.4408801e+00 8.7877070e-01 + 1.4412647e+00 8.7474401e-01 + 1.4416494e+00 8.7699940e-01 + 1.4420340e+00 8.7409827e-01 + 1.4424186e+00 8.6942737e-01 + 1.4428033e+00 8.6769213e-01 + 1.4431879e+00 8.6439251e-01 + 1.4435726e+00 8.5907997e-01 + 1.4439572e+00 8.4497877e-01 + 1.4443419e+00 8.3310696e-01 + 1.4447265e+00 8.3057923e-01 + 1.4451112e+00 8.2821285e-01 + 1.4454958e+00 8.2955924e-01 + 1.4458805e+00 8.3844228e-01 + 1.4462651e+00 8.3584873e-01 + 1.4466497e+00 8.4298951e-01 + 1.4470344e+00 8.5043051e-01 + 1.4474190e+00 8.5260460e-01 + 1.4478037e+00 8.5380319e-01 + 1.4481883e+00 8.4541744e-01 + 1.4485730e+00 8.4997611e-01 + 1.4489576e+00 8.4416233e-01 + 1.4493423e+00 8.5510202e-01 + 1.4497269e+00 8.4915985e-01 + 1.4501115e+00 8.4823819e-01 + 1.4504962e+00 8.4568448e-01 + 1.4508808e+00 8.4199782e-01 + 1.4512655e+00 8.5224324e-01 + 1.4516501e+00 8.4753037e-01 + 1.4520348e+00 8.4408320e-01 + 1.4524194e+00 8.3564093e-01 + 1.4528041e+00 8.3500991e-01 + 1.4531887e+00 8.3938468e-01 + 1.4535734e+00 8.3711014e-01 + 1.4539580e+00 8.4662868e-01 + 1.4543426e+00 8.5141331e-01 + 1.4547273e+00 8.4998724e-01 + 1.4551119e+00 8.4392348e-01 + 1.4554966e+00 8.4005309e-01 + 1.4558812e+00 8.3213794e-01 + 1.4562659e+00 8.2622798e-01 + 1.4566505e+00 8.3288365e-01 + 1.4570352e+00 8.3497065e-01 + 1.4574198e+00 8.3576021e-01 + 1.4578044e+00 8.3903831e-01 + 1.4581891e+00 8.3937546e-01 + 1.4585737e+00 8.4460648e-01 + 1.4589584e+00 8.3865701e-01 + 1.4593430e+00 8.3360014e-01 + 1.4597277e+00 8.3772785e-01 + 1.4601123e+00 8.4917716e-01 + 1.4604970e+00 8.4658899e-01 + 1.4608816e+00 8.5038267e-01 + 1.4612663e+00 8.5926382e-01 + 1.4616509e+00 8.6494719e-01 + 1.4620355e+00 8.7031746e-01 + 1.4624202e+00 8.7176281e-01 + 1.4628048e+00 8.7378863e-01 + 1.4631895e+00 8.7217774e-01 + 1.4635741e+00 8.6347599e-01 + 1.4639588e+00 8.6915749e-01 + 1.4643434e+00 8.7989574e-01 + 1.4647281e+00 8.8062445e-01 + 1.4651127e+00 8.8365027e-01 + 1.4654973e+00 8.8628105e-01 + 1.4658820e+00 8.7498620e-01 + 1.4662666e+00 8.7963440e-01 + 1.4666513e+00 8.7437791e-01 + 1.4670359e+00 8.7454925e-01 + 1.4674206e+00 8.7407349e-01 + 1.4678052e+00 8.8393898e-01 + 1.4681899e+00 8.8273842e-01 + 1.4685745e+00 8.7356752e-01 + 1.4689592e+00 8.7867951e-01 + 1.4693438e+00 8.8417607e-01 + 1.4697284e+00 8.9254991e-01 + 1.4701131e+00 8.9903620e-01 + 1.4704977e+00 9.0563416e-01 + 1.4708824e+00 9.0647674e-01 + 1.4712670e+00 9.0478661e-01 + 1.4716517e+00 8.9980668e-01 + 1.4720363e+00 9.0047932e-01 + 1.4724210e+00 8.9794946e-01 + 1.4728056e+00 8.9564921e-01 + 1.4731902e+00 8.8854363e-01 + 1.4735749e+00 8.9026221e-01 + 1.4739595e+00 8.8634708e-01 + 1.4743442e+00 8.8234151e-01 + 1.4747288e+00 8.8212084e-01 + 1.4751135e+00 8.9339152e-01 + 1.4754981e+00 8.8763582e-01 + 1.4758828e+00 8.7186458e-01 + 1.4762674e+00 8.6817449e-01 + 1.4766521e+00 8.7748515e-01 + 1.4770367e+00 8.7772118e-01 + 1.4774213e+00 8.7607687e-01 + 1.4778060e+00 8.8522213e-01 + 1.4781906e+00 8.8017460e-01 + 1.4785753e+00 8.7969924e-01 + 1.4789599e+00 8.8147729e-01 + 1.4793446e+00 8.8456705e-01 + 1.4797292e+00 8.8495440e-01 + 1.4801139e+00 8.8478826e-01 + 1.4804985e+00 8.8573482e-01 + 1.4808831e+00 8.8974350e-01 + 1.4812678e+00 8.8652414e-01 + 1.4816524e+00 8.9746598e-01 + 1.4820371e+00 8.8665322e-01 + 1.4824217e+00 8.8692258e-01 + 1.4828064e+00 8.8444407e-01 + 1.4831910e+00 8.8410250e-01 + 1.4835757e+00 8.9006852e-01 + 1.4839603e+00 8.8231925e-01 + 1.4843449e+00 8.8151669e-01 + 1.4847296e+00 8.8708611e-01 + 1.4851142e+00 8.8673495e-01 + 1.4854989e+00 8.7901950e-01 + 1.4858835e+00 8.8608687e-01 + 1.4862682e+00 8.8295587e-01 + 1.4866528e+00 8.8301184e-01 + 1.4870375e+00 8.8948023e-01 + 1.4874221e+00 8.9556313e-01 + 1.4878068e+00 8.9579599e-01 + 1.4881914e+00 8.9335396e-01 + 1.4885760e+00 8.8888514e-01 + 1.4889607e+00 8.9732690e-01 + 1.4893453e+00 8.9004060e-01 + 1.4897300e+00 8.8756712e-01 + 1.4901146e+00 8.9033698e-01 + 1.4904993e+00 8.9440920e-01 + 1.4908839e+00 8.8875889e-01 + 1.4912686e+00 8.8823115e-01 + 1.4916532e+00 8.7713495e-01 + 1.4920378e+00 8.9157459e-01 + 1.4924225e+00 8.8634382e-01 + 1.4928071e+00 8.9253654e-01 + 1.4931918e+00 8.8832611e-01 + 1.4935764e+00 8.8908577e-01 + 1.4939611e+00 8.8661665e-01 + 1.4943457e+00 8.9213487e-01 + 1.4947304e+00 9.0007220e-01 + 1.4951150e+00 8.9928547e-01 + 1.4954997e+00 8.9791969e-01 + 1.4958843e+00 8.9631258e-01 + 1.4962689e+00 8.9294443e-01 + 1.4966536e+00 8.8172007e-01 + 1.4970382e+00 8.7812586e-01 + 1.4974229e+00 8.6431913e-01 + 1.4978075e+00 8.6240143e-01 + 1.4981922e+00 8.5866290e-01 + 1.4985768e+00 8.5999041e-01 + 1.4989615e+00 8.5712253e-01 + 1.4993461e+00 8.5960532e-01 + 1.4997307e+00 8.5291106e-01 + 1.5001154e+00 8.4896309e-01 + 1.5005000e+00 8.4850863e-01 + 1.5008847e+00 8.4302268e-01 + 1.5012693e+00 8.4241396e-01 + 1.5016540e+00 8.4969141e-01 + 1.5020386e+00 8.5357391e-01 + 1.5024233e+00 8.5389609e-01 + 1.5028079e+00 8.4645673e-01 + 1.5031926e+00 8.3337031e-01 + 1.5035772e+00 8.3435361e-01 + 1.5039618e+00 8.2965827e-01 + 1.5043465e+00 8.2982592e-01 + 1.5047311e+00 8.2809062e-01 + 1.5051158e+00 8.2344078e-01 + 1.5055004e+00 8.3191183e-01 + 1.5058851e+00 8.2893196e-01 + 1.5062697e+00 8.3789599e-01 + 1.5066544e+00 8.3696691e-01 + 1.5070390e+00 8.3808127e-01 + 1.5074236e+00 8.3978983e-01 + 1.5078083e+00 8.4122893e-01 + 1.5081929e+00 8.3812614e-01 + 1.5085776e+00 8.3891749e-01 + 1.5089622e+00 8.4112947e-01 + 1.5093469e+00 8.4092581e-01 + 1.5097315e+00 8.4448579e-01 + 1.5101162e+00 8.5047560e-01 + 1.5105008e+00 8.5277794e-01 + 1.5108855e+00 8.5799710e-01 + 1.5112701e+00 8.5981315e-01 + 1.5116547e+00 8.6246094e-01 + 1.5120394e+00 8.6581883e-01 + 1.5124240e+00 8.6355340e-01 + 1.5128087e+00 8.6996416e-01 + 1.5131933e+00 8.7573444e-01 + 1.5135780e+00 8.7513587e-01 + 1.5139626e+00 8.7025824e-01 + 1.5143473e+00 8.7117274e-01 + 1.5147319e+00 8.7561732e-01 + 1.5151165e+00 8.8265621e-01 + 1.5155012e+00 8.7701978e-01 + 1.5158858e+00 8.7985284e-01 + 1.5162705e+00 8.8524858e-01 + 1.5166551e+00 8.8698069e-01 + 1.5170398e+00 8.8492309e-01 + 1.5174244e+00 8.9426053e-01 + 1.5178091e+00 8.8963136e-01 + 1.5181937e+00 8.9345497e-01 + 1.5185784e+00 9.0187852e-01 + 1.5189630e+00 9.0191593e-01 + 1.5193476e+00 9.0407802e-01 + 1.5197323e+00 9.1113078e-01 + 1.5201169e+00 9.0499844e-01 + 1.5205016e+00 9.0137957e-01 + 1.5208862e+00 9.0648166e-01 + 1.5212709e+00 9.1004425e-01 + 1.5216555e+00 9.0614299e-01 + 1.5220402e+00 9.0026479e-01 + 1.5224248e+00 8.9901596e-01 + 1.5228094e+00 8.9688373e-01 + 1.5231941e+00 9.0031535e-01 + 1.5235787e+00 8.9896483e-01 + 1.5239634e+00 8.9623874e-01 + 1.5243480e+00 9.0634863e-01 + 1.5247327e+00 9.0507475e-01 + 1.5251173e+00 9.0995832e-01 + 1.5255020e+00 9.2430570e-01 + 1.5258866e+00 9.2611995e-01 + 1.5262713e+00 9.2819407e-01 + 1.5266559e+00 9.1415091e-01 + 1.5270405e+00 9.1210168e-01 + 1.5274252e+00 9.1356946e-01 + 1.5278098e+00 9.1544996e-01 + 1.5281945e+00 9.1467061e-01 + 1.5285791e+00 9.1812728e-01 + 1.5289638e+00 9.2191927e-01 + 1.5293484e+00 9.1633407e-01 + 1.5297331e+00 9.2246337e-01 + 1.5301177e+00 9.2783938e-01 + 1.5305023e+00 9.1925158e-01 + 1.5308870e+00 9.2303165e-01 + 1.5312716e+00 9.2221114e-01 + 1.5316563e+00 9.3424426e-01 + 1.5320409e+00 9.3760530e-01 + 1.5324256e+00 9.3630647e-01 + 1.5328102e+00 9.4112888e-01 + 1.5331949e+00 9.4379329e-01 + 1.5335795e+00 9.4130873e-01 + 1.5339642e+00 9.4558901e-01 + 1.5343488e+00 9.4805490e-01 + 1.5347334e+00 9.3827742e-01 + 1.5351181e+00 9.4606277e-01 + 1.5355027e+00 9.3783474e-01 + 1.5358874e+00 9.4319564e-01 + 1.5362720e+00 9.4874608e-01 + 1.5366567e+00 9.4638628e-01 + 1.5370413e+00 9.4115103e-01 + 1.5374260e+00 9.5695313e-01 + 1.5378106e+00 9.5070673e-01 + 1.5381952e+00 9.5878757e-01 + 1.5385799e+00 9.5525539e-01 + 1.5389645e+00 9.5591201e-01 + 1.5393492e+00 9.5113757e-01 + 1.5397338e+00 9.5446258e-01 + 1.5401185e+00 9.4870543e-01 + 1.5405031e+00 9.4635309e-01 + 1.5408878e+00 9.4427469e-01 + 1.5412724e+00 9.5662887e-01 + 1.5416571e+00 9.5194143e-01 + 1.5420417e+00 9.5408981e-01 + 1.5424263e+00 9.4475961e-01 + 1.5428110e+00 9.3674497e-01 + 1.5431956e+00 9.3941296e-01 + 1.5435803e+00 9.4787232e-01 + 1.5439649e+00 9.4038689e-01 + 1.5443496e+00 9.4116706e-01 + 1.5447342e+00 9.4265568e-01 + 1.5451189e+00 9.3050983e-01 + 1.5455035e+00 9.3159084e-01 + 1.5458881e+00 9.2831465e-01 + 1.5462728e+00 9.3029568e-01 + 1.5466574e+00 9.4064746e-01 + 1.5470421e+00 9.3971179e-01 + 1.5474267e+00 9.4314458e-01 + 1.5478114e+00 9.4979999e-01 + 1.5481960e+00 9.3735085e-01 + 1.5485807e+00 9.4153183e-01 + 1.5489653e+00 9.5170333e-01 + 1.5493499e+00 9.4876440e-01 + 1.5497346e+00 9.5513660e-01 + 1.5501192e+00 9.5264968e-01 + 1.5505039e+00 9.5874054e-01 + 1.5508885e+00 9.6516616e-01 + 1.5512732e+00 9.6377902e-01 + 1.5516578e+00 9.6329789e-01 + 1.5520425e+00 9.6073198e-01 + 1.5524271e+00 9.6117832e-01 + 1.5528118e+00 9.6382835e-01 + 1.5531964e+00 9.7249626e-01 + 1.5535810e+00 9.8037092e-01 + 1.5539657e+00 9.7915515e-01 + 1.5543503e+00 9.7981142e-01 + 1.5547350e+00 9.8436754e-01 + 1.5551196e+00 9.8616137e-01 + 1.5555043e+00 9.9009897e-01 + 1.5558889e+00 9.8916611e-01 + 1.5562736e+00 9.9415996e-01 + 1.5566582e+00 9.8827871e-01 + 1.5570428e+00 9.8535500e-01 + 1.5574275e+00 9.8277915e-01 + 1.5578121e+00 9.7987810e-01 + 1.5581968e+00 9.7298089e-01 + 1.5585814e+00 9.6845334e-01 + 1.5589661e+00 9.6976548e-01 + 1.5593507e+00 9.8034224e-01 + 1.5597354e+00 9.7876843e-01 + 1.5601200e+00 9.7161623e-01 + 1.5605047e+00 9.6837011e-01 + 1.5608893e+00 9.5841883e-01 + 1.5612739e+00 9.6814270e-01 + 1.5616586e+00 9.6994193e-01 + 1.5620432e+00 9.7073499e-01 + 1.5624279e+00 9.6809297e-01 + 1.5628125e+00 9.6303529e-01 + 1.5631972e+00 9.7046703e-01 + 1.5635818e+00 9.7960445e-01 + 1.5639665e+00 9.7700762e-01 + 1.5643511e+00 9.7882336e-01 + 1.5647357e+00 9.7705706e-01 + 1.5651204e+00 9.6717766e-01 + 1.5655050e+00 9.6641003e-01 + 1.5658897e+00 9.6436332e-01 + 1.5662743e+00 9.7238013e-01 + 1.5666590e+00 9.6479002e-01 + 1.5670436e+00 9.6007718e-01 + 1.5674283e+00 9.5524348e-01 + 1.5678129e+00 9.5363223e-01 + 1.5681976e+00 9.5168597e-01 + 1.5685822e+00 9.5874188e-01 + 1.5689668e+00 9.6273591e-01 + 1.5693515e+00 9.7413541e-01 + 1.5697361e+00 9.8194725e-01 + 1.5701208e+00 9.9068012e-01 + 1.5705054e+00 9.8829956e-01 + 1.5708901e+00 9.9249250e-01 + 1.5712747e+00 9.9525202e-01 + 1.5716594e+00 1.0015618e+00 + 1.5720440e+00 1.0045219e+00 + 1.5724286e+00 9.9632779e-01 + 1.5728133e+00 9.9510359e-01 + 1.5731979e+00 9.9680223e-01 + 1.5735826e+00 1.0006582e+00 + 1.5739672e+00 1.0209214e+00 + 1.5743519e+00 1.0210486e+00 + 1.5747365e+00 1.0162781e+00 + 1.5751212e+00 1.0058150e+00 + 1.5755058e+00 9.9601574e-01 + 1.5758905e+00 9.9166548e-01 + 1.5762751e+00 9.8872829e-01 + 1.5766597e+00 9.9147357e-01 + 1.5770444e+00 9.8971345e-01 + 1.5774290e+00 9.8777210e-01 + 1.5778137e+00 9.9570552e-01 + 1.5781983e+00 1.0055776e+00 + 1.5785830e+00 1.0218915e+00 + 1.5789676e+00 1.0195177e+00 + 1.5793523e+00 1.0243519e+00 + 1.5797369e+00 1.0230560e+00 + 1.5801215e+00 1.0304376e+00 + 1.5805062e+00 1.0360577e+00 + 1.5808908e+00 1.0306841e+00 + 1.5812755e+00 1.0262472e+00 + 1.5816601e+00 1.0274702e+00 + 1.5820448e+00 1.0323174e+00 + 1.5824294e+00 1.0374327e+00 + 1.5828141e+00 1.0438002e+00 + 1.5831987e+00 1.0504383e+00 + 1.5835834e+00 1.0564570e+00 + 1.5839680e+00 1.0614336e+00 + 1.5843526e+00 1.0617069e+00 + 1.5847373e+00 1.0601307e+00 + 1.5851219e+00 1.0611838e+00 + 1.5855066e+00 1.0623604e+00 + 1.5858912e+00 1.0584736e+00 + 1.5862759e+00 1.0649726e+00 + 1.5866605e+00 1.0708510e+00 + 1.5870452e+00 1.0678908e+00 + 1.5874298e+00 1.0713854e+00 + 1.5878144e+00 1.0767371e+00 + 1.5881991e+00 1.0785062e+00 + 1.5885837e+00 1.0814177e+00 + 1.5889684e+00 1.0822379e+00 + 1.5893530e+00 1.0835057e+00 + 1.5897377e+00 1.0769978e+00 + 1.5901223e+00 1.0681693e+00 + 1.5905070e+00 1.0655883e+00 + 1.5908916e+00 1.0523474e+00 + 1.5912763e+00 1.0554629e+00 + 1.5916609e+00 1.0484733e+00 + 1.5920455e+00 1.0587213e+00 + 1.5924302e+00 1.0664701e+00 + 1.5928148e+00 1.0629877e+00 + 1.5931995e+00 1.0673020e+00 + 1.5935841e+00 1.0705130e+00 + 1.5939688e+00 1.0698237e+00 + 1.5943534e+00 1.0575692e+00 + 1.5947381e+00 1.0629762e+00 + 1.5951227e+00 1.0671497e+00 + 1.5955073e+00 1.0664634e+00 + 1.5958920e+00 1.0675072e+00 + 1.5962766e+00 1.0658574e+00 + 1.5966613e+00 1.0593730e+00 + 1.5970459e+00 1.0616532e+00 + 1.5974306e+00 1.0713797e+00 + 1.5978152e+00 1.0754669e+00 + 1.5981999e+00 1.0845215e+00 + 1.5985845e+00 1.0940438e+00 + 1.5989692e+00 1.0983808e+00 + 1.5993538e+00 1.0878368e+00 + 1.5997384e+00 1.0942997e+00 + 1.6001231e+00 1.0907299e+00 + 1.6005077e+00 1.0824004e+00 + 1.6008924e+00 1.0905765e+00 + 1.6012770e+00 1.0822178e+00 + 1.6016617e+00 1.0914329e+00 + 1.6020463e+00 1.0945605e+00 + 1.6024310e+00 1.0948384e+00 + 1.6028156e+00 1.0966316e+00 + 1.6032002e+00 1.0988410e+00 + 1.6035849e+00 1.1025178e+00 + 1.6039695e+00 1.0981727e+00 + 1.6043542e+00 1.1005488e+00 + 1.6047388e+00 1.1024834e+00 + 1.6051235e+00 1.1054034e+00 + 1.6055081e+00 1.1102409e+00 + 1.6058928e+00 1.1133479e+00 + 1.6062774e+00 1.1113085e+00 + 1.6066621e+00 1.1157557e+00 + 1.6070467e+00 1.1212667e+00 + 1.6074313e+00 1.1205199e+00 + 1.6078160e+00 1.1198919e+00 + 1.6082006e+00 1.1118093e+00 + 1.6085853e+00 1.1112359e+00 + 1.6089699e+00 1.1130058e+00 + 1.6093546e+00 1.1090951e+00 + 1.6097392e+00 1.1169677e+00 + 1.6101239e+00 1.1117598e+00 + 1.6105085e+00 1.1147405e+00 + 1.6108931e+00 1.1141019e+00 + 1.6112778e+00 1.1098590e+00 + 1.6116624e+00 1.1030788e+00 + 1.6120471e+00 1.1069326e+00 + 1.6124317e+00 1.1100991e+00 + 1.6128164e+00 1.1150124e+00 + 1.6132010e+00 1.1052567e+00 + 1.6135857e+00 1.0991592e+00 + 1.6139703e+00 1.0860155e+00 + 1.6143550e+00 1.0842535e+00 + 1.6147396e+00 1.0709091e+00 + 1.6151242e+00 1.0612657e+00 + 1.6155089e+00 1.0634202e+00 + 1.6158935e+00 1.0557561e+00 + 1.6162782e+00 1.0515123e+00 + 1.6166628e+00 1.0458897e+00 + 1.6170475e+00 1.0465693e+00 + 1.6174321e+00 1.0555994e+00 + 1.6178168e+00 1.0589227e+00 + 1.6182014e+00 1.0540725e+00 + 1.6185860e+00 1.0455213e+00 + 1.6189707e+00 1.0569121e+00 + 1.6193553e+00 1.0570797e+00 + 1.6197400e+00 1.0551004e+00 + 1.6201246e+00 1.0489137e+00 + 1.6205093e+00 1.0479799e+00 + 1.6208939e+00 1.0499477e+00 + 1.6212786e+00 1.0509934e+00 + 1.6216632e+00 1.0593337e+00 + 1.6220478e+00 1.0514635e+00 + 1.6224325e+00 1.0576314e+00 + 1.6228171e+00 1.0557319e+00 + 1.6232018e+00 1.0530603e+00 + 1.6235864e+00 1.0603879e+00 + 1.6239711e+00 1.0636069e+00 + 1.6243557e+00 1.0728784e+00 + 1.6247404e+00 1.0773968e+00 + 1.6251250e+00 1.0716392e+00 + 1.6255097e+00 1.0658512e+00 + 1.6258943e+00 1.0729903e+00 + 1.6262789e+00 1.0745527e+00 + 1.6266636e+00 1.0843384e+00 + 1.6270482e+00 1.0839949e+00 + 1.6274329e+00 1.0866979e+00 + 1.6278175e+00 1.0793668e+00 + 1.6282022e+00 1.0833808e+00 + 1.6285868e+00 1.0822162e+00 + 1.6289715e+00 1.0759430e+00 + 1.6293561e+00 1.0756770e+00 + 1.6297407e+00 1.0747961e+00 + 1.6301254e+00 1.0719865e+00 + 1.6305100e+00 1.0701967e+00 + 1.6308947e+00 1.0642990e+00 + 1.6312793e+00 1.0674255e+00 + 1.6316640e+00 1.0730594e+00 + 1.6320486e+00 1.0801657e+00 + 1.6324333e+00 1.0812616e+00 + 1.6328179e+00 1.0776886e+00 + 1.6332026e+00 1.0859793e+00 + 1.6335872e+00 1.0886686e+00 + 1.6339718e+00 1.0880944e+00 + 1.6343565e+00 1.0904181e+00 + 1.6347411e+00 1.0860219e+00 + 1.6351258e+00 1.0807458e+00 + 1.6355104e+00 1.0811433e+00 + 1.6358951e+00 1.0797276e+00 + 1.6362797e+00 1.0673851e+00 + 1.6366644e+00 1.0694214e+00 + 1.6370490e+00 1.0607778e+00 + 1.6374336e+00 1.0651739e+00 + 1.6378183e+00 1.0588101e+00 + 1.6382029e+00 1.0483515e+00 + 1.6385876e+00 1.0580540e+00 + 1.6389722e+00 1.0615619e+00 + 1.6393569e+00 1.0648257e+00 + 1.6397415e+00 1.0688372e+00 + 1.6401262e+00 1.0772516e+00 + 1.6405108e+00 1.0709429e+00 + 1.6408955e+00 1.0808328e+00 + 1.6412801e+00 1.0757650e+00 + 1.6416647e+00 1.0832083e+00 + 1.6420494e+00 1.0860919e+00 + 1.6424340e+00 1.0753105e+00 + 1.6428187e+00 1.0762519e+00 + 1.6432033e+00 1.0854384e+00 + 1.6435880e+00 1.0938231e+00 + 1.6439726e+00 1.1023333e+00 + 1.6443573e+00 1.1065221e+00 + 1.6447419e+00 1.1086287e+00 + 1.6451265e+00 1.1144990e+00 + 1.6455112e+00 1.1057744e+00 + 1.6458958e+00 1.0972992e+00 + 1.6462805e+00 1.0943509e+00 + 1.6466651e+00 1.0938045e+00 + 1.6470498e+00 1.0904316e+00 + 1.6474344e+00 1.0900717e+00 + 1.6478191e+00 1.0821639e+00 + 1.6482037e+00 1.0762130e+00 + 1.6485884e+00 1.0650500e+00 + 1.6489730e+00 1.0660119e+00 + 1.6493576e+00 1.0693139e+00 + 1.6497423e+00 1.0652874e+00 + 1.6501269e+00 1.0543714e+00 + 1.6505116e+00 1.0516501e+00 + 1.6508962e+00 1.0657121e+00 + 1.6512809e+00 1.0590995e+00 + 1.6516655e+00 1.0654684e+00 + 1.6520502e+00 1.0734806e+00 + 1.6524348e+00 1.0722162e+00 + 1.6528194e+00 1.0744058e+00 + 1.6532041e+00 1.0714236e+00 + 1.6535887e+00 1.0704340e+00 + 1.6539734e+00 1.0788573e+00 + 1.6543580e+00 1.0770501e+00 + 1.6547427e+00 1.0776692e+00 + 1.6551273e+00 1.0726648e+00 + 1.6555120e+00 1.0637436e+00 + 1.6558966e+00 1.0640083e+00 + 1.6562813e+00 1.0612470e+00 + 1.6566659e+00 1.0629349e+00 + 1.6570505e+00 1.0690847e+00 + 1.6574352e+00 1.0725654e+00 + 1.6578198e+00 1.0733731e+00 + 1.6582045e+00 1.0779079e+00 + 1.6585891e+00 1.0741383e+00 + 1.6589738e+00 1.0810370e+00 + 1.6593584e+00 1.0916068e+00 + 1.6597431e+00 1.1005378e+00 + 1.6601277e+00 1.1019736e+00 + 1.6605123e+00 1.1030853e+00 + 1.6608970e+00 1.0971541e+00 + 1.6612816e+00 1.0971874e+00 + 1.6616663e+00 1.0916236e+00 + 1.6620509e+00 1.0887300e+00 + 1.6624356e+00 1.0897613e+00 + 1.6628202e+00 1.0928091e+00 + 1.6632049e+00 1.0845627e+00 + 1.6635895e+00 1.0929824e+00 + 1.6639742e+00 1.0850943e+00 + 1.6643588e+00 1.0880316e+00 + 1.6647434e+00 1.0838709e+00 + 1.6651281e+00 1.0843344e+00 + 1.6655127e+00 1.0832771e+00 + 1.6658974e+00 1.0887321e+00 + 1.6662820e+00 1.0893515e+00 + 1.6666667e+00 1.1015952e+00 + 1.6670513e+00 1.1032188e+00 + 1.6674360e+00 1.1003240e+00 + 1.6678206e+00 1.1099570e+00 + 1.6682052e+00 1.1037269e+00 + 1.6685899e+00 1.1090615e+00 + 1.6689745e+00 1.1147388e+00 + 1.6693592e+00 1.1168832e+00 + 1.6697438e+00 1.1210054e+00 + 1.6701285e+00 1.1131101e+00 + 1.6705131e+00 1.1048996e+00 + 1.6708978e+00 1.1006770e+00 + 1.6712824e+00 1.1050224e+00 + 1.6716671e+00 1.0927623e+00 + 1.6720517e+00 1.0927010e+00 + 1.6724363e+00 1.0993476e+00 + 1.6728210e+00 1.0994877e+00 + 1.6732056e+00 1.1018214e+00 + 1.6735903e+00 1.0948748e+00 + 1.6739749e+00 1.0906365e+00 + 1.6743596e+00 1.0931252e+00 + 1.6747442e+00 1.0905352e+00 + 1.6751289e+00 1.0996427e+00 + 1.6755135e+00 1.1000495e+00 + 1.6758981e+00 1.0961367e+00 + 1.6762828e+00 1.1046505e+00 + 1.6766674e+00 1.0931819e+00 + 1.6770521e+00 1.0981930e+00 + 1.6774367e+00 1.0929345e+00 + 1.6778214e+00 1.0996090e+00 + 1.6782060e+00 1.1006945e+00 + 1.6785907e+00 1.1100399e+00 + 1.6789753e+00 1.1092941e+00 + 1.6793600e+00 1.1131310e+00 + 1.6797446e+00 1.1187255e+00 + 1.6801292e+00 1.1201764e+00 + 1.6805139e+00 1.1194410e+00 + 1.6808985e+00 1.1245643e+00 + 1.6812832e+00 1.1236490e+00 + 1.6816678e+00 1.1267166e+00 + 1.6820525e+00 1.1307739e+00 + 1.6824371e+00 1.1398288e+00 + 1.6828218e+00 1.1440116e+00 + 1.6832064e+00 1.1334927e+00 + 1.6835910e+00 1.1199549e+00 + 1.6839757e+00 1.1159705e+00 + 1.6843603e+00 1.1215102e+00 + 1.6847450e+00 1.1160215e+00 + 1.6851296e+00 1.1075489e+00 + 1.6855143e+00 1.1022620e+00 + 1.6858989e+00 1.0961178e+00 + 1.6862836e+00 1.0894744e+00 + 1.6866682e+00 1.1031347e+00 + 1.6870529e+00 1.0927881e+00 + 1.6874375e+00 1.0975943e+00 + 1.6878221e+00 1.0932024e+00 + 1.6882068e+00 1.0923715e+00 + 1.6885914e+00 1.0951983e+00 + 1.6889761e+00 1.0885156e+00 + 1.6893607e+00 1.0793242e+00 + 1.6897454e+00 1.0807972e+00 + 1.6901300e+00 1.0845322e+00 + 1.6905147e+00 1.0799263e+00 + 1.6908993e+00 1.0762323e+00 + 1.6912839e+00 1.0703197e+00 + 1.6916686e+00 1.0704441e+00 + 1.6920532e+00 1.0621676e+00 + 1.6924379e+00 1.0647490e+00 + 1.6928225e+00 1.0588276e+00 + 1.6932072e+00 1.0556510e+00 + 1.6935918e+00 1.0613813e+00 + 1.6939765e+00 1.0596959e+00 + 1.6943611e+00 1.0654796e+00 + 1.6947457e+00 1.0640017e+00 + 1.6951304e+00 1.0712919e+00 + 1.6955150e+00 1.0733791e+00 + 1.6958997e+00 1.0745233e+00 + 1.6962843e+00 1.0722262e+00 + 1.6966690e+00 1.0643379e+00 + 1.6970536e+00 1.0722708e+00 + 1.6974383e+00 1.0729823e+00 + 1.6978229e+00 1.0757919e+00 + 1.6982076e+00 1.0683556e+00 + 1.6985922e+00 1.0738005e+00 + 1.6989768e+00 1.0807363e+00 + 1.6993615e+00 1.0756008e+00 + 1.6997461e+00 1.0825906e+00 + 1.7001308e+00 1.0864046e+00 + 1.7005154e+00 1.0941274e+00 + 1.7009001e+00 1.1001684e+00 + 1.7012847e+00 1.1008840e+00 + 1.7016694e+00 1.1011730e+00 + 1.7020540e+00 1.1001580e+00 + 1.7024386e+00 1.1013466e+00 + 1.7028233e+00 1.1127751e+00 + 1.7032079e+00 1.1058064e+00 + 1.7035926e+00 1.0989820e+00 + 1.7039772e+00 1.0983023e+00 + 1.7043619e+00 1.0975527e+00 + 1.7047465e+00 1.0956496e+00 + 1.7051312e+00 1.0881325e+00 + 1.7055158e+00 1.0832927e+00 + 1.7059005e+00 1.0802044e+00 + 1.7062851e+00 1.0897587e+00 + 1.7066697e+00 1.0932794e+00 + 1.7070544e+00 1.0914508e+00 + 1.7074390e+00 1.0894233e+00 + 1.7078237e+00 1.0893248e+00 + 1.7082083e+00 1.0851056e+00 + 1.7085930e+00 1.0871979e+00 + 1.7089776e+00 1.0848214e+00 + 1.7093623e+00 1.0854661e+00 + 1.7097469e+00 1.0772188e+00 + 1.7101315e+00 1.0803465e+00 + 1.7105162e+00 1.0726564e+00 + 1.7109008e+00 1.0782956e+00 + 1.7112855e+00 1.0766135e+00 + 1.7116701e+00 1.0804864e+00 + 1.7120548e+00 1.0810290e+00 + 1.7124394e+00 1.0788835e+00 + 1.7128241e+00 1.0852581e+00 + 1.7132087e+00 1.0835977e+00 + 1.7135934e+00 1.0814428e+00 + 1.7139780e+00 1.0796735e+00 + 1.7143626e+00 1.0883121e+00 + 1.7147473e+00 1.0937197e+00 + 1.7151319e+00 1.0972724e+00 + 1.7155166e+00 1.0958165e+00 + 1.7159012e+00 1.0799467e+00 + 1.7162859e+00 1.0790344e+00 + 1.7166705e+00 1.0827973e+00 + 1.7170552e+00 1.0743778e+00 + 1.7174398e+00 1.0692867e+00 + 1.7178244e+00 1.0680910e+00 + 1.7182091e+00 1.0635565e+00 + 1.7185937e+00 1.0650001e+00 + 1.7189784e+00 1.0645175e+00 + 1.7193630e+00 1.0557196e+00 + 1.7197477e+00 1.0417121e+00 + 1.7201323e+00 1.0435542e+00 + 1.7205170e+00 1.0444771e+00 + 1.7209016e+00 1.0453234e+00 + 1.7212863e+00 1.0476997e+00 + 1.7216709e+00 1.0427679e+00 + 1.7220555e+00 1.0265886e+00 + 1.7224402e+00 1.0264899e+00 + 1.7228248e+00 1.0307748e+00 + 1.7232095e+00 1.0304317e+00 + 1.7235941e+00 1.0329605e+00 + 1.7239788e+00 1.0293401e+00 + 1.7243634e+00 1.0378375e+00 + 1.7247481e+00 1.0393032e+00 + 1.7251327e+00 1.0487996e+00 + 1.7255173e+00 1.0504558e+00 + 1.7259020e+00 1.0664593e+00 + 1.7262866e+00 1.0731846e+00 + 1.7266713e+00 1.0755911e+00 + 1.7270559e+00 1.0846213e+00 + 1.7274406e+00 1.0958439e+00 + 1.7278252e+00 1.0918343e+00 + 1.7282099e+00 1.0853552e+00 + 1.7285945e+00 1.0794839e+00 + 1.7289792e+00 1.0856745e+00 + 1.7293638e+00 1.0909557e+00 + 1.7297484e+00 1.0829038e+00 + 1.7301331e+00 1.0792999e+00 + 1.7305177e+00 1.0806010e+00 + 1.7309024e+00 1.0794584e+00 + 1.7312870e+00 1.0775942e+00 + 1.7316717e+00 1.0814685e+00 + 1.7320563e+00 1.0832240e+00 + 1.7324410e+00 1.0815208e+00 + 1.7328256e+00 1.0850303e+00 + 1.7332102e+00 1.0716250e+00 + 1.7335949e+00 1.0769398e+00 + 1.7339795e+00 1.0792589e+00 + 1.7343642e+00 1.0851019e+00 + 1.7347488e+00 1.0894179e+00 + 1.7351335e+00 1.0935844e+00 + 1.7355181e+00 1.1000472e+00 + 1.7359028e+00 1.1142239e+00 + 1.7362874e+00 1.1199223e+00 + 1.7366721e+00 1.1262097e+00 + 1.7370567e+00 1.1295558e+00 + 1.7374413e+00 1.1236741e+00 + 1.7378260e+00 1.1223489e+00 + 1.7382106e+00 1.1201810e+00 + 1.7385953e+00 1.1212192e+00 + 1.7389799e+00 1.1304729e+00 + 1.7393646e+00 1.1379509e+00 + 1.7397492e+00 1.1431184e+00 + 1.7401339e+00 1.1525748e+00 + 1.7405185e+00 1.1448326e+00 + 1.7409031e+00 1.1441337e+00 + 1.7412878e+00 1.1370278e+00 + 1.7416724e+00 1.1349717e+00 + 1.7420571e+00 1.1363632e+00 + 1.7424417e+00 1.1356203e+00 + 1.7428264e+00 1.1451375e+00 + 1.7432110e+00 1.1550186e+00 + 1.7435957e+00 1.1519387e+00 + 1.7439803e+00 1.1513060e+00 + 1.7443650e+00 1.1507308e+00 + 1.7447496e+00 1.1487649e+00 + 1.7451342e+00 1.1425055e+00 + 1.7455189e+00 1.1489981e+00 + 1.7459035e+00 1.1406646e+00 + 1.7462882e+00 1.1369099e+00 + 1.7466728e+00 1.1343725e+00 + 1.7470575e+00 1.1337214e+00 + 1.7474421e+00 1.1290336e+00 + 1.7478268e+00 1.1283070e+00 + 1.7482114e+00 1.1300010e+00 + 1.7485960e+00 1.1344808e+00 + 1.7489807e+00 1.1329486e+00 + 1.7493653e+00 1.1262104e+00 + 1.7497500e+00 1.1374033e+00 + 1.7501346e+00 1.1375185e+00 + 1.7505193e+00 1.1488328e+00 + 1.7509039e+00 1.1494791e+00 + 1.7512886e+00 1.1489634e+00 + 1.7516732e+00 1.1395089e+00 + 1.7520579e+00 1.1385608e+00 + 1.7524425e+00 1.1381654e+00 + 1.7528271e+00 1.1383081e+00 + 1.7532118e+00 1.1345188e+00 + 1.7535964e+00 1.1252009e+00 + 1.7539811e+00 1.1186575e+00 + 1.7543657e+00 1.1210131e+00 + 1.7547504e+00 1.1197839e+00 + 1.7551350e+00 1.1267455e+00 + 1.7555197e+00 1.1133369e+00 + 1.7559043e+00 1.1140767e+00 + 1.7562889e+00 1.1208099e+00 + 1.7566736e+00 1.1158778e+00 + 1.7570582e+00 1.1189785e+00 + 1.7574429e+00 1.1141732e+00 + 1.7578275e+00 1.1166514e+00 + 1.7582122e+00 1.1322119e+00 + 1.7585968e+00 1.1336134e+00 + 1.7589815e+00 1.1451166e+00 + 1.7593661e+00 1.1439341e+00 + 1.7597508e+00 1.1489683e+00 + 1.7601354e+00 1.1529804e+00 + 1.7605200e+00 1.1633140e+00 + 1.7609047e+00 1.1556929e+00 + 1.7612893e+00 1.1603763e+00 + 1.7616740e+00 1.1629525e+00 + 1.7620586e+00 1.1647441e+00 + 1.7624433e+00 1.1643584e+00 + 1.7628279e+00 1.1727696e+00 + 1.7632126e+00 1.1651021e+00 + 1.7635972e+00 1.1497671e+00 + 1.7639818e+00 1.1488609e+00 + 1.7643665e+00 1.1510060e+00 + 1.7647511e+00 1.1451073e+00 + 1.7651358e+00 1.1378280e+00 + 1.7655204e+00 1.1392154e+00 + 1.7659051e+00 1.1453424e+00 + 1.7662897e+00 1.1442897e+00 + 1.7666744e+00 1.1507549e+00 + 1.7670590e+00 1.1559132e+00 + 1.7674436e+00 1.1572133e+00 + 1.7678283e+00 1.1552572e+00 + 1.7682129e+00 1.1504411e+00 + 1.7685976e+00 1.1563732e+00 + 1.7689822e+00 1.1602218e+00 + 1.7693669e+00 1.1646206e+00 + 1.7697515e+00 1.1668614e+00 + 1.7701362e+00 1.1621863e+00 + 1.7705208e+00 1.1649004e+00 + 1.7709055e+00 1.1634458e+00 + 1.7712901e+00 1.1653069e+00 + 1.7716747e+00 1.1776399e+00 + 1.7720594e+00 1.1653540e+00 + 1.7724440e+00 1.1629713e+00 + 1.7728287e+00 1.1720985e+00 + 1.7732133e+00 1.1644430e+00 + 1.7735980e+00 1.1619329e+00 + 1.7739826e+00 1.1554399e+00 + 1.7743673e+00 1.1531240e+00 + 1.7747519e+00 1.1458930e+00 + 1.7751365e+00 1.1472626e+00 + 1.7755212e+00 1.1517958e+00 + 1.7759058e+00 1.1438668e+00 + 1.7762905e+00 1.1477557e+00 + 1.7766751e+00 1.1444570e+00 + 1.7770598e+00 1.1479339e+00 + 1.7774444e+00 1.1491694e+00 + 1.7778291e+00 1.1454931e+00 + 1.7782137e+00 1.1587919e+00 + 1.7785984e+00 1.1662859e+00 + 1.7789830e+00 1.1653083e+00 + 1.7793676e+00 1.1696129e+00 + 1.7797523e+00 1.1629360e+00 + 1.7801369e+00 1.1689904e+00 + 1.7805216e+00 1.1672515e+00 + 1.7809062e+00 1.1655864e+00 + 1.7812909e+00 1.1777856e+00 + 1.7816755e+00 1.1713870e+00 + 1.7820602e+00 1.1601119e+00 + 1.7824448e+00 1.1658844e+00 + 1.7828294e+00 1.1717478e+00 + 1.7832141e+00 1.1730240e+00 + 1.7835987e+00 1.1706145e+00 + 1.7839834e+00 1.1685249e+00 + 1.7843680e+00 1.1607245e+00 + 1.7847527e+00 1.1701536e+00 + 1.7851373e+00 1.1775834e+00 + 1.7855220e+00 1.1811940e+00 + 1.7859066e+00 1.1753805e+00 + 1.7862913e+00 1.1908110e+00 + 1.7866759e+00 1.2008692e+00 + 1.7870605e+00 1.2010865e+00 + 1.7874452e+00 1.2027037e+00 + 1.7878298e+00 1.2069230e+00 + 1.7882145e+00 1.2041843e+00 + 1.7885991e+00 1.2025379e+00 + 1.7889838e+00 1.2008675e+00 + 1.7893684e+00 1.2052752e+00 + 1.7897531e+00 1.2058844e+00 + 1.7901377e+00 1.2031809e+00 + 1.7905223e+00 1.2079607e+00 + 1.7909070e+00 1.2044162e+00 + 1.7912916e+00 1.2147629e+00 + 1.7916763e+00 1.2062879e+00 + 1.7920609e+00 1.1964005e+00 + 1.7924456e+00 1.1913824e+00 + 1.7928302e+00 1.1826212e+00 + 1.7932149e+00 1.1795718e+00 + 1.7935995e+00 1.1814316e+00 + 1.7939842e+00 1.1901285e+00 + 1.7943688e+00 1.1895724e+00 + 1.7947534e+00 1.1808119e+00 + 1.7951381e+00 1.1795979e+00 + 1.7955227e+00 1.1773834e+00 + 1.7959074e+00 1.1822530e+00 + 1.7962920e+00 1.1799704e+00 + 1.7966767e+00 1.1805188e+00 + 1.7970613e+00 1.1753409e+00 + 1.7974460e+00 1.1762611e+00 + 1.7978306e+00 1.1663449e+00 + 1.7982152e+00 1.1758324e+00 + 1.7985999e+00 1.1854943e+00 + 1.7989845e+00 1.1836761e+00 + 1.7993692e+00 1.1885760e+00 + 1.7997538e+00 1.1930113e+00 + 1.8001385e+00 1.1939214e+00 + 1.8005231e+00 1.1901202e+00 + 1.8009078e+00 1.1847226e+00 + 1.8012924e+00 1.1823105e+00 + 1.8016771e+00 1.1842719e+00 + 1.8020617e+00 1.1744578e+00 + 1.8024463e+00 1.1860040e+00 + 1.8028310e+00 1.1864989e+00 + 1.8032156e+00 1.1991153e+00 + 1.8036003e+00 1.2008227e+00 + 1.8039849e+00 1.1995562e+00 + 1.8043696e+00 1.2099437e+00 + 1.8047542e+00 1.2007002e+00 + 1.8051389e+00 1.2040669e+00 + 1.8055235e+00 1.2096365e+00 + 1.8059081e+00 1.2134096e+00 + 1.8062928e+00 1.2152726e+00 + 1.8066774e+00 1.2050679e+00 + 1.8070621e+00 1.2126239e+00 + 1.8074467e+00 1.2091738e+00 + 1.8078314e+00 1.2084340e+00 + 1.8082160e+00 1.2109606e+00 + 1.8086007e+00 1.2089055e+00 + 1.8089853e+00 1.2048223e+00 + 1.8093700e+00 1.2070282e+00 + 1.8097546e+00 1.2085265e+00 + 1.8101392e+00 1.2049104e+00 + 1.8105239e+00 1.2066103e+00 + 1.8109085e+00 1.2113202e+00 + 1.8112932e+00 1.2213102e+00 + 1.8116778e+00 1.2274521e+00 + 1.8120625e+00 1.2281156e+00 + 1.8124471e+00 1.2241585e+00 + 1.8128318e+00 1.2175013e+00 + 1.8132164e+00 1.2133794e+00 + 1.8136010e+00 1.2145534e+00 + 1.8139857e+00 1.2013640e+00 + 1.8143703e+00 1.1991716e+00 + 1.8147550e+00 1.1921837e+00 + 1.8151396e+00 1.1907834e+00 + 1.8155243e+00 1.1932352e+00 + 1.8159089e+00 1.1964144e+00 + 1.8162936e+00 1.1917297e+00 + 1.8166782e+00 1.1993368e+00 + 1.8170629e+00 1.2019566e+00 + 1.8174475e+00 1.1976407e+00 + 1.8178321e+00 1.1949648e+00 + 1.8182168e+00 1.1880873e+00 + 1.8186014e+00 1.2035132e+00 + 1.8189861e+00 1.1997243e+00 + 1.8193707e+00 1.2081628e+00 + 1.8197554e+00 1.2156166e+00 + 1.8201400e+00 1.2188928e+00 + 1.8205247e+00 1.2102837e+00 + 1.8209093e+00 1.2165975e+00 + 1.8212939e+00 1.2173038e+00 + 1.8216786e+00 1.2089180e+00 + 1.8220632e+00 1.2067377e+00 + 1.8224479e+00 1.2098901e+00 + 1.8228325e+00 1.2166674e+00 + 1.8232172e+00 1.2193165e+00 + 1.8236018e+00 1.2271731e+00 + 1.8239865e+00 1.2274261e+00 + 1.8243711e+00 1.2295401e+00 + 1.8247558e+00 1.2257722e+00 + 1.8251404e+00 1.2309003e+00 + 1.8255250e+00 1.2232359e+00 + 1.8259097e+00 1.2205456e+00 + 1.8262943e+00 1.2215977e+00 + 1.8266790e+00 1.2373241e+00 + 1.8270636e+00 1.2410350e+00 + 1.8274483e+00 1.2392795e+00 + 1.8278329e+00 1.2300576e+00 + 1.8282176e+00 1.2242475e+00 + 1.8286022e+00 1.2343872e+00 + 1.8289868e+00 1.2342367e+00 + 1.8293715e+00 1.2355327e+00 + 1.8297561e+00 1.2326505e+00 + 1.8301408e+00 1.2357763e+00 + 1.8305254e+00 1.2322867e+00 + 1.8309101e+00 1.2397920e+00 + 1.8312947e+00 1.2318465e+00 + 1.8316794e+00 1.2273601e+00 + 1.8320640e+00 1.2271797e+00 + 1.8324486e+00 1.2211543e+00 + 1.8328333e+00 1.2114817e+00 + 1.8332179e+00 1.2107359e+00 + 1.8336026e+00 1.2100653e+00 + 1.8339872e+00 1.2174192e+00 + 1.8343719e+00 1.2126602e+00 + 1.8347565e+00 1.2046604e+00 + 1.8351412e+00 1.1999639e+00 + 1.8355258e+00 1.1982454e+00 + 1.8359105e+00 1.2028094e+00 + 1.8362951e+00 1.1978744e+00 + 1.8366797e+00 1.1971936e+00 + 1.8370644e+00 1.1944149e+00 + 1.8374490e+00 1.1996711e+00 + 1.8378337e+00 1.2114305e+00 + 1.8382183e+00 1.2118054e+00 + 1.8386030e+00 1.2056528e+00 + 1.8389876e+00 1.2096104e+00 + 1.8393723e+00 1.2126424e+00 + 1.8397569e+00 1.2166981e+00 + 1.8401415e+00 1.2143879e+00 + 1.8405262e+00 1.2099372e+00 + 1.8409108e+00 1.2096699e+00 + 1.8412955e+00 1.2031926e+00 + 1.8416801e+00 1.2036381e+00 + 1.8420648e+00 1.2127322e+00 + 1.8424494e+00 1.2068282e+00 + 1.8428341e+00 1.2074464e+00 + 1.8432187e+00 1.2091794e+00 + 1.8436034e+00 1.2067296e+00 + 1.8439880e+00 1.2090280e+00 + 1.8443726e+00 1.2061566e+00 + 1.8447573e+00 1.2024958e+00 + 1.8451419e+00 1.1965155e+00 + 1.8455266e+00 1.1894699e+00 + 1.8459112e+00 1.1929705e+00 + 1.8462959e+00 1.1944709e+00 + 1.8466805e+00 1.1969448e+00 + 1.8470652e+00 1.1871709e+00 + 1.8474498e+00 1.1904410e+00 + 1.8478344e+00 1.1870444e+00 + 1.8482191e+00 1.1940588e+00 + 1.8486037e+00 1.1800001e+00 + 1.8489884e+00 1.1816456e+00 + 1.8493730e+00 1.1778348e+00 + 1.8497577e+00 1.1770236e+00 + 1.8501423e+00 1.1755249e+00 + 1.8505270e+00 1.1769186e+00 + 1.8509116e+00 1.1823408e+00 + 1.8512963e+00 1.1767048e+00 + 1.8516809e+00 1.1610996e+00 + 1.8520655e+00 1.1626876e+00 + 1.8524502e+00 1.1661390e+00 + 1.8528348e+00 1.1540843e+00 + 1.8532195e+00 1.1591605e+00 + 1.8536041e+00 1.1637189e+00 + 1.8539888e+00 1.1601412e+00 + 1.8543734e+00 1.1624231e+00 + 1.8547581e+00 1.1512397e+00 + 1.8551427e+00 1.1551295e+00 + 1.8555273e+00 1.1584765e+00 + 1.8559120e+00 1.1559007e+00 + 1.8562966e+00 1.1567737e+00 + 1.8566813e+00 1.1607193e+00 + 1.8570659e+00 1.1668717e+00 + 1.8574506e+00 1.1718729e+00 + 1.8578352e+00 1.1800183e+00 + 1.8582199e+00 1.1948722e+00 + 1.8586045e+00 1.1975044e+00 + 1.8589892e+00 1.2034871e+00 + 1.8593738e+00 1.2089234e+00 + 1.8597584e+00 1.2062478e+00 + 1.8601431e+00 1.2154292e+00 + 1.8605277e+00 1.2106417e+00 + 1.8609124e+00 1.2042940e+00 + 1.8612970e+00 1.2007703e+00 + 1.8616817e+00 1.1984679e+00 + 1.8620663e+00 1.2025659e+00 + 1.8624510e+00 1.2032975e+00 + 1.8628356e+00 1.2079611e+00 + 1.8632202e+00 1.2046241e+00 + 1.8636049e+00 1.1987498e+00 + 1.8639895e+00 1.2070415e+00 + 1.8643742e+00 1.2060121e+00 + 1.8647588e+00 1.2060675e+00 + 1.8651435e+00 1.2029278e+00 + 1.8655281e+00 1.1961705e+00 + 1.8659128e+00 1.2001911e+00 + 1.8662974e+00 1.1995640e+00 + 1.8666821e+00 1.1956737e+00 + 1.8670667e+00 1.2077968e+00 + 1.8674513e+00 1.2102414e+00 + 1.8678360e+00 1.2056253e+00 + 1.8682206e+00 1.2095131e+00 + 1.8686053e+00 1.2029340e+00 + 1.8689899e+00 1.2067764e+00 + 1.8693746e+00 1.2243594e+00 + 1.8697592e+00 1.2161860e+00 + 1.8701439e+00 1.2144712e+00 + 1.8705285e+00 1.2103183e+00 + 1.8709131e+00 1.2070352e+00 + 1.8712978e+00 1.1934353e+00 + 1.8716824e+00 1.1975604e+00 + 1.8720671e+00 1.2034115e+00 + 1.8724517e+00 1.2018936e+00 + 1.8728364e+00 1.2081600e+00 + 1.8732210e+00 1.2081613e+00 + 1.8736057e+00 1.2054452e+00 + 1.8739903e+00 1.2105925e+00 + 1.8743750e+00 1.2177476e+00 + 1.8747596e+00 1.2233521e+00 + 1.8751442e+00 1.2206202e+00 + 1.8755289e+00 1.2226861e+00 + 1.8759135e+00 1.2137799e+00 + 1.8762982e+00 1.2101165e+00 + 1.8766828e+00 1.2135892e+00 + 1.8770675e+00 1.2203955e+00 + 1.8774521e+00 1.2044824e+00 + 1.8778368e+00 1.2144314e+00 + 1.8782214e+00 1.2249234e+00 + 1.8786060e+00 1.2152342e+00 + 1.8789907e+00 1.2182010e+00 + 1.8793753e+00 1.2227813e+00 + 1.8797600e+00 1.2183742e+00 + 1.8801446e+00 1.2162973e+00 + 1.8805293e+00 1.2260096e+00 + 1.8809139e+00 1.2284417e+00 + 1.8812986e+00 1.2250800e+00 + 1.8816832e+00 1.2269993e+00 + 1.8820679e+00 1.2254418e+00 + 1.8824525e+00 1.2231562e+00 + 1.8828371e+00 1.2295471e+00 + 1.8832218e+00 1.2223671e+00 + 1.8836064e+00 1.2179967e+00 + 1.8839911e+00 1.2213574e+00 + 1.8843757e+00 1.2124464e+00 + 1.8847604e+00 1.2215775e+00 + 1.8851450e+00 1.2294790e+00 + 1.8855297e+00 1.2393234e+00 + 1.8859143e+00 1.2393322e+00 + 1.8862989e+00 1.2360169e+00 + 1.8866836e+00 1.2457106e+00 + 1.8870682e+00 1.2414158e+00 + 1.8874529e+00 1.2425746e+00 + 1.8878375e+00 1.2354592e+00 + 1.8882222e+00 1.2247638e+00 + 1.8886068e+00 1.2198585e+00 + 1.8889915e+00 1.2281695e+00 + 1.8893761e+00 1.2314941e+00 + 1.8897608e+00 1.2370781e+00 + 1.8901454e+00 1.2290046e+00 + 1.8905300e+00 1.2385953e+00 + 1.8909147e+00 1.2312435e+00 + 1.8912993e+00 1.2309201e+00 + 1.8916840e+00 1.2395145e+00 + 1.8920686e+00 1.2438587e+00 + 1.8924533e+00 1.2603761e+00 + 1.8928379e+00 1.2445097e+00 + 1.8932226e+00 1.2526381e+00 + 1.8936072e+00 1.2549636e+00 + 1.8939918e+00 1.2573625e+00 + 1.8943765e+00 1.2568969e+00 + 1.8947611e+00 1.2545465e+00 + 1.8951458e+00 1.2550123e+00 + 1.8955304e+00 1.2430464e+00 + 1.8959151e+00 1.2476494e+00 + 1.8962997e+00 1.2398567e+00 + 1.8966844e+00 1.2381631e+00 + 1.8970690e+00 1.2366806e+00 + 1.8974537e+00 1.2327855e+00 + 1.8978383e+00 1.2389295e+00 + 1.8982229e+00 1.2459203e+00 + 1.8986076e+00 1.2436798e+00 + 1.8989922e+00 1.2394677e+00 + 1.8993769e+00 1.2461514e+00 + 1.8997615e+00 1.2459127e+00 + 1.9001462e+00 1.2411892e+00 + 1.9005308e+00 1.2314219e+00 + 1.9009155e+00 1.2305650e+00 + 1.9013001e+00 1.2192878e+00 + 1.9016847e+00 1.2103976e+00 + 1.9020694e+00 1.2100736e+00 + 1.9024540e+00 1.1968888e+00 + 1.9028387e+00 1.1934577e+00 + 1.9032233e+00 1.1865571e+00 + 1.9036080e+00 1.1791963e+00 + 1.9039926e+00 1.1799690e+00 + 1.9043773e+00 1.1791177e+00 + 1.9047619e+00 1.1688517e+00 + 1.9051465e+00 1.1617940e+00 + 1.9055312e+00 1.1750297e+00 + 1.9059158e+00 1.1732664e+00 + 1.9063005e+00 1.1750185e+00 + 1.9066851e+00 1.1731240e+00 + 1.9070698e+00 1.1714730e+00 + 1.9074544e+00 1.1735410e+00 + 1.9078391e+00 1.1825976e+00 + 1.9082237e+00 1.1879874e+00 + 1.9086084e+00 1.1900530e+00 + 1.9089930e+00 1.1859006e+00 + 1.9093776e+00 1.1926992e+00 + 1.9097623e+00 1.1865814e+00 + 1.9101469e+00 1.2079153e+00 + 1.9105316e+00 1.2160749e+00 + 1.9109162e+00 1.2141507e+00 + 1.9113009e+00 1.2048720e+00 + 1.9116855e+00 1.2006848e+00 + 1.9120702e+00 1.2043989e+00 + 1.9124548e+00 1.2132506e+00 + 1.9128394e+00 1.2031173e+00 + 1.9132241e+00 1.2021479e+00 + 1.9136087e+00 1.1978886e+00 + 1.9139934e+00 1.2080664e+00 + 1.9143780e+00 1.2154900e+00 + 1.9147627e+00 1.2113008e+00 + 1.9151473e+00 1.2067967e+00 + 1.9155320e+00 1.2116595e+00 + 1.9159166e+00 1.2205436e+00 + 1.9163013e+00 1.2243408e+00 + 1.9166859e+00 1.2304488e+00 + 1.9170705e+00 1.2364022e+00 + 1.9174552e+00 1.2524683e+00 + 1.9178398e+00 1.2609747e+00 + 1.9182245e+00 1.2664822e+00 + 1.9186091e+00 1.2686720e+00 + 1.9189938e+00 1.2709890e+00 + 1.9193784e+00 1.2653869e+00 + 1.9197631e+00 1.2686343e+00 + 1.9201477e+00 1.2663423e+00 + 1.9205323e+00 1.2657249e+00 + 1.9209170e+00 1.2561783e+00 + 1.9213016e+00 1.2594277e+00 + 1.9216863e+00 1.2663012e+00 + 1.9220709e+00 1.2593048e+00 + 1.9224556e+00 1.2554931e+00 + 1.9228402e+00 1.2489733e+00 + 1.9232249e+00 1.2417866e+00 + 1.9236095e+00 1.2542986e+00 + 1.9239942e+00 1.2508150e+00 + 1.9243788e+00 1.2520372e+00 + 1.9247634e+00 1.2500216e+00 + 1.9251481e+00 1.2428505e+00 + 1.9255327e+00 1.2392202e+00 + 1.9259174e+00 1.2389879e+00 + 1.9263020e+00 1.2327086e+00 + 1.9266867e+00 1.2263563e+00 + 1.9270713e+00 1.2213853e+00 + 1.9274560e+00 1.2207711e+00 + 1.9278406e+00 1.2201266e+00 + 1.9282252e+00 1.2229134e+00 + 1.9286099e+00 1.2241736e+00 + 1.9289945e+00 1.2222385e+00 + 1.9293792e+00 1.2252082e+00 + 1.9297638e+00 1.2301438e+00 + 1.9301485e+00 1.2259565e+00 + 1.9305331e+00 1.2206562e+00 + 1.9309178e+00 1.2237265e+00 + 1.9313024e+00 1.2298126e+00 + 1.9316871e+00 1.2349823e+00 + 1.9320717e+00 1.2320619e+00 + 1.9324563e+00 1.2367863e+00 + 1.9328410e+00 1.2460864e+00 + 1.9332256e+00 1.2486524e+00 + 1.9336103e+00 1.2485217e+00 + 1.9339949e+00 1.2526554e+00 + 1.9343796e+00 1.2589982e+00 + 1.9347642e+00 1.2678205e+00 + 1.9351489e+00 1.2659046e+00 + 1.9355335e+00 1.2629272e+00 + 1.9359181e+00 1.2558255e+00 + 1.9363028e+00 1.2560353e+00 + 1.9366874e+00 1.2511461e+00 + 1.9370721e+00 1.2507365e+00 + 1.9374567e+00 1.2513445e+00 + 1.9378414e+00 1.2403456e+00 + 1.9382260e+00 1.2428133e+00 + 1.9386107e+00 1.2463315e+00 + 1.9389953e+00 1.2500373e+00 + 1.9393800e+00 1.2532385e+00 + 1.9397646e+00 1.2508864e+00 + 1.9401492e+00 1.2420733e+00 + 1.9405339e+00 1.2392764e+00 + 1.9409185e+00 1.2411847e+00 + 1.9413032e+00 1.2469185e+00 + 1.9416878e+00 1.2443487e+00 + 1.9420725e+00 1.2408456e+00 + 1.9424571e+00 1.2423165e+00 + 1.9428418e+00 1.2379459e+00 + 1.9432264e+00 1.2353603e+00 + 1.9436110e+00 1.2308010e+00 + 1.9439957e+00 1.2301086e+00 + 1.9443803e+00 1.2367776e+00 + 1.9447650e+00 1.2438397e+00 + 1.9451496e+00 1.2482064e+00 + 1.9455343e+00 1.2522686e+00 + 1.9459189e+00 1.2453666e+00 + 1.9463036e+00 1.2364615e+00 + 1.9466882e+00 1.2377062e+00 + 1.9470729e+00 1.2341425e+00 + 1.9474575e+00 1.2336180e+00 + 1.9478421e+00 1.2369792e+00 + 1.9482268e+00 1.2419607e+00 + 1.9486114e+00 1.2428216e+00 + 1.9489961e+00 1.2426228e+00 + 1.9493807e+00 1.2459701e+00 + 1.9497654e+00 1.2554104e+00 + 1.9501500e+00 1.2625078e+00 + 1.9505347e+00 1.2594484e+00 + 1.9509193e+00 1.2591869e+00 + 1.9513039e+00 1.2528108e+00 + 1.9516886e+00 1.2570080e+00 + 1.9520732e+00 1.2575648e+00 + 1.9524579e+00 1.2517348e+00 + 1.9528425e+00 1.2498867e+00 + 1.9532272e+00 1.2491096e+00 + 1.9536118e+00 1.2523947e+00 + 1.9539965e+00 1.2622287e+00 + 1.9543811e+00 1.2661870e+00 + 1.9547658e+00 1.2524342e+00 + 1.9551504e+00 1.2516987e+00 + 1.9555350e+00 1.2602717e+00 + 1.9559197e+00 1.2626569e+00 + 1.9563043e+00 1.2673141e+00 + 1.9566890e+00 1.2583516e+00 + 1.9570736e+00 1.2578060e+00 + 1.9574583e+00 1.2518313e+00 + 1.9578429e+00 1.2541997e+00 + 1.9582276e+00 1.2459036e+00 + 1.9586122e+00 1.2487727e+00 + 1.9589968e+00 1.2565060e+00 + 1.9593815e+00 1.2559037e+00 + 1.9597661e+00 1.2633319e+00 + 1.9601508e+00 1.2628143e+00 + 1.9605354e+00 1.2598126e+00 + 1.9609201e+00 1.2718813e+00 + 1.9613047e+00 1.2772943e+00 + 1.9616894e+00 1.2842184e+00 + 1.9620740e+00 1.3003227e+00 + 1.9624587e+00 1.3028469e+00 + 1.9628433e+00 1.3023707e+00 + 1.9632279e+00 1.3026012e+00 + 1.9636126e+00 1.3055386e+00 + 1.9639972e+00 1.3126790e+00 + 1.9643819e+00 1.3130919e+00 + 1.9647665e+00 1.3139447e+00 + 1.9651512e+00 1.3161189e+00 + 1.9655358e+00 1.3202171e+00 + 1.9659205e+00 1.3230937e+00 + 1.9663051e+00 1.3187859e+00 + 1.9666897e+00 1.3263499e+00 + 1.9670744e+00 1.3226411e+00 + 1.9674590e+00 1.3183333e+00 + 1.9678437e+00 1.3249305e+00 + 1.9682283e+00 1.3236132e+00 + 1.9686130e+00 1.3292270e+00 + 1.9689976e+00 1.3293617e+00 + 1.9693823e+00 1.3352756e+00 + 1.9697669e+00 1.3214953e+00 + 1.9701516e+00 1.3276030e+00 + 1.9705362e+00 1.3279826e+00 + 1.9709208e+00 1.3335609e+00 + 1.9713055e+00 1.3483079e+00 + 1.9716901e+00 1.3548803e+00 + 1.9720748e+00 1.3555139e+00 + 1.9724594e+00 1.3491189e+00 + 1.9728441e+00 1.3396208e+00 + 1.9732287e+00 1.3301420e+00 + 1.9736134e+00 1.3258975e+00 + 1.9739980e+00 1.3338812e+00 + 1.9743826e+00 1.3390142e+00 + 1.9747673e+00 1.3390340e+00 + 1.9751519e+00 1.3362259e+00 + 1.9755366e+00 1.3281960e+00 + 1.9759212e+00 1.3259832e+00 + 1.9763059e+00 1.3317451e+00 + 1.9766905e+00 1.3460064e+00 + 1.9770752e+00 1.3412276e+00 + 1.9774598e+00 1.3399087e+00 + 1.9778444e+00 1.3453699e+00 + 1.9782291e+00 1.3414598e+00 + 1.9786137e+00 1.3389806e+00 + 1.9789984e+00 1.3290401e+00 + 1.9793830e+00 1.3348657e+00 + 1.9797677e+00 1.3436001e+00 + 1.9801523e+00 1.3522771e+00 + 1.9805370e+00 1.3478033e+00 + 1.9809216e+00 1.3463394e+00 + 1.9813063e+00 1.3575459e+00 + 1.9816909e+00 1.3528320e+00 + 1.9820755e+00 1.3533882e+00 + 1.9824602e+00 1.3551230e+00 + 1.9828448e+00 1.3580210e+00 + 1.9832295e+00 1.3633191e+00 + 1.9836141e+00 1.3575944e+00 + 1.9839988e+00 1.3570550e+00 + 1.9843834e+00 1.3574961e+00 + 1.9847681e+00 1.3532812e+00 + 1.9851527e+00 1.3527523e+00 + 1.9855373e+00 1.3515369e+00 + 1.9859220e+00 1.3600538e+00 + 1.9863066e+00 1.3632894e+00 + 1.9866913e+00 1.3569557e+00 + 1.9870759e+00 1.3492563e+00 + 1.9874606e+00 1.3470984e+00 + 1.9878452e+00 1.3481744e+00 + 1.9882299e+00 1.3485540e+00 + 1.9886145e+00 1.3504559e+00 + 1.9889992e+00 1.3438250e+00 + 1.9893838e+00 1.3477501e+00 + 1.9897684e+00 1.3517995e+00 + 1.9901531e+00 1.3443075e+00 + 1.9905377e+00 1.3397254e+00 + 1.9909224e+00 1.3375276e+00 + 1.9913070e+00 1.3339151e+00 + 1.9916917e+00 1.3381399e+00 + 1.9920763e+00 1.3297152e+00 + 1.9924610e+00 1.3247993e+00 + 1.9928456e+00 1.3224373e+00 + 1.9932302e+00 1.3144849e+00 + 1.9936149e+00 1.3084353e+00 + 1.9939995e+00 1.3048792e+00 + 1.9943842e+00 1.2939817e+00 + 1.9947688e+00 1.2825062e+00 + 1.9951535e+00 1.2718482e+00 + 1.9955381e+00 1.2813898e+00 + 1.9959228e+00 1.2839947e+00 + 1.9963074e+00 1.2848199e+00 + 1.9966921e+00 1.2818169e+00 + 1.9970767e+00 1.2916518e+00 + 1.9974613e+00 1.2972719e+00 + 1.9978460e+00 1.2925807e+00 + 1.9982306e+00 1.2949312e+00 + 1.9986153e+00 1.2958321e+00 + 1.9989999e+00 1.3013723e+00 + 1.9993846e+00 1.3102076e+00 + 1.9997692e+00 1.3058760e+00 + 2.0001539e+00 1.3050643e+00 + 2.0005385e+00 1.3039993e+00 + 2.0009231e+00 1.3080469e+00 + 2.0013078e+00 1.3081948e+00 + 2.0016924e+00 1.2989029e+00 + 2.0020771e+00 1.3032429e+00 + 2.0024617e+00 1.3054764e+00 + 2.0028464e+00 1.3073017e+00 + 2.0032310e+00 1.3042139e+00 + 2.0036157e+00 1.2983414e+00 + 2.0040003e+00 1.3014769e+00 + 2.0043850e+00 1.3005700e+00 + 2.0047696e+00 1.3025855e+00 + 2.0051542e+00 1.3041552e+00 + 2.0055389e+00 1.3019236e+00 + 2.0059235e+00 1.2985963e+00 + 2.0063082e+00 1.2948964e+00 + 2.0066928e+00 1.2869968e+00 + 2.0070775e+00 1.2969220e+00 + 2.0074621e+00 1.2886938e+00 + 2.0078468e+00 1.2890561e+00 + 2.0082314e+00 1.2889613e+00 + 2.0086160e+00 1.2934141e+00 + 2.0090007e+00 1.2834979e+00 + 2.0093853e+00 1.2891445e+00 + 2.0097700e+00 1.2923107e+00 + 2.0101546e+00 1.2977195e+00 + 2.0105393e+00 1.2940081e+00 + 2.0109239e+00 1.3040733e+00 + 2.0113086e+00 1.3007292e+00 + 2.0116932e+00 1.2976439e+00 + 2.0120779e+00 1.2931135e+00 + 2.0124625e+00 1.2918659e+00 + 2.0128471e+00 1.2947814e+00 + 2.0132318e+00 1.2934694e+00 + 2.0136164e+00 1.3052304e+00 + 2.0140011e+00 1.3061910e+00 + 2.0143857e+00 1.2959120e+00 + 2.0147704e+00 1.3029156e+00 + 2.0151550e+00 1.3112644e+00 + 2.0155397e+00 1.3086725e+00 + 2.0159243e+00 1.3100151e+00 + 2.0163089e+00 1.3090021e+00 + 2.0166936e+00 1.3199315e+00 + 2.0170782e+00 1.3103457e+00 + 2.0174629e+00 1.3104581e+00 + 2.0178475e+00 1.3128458e+00 + 2.0182322e+00 1.3058734e+00 + 2.0186168e+00 1.3045160e+00 + 2.0190015e+00 1.2993313e+00 + 2.0193861e+00 1.2939254e+00 + 2.0197708e+00 1.2949281e+00 + 2.0201554e+00 1.2950591e+00 + 2.0205400e+00 1.2927064e+00 + 2.0209247e+00 1.2869949e+00 + 2.0213093e+00 1.2774810e+00 + 2.0216940e+00 1.2719236e+00 + 2.0220786e+00 1.2663438e+00 + 2.0224633e+00 1.2671593e+00 + 2.0228479e+00 1.2698255e+00 + 2.0232326e+00 1.2656118e+00 + 2.0236172e+00 1.2631198e+00 + 2.0240018e+00 1.2658150e+00 + 2.0243865e+00 1.2584990e+00 + 2.0247711e+00 1.2571726e+00 + 2.0251558e+00 1.2629587e+00 + 2.0255404e+00 1.2590399e+00 + 2.0259251e+00 1.2580580e+00 + 2.0263097e+00 1.2650650e+00 + 2.0266944e+00 1.2611450e+00 + 2.0270790e+00 1.2582849e+00 + 2.0274637e+00 1.2434640e+00 + 2.0278483e+00 1.2364451e+00 + 2.0282329e+00 1.2212693e+00 + 2.0286176e+00 1.2227249e+00 + 2.0290022e+00 1.2227238e+00 + 2.0293869e+00 1.2161848e+00 + 2.0297715e+00 1.2155518e+00 + 2.0301562e+00 1.2043217e+00 + 2.0305408e+00 1.2037727e+00 + 2.0309255e+00 1.2045698e+00 + 2.0313101e+00 1.2081022e+00 + 2.0316947e+00 1.2094309e+00 + 2.0320794e+00 1.2055856e+00 + 2.0324640e+00 1.2104322e+00 + 2.0328487e+00 1.2008605e+00 + 2.0332333e+00 1.1976212e+00 + 2.0336180e+00 1.1982318e+00 + 2.0340026e+00 1.1974452e+00 + 2.0343873e+00 1.2017831e+00 + 2.0347719e+00 1.2058332e+00 + 2.0351566e+00 1.2065012e+00 + 2.0355412e+00 1.1989234e+00 + 2.0359258e+00 1.1982419e+00 + 2.0363105e+00 1.1977133e+00 + 2.0366951e+00 1.1954705e+00 + 2.0370798e+00 1.1982211e+00 + 2.0374644e+00 1.2026370e+00 + 2.0378491e+00 1.2160610e+00 + 2.0382337e+00 1.2188756e+00 + 2.0386184e+00 1.2258284e+00 + 2.0390030e+00 1.2213229e+00 + 2.0393876e+00 1.2238062e+00 + 2.0397723e+00 1.2303583e+00 + 2.0401569e+00 1.2304178e+00 + 2.0405416e+00 1.2341108e+00 + 2.0409262e+00 1.2281644e+00 + 2.0413109e+00 1.2322435e+00 + 2.0416955e+00 1.2354575e+00 + 2.0420802e+00 1.2355216e+00 + 2.0424648e+00 1.2373771e+00 + 2.0428494e+00 1.2314488e+00 + 2.0432341e+00 1.2408114e+00 + 2.0436187e+00 1.2418818e+00 + 2.0440034e+00 1.2397073e+00 + 2.0443880e+00 1.2353424e+00 + 2.0447727e+00 1.2414735e+00 + 2.0451573e+00 1.2405799e+00 + 2.0455420e+00 1.2478461e+00 + 2.0459266e+00 1.2509836e+00 + 2.0463113e+00 1.2355664e+00 + 2.0466959e+00 1.2277901e+00 + 2.0470805e+00 1.2294544e+00 + 2.0474652e+00 1.2279465e+00 + 2.0478498e+00 1.2291639e+00 + 2.0482345e+00 1.2244777e+00 + 2.0486191e+00 1.2219747e+00 + 2.0490038e+00 1.2283439e+00 + 2.0493884e+00 1.2241951e+00 + 2.0497731e+00 1.2196049e+00 + 2.0501577e+00 1.2123090e+00 + 2.0505423e+00 1.2178427e+00 + 2.0509270e+00 1.2093875e+00 + 2.0513116e+00 1.2092017e+00 + 2.0516963e+00 1.1959879e+00 + 2.0520809e+00 1.1988848e+00 + 2.0524656e+00 1.1954167e+00 + 2.0528502e+00 1.1931064e+00 + 2.0532349e+00 1.1892520e+00 + 2.0536195e+00 1.1843442e+00 + 2.0540042e+00 1.1844435e+00 + 2.0543888e+00 1.1742589e+00 + 2.0547734e+00 1.1796697e+00 + 2.0551581e+00 1.1793499e+00 + 2.0555427e+00 1.1697257e+00 + 2.0559274e+00 1.1743608e+00 + 2.0563120e+00 1.1714925e+00 + 2.0566967e+00 1.1637856e+00 + 2.0570813e+00 1.1672605e+00 + 2.0574660e+00 1.1615530e+00 + 2.0578506e+00 1.1696964e+00 + 2.0582352e+00 1.1662239e+00 + 2.0586199e+00 1.1759898e+00 + 2.0590045e+00 1.1714617e+00 + 2.0593892e+00 1.1607135e+00 + 2.0597738e+00 1.1596399e+00 + 2.0601585e+00 1.1578333e+00 + 2.0605431e+00 1.1554962e+00 + 2.0609278e+00 1.1713182e+00 + 2.0613124e+00 1.1737434e+00 + 2.0616971e+00 1.1795502e+00 + 2.0620817e+00 1.1837623e+00 + 2.0624663e+00 1.1862028e+00 + 2.0628510e+00 1.1776670e+00 + 2.0632356e+00 1.1824420e+00 + 2.0636203e+00 1.1858150e+00 + 2.0640049e+00 1.1877284e+00 + 2.0643896e+00 1.1893620e+00 + 2.0647742e+00 1.1941519e+00 + 2.0651589e+00 1.2042844e+00 + 2.0655435e+00 1.2045220e+00 + 2.0659281e+00 1.2060994e+00 + 2.0663128e+00 1.2104447e+00 + 2.0666974e+00 1.2126591e+00 + 2.0670821e+00 1.2155516e+00 + 2.0674667e+00 1.2105125e+00 + 2.0678514e+00 1.2048436e+00 + 2.0682360e+00 1.2093710e+00 + 2.0686207e+00 1.2116472e+00 + 2.0690053e+00 1.2069044e+00 + 2.0693900e+00 1.2111347e+00 + 2.0697746e+00 1.2091098e+00 + 2.0701592e+00 1.2082301e+00 + 2.0705439e+00 1.2202845e+00 + 2.0709285e+00 1.2206339e+00 + 2.0713132e+00 1.2242899e+00 + 2.0716978e+00 1.2313313e+00 + 2.0720825e+00 1.2315999e+00 + 2.0724671e+00 1.2270157e+00 + 2.0728518e+00 1.2330873e+00 + 2.0732364e+00 1.2394143e+00 + 2.0736210e+00 1.2475235e+00 + 2.0740057e+00 1.2420078e+00 + 2.0743903e+00 1.2369163e+00 + 2.0747750e+00 1.2410851e+00 + 2.0751596e+00 1.2417706e+00 + 2.0755443e+00 1.2361980e+00 + 2.0759289e+00 1.2466723e+00 + 2.0763136e+00 1.2527564e+00 + 2.0766982e+00 1.2555408e+00 + 2.0770829e+00 1.2524390e+00 + 2.0774675e+00 1.2541505e+00 + 2.0778521e+00 1.2636255e+00 + 2.0782368e+00 1.2627332e+00 + 2.0786214e+00 1.2712914e+00 + 2.0790061e+00 1.2719073e+00 + 2.0793907e+00 1.2770053e+00 + 2.0797754e+00 1.2765836e+00 + 2.0801600e+00 1.2789828e+00 + 2.0805447e+00 1.2773565e+00 + 2.0809293e+00 1.2761152e+00 + 2.0813139e+00 1.2788241e+00 + 2.0816986e+00 1.2943234e+00 + 2.0820832e+00 1.2965227e+00 + 2.0824679e+00 1.3011046e+00 + 2.0828525e+00 1.3037605e+00 + 2.0832372e+00 1.3048620e+00 + 2.0836218e+00 1.3149029e+00 + 2.0840065e+00 1.3015336e+00 + 2.0843911e+00 1.3045586e+00 + 2.0847758e+00 1.2953790e+00 + 2.0851604e+00 1.2849110e+00 + 2.0855450e+00 1.2832189e+00 + 2.0859297e+00 1.2826752e+00 + 2.0863143e+00 1.2765924e+00 + 2.0866990e+00 1.2719790e+00 + 2.0870836e+00 1.2732222e+00 + 2.0874683e+00 1.2708186e+00 + 2.0878529e+00 1.2684708e+00 + 2.0882376e+00 1.2698370e+00 + 2.0886222e+00 1.2633689e+00 + 2.0890068e+00 1.2709936e+00 + 2.0893915e+00 1.2733952e+00 + 2.0897761e+00 1.2698328e+00 + 2.0901608e+00 1.2802486e+00 + 2.0905454e+00 1.2641425e+00 + 2.0909301e+00 1.2644652e+00 + 2.0913147e+00 1.2633946e+00 + 2.0916994e+00 1.2658532e+00 + 2.0920840e+00 1.2614760e+00 + 2.0924687e+00 1.2601451e+00 + 2.0928533e+00 1.2513774e+00 + 2.0932379e+00 1.2464591e+00 + 2.0936226e+00 1.2475277e+00 + 2.0940072e+00 1.2550270e+00 + 2.0943919e+00 1.2571527e+00 + 2.0947765e+00 1.2572742e+00 + 2.0951612e+00 1.2587881e+00 + 2.0955458e+00 1.2589614e+00 + 2.0959305e+00 1.2457643e+00 + 2.0963151e+00 1.2445956e+00 + 2.0966997e+00 1.2555302e+00 + 2.0970844e+00 1.2583472e+00 + 2.0974690e+00 1.2511344e+00 + 2.0978537e+00 1.2517416e+00 + 2.0982383e+00 1.2480683e+00 + 2.0986230e+00 1.2529814e+00 + 2.0990076e+00 1.2558374e+00 + 2.0993923e+00 1.2608746e+00 + 2.0997769e+00 1.2542322e+00 + 2.1001616e+00 1.2514225e+00 + 2.1005462e+00 1.2544626e+00 + 2.1009308e+00 1.2442168e+00 + 2.1013155e+00 1.2437074e+00 + 2.1017001e+00 1.2405248e+00 + 2.1020848e+00 1.2343929e+00 + 2.1024694e+00 1.2341303e+00 + 2.1028541e+00 1.2377659e+00 + 2.1032387e+00 1.2382072e+00 + 2.1036234e+00 1.2378345e+00 + 2.1040080e+00 1.2322898e+00 + 2.1043926e+00 1.2298308e+00 + 2.1047773e+00 1.2351457e+00 + 2.1051619e+00 1.2375464e+00 + 2.1055466e+00 1.2333080e+00 + 2.1059312e+00 1.2240395e+00 + 2.1063159e+00 1.2273205e+00 + 2.1067005e+00 1.2371943e+00 + 2.1070852e+00 1.2356306e+00 + 2.1074698e+00 1.2302048e+00 + 2.1078545e+00 1.2288233e+00 + 2.1082391e+00 1.2199970e+00 + 2.1086237e+00 1.2133653e+00 + 2.1090084e+00 1.2247965e+00 + 2.1093930e+00 1.2215116e+00 + 2.1097777e+00 1.2151888e+00 + 2.1101623e+00 1.2090537e+00 + 2.1105470e+00 1.1931949e+00 + 2.1109316e+00 1.1950385e+00 + 2.1113163e+00 1.1913179e+00 + 2.1117009e+00 1.1818908e+00 + 2.1120855e+00 1.1805474e+00 + 2.1124702e+00 1.1813271e+00 + 2.1128548e+00 1.1844673e+00 + 2.1132395e+00 1.1759794e+00 + 2.1136241e+00 1.1786821e+00 + 2.1140088e+00 1.1855562e+00 + 2.1143934e+00 1.1916737e+00 + 2.1147781e+00 1.1947139e+00 + 2.1151627e+00 1.2051470e+00 + 2.1155473e+00 1.2091058e+00 + 2.1159320e+00 1.2063968e+00 + 2.1163166e+00 1.1928536e+00 + 2.1167013e+00 1.1959855e+00 + 2.1170859e+00 1.1974960e+00 + 2.1174706e+00 1.1966478e+00 + 2.1178552e+00 1.2000055e+00 + 2.1182399e+00 1.2036479e+00 + 2.1186245e+00 1.2010604e+00 + 2.1190092e+00 1.2106829e+00 + 2.1193938e+00 1.2147590e+00 + 2.1197784e+00 1.2177213e+00 + 2.1201631e+00 1.2203610e+00 + 2.1205477e+00 1.2209078e+00 + 2.1209324e+00 1.2223806e+00 + 2.1213170e+00 1.2129888e+00 + 2.1217017e+00 1.2128395e+00 + 2.1220863e+00 1.2108099e+00 + 2.1224710e+00 1.2113170e+00 + 2.1228556e+00 1.2038304e+00 + 2.1232402e+00 1.1973260e+00 + 2.1236249e+00 1.1960630e+00 + 2.1240095e+00 1.1901459e+00 + 2.1243942e+00 1.1922527e+00 + 2.1247788e+00 1.1918257e+00 + 2.1251635e+00 1.1899124e+00 + 2.1255481e+00 1.1769604e+00 + 2.1259328e+00 1.1774939e+00 + 2.1263174e+00 1.1784019e+00 + 2.1267021e+00 1.1767672e+00 + 2.1270867e+00 1.1867198e+00 + 2.1274713e+00 1.1797536e+00 + 2.1278560e+00 1.1826644e+00 + 2.1282406e+00 1.1781317e+00 + 2.1286253e+00 1.1685546e+00 + 2.1290099e+00 1.1580976e+00 + 2.1293946e+00 1.1640625e+00 + 2.1297792e+00 1.1603912e+00 + 2.1301639e+00 1.1572083e+00 + 2.1305485e+00 1.1531694e+00 + 2.1309331e+00 1.1517175e+00 + 2.1313178e+00 1.1529856e+00 + 2.1317024e+00 1.1530325e+00 + 2.1320871e+00 1.1553548e+00 + 2.1324717e+00 1.1584475e+00 + 2.1328564e+00 1.1433159e+00 + 2.1332410e+00 1.1395473e+00 + 2.1336257e+00 1.1364336e+00 + 2.1340103e+00 1.1360771e+00 + 2.1343950e+00 1.1390133e+00 + 2.1347796e+00 1.1523925e+00 + 2.1351642e+00 1.1475020e+00 + 2.1355489e+00 1.1492300e+00 + 2.1359335e+00 1.1577650e+00 + 2.1363182e+00 1.1600579e+00 + 2.1367028e+00 1.1669407e+00 + 2.1370875e+00 1.1652430e+00 + 2.1374721e+00 1.1619302e+00 + 2.1378568e+00 1.1714897e+00 + 2.1382414e+00 1.1657813e+00 + 2.1386260e+00 1.1599615e+00 + 2.1390107e+00 1.1615949e+00 + 2.1393953e+00 1.1704206e+00 + 2.1397800e+00 1.1677045e+00 + 2.1401646e+00 1.1609377e+00 + 2.1405493e+00 1.1619647e+00 + 2.1409339e+00 1.1617420e+00 + 2.1413186e+00 1.1681645e+00 + 2.1417032e+00 1.1649145e+00 + 2.1420879e+00 1.1621666e+00 + 2.1424725e+00 1.1565245e+00 + 2.1428571e+00 1.1592900e+00 + 2.1432418e+00 1.1646480e+00 + 2.1436264e+00 1.1574296e+00 + 2.1440111e+00 1.1585848e+00 + 2.1443957e+00 1.1576486e+00 + 2.1447804e+00 1.1702157e+00 + 2.1451650e+00 1.1616429e+00 + 2.1455497e+00 1.1548426e+00 + 2.1459343e+00 1.1656709e+00 + 2.1463189e+00 1.1632412e+00 + 2.1467036e+00 1.1599981e+00 + 2.1470882e+00 1.1674234e+00 + 2.1474729e+00 1.1655974e+00 + 2.1478575e+00 1.1640553e+00 + 2.1482422e+00 1.1716550e+00 + 2.1486268e+00 1.1733873e+00 + 2.1490115e+00 1.1658269e+00 + 2.1493961e+00 1.1673773e+00 + 2.1497808e+00 1.1593554e+00 + 2.1501654e+00 1.1673750e+00 + 2.1505500e+00 1.1734505e+00 + 2.1509347e+00 1.1719795e+00 + 2.1513193e+00 1.1641448e+00 + 2.1517040e+00 1.1755404e+00 + 2.1520886e+00 1.1625184e+00 + 2.1524733e+00 1.1670204e+00 + 2.1528579e+00 1.1715477e+00 + 2.1532426e+00 1.1732521e+00 + 2.1536272e+00 1.1801054e+00 + 2.1540118e+00 1.1817848e+00 + 2.1543965e+00 1.1862413e+00 + 2.1547811e+00 1.1867932e+00 + 2.1551658e+00 1.1843616e+00 + 2.1555504e+00 1.1900741e+00 + 2.1559351e+00 1.1996720e+00 + 2.1563197e+00 1.1969773e+00 + 2.1567044e+00 1.1897067e+00 + 2.1570890e+00 1.1753619e+00 + 2.1574737e+00 1.1749030e+00 + 2.1578583e+00 1.1853660e+00 + 2.1582429e+00 1.1923759e+00 + 2.1586276e+00 1.1842606e+00 + 2.1590122e+00 1.1804782e+00 + 2.1593969e+00 1.1747510e+00 + 2.1597815e+00 1.1725004e+00 + 2.1601662e+00 1.1743655e+00 + 2.1605508e+00 1.1763943e+00 + 2.1609355e+00 1.1768083e+00 + 2.1613201e+00 1.1790080e+00 + 2.1617047e+00 1.1881721e+00 + 2.1620894e+00 1.1968838e+00 + 2.1624740e+00 1.1946467e+00 + 2.1628587e+00 1.1980954e+00 + 2.1632433e+00 1.2001631e+00 + 2.1636280e+00 1.1976227e+00 + 2.1640126e+00 1.1990940e+00 + 2.1643973e+00 1.2015296e+00 + 2.1647819e+00 1.1972896e+00 + 2.1651666e+00 1.2047993e+00 + 2.1655512e+00 1.2078327e+00 + 2.1659358e+00 1.2067259e+00 + 2.1663205e+00 1.2054090e+00 + 2.1667051e+00 1.2037319e+00 + 2.1670898e+00 1.2067346e+00 + 2.1674744e+00 1.2042799e+00 + 2.1678591e+00 1.2105494e+00 + 2.1682437e+00 1.2105855e+00 + 2.1686284e+00 1.2066987e+00 + 2.1690130e+00 1.2039813e+00 + 2.1693976e+00 1.1969956e+00 + 2.1697823e+00 1.1927524e+00 + 2.1701669e+00 1.1851503e+00 + 2.1705516e+00 1.1834601e+00 + 2.1709362e+00 1.1771475e+00 + 2.1713209e+00 1.1865144e+00 + 2.1717055e+00 1.1953262e+00 + 2.1720902e+00 1.1922776e+00 + 2.1724748e+00 1.1885233e+00 + 2.1728595e+00 1.1953906e+00 + 2.1732441e+00 1.2028781e+00 + 2.1736287e+00 1.2107221e+00 + 2.1740134e+00 1.2188744e+00 + 2.1743980e+00 1.2207988e+00 + 2.1747827e+00 1.2192967e+00 + 2.1751673e+00 1.2276783e+00 + 2.1755520e+00 1.2270121e+00 + 2.1759366e+00 1.2252410e+00 + 2.1763213e+00 1.2218224e+00 + 2.1767059e+00 1.2328973e+00 + 2.1770905e+00 1.2257787e+00 + 2.1774752e+00 1.2250269e+00 + 2.1778598e+00 1.2227893e+00 + 2.1782445e+00 1.2229919e+00 + 2.1786291e+00 1.2350078e+00 + 2.1790138e+00 1.2313340e+00 + 2.1793984e+00 1.2352545e+00 + 2.1797831e+00 1.2375284e+00 + 2.1801677e+00 1.2345498e+00 + 2.1805524e+00 1.2289366e+00 + 2.1809370e+00 1.2271083e+00 + 2.1813216e+00 1.2231016e+00 + 2.1817063e+00 1.2227522e+00 + 2.1820909e+00 1.2250135e+00 + 2.1824756e+00 1.2154051e+00 + 2.1828602e+00 1.2187606e+00 + 2.1832449e+00 1.2153426e+00 + 2.1836295e+00 1.2134362e+00 + 2.1840142e+00 1.2163695e+00 + 2.1843988e+00 1.2129848e+00 + 2.1847834e+00 1.2174014e+00 + 2.1851681e+00 1.2214389e+00 + 2.1855527e+00 1.2253201e+00 + 2.1859374e+00 1.2151634e+00 + 2.1863220e+00 1.2100847e+00 + 2.1867067e+00 1.2147522e+00 + 2.1870913e+00 1.2187565e+00 + 2.1874760e+00 1.2187982e+00 + 2.1878606e+00 1.2216825e+00 + 2.1882452e+00 1.2193746e+00 + 2.1886299e+00 1.2311326e+00 + 2.1890145e+00 1.2245731e+00 + 2.1893992e+00 1.2373840e+00 + 2.1897838e+00 1.2367402e+00 + 2.1901685e+00 1.2345350e+00 + 2.1905531e+00 1.2362749e+00 + 2.1909378e+00 1.2393218e+00 + 2.1913224e+00 1.2367685e+00 + 2.1917071e+00 1.2355799e+00 + 2.1920917e+00 1.2354270e+00 + 2.1924763e+00 1.2299631e+00 + 2.1928610e+00 1.2327077e+00 + 2.1932456e+00 1.2383742e+00 + 2.1936303e+00 1.2343081e+00 + 2.1940149e+00 1.2277342e+00 + 2.1943996e+00 1.2267962e+00 + 2.1947842e+00 1.2283812e+00 + 2.1951689e+00 1.2274810e+00 + 2.1955535e+00 1.2314601e+00 + 2.1959381e+00 1.2274720e+00 + 2.1963228e+00 1.2313952e+00 + 2.1967074e+00 1.2321453e+00 + 2.1970921e+00 1.2290148e+00 + 2.1974767e+00 1.2245046e+00 + 2.1978614e+00 1.2233092e+00 + 2.1982460e+00 1.2225653e+00 + 2.1986307e+00 1.2234786e+00 + 2.1990153e+00 1.2226495e+00 + 2.1994000e+00 1.2202583e+00 + 2.1997846e+00 1.2125815e+00 + 2.2001692e+00 1.2229087e+00 + 2.2005539e+00 1.2194744e+00 + 2.2009385e+00 1.2236481e+00 + 2.2013232e+00 1.2219850e+00 + 2.2017078e+00 1.2207959e+00 + 2.2020925e+00 1.2286512e+00 + 2.2024771e+00 1.2261466e+00 + 2.2028618e+00 1.2377686e+00 + 2.2032464e+00 1.2349218e+00 + 2.2036310e+00 1.2299668e+00 + 2.2040157e+00 1.2256585e+00 + 2.2044003e+00 1.2310824e+00 + 2.2047850e+00 1.2235044e+00 + 2.2051696e+00 1.2230521e+00 + 2.2055543e+00 1.2186446e+00 + 2.2059389e+00 1.2256926e+00 + 2.2063236e+00 1.2235759e+00 + 2.2067082e+00 1.2140148e+00 + 2.2070929e+00 1.2164882e+00 + 2.2074775e+00 1.2205098e+00 + 2.2078621e+00 1.2240899e+00 + 2.2082468e+00 1.2215686e+00 + 2.2086314e+00 1.2176722e+00 + 2.2090161e+00 1.2191090e+00 + 2.2094007e+00 1.2248302e+00 + 2.2097854e+00 1.2305937e+00 + 2.2101700e+00 1.2286866e+00 + 2.2105547e+00 1.2325295e+00 + 2.2109393e+00 1.2326514e+00 + 2.2113239e+00 1.2302087e+00 + 2.2117086e+00 1.2330335e+00 + 2.2120932e+00 1.2368553e+00 + 2.2124779e+00 1.2315093e+00 + 2.2128625e+00 1.2321669e+00 + 2.2132472e+00 1.2271671e+00 + 2.2136318e+00 1.2102210e+00 + 2.2140165e+00 1.2104475e+00 + 2.2144011e+00 1.2036421e+00 + 2.2147858e+00 1.1957749e+00 + 2.2151704e+00 1.2011417e+00 + 2.2155550e+00 1.2055078e+00 + 2.2159397e+00 1.2003980e+00 + 2.2163243e+00 1.2002432e+00 + 2.2167090e+00 1.2070263e+00 + 2.2170936e+00 1.2062024e+00 + 2.2174783e+00 1.2105365e+00 + 2.2178629e+00 1.2141489e+00 + 2.2182476e+00 1.1996046e+00 + 2.2186322e+00 1.2036284e+00 + 2.2190168e+00 1.1965520e+00 + 2.2194015e+00 1.2061348e+00 + 2.2197861e+00 1.1960020e+00 + 2.2201708e+00 1.1895157e+00 + 2.2205554e+00 1.2017164e+00 + 2.2209401e+00 1.2029667e+00 + 2.2213247e+00 1.2096373e+00 + 2.2217094e+00 1.2091578e+00 + 2.2220940e+00 1.2179431e+00 + 2.2224787e+00 1.2160435e+00 + 2.2228633e+00 1.2282173e+00 + 2.2232479e+00 1.2268656e+00 + 2.2236326e+00 1.2291539e+00 + 2.2240172e+00 1.2364837e+00 + 2.2244019e+00 1.2449388e+00 + 2.2247865e+00 1.2406981e+00 + 2.2251712e+00 1.2457111e+00 + 2.2255558e+00 1.2406992e+00 + 2.2259405e+00 1.2351021e+00 + 2.2263251e+00 1.2409649e+00 + 2.2267097e+00 1.2451469e+00 + 2.2270944e+00 1.2582555e+00 + 2.2274790e+00 1.2609161e+00 + 2.2278637e+00 1.2578541e+00 + 2.2282483e+00 1.2519254e+00 + 2.2286330e+00 1.2481863e+00 + 2.2290176e+00 1.2474396e+00 + 2.2294023e+00 1.2465661e+00 + 2.2297869e+00 1.2544184e+00 + 2.2301716e+00 1.2536877e+00 + 2.2305562e+00 1.2566927e+00 + 2.2309408e+00 1.2642957e+00 + 2.2313255e+00 1.2583054e+00 + 2.2317101e+00 1.2469702e+00 + 2.2320948e+00 1.2464676e+00 + 2.2324794e+00 1.2479615e+00 + 2.2328641e+00 1.2608336e+00 + 2.2332487e+00 1.2663508e+00 + 2.2336334e+00 1.2715929e+00 + 2.2340180e+00 1.2775740e+00 + 2.2344026e+00 1.2829356e+00 + 2.2347873e+00 1.2795464e+00 + 2.2351719e+00 1.2747374e+00 + 2.2355566e+00 1.2679652e+00 + 2.2359412e+00 1.2789771e+00 + 2.2363259e+00 1.2747638e+00 + 2.2367105e+00 1.2702470e+00 + 2.2370952e+00 1.2845371e+00 + 2.2374798e+00 1.2844601e+00 + 2.2378645e+00 1.2870477e+00 + 2.2382491e+00 1.2879713e+00 + 2.2386337e+00 1.2913383e+00 + 2.2390184e+00 1.2920570e+00 + 2.2394030e+00 1.2970295e+00 + 2.2397877e+00 1.3006877e+00 + 2.2401723e+00 1.2949299e+00 + 2.2405570e+00 1.2986421e+00 + 2.2409416e+00 1.2952463e+00 + 2.2413263e+00 1.3036193e+00 + 2.2417109e+00 1.3092332e+00 + 2.2420955e+00 1.3102212e+00 + 2.2424802e+00 1.3120497e+00 + 2.2428648e+00 1.3116959e+00 + 2.2432495e+00 1.3138912e+00 + 2.2436341e+00 1.3219381e+00 + 2.2440188e+00 1.3170997e+00 + 2.2444034e+00 1.3160233e+00 + 2.2447881e+00 1.3213166e+00 + 2.2451727e+00 1.3185186e+00 + 2.2455574e+00 1.3117641e+00 + 2.2459420e+00 1.3188393e+00 + 2.2463266e+00 1.3228825e+00 + 2.2467113e+00 1.3120978e+00 + 2.2470959e+00 1.3045539e+00 + 2.2474806e+00 1.2964956e+00 + 2.2478652e+00 1.3019225e+00 + 2.2482499e+00 1.3063163e+00 + 2.2486345e+00 1.3072315e+00 + 2.2490192e+00 1.3041957e+00 + 2.2494038e+00 1.3091854e+00 + 2.2497884e+00 1.3075601e+00 + 2.2501731e+00 1.3064576e+00 + 2.2505577e+00 1.3012522e+00 + 2.2509424e+00 1.3037077e+00 + 2.2513270e+00 1.3021386e+00 + 2.2517117e+00 1.3051752e+00 + 2.2520963e+00 1.2976654e+00 + 2.2524810e+00 1.2956585e+00 + 2.2528656e+00 1.2928167e+00 + 2.2532503e+00 1.2938836e+00 + 2.2536349e+00 1.2961698e+00 + 2.2540195e+00 1.2923309e+00 + 2.2544042e+00 1.2907075e+00 + 2.2547888e+00 1.2855710e+00 + 2.2551735e+00 1.2946750e+00 + 2.2555581e+00 1.2891818e+00 + 2.2559428e+00 1.2870621e+00 + 2.2563274e+00 1.2930471e+00 + 2.2567121e+00 1.2996370e+00 + 2.2570967e+00 1.3027695e+00 + 2.2574813e+00 1.3019578e+00 + 2.2578660e+00 1.3069843e+00 + 2.2582506e+00 1.3039598e+00 + 2.2586353e+00 1.3047672e+00 + 2.2590199e+00 1.2990634e+00 + 2.2594046e+00 1.2933519e+00 + 2.2597892e+00 1.3009919e+00 + 2.2601739e+00 1.3023181e+00 + 2.2605585e+00 1.3007097e+00 + 2.2609431e+00 1.3017820e+00 + 2.2613278e+00 1.3039615e+00 + 2.2617124e+00 1.3112262e+00 + 2.2620971e+00 1.3102213e+00 + 2.2624817e+00 1.3110287e+00 + 2.2628664e+00 1.3103194e+00 + 2.2632510e+00 1.3097169e+00 + 2.2636357e+00 1.3027908e+00 + 2.2640203e+00 1.3010348e+00 + 2.2644050e+00 1.3047308e+00 + 2.2647896e+00 1.3035288e+00 + 2.2651742e+00 1.3062111e+00 + 2.2655589e+00 1.3109179e+00 + 2.2659435e+00 1.3182302e+00 + 2.2663282e+00 1.3138873e+00 + 2.2667128e+00 1.3171203e+00 + 2.2670975e+00 1.3236172e+00 + 2.2674821e+00 1.3355930e+00 + 2.2678668e+00 1.3386949e+00 + 2.2682514e+00 1.3327097e+00 + 2.2686360e+00 1.3364171e+00 + 2.2690207e+00 1.3279997e+00 + 2.2694053e+00 1.3299412e+00 + 2.2697900e+00 1.3247026e+00 + 2.2701746e+00 1.3285453e+00 + 2.2705593e+00 1.3326050e+00 + 2.2709439e+00 1.3422828e+00 + 2.2713286e+00 1.3467930e+00 + 2.2717132e+00 1.3467128e+00 + 2.2720979e+00 1.3400285e+00 + 2.2724825e+00 1.3343133e+00 + 2.2728671e+00 1.3395146e+00 + 2.2732518e+00 1.3369044e+00 + 2.2736364e+00 1.3305365e+00 + 2.2740211e+00 1.3307529e+00 + 2.2744057e+00 1.3328246e+00 + 2.2747904e+00 1.3419275e+00 + 2.2751750e+00 1.3571281e+00 + 2.2755597e+00 1.3592490e+00 + 2.2759443e+00 1.3687428e+00 + 2.2763289e+00 1.3660533e+00 + 2.2767136e+00 1.3571643e+00 + 2.2770982e+00 1.3512740e+00 + 2.2774829e+00 1.3564843e+00 + 2.2778675e+00 1.3409903e+00 + 2.2782522e+00 1.3410216e+00 + 2.2786368e+00 1.3377442e+00 + 2.2790215e+00 1.3426002e+00 + 2.2794061e+00 1.3481585e+00 + 2.2797908e+00 1.3444889e+00 + 2.2801754e+00 1.3390258e+00 + 2.2805600e+00 1.3304718e+00 + 2.2809447e+00 1.3338733e+00 + 2.2813293e+00 1.3398517e+00 + 2.2817140e+00 1.3332418e+00 + 2.2820986e+00 1.3239888e+00 + 2.2824833e+00 1.3161999e+00 + 2.2828679e+00 1.3196922e+00 + 2.2832526e+00 1.3109662e+00 + 2.2836372e+00 1.3144686e+00 + 2.2840218e+00 1.3168858e+00 + 2.2844065e+00 1.3245801e+00 + 2.2847911e+00 1.3329601e+00 + 2.2851758e+00 1.3317896e+00 + 2.2855604e+00 1.3382764e+00 + 2.2859451e+00 1.3393206e+00 + 2.2863297e+00 1.3330900e+00 + 2.2867144e+00 1.3339953e+00 + 2.2870990e+00 1.3329455e+00 + 2.2874837e+00 1.3211830e+00 + 2.2878683e+00 1.3196866e+00 + 2.2882529e+00 1.3179459e+00 + 2.2886376e+00 1.3055633e+00 + 2.2890222e+00 1.3134587e+00 + 2.2894069e+00 1.3108129e+00 + 2.2897915e+00 1.3013191e+00 + 2.2901762e+00 1.2945381e+00 + 2.2905608e+00 1.2971877e+00 + 2.2909455e+00 1.2985437e+00 + 2.2913301e+00 1.3030904e+00 + 2.2917147e+00 1.2928217e+00 + 2.2920994e+00 1.2907753e+00 + 2.2924840e+00 1.2822205e+00 + 2.2928687e+00 1.2741441e+00 + 2.2932533e+00 1.2671620e+00 + 2.2936380e+00 1.2666815e+00 + 2.2940226e+00 1.2743373e+00 + 2.2944073e+00 1.2706988e+00 + 2.2947919e+00 1.2685249e+00 + 2.2951766e+00 1.2643511e+00 + 2.2955612e+00 1.2658487e+00 + 2.2959458e+00 1.2728547e+00 + 2.2963305e+00 1.2649911e+00 + 2.2967151e+00 1.2653308e+00 + 2.2970998e+00 1.2616587e+00 + 2.2974844e+00 1.2556482e+00 + 2.2978691e+00 1.2567159e+00 + 2.2982537e+00 1.2534359e+00 + 2.2986384e+00 1.2437882e+00 + 2.2990230e+00 1.2422831e+00 + 2.2994076e+00 1.2435590e+00 + 2.2997923e+00 1.2424605e+00 + 2.3001769e+00 1.2437725e+00 + 2.3005616e+00 1.2479728e+00 + 2.3009462e+00 1.2464402e+00 + 2.3013309e+00 1.2490028e+00 + 2.3017155e+00 1.2453265e+00 + 2.3021002e+00 1.2520635e+00 + 2.3024848e+00 1.2582843e+00 + 2.3028695e+00 1.2554722e+00 + 2.3032541e+00 1.2521824e+00 + 2.3036387e+00 1.2550890e+00 + 2.3040234e+00 1.2356738e+00 + 2.3044080e+00 1.2393811e+00 + 2.3047927e+00 1.2359144e+00 + 2.3051773e+00 1.2222074e+00 + 2.3055620e+00 1.2232157e+00 + 2.3059466e+00 1.2211592e+00 + 2.3063313e+00 1.2149004e+00 + 2.3067159e+00 1.2162217e+00 + 2.3071005e+00 1.2109853e+00 + 2.3074852e+00 1.2136443e+00 + 2.3078698e+00 1.2221269e+00 + 2.3082545e+00 1.2199309e+00 + 2.3086391e+00 1.2151001e+00 + 2.3090238e+00 1.2223569e+00 + 2.3094084e+00 1.2262491e+00 + 2.3097931e+00 1.2270573e+00 + 2.3101777e+00 1.2302280e+00 + 2.3105624e+00 1.2347129e+00 + 2.3109470e+00 1.2337612e+00 + 2.3113316e+00 1.2342829e+00 + 2.3117163e+00 1.2361866e+00 + 2.3121009e+00 1.2420009e+00 + 2.3124856e+00 1.2404388e+00 + 2.3128702e+00 1.2454000e+00 + 2.3132549e+00 1.2544466e+00 + 2.3136395e+00 1.2611821e+00 + 2.3140242e+00 1.2581633e+00 + 2.3144088e+00 1.2637469e+00 + 2.3147934e+00 1.2647462e+00 + 2.3151781e+00 1.2624149e+00 + 2.3155627e+00 1.2693223e+00 + 2.3159474e+00 1.2806723e+00 + 2.3163320e+00 1.2800845e+00 + 2.3167167e+00 1.2792875e+00 + 2.3171013e+00 1.2927595e+00 + 2.3174860e+00 1.2987867e+00 + 2.3178706e+00 1.2997958e+00 + 2.3182553e+00 1.3039104e+00 + 2.3186399e+00 1.3129725e+00 + 2.3190245e+00 1.3182625e+00 + 2.3194092e+00 1.3269906e+00 + 2.3197938e+00 1.3352686e+00 + 2.3201785e+00 1.3407176e+00 + 2.3205631e+00 1.3333627e+00 + 2.3209478e+00 1.3347711e+00 + 2.3213324e+00 1.3416070e+00 + 2.3217171e+00 1.3324993e+00 + 2.3221017e+00 1.3344433e+00 + 2.3224863e+00 1.3338896e+00 + 2.3228710e+00 1.3362747e+00 + 2.3232556e+00 1.3279986e+00 + 2.3236403e+00 1.3176247e+00 + 2.3240249e+00 1.3132903e+00 + 2.3244096e+00 1.3065660e+00 + 2.3247942e+00 1.3049126e+00 + 2.3251789e+00 1.3051400e+00 + 2.3255635e+00 1.3017621e+00 + 2.3259481e+00 1.3087325e+00 + 2.3263328e+00 1.3085363e+00 + 2.3267174e+00 1.2959808e+00 + 2.3271021e+00 1.3029185e+00 + 2.3274867e+00 1.2912215e+00 + 2.3278714e+00 1.2903057e+00 + 2.3282560e+00 1.2854313e+00 + 2.3286407e+00 1.2926075e+00 + 2.3290253e+00 1.2890145e+00 + 2.3294100e+00 1.2982637e+00 + 2.3297946e+00 1.2944751e+00 + 2.3301792e+00 1.2905630e+00 + 2.3305639e+00 1.2905200e+00 + 2.3309485e+00 1.2876337e+00 + 2.3313332e+00 1.2901526e+00 + 2.3317178e+00 1.2955993e+00 + 2.3321025e+00 1.2966482e+00 + 2.3324871e+00 1.2988426e+00 + 2.3328718e+00 1.2920304e+00 + 2.3332564e+00 1.2935932e+00 + 2.3336410e+00 1.2895237e+00 + 2.3340257e+00 1.2895842e+00 + 2.3344103e+00 1.2787232e+00 + 2.3347950e+00 1.2735408e+00 + 2.3351796e+00 1.2717808e+00 + 2.3355643e+00 1.2728731e+00 + 2.3359489e+00 1.2816500e+00 + 2.3363336e+00 1.2812160e+00 + 2.3367182e+00 1.2801299e+00 + 2.3371029e+00 1.2804047e+00 + 2.3374875e+00 1.2852866e+00 + 2.3378721e+00 1.2959573e+00 + 2.3382568e+00 1.2988270e+00 + 2.3386414e+00 1.3067479e+00 + 2.3390261e+00 1.3137996e+00 + 2.3394107e+00 1.3134739e+00 + 2.3397954e+00 1.3054747e+00 + 2.3401800e+00 1.3077019e+00 + 2.3405647e+00 1.3072592e+00 + 2.3409493e+00 1.3101310e+00 + 2.3413339e+00 1.2993404e+00 + 2.3417186e+00 1.2866611e+00 + 2.3421032e+00 1.2878470e+00 + 2.3424879e+00 1.2806465e+00 + 2.3428725e+00 1.2917702e+00 + 2.3432572e+00 1.2885864e+00 + 2.3436418e+00 1.2843126e+00 + 2.3440265e+00 1.2874371e+00 + 2.3444111e+00 1.2866301e+00 + 2.3447958e+00 1.2921346e+00 + 2.3451804e+00 1.2931479e+00 + 2.3455650e+00 1.2970191e+00 + 2.3459497e+00 1.3006124e+00 + 2.3463343e+00 1.2994993e+00 + 2.3467190e+00 1.3089077e+00 + 2.3471036e+00 1.3070803e+00 + 2.3474883e+00 1.3122930e+00 + 2.3478729e+00 1.3082584e+00 + 2.3482576e+00 1.2992772e+00 + 2.3486422e+00 1.3028197e+00 + 2.3490268e+00 1.3109284e+00 + 2.3494115e+00 1.3104049e+00 + 2.3497961e+00 1.2996932e+00 + 2.3501808e+00 1.3160243e+00 + 2.3505654e+00 1.3271128e+00 + 2.3509501e+00 1.3283509e+00 + 2.3513347e+00 1.3318072e+00 + 2.3517194e+00 1.3255419e+00 + 2.3521040e+00 1.3186524e+00 + 2.3524887e+00 1.3120452e+00 + 2.3528733e+00 1.3033628e+00 + 2.3532579e+00 1.3064954e+00 + 2.3536426e+00 1.3066524e+00 + 2.3540272e+00 1.2974041e+00 + 2.3544119e+00 1.2985312e+00 + 2.3547965e+00 1.2958769e+00 + 2.3551812e+00 1.2987688e+00 + 2.3555658e+00 1.2986894e+00 + 2.3559505e+00 1.2968172e+00 + 2.3563351e+00 1.2830974e+00 + 2.3567197e+00 1.2844592e+00 + 2.3571044e+00 1.2824311e+00 + 2.3574890e+00 1.2751016e+00 + 2.3578737e+00 1.2720947e+00 + 2.3582583e+00 1.2769173e+00 + 2.3586430e+00 1.2629760e+00 + 2.3590276e+00 1.2581232e+00 + 2.3594123e+00 1.2602607e+00 + 2.3597969e+00 1.2696269e+00 + 2.3601816e+00 1.2761257e+00 + 2.3605662e+00 1.2712623e+00 + 2.3609508e+00 1.2757478e+00 + 2.3613355e+00 1.2782586e+00 + 2.3617201e+00 1.2717082e+00 + 2.3621048e+00 1.2622888e+00 + 2.3624894e+00 1.2606101e+00 + 2.3628741e+00 1.2505303e+00 + 2.3632587e+00 1.2522242e+00 + 2.3636434e+00 1.2503601e+00 + 2.3640280e+00 1.2497727e+00 + 2.3644126e+00 1.2482460e+00 + 2.3647973e+00 1.2540463e+00 + 2.3651819e+00 1.2531096e+00 + 2.3655666e+00 1.2508728e+00 + 2.3659512e+00 1.2500945e+00 + 2.3663359e+00 1.2479162e+00 + 2.3667205e+00 1.2535251e+00 + 2.3671052e+00 1.2527039e+00 + 2.3674898e+00 1.2522153e+00 + 2.3678745e+00 1.2491073e+00 + 2.3682591e+00 1.2442783e+00 + 2.3686437e+00 1.2358990e+00 + 2.3690284e+00 1.2428359e+00 + 2.3694130e+00 1.2393854e+00 + 2.3697977e+00 1.2372635e+00 + 2.3701823e+00 1.2392275e+00 + 2.3705670e+00 1.2338393e+00 + 2.3709516e+00 1.2389091e+00 + 2.3713363e+00 1.2453201e+00 + 2.3717209e+00 1.2494574e+00 + 2.3721055e+00 1.2465099e+00 + 2.3724902e+00 1.2450615e+00 + 2.3728748e+00 1.2523792e+00 + 2.3732595e+00 1.2554341e+00 + 2.3736441e+00 1.2506988e+00 + 2.3740288e+00 1.2486092e+00 + 2.3744134e+00 1.2585791e+00 + 2.3747981e+00 1.2679030e+00 + 2.3751827e+00 1.2609482e+00 + 2.3755674e+00 1.2560907e+00 + 2.3759520e+00 1.2575449e+00 + 2.3763366e+00 1.2605533e+00 + 2.3767213e+00 1.2590373e+00 + 2.3771059e+00 1.2671952e+00 + 2.3774906e+00 1.2742686e+00 + 2.3778752e+00 1.2813958e+00 + 2.3782599e+00 1.2866707e+00 + 2.3786445e+00 1.2871611e+00 + 2.3790292e+00 1.2884163e+00 + 2.3794138e+00 1.2913778e+00 + 2.3797984e+00 1.2812124e+00 + 2.3801831e+00 1.2808254e+00 + 2.3805677e+00 1.2791278e+00 + 2.3809524e+00 1.2702478e+00 + 2.3813370e+00 1.2669364e+00 + 2.3817217e+00 1.2734506e+00 + 2.3821063e+00 1.2636560e+00 + 2.3824910e+00 1.2682448e+00 + 2.3828756e+00 1.2554172e+00 + 2.3832603e+00 1.2451635e+00 + 2.3836449e+00 1.2487934e+00 + 2.3840295e+00 1.2486086e+00 + 2.3844142e+00 1.2498049e+00 + 2.3847988e+00 1.2475411e+00 + 2.3851835e+00 1.2589096e+00 + 2.3855681e+00 1.2595231e+00 + 2.3859528e+00 1.2518846e+00 + 2.3863374e+00 1.2482641e+00 + 2.3867221e+00 1.2480026e+00 + 2.3871067e+00 1.2530585e+00 + 2.3874913e+00 1.2566218e+00 + 2.3878760e+00 1.2512444e+00 + 2.3882606e+00 1.2415716e+00 + 2.3886453e+00 1.2454529e+00 + 2.3890299e+00 1.2416802e+00 + 2.3894146e+00 1.2436797e+00 + 2.3897992e+00 1.2361306e+00 + 2.3901839e+00 1.2436281e+00 + 2.3905685e+00 1.2403295e+00 + 2.3909532e+00 1.2404508e+00 + 2.3913378e+00 1.2348139e+00 + 2.3917224e+00 1.2277964e+00 + 2.3921071e+00 1.2364736e+00 + 2.3924917e+00 1.2452683e+00 + 2.3928764e+00 1.2450985e+00 + 2.3932610e+00 1.2507100e+00 + 2.3936457e+00 1.2489615e+00 + 2.3940303e+00 1.2491206e+00 + 2.3944150e+00 1.2487316e+00 + 2.3947996e+00 1.2487501e+00 + 2.3951842e+00 1.2392317e+00 + 2.3955689e+00 1.2363671e+00 + 2.3959535e+00 1.2255458e+00 + 2.3963382e+00 1.2219242e+00 + 2.3967228e+00 1.2274002e+00 + 2.3971075e+00 1.2199456e+00 + 2.3974921e+00 1.2201069e+00 + 2.3978768e+00 1.2349174e+00 + 2.3982614e+00 1.2356304e+00 + 2.3986460e+00 1.2350252e+00 + 2.3990307e+00 1.2371304e+00 + 2.3994153e+00 1.2385762e+00 + 2.3998000e+00 1.2356986e+00 + 2.4001846e+00 1.2386401e+00 + 2.4005693e+00 1.2321217e+00 + 2.4009539e+00 1.2252310e+00 + 2.4013386e+00 1.2380944e+00 + 2.4017232e+00 1.2448533e+00 + 2.4021079e+00 1.2374198e+00 + 2.4024925e+00 1.2342386e+00 + 2.4028771e+00 1.2353338e+00 + 2.4032618e+00 1.2277222e+00 + 2.4036464e+00 1.2297644e+00 + 2.4040311e+00 1.2220074e+00 + 2.4044157e+00 1.2220147e+00 + 2.4048004e+00 1.2260044e+00 + 2.4051850e+00 1.2301390e+00 + 2.4055697e+00 1.2333187e+00 + 2.4059543e+00 1.2242135e+00 + 2.4063389e+00 1.2128107e+00 + 2.4067236e+00 1.2197247e+00 + 2.4071082e+00 1.2232472e+00 + 2.4074929e+00 1.2228074e+00 + 2.4078775e+00 1.2301368e+00 + 2.4082622e+00 1.2246603e+00 + 2.4086468e+00 1.2275524e+00 + 2.4090315e+00 1.2238033e+00 + 2.4094161e+00 1.2179606e+00 + 2.4098008e+00 1.2122178e+00 + 2.4101854e+00 1.2216291e+00 + 2.4105700e+00 1.2303598e+00 + 2.4109547e+00 1.2312228e+00 + 2.4113393e+00 1.2312361e+00 + 2.4117240e+00 1.2353899e+00 + 2.4121086e+00 1.2280979e+00 + 2.4124933e+00 1.2307867e+00 + 2.4128779e+00 1.2256152e+00 + 2.4132626e+00 1.2258461e+00 + 2.4136472e+00 1.2234642e+00 + 2.4140318e+00 1.2183198e+00 + 2.4144165e+00 1.2094034e+00 + 2.4148011e+00 1.2052844e+00 + 2.4151858e+00 1.2115373e+00 + 2.4155704e+00 1.2229083e+00 + 2.4159551e+00 1.2271404e+00 + 2.4163397e+00 1.2341208e+00 + 2.4167244e+00 1.2375388e+00 + 2.4171090e+00 1.2296591e+00 + 2.4174937e+00 1.2236747e+00 + 2.4178783e+00 1.2347168e+00 + 2.4182629e+00 1.2286583e+00 + 2.4186476e+00 1.2206243e+00 + 2.4190322e+00 1.2271787e+00 + 2.4194169e+00 1.2343117e+00 + 2.4198015e+00 1.2307017e+00 + 2.4201862e+00 1.2271630e+00 + 2.4205708e+00 1.2257295e+00 + 2.4209555e+00 1.2352615e+00 + 2.4213401e+00 1.2265781e+00 + 2.4217247e+00 1.2200506e+00 + 2.4221094e+00 1.2230145e+00 + 2.4224940e+00 1.2236797e+00 + 2.4228787e+00 1.2218329e+00 + 2.4232633e+00 1.2377505e+00 + 2.4236480e+00 1.2372883e+00 + 2.4240326e+00 1.2366685e+00 + 2.4244173e+00 1.2313027e+00 + 2.4248019e+00 1.2324109e+00 + 2.4251866e+00 1.2405765e+00 + 2.4255712e+00 1.2364873e+00 + 2.4259558e+00 1.2316235e+00 + 2.4263405e+00 1.2232067e+00 + 2.4267251e+00 1.2229320e+00 + 2.4271098e+00 1.2263833e+00 + 2.4274944e+00 1.2322576e+00 + 2.4278791e+00 1.2307000e+00 + 2.4282637e+00 1.2240934e+00 + 2.4286484e+00 1.2135114e+00 + 2.4290330e+00 1.2029768e+00 + 2.4294176e+00 1.2044867e+00 + 2.4298023e+00 1.2057218e+00 + 2.4301869e+00 1.2083787e+00 + 2.4305716e+00 1.2040382e+00 + 2.4309562e+00 1.1974260e+00 + 2.4313409e+00 1.2023845e+00 + 2.4317255e+00 1.1944529e+00 + 2.4321102e+00 1.1945348e+00 + 2.4324948e+00 1.1863457e+00 + 2.4328795e+00 1.1817692e+00 + 2.4332641e+00 1.1795850e+00 + 2.4336487e+00 1.1847363e+00 + 2.4340334e+00 1.1846021e+00 + 2.4344180e+00 1.1866763e+00 + 2.4348027e+00 1.1838359e+00 + 2.4351873e+00 1.1927420e+00 + 2.4355720e+00 1.1909848e+00 + 2.4359566e+00 1.1912222e+00 + 2.4363413e+00 1.1874119e+00 + 2.4367259e+00 1.1852078e+00 + 2.4371105e+00 1.1960381e+00 + 2.4374952e+00 1.1954860e+00 + 2.4378798e+00 1.1916026e+00 + 2.4382645e+00 1.1918849e+00 + 2.4386491e+00 1.1829525e+00 + 2.4390338e+00 1.1857651e+00 + 2.4394184e+00 1.1940070e+00 + 2.4398031e+00 1.1874917e+00 + 2.4401877e+00 1.1858303e+00 + 2.4405724e+00 1.1925361e+00 + 2.4409570e+00 1.1904334e+00 + 2.4413416e+00 1.1968559e+00 + 2.4417263e+00 1.1866792e+00 + 2.4421109e+00 1.1913911e+00 + 2.4424956e+00 1.1948868e+00 + 2.4428802e+00 1.1978837e+00 + 2.4432649e+00 1.2031047e+00 + 2.4436495e+00 1.2024405e+00 + 2.4440342e+00 1.2059477e+00 + 2.4444188e+00 1.2054997e+00 + 2.4448034e+00 1.2078612e+00 + 2.4451881e+00 1.2085918e+00 + 2.4455727e+00 1.2069924e+00 + 2.4459574e+00 1.2125974e+00 + 2.4463420e+00 1.2095635e+00 + 2.4467267e+00 1.1959463e+00 + 2.4471113e+00 1.1981948e+00 + 2.4474960e+00 1.2069390e+00 + 2.4478806e+00 1.2023531e+00 + 2.4482653e+00 1.1980089e+00 + 2.4486499e+00 1.2005738e+00 + 2.4490345e+00 1.1994602e+00 + 2.4494192e+00 1.2055946e+00 + 2.4498038e+00 1.2030225e+00 + 2.4501885e+00 1.1998517e+00 + 2.4505731e+00 1.2078399e+00 + 2.4509578e+00 1.2150619e+00 + 2.4513424e+00 1.2069126e+00 + 2.4517271e+00 1.2181924e+00 + 2.4521117e+00 1.2047151e+00 + 2.4524963e+00 1.2106702e+00 + 2.4528810e+00 1.2178471e+00 + 2.4532656e+00 1.2196077e+00 + 2.4536503e+00 1.2124546e+00 + 2.4540349e+00 1.2098105e+00 + 2.4544196e+00 1.2039905e+00 + 2.4548042e+00 1.2032102e+00 + 2.4551889e+00 1.2038644e+00 + 2.4555735e+00 1.1944357e+00 + 2.4559582e+00 1.1948720e+00 + 2.4563428e+00 1.1752471e+00 + 2.4567274e+00 1.1717676e+00 + 2.4571121e+00 1.1678010e+00 + 2.4574967e+00 1.1681254e+00 + 2.4578814e+00 1.1681309e+00 + 2.4582660e+00 1.1697721e+00 + 2.4586507e+00 1.1699250e+00 + 2.4590353e+00 1.1674243e+00 + 2.4594200e+00 1.1715282e+00 + 2.4598046e+00 1.1684316e+00 + 2.4601892e+00 1.1771673e+00 + 2.4605739e+00 1.1808198e+00 + 2.4609585e+00 1.1870538e+00 + 2.4613432e+00 1.1761318e+00 + 2.4617278e+00 1.1792228e+00 + 2.4621125e+00 1.1827073e+00 + 2.4624971e+00 1.1841626e+00 + 2.4628818e+00 1.1725248e+00 + 2.4632664e+00 1.1698711e+00 + 2.4636511e+00 1.1616198e+00 + 2.4640357e+00 1.1567999e+00 + 2.4644203e+00 1.1568311e+00 + 2.4648050e+00 1.1713366e+00 + 2.4651896e+00 1.1674712e+00 + 2.4655743e+00 1.1608557e+00 + 2.4659589e+00 1.1541124e+00 + 2.4663436e+00 1.1670642e+00 + 2.4667282e+00 1.1652393e+00 + 2.4671129e+00 1.1598873e+00 + 2.4674975e+00 1.1642630e+00 + 2.4678821e+00 1.1642426e+00 + 2.4682668e+00 1.1674579e+00 + 2.4686514e+00 1.1634345e+00 + 2.4690361e+00 1.1506388e+00 + 2.4694207e+00 1.1521145e+00 + 2.4698054e+00 1.1475405e+00 + 2.4701900e+00 1.1594140e+00 + 2.4705747e+00 1.1633354e+00 + 2.4709593e+00 1.1635728e+00 + 2.4713439e+00 1.1548702e+00 + 2.4717286e+00 1.1490565e+00 + 2.4721132e+00 1.1529224e+00 + 2.4724979e+00 1.1510750e+00 + 2.4728825e+00 1.1570243e+00 + 2.4732672e+00 1.1629986e+00 + 2.4736518e+00 1.1576921e+00 + 2.4740365e+00 1.1581998e+00 + 2.4744211e+00 1.1622282e+00 + 2.4748058e+00 1.1723676e+00 + 2.4751904e+00 1.1734906e+00 + 2.4755750e+00 1.1704544e+00 + 2.4759597e+00 1.1722221e+00 + 2.4763443e+00 1.1790819e+00 + 2.4767290e+00 1.1809595e+00 + 2.4771136e+00 1.1839453e+00 + 2.4774983e+00 1.1921637e+00 + 2.4778829e+00 1.2020445e+00 + 2.4782676e+00 1.2128259e+00 + 2.4786522e+00 1.2137963e+00 + 2.4790368e+00 1.2140827e+00 + 2.4794215e+00 1.2104087e+00 + 2.4798061e+00 1.2239760e+00 + 2.4801908e+00 1.2230477e+00 + 2.4805754e+00 1.2217699e+00 + 2.4809601e+00 1.2193844e+00 + 2.4813447e+00 1.2234167e+00 + 2.4817294e+00 1.2236428e+00 + 2.4821140e+00 1.2196426e+00 + 2.4824987e+00 1.2166729e+00 + 2.4828833e+00 1.2022761e+00 + 2.4832679e+00 1.1943982e+00 + 2.4836526e+00 1.1847054e+00 + 2.4840372e+00 1.1890894e+00 + 2.4844219e+00 1.1874537e+00 + 2.4848065e+00 1.1979623e+00 + 2.4851912e+00 1.1901533e+00 + 2.4855758e+00 1.1903357e+00 + 2.4859605e+00 1.1933549e+00 + 2.4863451e+00 1.1841475e+00 + 2.4867297e+00 1.1817105e+00 + 2.4871144e+00 1.1839288e+00 + 2.4874990e+00 1.1948295e+00 + 2.4878837e+00 1.1932054e+00 + 2.4882683e+00 1.1916643e+00 + 2.4886530e+00 1.1966319e+00 + 2.4890376e+00 1.1972937e+00 + 2.4894223e+00 1.1828897e+00 + 2.4898069e+00 1.1901541e+00 + 2.4901916e+00 1.1932534e+00 + 2.4905762e+00 1.1926922e+00 + 2.4909608e+00 1.1927858e+00 + 2.4913455e+00 1.1973061e+00 + 2.4917301e+00 1.2040275e+00 + 2.4921148e+00 1.2007681e+00 + 2.4924994e+00 1.2027392e+00 + 2.4928841e+00 1.1963333e+00 + 2.4932687e+00 1.1899886e+00 + 2.4936534e+00 1.1916991e+00 + 2.4940380e+00 1.1957496e+00 + 2.4944226e+00 1.1926479e+00 + 2.4948073e+00 1.1933772e+00 + 2.4951919e+00 1.1909894e+00 + 2.4955766e+00 1.1906646e+00 + 2.4959612e+00 1.1867450e+00 + 2.4963459e+00 1.1834377e+00 + 2.4967305e+00 1.1804544e+00 + 2.4971152e+00 1.1804908e+00 + 2.4974998e+00 1.1748184e+00 + 2.4978845e+00 1.1745730e+00 + 2.4982691e+00 1.1777511e+00 + 2.4986537e+00 1.1713052e+00 + 2.4990384e+00 1.1667509e+00 + 2.4994230e+00 1.1673649e+00 + 2.4998077e+00 1.1705012e+00 + 2.5001923e+00 1.1790057e+00 + 2.5005770e+00 1.1842655e+00 + 2.5009616e+00 1.1927135e+00 + 2.5013463e+00 1.1929312e+00 + 2.5017309e+00 1.1960875e+00 + 2.5021155e+00 1.2020453e+00 + 2.5025002e+00 1.2069580e+00 + 2.5028848e+00 1.2114524e+00 + 2.5032695e+00 1.2252600e+00 + 2.5036541e+00 1.2215172e+00 + 2.5040388e+00 1.2130547e+00 + 2.5044234e+00 1.2187235e+00 + 2.5048081e+00 1.2173786e+00 + 2.5051927e+00 1.2158969e+00 + 2.5055774e+00 1.2163830e+00 + 2.5059620e+00 1.2253534e+00 + 2.5063466e+00 1.2325815e+00 + 2.5067313e+00 1.2225877e+00 + 2.5071159e+00 1.2202548e+00 + 2.5075006e+00 1.2234256e+00 + 2.5078852e+00 1.2173975e+00 + 2.5082699e+00 1.2172764e+00 + 2.5086545e+00 1.2136206e+00 + 2.5090392e+00 1.2069782e+00 + 2.5094238e+00 1.2071592e+00 + 2.5098084e+00 1.2111890e+00 + 2.5101931e+00 1.2065296e+00 + 2.5105777e+00 1.2074322e+00 + 2.5109624e+00 1.2118057e+00 + 2.5113470e+00 1.2146987e+00 + 2.5117317e+00 1.2092573e+00 + 2.5121163e+00 1.2142371e+00 + 2.5125010e+00 1.2256043e+00 + 2.5128856e+00 1.2164914e+00 + 2.5132703e+00 1.2303095e+00 + 2.5136549e+00 1.2301589e+00 + 2.5140395e+00 1.2323249e+00 + 2.5144242e+00 1.2406884e+00 + 2.5148088e+00 1.2460748e+00 + 2.5151935e+00 1.2414066e+00 + 2.5155781e+00 1.2489009e+00 + 2.5159628e+00 1.2402951e+00 + 2.5163474e+00 1.2302366e+00 + 2.5167321e+00 1.2341317e+00 + 2.5171167e+00 1.2381573e+00 + 2.5175013e+00 1.2346068e+00 + 2.5178860e+00 1.2346329e+00 + 2.5182706e+00 1.2238115e+00 + 2.5186553e+00 1.2213742e+00 + 2.5190399e+00 1.2258796e+00 + 2.5194246e+00 1.2235767e+00 + 2.5198092e+00 1.2237770e+00 + 2.5201939e+00 1.2350429e+00 + 2.5205785e+00 1.2256550e+00 + 2.5209632e+00 1.2274108e+00 + 2.5213478e+00 1.2357419e+00 + 2.5217324e+00 1.2429491e+00 + 2.5221171e+00 1.2420943e+00 + 2.5225017e+00 1.2492537e+00 + 2.5228864e+00 1.2626142e+00 + 2.5232710e+00 1.2598316e+00 + 2.5236557e+00 1.2576704e+00 + 2.5240403e+00 1.2592256e+00 + 2.5244250e+00 1.2584176e+00 + 2.5248096e+00 1.2600911e+00 + 2.5251942e+00 1.2490263e+00 + 2.5255789e+00 1.2472634e+00 + 2.5259635e+00 1.2581317e+00 + 2.5263482e+00 1.2672900e+00 + 2.5267328e+00 1.2729088e+00 + 2.5271175e+00 1.2794156e+00 + 2.5275021e+00 1.2754807e+00 + 2.5278868e+00 1.2719062e+00 + 2.5282714e+00 1.2756423e+00 + 2.5286561e+00 1.2866138e+00 + 2.5290407e+00 1.2837449e+00 + 2.5294253e+00 1.2821500e+00 + 2.5298100e+00 1.2903997e+00 + 2.5301946e+00 1.2943497e+00 + 2.5305793e+00 1.2891954e+00 + 2.5309639e+00 1.2889752e+00 + 2.5313486e+00 1.2936063e+00 + 2.5317332e+00 1.2960721e+00 + 2.5321179e+00 1.2890233e+00 + 2.5325025e+00 1.2860657e+00 + 2.5328871e+00 1.2957104e+00 + 2.5332718e+00 1.2869005e+00 + 2.5336564e+00 1.2837172e+00 + 2.5340411e+00 1.2820603e+00 + 2.5344257e+00 1.2790397e+00 + 2.5348104e+00 1.2855871e+00 + 2.5351950e+00 1.2918802e+00 + 2.5355797e+00 1.3041538e+00 + 2.5359643e+00 1.3058805e+00 + 2.5363489e+00 1.3053366e+00 + 2.5367336e+00 1.2999048e+00 + 2.5371182e+00 1.2991619e+00 + 2.5375029e+00 1.3013342e+00 + 2.5378875e+00 1.3035317e+00 + 2.5382722e+00 1.3061080e+00 + 2.5386568e+00 1.2969619e+00 + 2.5390415e+00 1.2960181e+00 + 2.5394261e+00 1.3037870e+00 + 2.5398108e+00 1.2980607e+00 + 2.5401954e+00 1.3023351e+00 + 2.5405800e+00 1.3037232e+00 + 2.5409647e+00 1.3086650e+00 + 2.5413493e+00 1.3128476e+00 + 2.5417340e+00 1.3089596e+00 + 2.5421186e+00 1.3059979e+00 + 2.5425033e+00 1.2989981e+00 + 2.5428879e+00 1.2949472e+00 + 2.5432726e+00 1.2985396e+00 + 2.5436572e+00 1.2984657e+00 + 2.5440418e+00 1.3004763e+00 + 2.5444265e+00 1.3066643e+00 + 2.5448111e+00 1.2976555e+00 + 2.5451958e+00 1.2998467e+00 + 2.5455804e+00 1.2990448e+00 + 2.5459651e+00 1.2998506e+00 + 2.5463497e+00 1.3125186e+00 + 2.5467344e+00 1.3151375e+00 + 2.5471190e+00 1.3171590e+00 + 2.5475037e+00 1.3135589e+00 + 2.5478883e+00 1.3101051e+00 + 2.5482729e+00 1.3102680e+00 + 2.5486576e+00 1.3150672e+00 + 2.5490422e+00 1.3127865e+00 + 2.5494269e+00 1.3131990e+00 + 2.5498115e+00 1.3087497e+00 + 2.5501962e+00 1.3155823e+00 + 2.5505808e+00 1.3245087e+00 + 2.5509655e+00 1.3207317e+00 + 2.5513501e+00 1.3152466e+00 + 2.5517347e+00 1.3140847e+00 + 2.5521194e+00 1.3236149e+00 + 2.5525040e+00 1.3171697e+00 + 2.5528887e+00 1.3194103e+00 + 2.5532733e+00 1.3209486e+00 + 2.5536580e+00 1.3213414e+00 + 2.5540426e+00 1.3291604e+00 + 2.5544273e+00 1.3280167e+00 + 2.5548119e+00 1.3213995e+00 + 2.5551966e+00 1.3065172e+00 + 2.5555812e+00 1.3083120e+00 + 2.5559658e+00 1.2988582e+00 + 2.5563505e+00 1.2970657e+00 + 2.5567351e+00 1.3024901e+00 + 2.5571198e+00 1.3164064e+00 + 2.5575044e+00 1.3194028e+00 + 2.5578891e+00 1.3163930e+00 + 2.5582737e+00 1.3116948e+00 + 2.5586584e+00 1.2999319e+00 + 2.5590430e+00 1.3000148e+00 + 2.5594276e+00 1.3096989e+00 + 2.5598123e+00 1.3057329e+00 + 2.5601969e+00 1.3024664e+00 + 2.5605816e+00 1.2925648e+00 + 2.5609662e+00 1.2866674e+00 + 2.5613509e+00 1.2896065e+00 + 2.5617355e+00 1.2878498e+00 + 2.5621202e+00 1.2936915e+00 + 2.5625048e+00 1.2889227e+00 + 2.5628895e+00 1.2924206e+00 + 2.5632741e+00 1.2933181e+00 + 2.5636587e+00 1.3053151e+00 + 2.5640434e+00 1.3071579e+00 + 2.5644280e+00 1.3079683e+00 + 2.5648127e+00 1.3158613e+00 + 2.5651973e+00 1.3175843e+00 + 2.5655820e+00 1.3171656e+00 + 2.5659666e+00 1.3070726e+00 + 2.5663513e+00 1.3077994e+00 + 2.5667359e+00 1.3098597e+00 + 2.5671205e+00 1.3182847e+00 + 2.5675052e+00 1.3153501e+00 + 2.5678898e+00 1.3207566e+00 + 2.5682745e+00 1.3316352e+00 + 2.5686591e+00 1.3174587e+00 + 2.5690438e+00 1.3134959e+00 + 2.5694284e+00 1.3177222e+00 + 2.5698131e+00 1.3233408e+00 + 2.5701977e+00 1.3179983e+00 + 2.5705824e+00 1.3131665e+00 + 2.5709670e+00 1.3208305e+00 + 2.5713516e+00 1.3295125e+00 + 2.5717363e+00 1.3294904e+00 + 2.5721209e+00 1.3357089e+00 + 2.5725056e+00 1.3314297e+00 + 2.5728902e+00 1.3317940e+00 + 2.5732749e+00 1.3168866e+00 + 2.5736595e+00 1.3087950e+00 + 2.5740442e+00 1.3073670e+00 + 2.5744288e+00 1.3094919e+00 + 2.5748134e+00 1.3133931e+00 + 2.5751981e+00 1.3118686e+00 + 2.5755827e+00 1.3130213e+00 + 2.5759674e+00 1.3161263e+00 + 2.5763520e+00 1.3157366e+00 + 2.5767367e+00 1.3171029e+00 + 2.5771213e+00 1.3164637e+00 + 2.5775060e+00 1.3308900e+00 + 2.5778906e+00 1.3285215e+00 + 2.5782753e+00 1.3289942e+00 + 2.5786599e+00 1.3359044e+00 + 2.5790445e+00 1.3341241e+00 + 2.5794292e+00 1.3340690e+00 + 2.5798138e+00 1.3374890e+00 + 2.5801985e+00 1.3387288e+00 + 2.5805831e+00 1.3328598e+00 + 2.5809678e+00 1.3334595e+00 + 2.5813524e+00 1.3317518e+00 + 2.5817371e+00 1.3380086e+00 + 2.5821217e+00 1.3437411e+00 + 2.5825063e+00 1.3434501e+00 + 2.5828910e+00 1.3559228e+00 + 2.5832756e+00 1.3543281e+00 + 2.5836603e+00 1.3546928e+00 + 2.5840449e+00 1.3579591e+00 + 2.5844296e+00 1.3600786e+00 + 2.5848142e+00 1.3656263e+00 + 2.5851989e+00 1.3714525e+00 + 2.5855835e+00 1.3874462e+00 + 2.5859682e+00 1.3914286e+00 + 2.5863528e+00 1.3879503e+00 + 2.5867374e+00 1.3972031e+00 + 2.5871221e+00 1.3927578e+00 + 2.5875067e+00 1.3953273e+00 + 2.5878914e+00 1.3970685e+00 + 2.5882760e+00 1.3925651e+00 + 2.5886607e+00 1.3888211e+00 + 2.5890453e+00 1.3904605e+00 + 2.5894300e+00 1.3984951e+00 + 2.5898146e+00 1.3934354e+00 + 2.5901992e+00 1.3989561e+00 + 2.5905839e+00 1.3910736e+00 + 2.5909685e+00 1.3971801e+00 + 2.5913532e+00 1.3953791e+00 + 2.5917378e+00 1.4038696e+00 + 2.5921225e+00 1.4018197e+00 + 2.5925071e+00 1.4027177e+00 + 2.5928918e+00 1.3908825e+00 + 2.5932764e+00 1.3901216e+00 + 2.5936611e+00 1.3987090e+00 + 2.5940457e+00 1.3929394e+00 + 2.5944303e+00 1.3914470e+00 + 2.5948150e+00 1.3892061e+00 + 2.5951996e+00 1.3905562e+00 + 2.5955843e+00 1.3989960e+00 + 2.5959689e+00 1.3972952e+00 + 2.5963536e+00 1.3895952e+00 + 2.5967382e+00 1.3953740e+00 + 2.5971229e+00 1.3942165e+00 + 2.5975075e+00 1.4001428e+00 + 2.5978921e+00 1.3995718e+00 + 2.5982768e+00 1.3964439e+00 + 2.5986614e+00 1.3959720e+00 + 2.5990461e+00 1.3928695e+00 + 2.5994307e+00 1.4083444e+00 + 2.5998154e+00 1.4057510e+00 + 2.6002000e+00 1.4105156e+00 + 2.6005847e+00 1.4096364e+00 + 2.6009693e+00 1.4148900e+00 + 2.6013540e+00 1.4166638e+00 + 2.6017386e+00 1.4174743e+00 + 2.6021232e+00 1.4228513e+00 + 2.6025079e+00 1.4208884e+00 + 2.6028925e+00 1.4234258e+00 + 2.6032772e+00 1.4256806e+00 + 2.6036618e+00 1.4287286e+00 + 2.6040465e+00 1.4292897e+00 + 2.6044311e+00 1.4342370e+00 + 2.6048158e+00 1.4374359e+00 + 2.6052004e+00 1.4276803e+00 + 2.6055850e+00 1.4176486e+00 + 2.6059697e+00 1.4154394e+00 + 2.6063543e+00 1.4162571e+00 + 2.6067390e+00 1.4233156e+00 + 2.6071236e+00 1.4250103e+00 + 2.6075083e+00 1.4164154e+00 + 2.6078929e+00 1.4120379e+00 + 2.6082776e+00 1.4065241e+00 + 2.6086622e+00 1.4186080e+00 + 2.6090468e+00 1.4021433e+00 + 2.6094315e+00 1.4050009e+00 + 2.6098161e+00 1.4073537e+00 + 2.6102008e+00 1.4119388e+00 + 2.6105854e+00 1.4061897e+00 + 2.6109701e+00 1.3980536e+00 + 2.6113547e+00 1.4015800e+00 + 2.6117394e+00 1.4054985e+00 + 2.6121240e+00 1.4096954e+00 + 2.6125087e+00 1.3976753e+00 + 2.6128933e+00 1.3909788e+00 + 2.6132779e+00 1.3857290e+00 + 2.6136626e+00 1.3827419e+00 + 2.6140472e+00 1.3789946e+00 + 2.6144319e+00 1.3798998e+00 + 2.6148165e+00 1.3806911e+00 + 2.6152012e+00 1.3919137e+00 + 2.6155858e+00 1.3890760e+00 + 2.6159705e+00 1.3852702e+00 + 2.6163551e+00 1.3886748e+00 + 2.6167397e+00 1.3945061e+00 + 2.6171244e+00 1.3935609e+00 + 2.6175090e+00 1.4021056e+00 + 2.6178937e+00 1.4025908e+00 + 2.6182783e+00 1.3997340e+00 + 2.6186630e+00 1.4089534e+00 + 2.6190476e+00 1.4114627e+00 + 2.6194323e+00 1.4137870e+00 + 2.6198169e+00 1.4087684e+00 + 2.6202016e+00 1.4025493e+00 + 2.6205862e+00 1.4057919e+00 + 2.6209708e+00 1.4083791e+00 + 2.6213555e+00 1.4038680e+00 + 2.6217401e+00 1.4112125e+00 + 2.6221248e+00 1.4241806e+00 + 2.6225094e+00 1.4279021e+00 + 2.6228941e+00 1.4311031e+00 + 2.6232787e+00 1.4290758e+00 + 2.6236634e+00 1.4271188e+00 + 2.6240480e+00 1.4265159e+00 + 2.6244326e+00 1.4260898e+00 + 2.6248173e+00 1.4312692e+00 + 2.6252019e+00 1.4367597e+00 + 2.6255866e+00 1.4482979e+00 + 2.6259712e+00 1.4570040e+00 + 2.6263559e+00 1.4577288e+00 + 2.6267405e+00 1.4649819e+00 + 2.6271252e+00 1.4594761e+00 + 2.6275098e+00 1.4515162e+00 + 2.6278945e+00 1.4485110e+00 + 2.6282791e+00 1.4444424e+00 + 2.6286637e+00 1.4369886e+00 + 2.6290484e+00 1.4393014e+00 + 2.6294330e+00 1.4451050e+00 + 2.6298177e+00 1.4491740e+00 + 2.6302023e+00 1.4501096e+00 + 2.6305870e+00 1.4556584e+00 + 2.6309716e+00 1.4654354e+00 + 2.6313563e+00 1.4671948e+00 + 2.6317409e+00 1.4656185e+00 + 2.6321255e+00 1.4612410e+00 + 2.6325102e+00 1.4581433e+00 + 2.6328948e+00 1.4517497e+00 + 2.6332795e+00 1.4473811e+00 + 2.6336641e+00 1.4401466e+00 + 2.6340488e+00 1.4341975e+00 + 2.6344334e+00 1.4382606e+00 + 2.6348181e+00 1.4351253e+00 + 2.6352027e+00 1.4329519e+00 + 2.6355874e+00 1.4280505e+00 + 2.6359720e+00 1.4385426e+00 + 2.6363566e+00 1.4205545e+00 + 2.6367413e+00 1.4295621e+00 + 2.6371259e+00 1.4242967e+00 + 2.6375106e+00 1.4278630e+00 + 2.6378952e+00 1.4243103e+00 + 2.6382799e+00 1.4331918e+00 + 2.6386645e+00 1.4261618e+00 + 2.6390492e+00 1.4221799e+00 + 2.6394338e+00 1.4097771e+00 + 2.6398184e+00 1.4090181e+00 + 2.6402031e+00 1.3997390e+00 + 2.6405877e+00 1.4139346e+00 + 2.6409724e+00 1.4212902e+00 + 2.6413570e+00 1.4299496e+00 + 2.6417417e+00 1.4337591e+00 + 2.6421263e+00 1.4327266e+00 + 2.6425110e+00 1.4272773e+00 + 2.6428956e+00 1.4278179e+00 + 2.6432803e+00 1.4218451e+00 + 2.6436649e+00 1.4190294e+00 + 2.6440495e+00 1.4211081e+00 + 2.6444342e+00 1.4255454e+00 + 2.6448188e+00 1.4213090e+00 + 2.6452035e+00 1.4249732e+00 + 2.6455881e+00 1.4310260e+00 + 2.6459728e+00 1.4375126e+00 + 2.6463574e+00 1.4450110e+00 + 2.6467421e+00 1.4418802e+00 + 2.6471267e+00 1.4416450e+00 + 2.6475113e+00 1.4403785e+00 + 2.6478960e+00 1.4425614e+00 + 2.6482806e+00 1.4393546e+00 + 2.6486653e+00 1.4362220e+00 + 2.6490499e+00 1.4286050e+00 + 2.6494346e+00 1.4307112e+00 + 2.6498192e+00 1.4266827e+00 + 2.6502039e+00 1.4246005e+00 + 2.6505885e+00 1.4215230e+00 + 2.6509732e+00 1.4294145e+00 + 2.6513578e+00 1.4311275e+00 + 2.6517424e+00 1.4283845e+00 + 2.6521271e+00 1.4226778e+00 + 2.6525117e+00 1.4218161e+00 + 2.6528964e+00 1.4268745e+00 + 2.6532810e+00 1.4133102e+00 + 2.6536657e+00 1.4260807e+00 + 2.6540503e+00 1.4238395e+00 + 2.6544350e+00 1.4327838e+00 + 2.6548196e+00 1.4348982e+00 + 2.6552042e+00 1.4381998e+00 + 2.6555889e+00 1.4448483e+00 + 2.6559735e+00 1.4510857e+00 + 2.6563582e+00 1.4490423e+00 + 2.6567428e+00 1.4486398e+00 + 2.6571275e+00 1.4432138e+00 + 2.6575121e+00 1.4403331e+00 + 2.6578968e+00 1.4516580e+00 + 2.6582814e+00 1.4446524e+00 + 2.6586661e+00 1.4435296e+00 + 2.6590507e+00 1.4461295e+00 + 2.6594353e+00 1.4515832e+00 + 2.6598200e+00 1.4548046e+00 + 2.6602046e+00 1.4533570e+00 + 2.6605893e+00 1.4602137e+00 + 2.6609739e+00 1.4674604e+00 + 2.6613586e+00 1.4774420e+00 + 2.6617432e+00 1.4765341e+00 + 2.6621279e+00 1.4786668e+00 + 2.6625125e+00 1.4893867e+00 + 2.6628971e+00 1.4904591e+00 + 2.6632818e+00 1.4912003e+00 + 2.6636664e+00 1.4976076e+00 + 2.6640511e+00 1.5001785e+00 + 2.6644357e+00 1.5096623e+00 + 2.6648204e+00 1.4947951e+00 + 2.6652050e+00 1.4941693e+00 + 2.6655897e+00 1.4969100e+00 + 2.6659743e+00 1.4931717e+00 + 2.6663590e+00 1.4880880e+00 + 2.6667436e+00 1.4846406e+00 + 2.6671282e+00 1.4924292e+00 + 2.6675129e+00 1.4938592e+00 + 2.6678975e+00 1.4898589e+00 + 2.6682822e+00 1.4816996e+00 + 2.6686668e+00 1.4813827e+00 + 2.6690515e+00 1.4883061e+00 + 2.6694361e+00 1.4936251e+00 + 2.6698208e+00 1.4789937e+00 + 2.6702054e+00 1.4816151e+00 + 2.6705900e+00 1.4930736e+00 + 2.6709747e+00 1.4900406e+00 + 2.6713593e+00 1.4891325e+00 + 2.6717440e+00 1.4800202e+00 + 2.6721286e+00 1.4778509e+00 + 2.6725133e+00 1.4697568e+00 + 2.6728979e+00 1.4777342e+00 + 2.6732826e+00 1.4798352e+00 + 2.6736672e+00 1.4875426e+00 + 2.6740519e+00 1.4906103e+00 + 2.6744365e+00 1.4910445e+00 + 2.6748211e+00 1.4866959e+00 + 2.6752058e+00 1.4943725e+00 + 2.6755904e+00 1.4968656e+00 + 2.6759751e+00 1.4982203e+00 + 2.6763597e+00 1.4996222e+00 + 2.6767444e+00 1.4860416e+00 + 2.6771290e+00 1.4854355e+00 + 2.6775137e+00 1.4870301e+00 + 2.6778983e+00 1.4907185e+00 + 2.6782829e+00 1.4953626e+00 + 2.6786676e+00 1.4886453e+00 + 2.6790522e+00 1.4880554e+00 + 2.6794369e+00 1.4783238e+00 + 2.6798215e+00 1.4683610e+00 + 2.6802062e+00 1.4795599e+00 + 2.6805908e+00 1.4806169e+00 + 2.6809755e+00 1.4816266e+00 + 2.6813601e+00 1.4779030e+00 + 2.6817447e+00 1.4790329e+00 + 2.6821294e+00 1.4812762e+00 + 2.6825140e+00 1.4779070e+00 + 2.6828987e+00 1.4816487e+00 + 2.6832833e+00 1.4841797e+00 + 2.6836680e+00 1.4859810e+00 + 2.6840526e+00 1.4940954e+00 + 2.6844373e+00 1.4970988e+00 + 2.6848219e+00 1.5040607e+00 + 2.6852066e+00 1.5034963e+00 + 2.6855912e+00 1.5011551e+00 + 2.6859758e+00 1.5005099e+00 + 2.6863605e+00 1.5049044e+00 + 2.6867451e+00 1.5002704e+00 + 2.6871298e+00 1.5008030e+00 + 2.6875144e+00 1.4962933e+00 + 2.6878991e+00 1.5003107e+00 + 2.6882837e+00 1.5061331e+00 + 2.6886684e+00 1.5134701e+00 + 2.6890530e+00 1.5137717e+00 + 2.6894376e+00 1.5212878e+00 + 2.6898223e+00 1.5237163e+00 + 2.6902069e+00 1.5260297e+00 + 2.6905916e+00 1.5285485e+00 + 2.6909762e+00 1.5326236e+00 + 2.6913609e+00 1.5376629e+00 + 2.6917455e+00 1.5389483e+00 + 2.6921302e+00 1.5347631e+00 + 2.6925148e+00 1.5403986e+00 + 2.6928995e+00 1.5482842e+00 + 2.6932841e+00 1.5522046e+00 + 2.6936687e+00 1.5581419e+00 + 2.6940534e+00 1.5434845e+00 + 2.6944380e+00 1.5368133e+00 + 2.6948227e+00 1.5327549e+00 + 2.6952073e+00 1.5351427e+00 + 2.6955920e+00 1.5320063e+00 + 2.6959766e+00 1.5270504e+00 + 2.6963613e+00 1.5212072e+00 + 2.6967459e+00 1.5192316e+00 + 2.6971305e+00 1.5147713e+00 + 2.6975152e+00 1.5140935e+00 + 2.6978998e+00 1.5069866e+00 + 2.6982845e+00 1.4978682e+00 + 2.6986691e+00 1.4979948e+00 + 2.6990538e+00 1.4935948e+00 + 2.6994384e+00 1.4860129e+00 + 2.6998231e+00 1.4939754e+00 + 2.7002077e+00 1.5003304e+00 + 2.7005924e+00 1.4954021e+00 + 2.7009770e+00 1.4975879e+00 + 2.7013616e+00 1.5044147e+00 + 2.7017463e+00 1.5009239e+00 + 2.7021309e+00 1.4910559e+00 + 2.7025156e+00 1.4885837e+00 + 2.7029002e+00 1.4876686e+00 + 2.7032849e+00 1.4871962e+00 + 2.7036695e+00 1.4941114e+00 + 2.7040542e+00 1.5006511e+00 + 2.7044388e+00 1.4908003e+00 + 2.7048234e+00 1.4892246e+00 + 2.7052081e+00 1.4928593e+00 + 2.7055927e+00 1.4846903e+00 + 2.7059774e+00 1.4932160e+00 + 2.7063620e+00 1.5005202e+00 + 2.7067467e+00 1.4972239e+00 + 2.7071313e+00 1.4910633e+00 + 2.7075160e+00 1.4929014e+00 + 2.7079006e+00 1.4965503e+00 + 2.7082853e+00 1.4959195e+00 + 2.7086699e+00 1.5033226e+00 + 2.7090545e+00 1.5084863e+00 + 2.7094392e+00 1.5085872e+00 + 2.7098238e+00 1.5060381e+00 + 2.7102085e+00 1.5050927e+00 + 2.7105931e+00 1.4991519e+00 + 2.7109778e+00 1.4989589e+00 + 2.7113624e+00 1.5096767e+00 + 2.7117471e+00 1.5034379e+00 + 2.7121317e+00 1.4982276e+00 + 2.7125163e+00 1.4902185e+00 + 2.7129010e+00 1.4919247e+00 + 2.7132856e+00 1.5004592e+00 + 2.7136703e+00 1.4965376e+00 + 2.7140549e+00 1.4982263e+00 + 2.7144396e+00 1.5063370e+00 + 2.7148242e+00 1.5116030e+00 + 2.7152089e+00 1.5076445e+00 + 2.7155935e+00 1.5054702e+00 + 2.7159782e+00 1.5042929e+00 + 2.7163628e+00 1.5058234e+00 + 2.7167474e+00 1.5131042e+00 + 2.7171321e+00 1.5094573e+00 + 2.7175167e+00 1.4878656e+00 + 2.7179014e+00 1.4855332e+00 + 2.7182860e+00 1.4829728e+00 + 2.7186707e+00 1.4791631e+00 + 2.7190553e+00 1.4862840e+00 + 2.7194400e+00 1.4883118e+00 + 2.7198246e+00 1.4864929e+00 + 2.7202092e+00 1.4832393e+00 + 2.7205939e+00 1.4798670e+00 + 2.7209785e+00 1.4759349e+00 + 2.7213632e+00 1.4737768e+00 + 2.7217478e+00 1.4738379e+00 + 2.7221325e+00 1.4687825e+00 + 2.7225171e+00 1.4590785e+00 + 2.7229018e+00 1.4714188e+00 + 2.7232864e+00 1.4703482e+00 + 2.7236711e+00 1.4731839e+00 + 2.7240557e+00 1.4775238e+00 + 2.7244403e+00 1.4804355e+00 + 2.7248250e+00 1.4768979e+00 + 2.7252096e+00 1.4810560e+00 + 2.7255943e+00 1.4790256e+00 + 2.7259789e+00 1.4782199e+00 + 2.7263636e+00 1.4800687e+00 + 2.7267482e+00 1.4877645e+00 + 2.7271329e+00 1.4878510e+00 + 2.7275175e+00 1.4894427e+00 + 2.7279021e+00 1.4925601e+00 + 2.7282868e+00 1.4968352e+00 + 2.7286714e+00 1.4965557e+00 + 2.7290561e+00 1.5007249e+00 + 2.7294407e+00 1.4998560e+00 + 2.7298254e+00 1.4958477e+00 + 2.7302100e+00 1.4885970e+00 + 2.7305947e+00 1.4869523e+00 + 2.7309793e+00 1.4799786e+00 + 2.7313640e+00 1.4803964e+00 + 2.7317486e+00 1.4794226e+00 + 2.7321332e+00 1.4839692e+00 + 2.7325179e+00 1.4864910e+00 + 2.7329025e+00 1.4904264e+00 + 2.7332872e+00 1.4916825e+00 + 2.7336718e+00 1.4825186e+00 + 2.7340565e+00 1.4829823e+00 + 2.7344411e+00 1.4858991e+00 + 2.7348258e+00 1.4820181e+00 + 2.7352104e+00 1.4771052e+00 + 2.7355950e+00 1.4777848e+00 + 2.7359797e+00 1.4820115e+00 + 2.7363643e+00 1.4832296e+00 + 2.7367490e+00 1.4831129e+00 + 2.7371336e+00 1.4782855e+00 + 2.7375183e+00 1.4784650e+00 + 2.7379029e+00 1.4892734e+00 + 2.7382876e+00 1.5019272e+00 + 2.7386722e+00 1.4928243e+00 + 2.7390569e+00 1.5014853e+00 + 2.7394415e+00 1.5056187e+00 + 2.7398261e+00 1.5009848e+00 + 2.7402108e+00 1.5031082e+00 + 2.7405954e+00 1.5109703e+00 + 2.7409801e+00 1.5134875e+00 + 2.7413647e+00 1.5113277e+00 + 2.7417494e+00 1.5091507e+00 + 2.7421340e+00 1.5118964e+00 + 2.7425187e+00 1.5163073e+00 + 2.7429033e+00 1.5194333e+00 + 2.7432879e+00 1.5175031e+00 + 2.7436726e+00 1.5183724e+00 + 2.7440572e+00 1.5262046e+00 + 2.7444419e+00 1.5184237e+00 + 2.7448265e+00 1.5323656e+00 + 2.7452112e+00 1.5271394e+00 + 2.7455958e+00 1.5407641e+00 + 2.7459805e+00 1.5439235e+00 + 2.7463651e+00 1.5422538e+00 + 2.7467497e+00 1.5387075e+00 + 2.7471344e+00 1.5427744e+00 + 2.7475190e+00 1.5491893e+00 + 2.7479037e+00 1.5539062e+00 + 2.7482883e+00 1.5531187e+00 + 2.7486730e+00 1.5518756e+00 + 2.7490576e+00 1.5526424e+00 + 2.7494423e+00 1.5471418e+00 + 2.7498269e+00 1.5458348e+00 + 2.7502116e+00 1.5626648e+00 + 2.7505962e+00 1.5570678e+00 + 2.7509808e+00 1.5624152e+00 + 2.7513655e+00 1.5594453e+00 + 2.7517501e+00 1.5599998e+00 + 2.7521348e+00 1.5542686e+00 + 2.7525194e+00 1.5459598e+00 + 2.7529041e+00 1.5522421e+00 + 2.7532887e+00 1.5511284e+00 + 2.7536734e+00 1.5556789e+00 + 2.7540580e+00 1.5479450e+00 + 2.7544426e+00 1.5481293e+00 + 2.7548273e+00 1.5534363e+00 + 2.7552119e+00 1.5538176e+00 + 2.7555966e+00 1.5593524e+00 + 2.7559812e+00 1.5735823e+00 + 2.7563659e+00 1.5675361e+00 + 2.7567505e+00 1.5687784e+00 + 2.7571352e+00 1.5679318e+00 + 2.7575198e+00 1.5641311e+00 + 2.7579045e+00 1.5699524e+00 + 2.7582891e+00 1.5761442e+00 + 2.7586737e+00 1.5723672e+00 + 2.7590584e+00 1.5818542e+00 + 2.7594430e+00 1.5757665e+00 + 2.7598277e+00 1.5759296e+00 + 2.7602123e+00 1.5673074e+00 + 2.7605970e+00 1.5598710e+00 + 2.7609816e+00 1.5587498e+00 + 2.7613663e+00 1.5607762e+00 + 2.7617509e+00 1.5730446e+00 + 2.7621355e+00 1.5771877e+00 + 2.7625202e+00 1.5744592e+00 + 2.7629048e+00 1.5736295e+00 + 2.7632895e+00 1.5772249e+00 + 2.7636741e+00 1.5813523e+00 + 2.7640588e+00 1.5794849e+00 + 2.7644434e+00 1.5844524e+00 + 2.7648281e+00 1.5867902e+00 + 2.7652127e+00 1.5835807e+00 + 2.7655974e+00 1.5832928e+00 + 2.7659820e+00 1.5792832e+00 + 2.7663666e+00 1.5742289e+00 + 2.7667513e+00 1.5812195e+00 + 2.7671359e+00 1.5855273e+00 + 2.7675206e+00 1.5795780e+00 + 2.7679052e+00 1.5785556e+00 + 2.7682899e+00 1.5865210e+00 + 2.7686745e+00 1.5899588e+00 + 2.7690592e+00 1.5854546e+00 + 2.7694438e+00 1.5878385e+00 + 2.7698284e+00 1.5887408e+00 + 2.7702131e+00 1.6007418e+00 + 2.7705977e+00 1.6010849e+00 + 2.7709824e+00 1.6021987e+00 + 2.7713670e+00 1.5982313e+00 + 2.7717517e+00 1.5990536e+00 + 2.7721363e+00 1.6155184e+00 + 2.7725210e+00 1.6104465e+00 + 2.7729056e+00 1.6161590e+00 + 2.7732903e+00 1.6181851e+00 + 2.7736749e+00 1.6091972e+00 + 2.7740595e+00 1.6097836e+00 + 2.7744442e+00 1.6053735e+00 + 2.7748288e+00 1.6065767e+00 + 2.7752135e+00 1.6001662e+00 + 2.7755981e+00 1.5916910e+00 + 2.7759828e+00 1.5831626e+00 + 2.7763674e+00 1.5851522e+00 + 2.7767521e+00 1.5841491e+00 + 2.7771367e+00 1.5822709e+00 + 2.7775213e+00 1.5874402e+00 + 2.7779060e+00 1.5924897e+00 + 2.7782906e+00 1.5831842e+00 + 2.7786753e+00 1.5908580e+00 + 2.7790599e+00 1.6042132e+00 + 2.7794446e+00 1.6047340e+00 + 2.7798292e+00 1.6096600e+00 + 2.7802139e+00 1.6136572e+00 + 2.7805985e+00 1.6104123e+00 + 2.7809832e+00 1.6101893e+00 + 2.7813678e+00 1.6120609e+00 + 2.7817524e+00 1.6162322e+00 + 2.7821371e+00 1.6227187e+00 + 2.7825217e+00 1.6270811e+00 + 2.7829064e+00 1.6279795e+00 + 2.7832910e+00 1.6239901e+00 + 2.7836757e+00 1.6207356e+00 + 2.7840603e+00 1.6191814e+00 + 2.7844450e+00 1.6132422e+00 + 2.7848296e+00 1.6114989e+00 + 2.7852142e+00 1.6042835e+00 + 2.7855989e+00 1.5971653e+00 + 2.7859835e+00 1.5975814e+00 + 2.7863682e+00 1.5936323e+00 + 2.7867528e+00 1.6000323e+00 + 2.7871375e+00 1.5976659e+00 + 2.7875221e+00 1.5987467e+00 + 2.7879068e+00 1.6036319e+00 + 2.7882914e+00 1.6197035e+00 + 2.7886761e+00 1.6112882e+00 + 2.7890607e+00 1.6035355e+00 + 2.7894453e+00 1.6010666e+00 + 2.7898300e+00 1.5990072e+00 + 2.7902146e+00 1.5998222e+00 + 2.7905993e+00 1.6061652e+00 + 2.7909839e+00 1.6040728e+00 + 2.7913686e+00 1.6111556e+00 + 2.7917532e+00 1.6137572e+00 + 2.7921379e+00 1.6070885e+00 + 2.7925225e+00 1.5942104e+00 + 2.7929071e+00 1.5947110e+00 + 2.7932918e+00 1.5828178e+00 + 2.7936764e+00 1.5879074e+00 + 2.7940611e+00 1.5987630e+00 + 2.7944457e+00 1.5939665e+00 + 2.7948304e+00 1.6080119e+00 + 2.7952150e+00 1.6073940e+00 + 2.7955997e+00 1.6014505e+00 + 2.7959843e+00 1.6009577e+00 + 2.7963690e+00 1.6006859e+00 + 2.7967536e+00 1.6084714e+00 + 2.7971382e+00 1.6144058e+00 + 2.7975229e+00 1.6178294e+00 + 2.7979075e+00 1.6235120e+00 + 2.7982922e+00 1.6259553e+00 + 2.7986768e+00 1.6280600e+00 + 2.7990615e+00 1.6292285e+00 + 2.7994461e+00 1.6261913e+00 + 2.7998308e+00 1.6223405e+00 + 2.8002154e+00 1.6184405e+00 + 2.8006000e+00 1.6274172e+00 + 2.8009847e+00 1.6255285e+00 + 2.8013693e+00 1.6258663e+00 + 2.8017540e+00 1.6142489e+00 + 2.8021386e+00 1.6091143e+00 + 2.8025233e+00 1.5998902e+00 + 2.8029079e+00 1.6106416e+00 + 2.8032926e+00 1.6087011e+00 + 2.8036772e+00 1.6055044e+00 + 2.8040619e+00 1.6054914e+00 + 2.8044465e+00 1.6080501e+00 + 2.8048311e+00 1.5939569e+00 + 2.8052158e+00 1.5895092e+00 + 2.8056004e+00 1.5947002e+00 + 2.8059851e+00 1.5942538e+00 + 2.8063697e+00 1.5913429e+00 + 2.8067544e+00 1.5955912e+00 + 2.8071390e+00 1.5969430e+00 + 2.8075237e+00 1.5869447e+00 + 2.8079083e+00 1.5737461e+00 + 2.8082929e+00 1.5861044e+00 + 2.8086776e+00 1.5874281e+00 + 2.8090622e+00 1.5833222e+00 + 2.8094469e+00 1.5844671e+00 + 2.8098315e+00 1.5772519e+00 + 2.8102162e+00 1.5701112e+00 + 2.8106008e+00 1.5710391e+00 + 2.8109855e+00 1.5695165e+00 + 2.8113701e+00 1.5674783e+00 + 2.8117548e+00 1.5678925e+00 + 2.8121394e+00 1.5634376e+00 + 2.8125240e+00 1.5593043e+00 + 2.8129087e+00 1.5566322e+00 + 2.8132933e+00 1.5569938e+00 + 2.8136780e+00 1.5675796e+00 + 2.8140626e+00 1.5668856e+00 + 2.8144473e+00 1.5613305e+00 + 2.8148319e+00 1.5615391e+00 + 2.8152166e+00 1.5571486e+00 + 2.8156012e+00 1.5535387e+00 + 2.8159858e+00 1.5513611e+00 + 2.8163705e+00 1.5536611e+00 + 2.8167551e+00 1.5553597e+00 + 2.8171398e+00 1.5537068e+00 + 2.8175244e+00 1.5555156e+00 + 2.8179091e+00 1.5551550e+00 + 2.8182937e+00 1.5504346e+00 + 2.8186784e+00 1.5466481e+00 + 2.8190630e+00 1.5449831e+00 + 2.8194476e+00 1.5531028e+00 + 2.8198323e+00 1.5508275e+00 + 2.8202169e+00 1.5541526e+00 + 2.8206016e+00 1.5549850e+00 + 2.8209862e+00 1.5570740e+00 + 2.8213709e+00 1.5601931e+00 + 2.8217555e+00 1.5540675e+00 + 2.8221402e+00 1.5518761e+00 + 2.8225248e+00 1.5535165e+00 + 2.8229095e+00 1.5532042e+00 + 2.8232941e+00 1.5566787e+00 + 2.8236787e+00 1.5552345e+00 + 2.8240634e+00 1.5628876e+00 + 2.8244480e+00 1.5703369e+00 + 2.8248327e+00 1.5724674e+00 + 2.8252173e+00 1.5738081e+00 + 2.8256020e+00 1.5713492e+00 + 2.8259866e+00 1.5658241e+00 + 2.8263713e+00 1.5677004e+00 + 2.8267559e+00 1.5690176e+00 + 2.8271405e+00 1.5767842e+00 + 2.8275252e+00 1.5765635e+00 + 2.8279098e+00 1.5787821e+00 + 2.8282945e+00 1.5737480e+00 + 2.8286791e+00 1.5718640e+00 + 2.8290638e+00 1.5715217e+00 + 2.8294484e+00 1.5651233e+00 + 2.8298331e+00 1.5533332e+00 + 2.8302177e+00 1.5648807e+00 + 2.8306024e+00 1.5678479e+00 + 2.8309870e+00 1.5665354e+00 + 2.8313716e+00 1.5558434e+00 + 2.8317563e+00 1.5579660e+00 + 2.8321409e+00 1.5519670e+00 + 2.8325256e+00 1.5519667e+00 + 2.8329102e+00 1.5569936e+00 + 2.8332949e+00 1.5648662e+00 + 2.8336795e+00 1.5637966e+00 + 2.8340642e+00 1.5654155e+00 + 2.8344488e+00 1.5615026e+00 + 2.8348334e+00 1.5582712e+00 + 2.8352181e+00 1.5560107e+00 + 2.8356027e+00 1.5427535e+00 + 2.8359874e+00 1.5438102e+00 + 2.8363720e+00 1.5419259e+00 + 2.8367567e+00 1.5502853e+00 + 2.8371413e+00 1.5533998e+00 + 2.8375260e+00 1.5527444e+00 + 2.8379106e+00 1.5395169e+00 + 2.8382953e+00 1.5374219e+00 + 2.8386799e+00 1.5373803e+00 + 2.8390645e+00 1.5391954e+00 + 2.8394492e+00 1.5439812e+00 + 2.8398338e+00 1.5459227e+00 + 2.8402185e+00 1.5449176e+00 + 2.8406031e+00 1.5536100e+00 + 2.8409878e+00 1.5570371e+00 + 2.8413724e+00 1.5597578e+00 + 2.8417571e+00 1.5627110e+00 + 2.8421417e+00 1.5601569e+00 + 2.8425263e+00 1.5586435e+00 + 2.8429110e+00 1.5618312e+00 + 2.8432956e+00 1.5597051e+00 + 2.8436803e+00 1.5575595e+00 + 2.8440649e+00 1.5598391e+00 + 2.8444496e+00 1.5539357e+00 + 2.8448342e+00 1.5539803e+00 + 2.8452189e+00 1.5613721e+00 + 2.8456035e+00 1.5634608e+00 + 2.8459882e+00 1.5750788e+00 + 2.8463728e+00 1.5839315e+00 + 2.8467574e+00 1.5854146e+00 + 2.8471421e+00 1.5896863e+00 + 2.8475267e+00 1.5771774e+00 + 2.8479114e+00 1.5858654e+00 + 2.8482960e+00 1.5844004e+00 + 2.8486807e+00 1.5745485e+00 + 2.8490653e+00 1.5764326e+00 + 2.8494500e+00 1.5795539e+00 + 2.8498346e+00 1.5702685e+00 + 2.8502192e+00 1.5790706e+00 + 2.8506039e+00 1.5810519e+00 + 2.8509885e+00 1.5801408e+00 + 2.8513732e+00 1.5935168e+00 + 2.8517578e+00 1.5921806e+00 + 2.8521425e+00 1.5929639e+00 + 2.8525271e+00 1.6091369e+00 + 2.8529118e+00 1.6156175e+00 + 2.8532964e+00 1.6117074e+00 + 2.8536811e+00 1.6140491e+00 + 2.8540657e+00 1.6174812e+00 + 2.8544503e+00 1.6185093e+00 + 2.8548350e+00 1.6237423e+00 + 2.8552196e+00 1.6232427e+00 + 2.8556043e+00 1.6283701e+00 + 2.8559889e+00 1.6363982e+00 + 2.8563736e+00 1.6334040e+00 + 2.8567582e+00 1.6270871e+00 + 2.8571429e+00 1.6247762e+00 + 2.8575275e+00 1.6248023e+00 + 2.8579121e+00 1.6240536e+00 + 2.8582968e+00 1.6127021e+00 + 2.8586814e+00 1.6062995e+00 + 2.8590661e+00 1.6044232e+00 + 2.8594507e+00 1.6017515e+00 + 2.8598354e+00 1.5946402e+00 + 2.8602200e+00 1.5962091e+00 + 2.8606047e+00 1.5968053e+00 + 2.8609893e+00 1.5928697e+00 + 2.8613740e+00 1.5969690e+00 + 2.8617586e+00 1.6027239e+00 + 2.8621432e+00 1.6118743e+00 + 2.8625279e+00 1.6165076e+00 + 2.8629125e+00 1.6216726e+00 + 2.8632972e+00 1.6189914e+00 + 2.8636818e+00 1.6175565e+00 + 2.8640665e+00 1.6224043e+00 + 2.8644511e+00 1.6221448e+00 + 2.8648358e+00 1.6241552e+00 + 2.8652204e+00 1.6273552e+00 + 2.8656050e+00 1.6305297e+00 + 2.8659897e+00 1.6333953e+00 + 2.8663743e+00 1.6268528e+00 + 2.8667590e+00 1.6210859e+00 + 2.8671436e+00 1.6229115e+00 + 2.8675283e+00 1.6235977e+00 + 2.8679129e+00 1.6272710e+00 + 2.8682976e+00 1.6322003e+00 + 2.8686822e+00 1.6317361e+00 + 2.8690669e+00 1.6305000e+00 + 2.8694515e+00 1.6157931e+00 + 2.8698361e+00 1.6196219e+00 + 2.8702208e+00 1.6168197e+00 + 2.8706054e+00 1.6106257e+00 + 2.8709901e+00 1.6175006e+00 + 2.8713747e+00 1.6269005e+00 + 2.8717594e+00 1.6267322e+00 + 2.8721440e+00 1.6181055e+00 + 2.8725287e+00 1.6218210e+00 + 2.8729133e+00 1.6113570e+00 + 2.8732979e+00 1.6123906e+00 + 2.8736826e+00 1.6070327e+00 + 2.8740672e+00 1.6046196e+00 + 2.8744519e+00 1.6053244e+00 + 2.8748365e+00 1.6032728e+00 + 2.8752212e+00 1.6084498e+00 + 2.8756058e+00 1.6053281e+00 + 2.8759905e+00 1.6063407e+00 + 2.8763751e+00 1.6040405e+00 + 2.8767598e+00 1.6070113e+00 + 2.8771444e+00 1.6125386e+00 + 2.8775290e+00 1.6040769e+00 + 2.8779137e+00 1.6078657e+00 + 2.8782983e+00 1.6036580e+00 + 2.8786830e+00 1.6083056e+00 + 2.8790676e+00 1.6151004e+00 + 2.8794523e+00 1.6145074e+00 + 2.8798369e+00 1.6085179e+00 + 2.8802216e+00 1.6049678e+00 + 2.8806062e+00 1.5999670e+00 + 2.8809908e+00 1.6053739e+00 + 2.8813755e+00 1.6093410e+00 + 2.8817601e+00 1.6125810e+00 + 2.8821448e+00 1.6134396e+00 + 2.8825294e+00 1.6054432e+00 + 2.8829141e+00 1.5994503e+00 + 2.8832987e+00 1.6091324e+00 + 2.8836834e+00 1.6049028e+00 + 2.8840680e+00 1.5974245e+00 + 2.8844527e+00 1.6040918e+00 + 2.8848373e+00 1.6054347e+00 + 2.8852219e+00 1.6059448e+00 + 2.8856066e+00 1.6002269e+00 + 2.8859912e+00 1.5948749e+00 + 2.8863759e+00 1.5921457e+00 + 2.8867605e+00 1.5806386e+00 + 2.8871452e+00 1.5858418e+00 + 2.8875298e+00 1.5868147e+00 + 2.8879145e+00 1.5810371e+00 + 2.8882991e+00 1.5780760e+00 + 2.8886837e+00 1.5719435e+00 + 2.8890684e+00 1.5583377e+00 + 2.8894530e+00 1.5539260e+00 + 2.8898377e+00 1.5519884e+00 + 2.8902223e+00 1.5527239e+00 + 2.8906070e+00 1.5573359e+00 + 2.8909916e+00 1.5487837e+00 + 2.8913763e+00 1.5356509e+00 + 2.8917609e+00 1.5352228e+00 + 2.8921455e+00 1.5312846e+00 + 2.8925302e+00 1.5242015e+00 + 2.8929148e+00 1.5238897e+00 + 2.8932995e+00 1.5283477e+00 + 2.8936841e+00 1.5368208e+00 + 2.8940688e+00 1.5314491e+00 + 2.8944534e+00 1.5220490e+00 + 2.8948381e+00 1.5323367e+00 + 2.8952227e+00 1.5264702e+00 + 2.8956074e+00 1.5175636e+00 + 2.8959920e+00 1.5132356e+00 + 2.8963766e+00 1.5214126e+00 + 2.8967613e+00 1.5219918e+00 + 2.8971459e+00 1.5193063e+00 + 2.8975306e+00 1.5113323e+00 + 2.8979152e+00 1.5081585e+00 + 2.8982999e+00 1.5117925e+00 + 2.8986845e+00 1.5065447e+00 + 2.8990692e+00 1.5052223e+00 + 2.8994538e+00 1.5098121e+00 + 2.8998384e+00 1.4999544e+00 + 2.9002231e+00 1.5054237e+00 + 2.9006077e+00 1.5098177e+00 + 2.9009924e+00 1.5076769e+00 + 2.9013770e+00 1.4989625e+00 + 2.9017617e+00 1.4943401e+00 + 2.9021463e+00 1.4927540e+00 + 2.9025310e+00 1.4887985e+00 + 2.9029156e+00 1.4912671e+00 + 2.9033003e+00 1.4908732e+00 + 2.9036849e+00 1.4982142e+00 + 2.9040695e+00 1.4991896e+00 + 2.9044542e+00 1.4991743e+00 + 2.9048388e+00 1.4953504e+00 + 2.9052235e+00 1.4898326e+00 + 2.9056081e+00 1.4938010e+00 + 2.9059928e+00 1.5037681e+00 + 2.9063774e+00 1.5115404e+00 + 2.9067621e+00 1.5044536e+00 + 2.9071467e+00 1.5033258e+00 + 2.9075313e+00 1.4960315e+00 + 2.9079160e+00 1.4934993e+00 + 2.9083006e+00 1.4893718e+00 + 2.9086853e+00 1.4961076e+00 + 2.9090699e+00 1.4955368e+00 + 2.9094546e+00 1.4875713e+00 + 2.9098392e+00 1.4824437e+00 + 2.9102239e+00 1.4829262e+00 + 2.9106085e+00 1.4852568e+00 + 2.9109932e+00 1.4836558e+00 + 2.9113778e+00 1.4880250e+00 + 2.9117624e+00 1.4934665e+00 + 2.9121471e+00 1.4923014e+00 + 2.9125317e+00 1.4829135e+00 + 2.9129164e+00 1.4862812e+00 + 2.9133010e+00 1.4918834e+00 + 2.9136857e+00 1.4897955e+00 + 2.9140703e+00 1.4897193e+00 + 2.9144550e+00 1.4818314e+00 + 2.9148396e+00 1.4818529e+00 + 2.9152242e+00 1.4776524e+00 + 2.9156089e+00 1.4767550e+00 + 2.9159935e+00 1.4839200e+00 + 2.9163782e+00 1.4874571e+00 + 2.9167628e+00 1.4847061e+00 + 2.9171475e+00 1.4871080e+00 + 2.9175321e+00 1.4784444e+00 + 2.9179168e+00 1.4792740e+00 + 2.9183014e+00 1.4885526e+00 + 2.9186861e+00 1.4872904e+00 + 2.9190707e+00 1.4881779e+00 + 2.9194553e+00 1.4877767e+00 + 2.9198400e+00 1.5010707e+00 + 2.9202246e+00 1.5097379e+00 + 2.9206093e+00 1.4933483e+00 + 2.9209939e+00 1.4881538e+00 + 2.9213786e+00 1.4816346e+00 + 2.9217632e+00 1.4908224e+00 + 2.9221479e+00 1.4907616e+00 + 2.9225325e+00 1.4863337e+00 + 2.9229171e+00 1.4890998e+00 + 2.9233018e+00 1.4904501e+00 + 2.9236864e+00 1.4958683e+00 + 2.9240711e+00 1.5080951e+00 + 2.9244557e+00 1.4985005e+00 + 2.9248404e+00 1.4858265e+00 + 2.9252250e+00 1.4885117e+00 + 2.9256097e+00 1.4764766e+00 + 2.9259943e+00 1.4808891e+00 + 2.9263790e+00 1.4825257e+00 + 2.9267636e+00 1.4930264e+00 + 2.9271482e+00 1.4961208e+00 + 2.9275329e+00 1.4908683e+00 + 2.9279175e+00 1.4837793e+00 + 2.9283022e+00 1.4834855e+00 + 2.9286868e+00 1.4809968e+00 + 2.9290715e+00 1.4695849e+00 + 2.9294561e+00 1.4788025e+00 + 2.9298408e+00 1.4827739e+00 + 2.9302254e+00 1.4839239e+00 + 2.9306100e+00 1.4925683e+00 + 2.9309947e+00 1.4949217e+00 + 2.9313793e+00 1.4869994e+00 + 2.9317640e+00 1.4858721e+00 + 2.9321486e+00 1.4867924e+00 + 2.9325333e+00 1.4903567e+00 + 2.9329179e+00 1.4873416e+00 + 2.9333026e+00 1.4921462e+00 + 2.9336872e+00 1.4822743e+00 + 2.9340719e+00 1.4789046e+00 + 2.9344565e+00 1.4845607e+00 + 2.9348411e+00 1.4856151e+00 + 2.9352258e+00 1.4776545e+00 + 2.9356104e+00 1.4736751e+00 + 2.9359951e+00 1.4710894e+00 + 2.9363797e+00 1.4710078e+00 + 2.9367644e+00 1.4653559e+00 + 2.9371490e+00 1.4550322e+00 + 2.9375337e+00 1.4530117e+00 + 2.9379183e+00 1.4652506e+00 + 2.9383029e+00 1.4661808e+00 + 2.9386876e+00 1.4671561e+00 + 2.9390722e+00 1.4691919e+00 + 2.9394569e+00 1.4726775e+00 + 2.9398415e+00 1.4723788e+00 + 2.9402262e+00 1.4677923e+00 + 2.9406108e+00 1.4671535e+00 + 2.9409955e+00 1.4653093e+00 + 2.9413801e+00 1.4714799e+00 + 2.9417648e+00 1.4707333e+00 + 2.9421494e+00 1.4738621e+00 + 2.9425340e+00 1.4675092e+00 + 2.9429187e+00 1.4758423e+00 + 2.9433033e+00 1.4767767e+00 + 2.9436880e+00 1.4745681e+00 + 2.9440726e+00 1.4786624e+00 + 2.9444573e+00 1.4800007e+00 + 2.9448419e+00 1.4835751e+00 + 2.9452266e+00 1.4848979e+00 + 2.9456112e+00 1.4839607e+00 + 2.9459958e+00 1.4870730e+00 + 2.9463805e+00 1.4859082e+00 + 2.9467651e+00 1.4890417e+00 + 2.9471498e+00 1.4922591e+00 + 2.9475344e+00 1.4934713e+00 + 2.9479191e+00 1.5072315e+00 + 2.9483037e+00 1.5144476e+00 + 2.9486884e+00 1.5211536e+00 + 2.9490730e+00 1.5214407e+00 + 2.9494577e+00 1.5203232e+00 + 2.9498423e+00 1.5175974e+00 + 2.9502269e+00 1.5239307e+00 + 2.9506116e+00 1.5203709e+00 + 2.9509962e+00 1.5146489e+00 + 2.9513809e+00 1.5195147e+00 + 2.9517655e+00 1.5214928e+00 + 2.9521502e+00 1.5245465e+00 + 2.9525348e+00 1.5272420e+00 + 2.9529195e+00 1.5318761e+00 + 2.9533041e+00 1.5429790e+00 + 2.9536887e+00 1.5376995e+00 + 2.9540734e+00 1.5447641e+00 + 2.9544580e+00 1.5435143e+00 + 2.9548427e+00 1.5526261e+00 + 2.9552273e+00 1.5524487e+00 + 2.9556120e+00 1.5597136e+00 + 2.9559966e+00 1.5623747e+00 + 2.9563813e+00 1.5659687e+00 + 2.9567659e+00 1.5646680e+00 + 2.9571506e+00 1.5689842e+00 + 2.9575352e+00 1.5686691e+00 + 2.9579198e+00 1.5780939e+00 + 2.9583045e+00 1.5774400e+00 + 2.9586891e+00 1.5762633e+00 + 2.9590738e+00 1.5781786e+00 + 2.9594584e+00 1.5675233e+00 + 2.9598431e+00 1.5682388e+00 + 2.9602277e+00 1.5714168e+00 + 2.9606124e+00 1.5766885e+00 + 2.9609970e+00 1.5824320e+00 + 2.9613816e+00 1.5776985e+00 + 2.9617663e+00 1.5681157e+00 + 2.9621509e+00 1.5720110e+00 + 2.9625356e+00 1.5775926e+00 + 2.9629202e+00 1.5897093e+00 + 2.9633049e+00 1.5942130e+00 + 2.9636895e+00 1.5913337e+00 + 2.9640742e+00 1.5880538e+00 + 2.9644588e+00 1.5963372e+00 + 2.9648434e+00 1.5906847e+00 + 2.9652281e+00 1.5971274e+00 + 2.9656127e+00 1.5991751e+00 + 2.9659974e+00 1.6050088e+00 + 2.9663820e+00 1.6081618e+00 + 2.9667667e+00 1.6015159e+00 + 2.9671513e+00 1.6012098e+00 + 2.9675360e+00 1.5995829e+00 + 2.9679206e+00 1.6039507e+00 + 2.9683053e+00 1.6182894e+00 + 2.9686899e+00 1.6283155e+00 + 2.9690745e+00 1.6252542e+00 + 2.9694592e+00 1.6271937e+00 + 2.9698438e+00 1.6286291e+00 + 2.9702285e+00 1.6304830e+00 + 2.9706131e+00 1.6470049e+00 + 2.9709978e+00 1.6524386e+00 + 2.9713824e+00 1.6455474e+00 + 2.9717671e+00 1.6465394e+00 + 2.9721517e+00 1.6519722e+00 + 2.9725363e+00 1.6496011e+00 + 2.9729210e+00 1.6499031e+00 + 2.9733056e+00 1.6453726e+00 + 2.9736903e+00 1.6425968e+00 + 2.9740749e+00 1.6377460e+00 + 2.9744596e+00 1.6289226e+00 + 2.9748442e+00 1.6275927e+00 + 2.9752289e+00 1.6316569e+00 + 2.9756135e+00 1.6351512e+00 + 2.9759982e+00 1.6301846e+00 + 2.9763828e+00 1.6243977e+00 + 2.9767674e+00 1.6172547e+00 + 2.9771521e+00 1.6185662e+00 + 2.9775367e+00 1.6199652e+00 + 2.9779214e+00 1.6335436e+00 + 2.9783060e+00 1.6342451e+00 + 2.9786907e+00 1.6349216e+00 + 2.9790753e+00 1.6345329e+00 + 2.9794600e+00 1.6460589e+00 + 2.9798446e+00 1.6416298e+00 + 2.9802292e+00 1.6360284e+00 + 2.9806139e+00 1.6406110e+00 + 2.9809985e+00 1.6433535e+00 + 2.9813832e+00 1.6496145e+00 + 2.9817678e+00 1.6442045e+00 + 2.9821525e+00 1.6426083e+00 + 2.9825371e+00 1.6483482e+00 + 2.9829218e+00 1.6491738e+00 + 2.9833064e+00 1.6457439e+00 + 2.9836911e+00 1.6353554e+00 + 2.9840757e+00 1.6377181e+00 + 2.9844603e+00 1.6425922e+00 + 2.9848450e+00 1.6509562e+00 + 2.9852296e+00 1.6572944e+00 + 2.9856143e+00 1.6595045e+00 + 2.9859989e+00 1.6573279e+00 + 2.9863836e+00 1.6535276e+00 + 2.9867682e+00 1.6528245e+00 + 2.9871529e+00 1.6444641e+00 + 2.9875375e+00 1.6475577e+00 + 2.9879221e+00 1.6451592e+00 + 2.9883068e+00 1.6514120e+00 + 2.9886914e+00 1.6631887e+00 + 2.9890761e+00 1.6631212e+00 + 2.9894607e+00 1.6666498e+00 + 2.9898454e+00 1.6735048e+00 + 2.9902300e+00 1.6741231e+00 + 2.9906147e+00 1.6849272e+00 + 2.9909993e+00 1.6917010e+00 + 2.9913840e+00 1.6941529e+00 + 2.9917686e+00 1.6917722e+00 + 2.9921532e+00 1.6924020e+00 + 2.9925379e+00 1.6842467e+00 + 2.9929225e+00 1.6918181e+00 + 2.9933072e+00 1.7010982e+00 + 2.9936918e+00 1.7024306e+00 + 2.9940765e+00 1.6982688e+00 + 2.9944611e+00 1.7085030e+00 + 2.9948458e+00 1.7066926e+00 + 2.9952304e+00 1.7155257e+00 + 2.9956150e+00 1.7204196e+00 + 2.9959997e+00 1.7196797e+00 + 2.9963843e+00 1.7240619e+00 + 2.9967690e+00 1.7274150e+00 + 2.9971536e+00 1.7274933e+00 + 2.9975383e+00 1.7389614e+00 + 2.9979229e+00 1.7322297e+00 + 2.9983076e+00 1.7394217e+00 + 2.9986922e+00 1.7382148e+00 + 2.9990769e+00 1.7374023e+00 + 2.9994615e+00 1.7326553e+00 + 2.9998461e+00 1.7340904e+00 + 3.0002308e+00 1.7294855e+00 + 3.0006154e+00 1.7368502e+00 + 3.0010001e+00 1.7259989e+00 + 3.0013847e+00 1.7190749e+00 + 3.0017694e+00 1.7143643e+00 + 3.0021540e+00 1.7133467e+00 + 3.0025387e+00 1.7126255e+00 + 3.0029233e+00 1.7162338e+00 + 3.0033079e+00 1.7089929e+00 + 3.0036926e+00 1.7148344e+00 + 3.0040772e+00 1.7113452e+00 + 3.0044619e+00 1.7162905e+00 + 3.0048465e+00 1.7142725e+00 + 3.0052312e+00 1.7231231e+00 + 3.0056158e+00 1.7213224e+00 + 3.0060005e+00 1.7128130e+00 + 3.0063851e+00 1.7185063e+00 + 3.0067698e+00 1.7178911e+00 + 3.0071544e+00 1.7160658e+00 + 3.0075390e+00 1.7209622e+00 + 3.0079237e+00 1.7214006e+00 + 3.0083083e+00 1.7197433e+00 + 3.0086930e+00 1.7152854e+00 + 3.0090776e+00 1.7144167e+00 + 3.0094623e+00 1.7129880e+00 + 3.0098469e+00 1.7131448e+00 + 3.0102316e+00 1.7152088e+00 + 3.0106162e+00 1.7077268e+00 + 3.0110008e+00 1.7050188e+00 + 3.0113855e+00 1.7036726e+00 + 3.0117701e+00 1.6939294e+00 + 3.0121548e+00 1.6935809e+00 + 3.0125394e+00 1.7020145e+00 + 3.0129241e+00 1.7011475e+00 + 3.0133087e+00 1.6958410e+00 + 3.0136934e+00 1.6979183e+00 + 3.0140780e+00 1.6831904e+00 + 3.0144627e+00 1.6889274e+00 + 3.0148473e+00 1.6943091e+00 + 3.0152319e+00 1.6916665e+00 + 3.0156166e+00 1.6851100e+00 + 3.0160012e+00 1.6827557e+00 + 3.0163859e+00 1.6930532e+00 + 3.0167705e+00 1.6978291e+00 + 3.0171552e+00 1.6959738e+00 + 3.0175398e+00 1.6888049e+00 + 3.0179245e+00 1.6856534e+00 + 3.0183091e+00 1.6911124e+00 + 3.0186937e+00 1.6901074e+00 + 3.0190784e+00 1.6932491e+00 + 3.0194630e+00 1.6909274e+00 + 3.0198477e+00 1.6901415e+00 + 3.0202323e+00 1.6885018e+00 + 3.0206170e+00 1.6956332e+00 + 3.0210016e+00 1.7019066e+00 + 3.0213863e+00 1.6981913e+00 + 3.0217709e+00 1.6973242e+00 + 3.0221556e+00 1.7003152e+00 + 3.0225402e+00 1.7053323e+00 + 3.0229248e+00 1.6926784e+00 + 3.0233095e+00 1.6937125e+00 + 3.0236941e+00 1.6962028e+00 + 3.0240788e+00 1.7035258e+00 + 3.0244634e+00 1.7054465e+00 + 3.0248481e+00 1.7149854e+00 + 3.0252327e+00 1.7056106e+00 + 3.0256174e+00 1.7160699e+00 + 3.0260020e+00 1.7160472e+00 + 3.0263866e+00 1.7159133e+00 + 3.0267713e+00 1.7157927e+00 + 3.0271559e+00 1.7198144e+00 + 3.0275406e+00 1.7145764e+00 + 3.0279252e+00 1.7118204e+00 + 3.0283099e+00 1.7053085e+00 + 3.0286945e+00 1.7070684e+00 + 3.0290792e+00 1.7015183e+00 + 3.0294638e+00 1.7027472e+00 + 3.0298484e+00 1.7020224e+00 + 3.0302331e+00 1.7009629e+00 + 3.0306177e+00 1.6907541e+00 + 3.0310024e+00 1.6875992e+00 + 3.0313870e+00 1.6831183e+00 + 3.0317717e+00 1.6756290e+00 + 3.0321563e+00 1.6562042e+00 + 3.0325410e+00 1.6646672e+00 + 3.0329256e+00 1.6618841e+00 + 3.0333103e+00 1.6691953e+00 + 3.0336949e+00 1.6723473e+00 + 3.0340795e+00 1.6676434e+00 + 3.0344642e+00 1.6634323e+00 + 3.0348488e+00 1.6624431e+00 + 3.0352335e+00 1.6640728e+00 + 3.0356181e+00 1.6717037e+00 + 3.0360028e+00 1.6812913e+00 + 3.0363874e+00 1.6850187e+00 + 3.0367721e+00 1.6731020e+00 + 3.0371567e+00 1.6851261e+00 + 3.0375413e+00 1.6831685e+00 + 3.0379260e+00 1.6864107e+00 + 3.0383106e+00 1.6861162e+00 + 3.0386953e+00 1.6911264e+00 + 3.0390799e+00 1.7029092e+00 + 3.0394646e+00 1.7049421e+00 + 3.0398492e+00 1.7040458e+00 + 3.0402339e+00 1.7004214e+00 + 3.0406185e+00 1.7058538e+00 + 3.0410032e+00 1.7157913e+00 + 3.0413878e+00 1.7179686e+00 + 3.0417724e+00 1.7114652e+00 + 3.0421571e+00 1.7214643e+00 + 3.0425417e+00 1.7212731e+00 + 3.0429264e+00 1.7277138e+00 + 3.0433110e+00 1.7280809e+00 + 3.0436957e+00 1.7257351e+00 + 3.0440803e+00 1.7256637e+00 + 3.0444650e+00 1.7321349e+00 + 3.0448496e+00 1.7390564e+00 + 3.0452342e+00 1.7422525e+00 + 3.0456189e+00 1.7443268e+00 + 3.0460035e+00 1.7370501e+00 + 3.0463882e+00 1.7368742e+00 + 3.0467728e+00 1.7341408e+00 + 3.0471575e+00 1.7294775e+00 + 3.0475421e+00 1.7287588e+00 + 3.0479268e+00 1.7311604e+00 + 3.0483114e+00 1.7258413e+00 + 3.0486961e+00 1.7228279e+00 + 3.0490807e+00 1.7263025e+00 + 3.0494653e+00 1.7249599e+00 + 3.0498500e+00 1.7241982e+00 + 3.0502346e+00 1.7311698e+00 + 3.0506193e+00 1.7150690e+00 + 3.0510039e+00 1.7276025e+00 + 3.0513886e+00 1.7314888e+00 + 3.0517732e+00 1.7430810e+00 + 3.0521579e+00 1.7471305e+00 + 3.0525425e+00 1.7348053e+00 + 3.0529271e+00 1.7440376e+00 + 3.0533118e+00 1.7429624e+00 + 3.0536964e+00 1.7449560e+00 + 3.0540811e+00 1.7418655e+00 + 3.0544657e+00 1.7469596e+00 + 3.0548504e+00 1.7451436e+00 + 3.0552350e+00 1.7497582e+00 + 3.0556197e+00 1.7484560e+00 + 3.0560043e+00 1.7540126e+00 + 3.0563890e+00 1.7523349e+00 + 3.0567736e+00 1.7586411e+00 + 3.0571582e+00 1.7583501e+00 + 3.0575429e+00 1.7598457e+00 + 3.0579275e+00 1.7531063e+00 + 3.0583122e+00 1.7543665e+00 + 3.0586968e+00 1.7544164e+00 + 3.0590815e+00 1.7516516e+00 + 3.0594661e+00 1.7528441e+00 + 3.0598508e+00 1.7481725e+00 + 3.0602354e+00 1.7431341e+00 + 3.0606200e+00 1.7559892e+00 + 3.0610047e+00 1.7532188e+00 + 3.0613893e+00 1.7587622e+00 + 3.0617740e+00 1.7585991e+00 + 3.0621586e+00 1.7599326e+00 + 3.0625433e+00 1.7576921e+00 + 3.0629279e+00 1.7561066e+00 + 3.0633126e+00 1.7479651e+00 + 3.0636972e+00 1.7595882e+00 + 3.0640819e+00 1.7558143e+00 + 3.0644665e+00 1.7410152e+00 + 3.0648511e+00 1.7406946e+00 + 3.0652358e+00 1.7504370e+00 + 3.0656204e+00 1.7435953e+00 + 3.0660051e+00 1.7413406e+00 + 3.0663897e+00 1.7309867e+00 + 3.0667744e+00 1.7227279e+00 + 3.0671590e+00 1.7211904e+00 + 3.0675437e+00 1.7218979e+00 + 3.0679283e+00 1.7156938e+00 + 3.0683129e+00 1.7085078e+00 + 3.0686976e+00 1.7065594e+00 + 3.0690822e+00 1.7030485e+00 + 3.0694669e+00 1.6985100e+00 + 3.0698515e+00 1.6991366e+00 + 3.0702362e+00 1.6988445e+00 + 3.0706208e+00 1.6896248e+00 + 3.0710055e+00 1.6936247e+00 + 3.0713901e+00 1.6965353e+00 + 3.0717748e+00 1.6991842e+00 + 3.0721594e+00 1.6945287e+00 + 3.0725440e+00 1.6945502e+00 + 3.0729287e+00 1.7058883e+00 + 3.0733133e+00 1.6970086e+00 + 3.0736980e+00 1.6965492e+00 + 3.0740826e+00 1.6838122e+00 + 3.0744673e+00 1.6872310e+00 + 3.0748519e+00 1.6824323e+00 + 3.0752366e+00 1.6849786e+00 + 3.0756212e+00 1.6849873e+00 + 3.0760058e+00 1.6808899e+00 + 3.0763905e+00 1.6779767e+00 + 3.0767751e+00 1.6775768e+00 + 3.0771598e+00 1.6728444e+00 + 3.0775444e+00 1.6795602e+00 + 3.0779291e+00 1.6855243e+00 + 3.0783137e+00 1.6837077e+00 + 3.0786984e+00 1.6845348e+00 + 3.0790830e+00 1.6836486e+00 + 3.0794677e+00 1.6768926e+00 + 3.0798523e+00 1.6729175e+00 + 3.0802369e+00 1.6708368e+00 + 3.0806216e+00 1.6690400e+00 + 3.0810062e+00 1.6644154e+00 + 3.0813909e+00 1.6541578e+00 + 3.0817755e+00 1.6550769e+00 + 3.0821602e+00 1.6569283e+00 + 3.0825448e+00 1.6475466e+00 + 3.0829295e+00 1.6537550e+00 + 3.0833141e+00 1.6544052e+00 + 3.0836987e+00 1.6653508e+00 + 3.0840834e+00 1.6685046e+00 + 3.0844680e+00 1.6730480e+00 + 3.0848527e+00 1.6718802e+00 + 3.0852373e+00 1.6664102e+00 + 3.0856220e+00 1.6726868e+00 + 3.0860066e+00 1.6700014e+00 + 3.0863913e+00 1.6743761e+00 + 3.0867759e+00 1.6710483e+00 + 3.0871606e+00 1.6630266e+00 + 3.0875452e+00 1.6616811e+00 + 3.0879298e+00 1.6590186e+00 + 3.0883145e+00 1.6596398e+00 + 3.0886991e+00 1.6518693e+00 + 3.0890838e+00 1.6469525e+00 + 3.0894684e+00 1.6584847e+00 + 3.0898531e+00 1.6646062e+00 + 3.0902377e+00 1.6635611e+00 + 3.0906224e+00 1.6653135e+00 + 3.0910070e+00 1.6648463e+00 + 3.0913916e+00 1.6633093e+00 + 3.0917763e+00 1.6582780e+00 + 3.0921609e+00 1.6514182e+00 + 3.0925456e+00 1.6531701e+00 + 3.0929302e+00 1.6458055e+00 + 3.0933149e+00 1.6386272e+00 + 3.0936995e+00 1.6362717e+00 + 3.0940842e+00 1.6270252e+00 + 3.0944688e+00 1.6341022e+00 + 3.0948535e+00 1.6434858e+00 + 3.0952381e+00 1.6485052e+00 + 3.0956227e+00 1.6408551e+00 + 3.0960074e+00 1.6393353e+00 + 3.0963920e+00 1.6341606e+00 + 3.0967767e+00 1.6256301e+00 + 3.0971613e+00 1.6263066e+00 + 3.0975460e+00 1.6382569e+00 + 3.0979306e+00 1.6442958e+00 + 3.0983153e+00 1.6389704e+00 + 3.0986999e+00 1.6391087e+00 + 3.0990845e+00 1.6442924e+00 + 3.0994692e+00 1.6502430e+00 + 3.0998538e+00 1.6492587e+00 + 3.1002385e+00 1.6475919e+00 + 3.1006231e+00 1.6502222e+00 + 3.1010078e+00 1.6455490e+00 + 3.1013924e+00 1.6464876e+00 + 3.1017771e+00 1.6466511e+00 + 3.1021617e+00 1.6447240e+00 + 3.1025463e+00 1.6447361e+00 + 3.1029310e+00 1.6456748e+00 + 3.1033156e+00 1.6508358e+00 + 3.1037003e+00 1.6460186e+00 + 3.1040849e+00 1.6486306e+00 + 3.1044696e+00 1.6457668e+00 + 3.1048542e+00 1.6440116e+00 + 3.1052389e+00 1.6515668e+00 + 3.1056235e+00 1.6562538e+00 + 3.1060082e+00 1.6618652e+00 + 3.1063928e+00 1.6505994e+00 + 3.1067774e+00 1.6485658e+00 + 3.1071621e+00 1.6499918e+00 + 3.1075467e+00 1.6524392e+00 + 3.1079314e+00 1.6494779e+00 + 3.1083160e+00 1.6429684e+00 + 3.1087007e+00 1.6382711e+00 + 3.1090853e+00 1.6357265e+00 + 3.1094700e+00 1.6383192e+00 + 3.1098546e+00 1.6360483e+00 + 3.1102392e+00 1.6375533e+00 + 3.1106239e+00 1.6423130e+00 + 3.1110085e+00 1.6442599e+00 + 3.1113932e+00 1.6410043e+00 + 3.1117778e+00 1.6461467e+00 + 3.1121625e+00 1.6372219e+00 + 3.1125471e+00 1.6408743e+00 + 3.1129318e+00 1.6408436e+00 + 3.1133164e+00 1.6366937e+00 + 3.1137011e+00 1.6402594e+00 + 3.1140857e+00 1.6307300e+00 + 3.1144703e+00 1.6209717e+00 + 3.1148550e+00 1.6269600e+00 + 3.1152396e+00 1.6294728e+00 + 3.1156243e+00 1.6270026e+00 + 3.1160089e+00 1.6200953e+00 + 3.1163936e+00 1.6165330e+00 + 3.1167782e+00 1.6153889e+00 + 3.1171629e+00 1.6169998e+00 + 3.1175475e+00 1.6127758e+00 + 3.1179321e+00 1.6094949e+00 + 3.1183168e+00 1.6093516e+00 + 3.1187014e+00 1.6205372e+00 + 3.1190861e+00 1.6270622e+00 + 3.1194707e+00 1.6330210e+00 + 3.1198554e+00 1.6358206e+00 + 3.1202400e+00 1.6351714e+00 + 3.1206247e+00 1.6447625e+00 + 3.1210093e+00 1.6638451e+00 + 3.1213940e+00 1.6674664e+00 + 3.1217786e+00 1.6589973e+00 + 3.1221632e+00 1.6572850e+00 + 3.1225479e+00 1.6630590e+00 + 3.1229325e+00 1.6583700e+00 + 3.1233172e+00 1.6605225e+00 + 3.1237018e+00 1.6651493e+00 + 3.1240865e+00 1.6674482e+00 + 3.1244711e+00 1.6576175e+00 + 3.1248558e+00 1.6524867e+00 + 3.1252404e+00 1.6532133e+00 + 3.1256250e+00 1.6598752e+00 + 3.1260097e+00 1.6662391e+00 + 3.1263943e+00 1.6699101e+00 + 3.1267790e+00 1.6743123e+00 + 3.1271636e+00 1.6711656e+00 + 3.1275483e+00 1.6724083e+00 + 3.1279329e+00 1.6781647e+00 + 3.1283176e+00 1.6793723e+00 + 3.1287022e+00 1.6860224e+00 + 3.1290869e+00 1.6905733e+00 + 3.1294715e+00 1.6981697e+00 + 3.1298561e+00 1.6937406e+00 + 3.1302408e+00 1.6883759e+00 + 3.1306254e+00 1.6926833e+00 + 3.1310101e+00 1.6971159e+00 + 3.1313947e+00 1.7095150e+00 + 3.1317794e+00 1.7095307e+00 + 3.1321640e+00 1.7112291e+00 + 3.1325487e+00 1.7123428e+00 + 3.1329333e+00 1.7048621e+00 + 3.1333179e+00 1.7046851e+00 + 3.1337026e+00 1.7045553e+00 + 3.1340872e+00 1.7085518e+00 + 3.1344719e+00 1.7071865e+00 + 3.1348565e+00 1.7139569e+00 + 3.1352412e+00 1.7109101e+00 + 3.1356258e+00 1.7215989e+00 + 3.1360105e+00 1.7162260e+00 + 3.1363951e+00 1.7153862e+00 + 3.1367798e+00 1.7128589e+00 + 3.1371644e+00 1.7142235e+00 + 3.1375490e+00 1.7155428e+00 + 3.1379337e+00 1.7148434e+00 + 3.1383183e+00 1.7108449e+00 + 3.1387030e+00 1.7030673e+00 + 3.1390876e+00 1.7082473e+00 + 3.1394723e+00 1.7104571e+00 + 3.1398569e+00 1.7090424e+00 + 3.1402416e+00 1.7060346e+00 + 3.1406262e+00 1.7113552e+00 + 3.1410108e+00 1.7178155e+00 + 3.1413955e+00 1.7209116e+00 + 3.1417801e+00 1.7129190e+00 + 3.1421648e+00 1.7168974e+00 + 3.1425494e+00 1.7144563e+00 + 3.1429341e+00 1.7094405e+00 + 3.1433187e+00 1.7067762e+00 + 3.1437034e+00 1.7129665e+00 + 3.1440880e+00 1.7052651e+00 + 3.1444727e+00 1.7062367e+00 + 3.1448573e+00 1.7016497e+00 + 3.1452419e+00 1.7006808e+00 + 3.1456266e+00 1.6971761e+00 + 3.1460112e+00 1.6954919e+00 + 3.1463959e+00 1.7012629e+00 + 3.1467805e+00 1.6991730e+00 + 3.1471652e+00 1.7000094e+00 + 3.1475498e+00 1.6973990e+00 + 3.1479345e+00 1.7041074e+00 + 3.1483191e+00 1.7105132e+00 + 3.1487037e+00 1.7094452e+00 + 3.1490884e+00 1.7064002e+00 + 3.1494730e+00 1.7071999e+00 + 3.1498577e+00 1.7087975e+00 + 3.1502423e+00 1.7105723e+00 + 3.1506270e+00 1.7072230e+00 + 3.1510116e+00 1.7142221e+00 + 3.1513963e+00 1.7128019e+00 + 3.1517809e+00 1.7218637e+00 + 3.1521656e+00 1.7211279e+00 + 3.1525502e+00 1.7179320e+00 + 3.1529348e+00 1.7190039e+00 + 3.1533195e+00 1.7173771e+00 + 3.1537041e+00 1.7186052e+00 + 3.1540888e+00 1.7210312e+00 + 3.1544734e+00 1.7142988e+00 + 3.1548581e+00 1.7070176e+00 + 3.1552427e+00 1.7057958e+00 + 3.1556274e+00 1.7014383e+00 + 3.1560120e+00 1.6994639e+00 + 3.1563966e+00 1.7038737e+00 + 3.1567813e+00 1.7054928e+00 + 3.1571659e+00 1.6944108e+00 + 3.1575506e+00 1.7039814e+00 + 3.1579352e+00 1.7079250e+00 + 3.1583199e+00 1.7024647e+00 + 3.1587045e+00 1.7079997e+00 + 3.1590892e+00 1.7091973e+00 + 3.1594738e+00 1.7017265e+00 + 3.1598585e+00 1.7119152e+00 + 3.1602431e+00 1.7059962e+00 + 3.1606277e+00 1.7009892e+00 + 3.1610124e+00 1.6962053e+00 + 3.1613970e+00 1.7048668e+00 + 3.1617817e+00 1.7133798e+00 + 3.1621663e+00 1.7092056e+00 + 3.1625510e+00 1.7048521e+00 + 3.1629356e+00 1.7032678e+00 + 3.1633203e+00 1.7078478e+00 + 3.1637049e+00 1.7052116e+00 + 3.1640895e+00 1.7126038e+00 + 3.1644742e+00 1.7105188e+00 + 3.1648588e+00 1.7040519e+00 + 3.1652435e+00 1.7021991e+00 + 3.1656281e+00 1.7049856e+00 + 3.1660128e+00 1.6931992e+00 + 3.1663974e+00 1.6941717e+00 + 3.1667821e+00 1.6849298e+00 + 3.1671667e+00 1.6924736e+00 + 3.1675514e+00 1.6952209e+00 + 3.1679360e+00 1.6946796e+00 + 3.1683206e+00 1.7052497e+00 + 3.1687053e+00 1.6977727e+00 + 3.1690899e+00 1.6998710e+00 + 3.1694746e+00 1.7082247e+00 + 3.1698592e+00 1.7125887e+00 + 3.1702439e+00 1.7133810e+00 + 3.1706285e+00 1.7219536e+00 + 3.1710132e+00 1.7282992e+00 + 3.1713978e+00 1.7321394e+00 + 3.1717824e+00 1.7291883e+00 + 3.1721671e+00 1.7329497e+00 + 3.1725517e+00 1.7362325e+00 + 3.1729364e+00 1.7315684e+00 + 3.1733210e+00 1.7380913e+00 + 3.1737057e+00 1.7389233e+00 + 3.1740903e+00 1.7333273e+00 + 3.1744750e+00 1.7447558e+00 + 3.1748596e+00 1.7451189e+00 + 3.1752442e+00 1.7362961e+00 + 3.1756289e+00 1.7332144e+00 + 3.1760135e+00 1.7261815e+00 + 3.1763982e+00 1.7188673e+00 + 3.1767828e+00 1.7190114e+00 + 3.1771675e+00 1.7113345e+00 + 3.1775521e+00 1.7141100e+00 + 3.1779368e+00 1.7157229e+00 + 3.1783214e+00 1.7153203e+00 + 3.1787061e+00 1.7137187e+00 + 3.1790907e+00 1.7093662e+00 + 3.1794753e+00 1.7125555e+00 + 3.1798600e+00 1.7258473e+00 + 3.1802446e+00 1.7174473e+00 + 3.1806293e+00 1.7129324e+00 + 3.1810139e+00 1.7043591e+00 + 3.1813986e+00 1.7094106e+00 + 3.1817832e+00 1.7140748e+00 + 3.1821679e+00 1.7134623e+00 + 3.1825525e+00 1.7164176e+00 + 3.1829371e+00 1.7136072e+00 + 3.1833218e+00 1.7128518e+00 + 3.1837064e+00 1.7089209e+00 + 3.1840911e+00 1.7044759e+00 + 3.1844757e+00 1.7107362e+00 + 3.1848604e+00 1.7048227e+00 + 3.1852450e+00 1.7059128e+00 + 3.1856297e+00 1.7040464e+00 + 3.1860143e+00 1.6967136e+00 + 3.1863990e+00 1.6971722e+00 + 3.1867836e+00 1.7001500e+00 + 3.1871682e+00 1.6999155e+00 + 3.1875529e+00 1.7117639e+00 + 3.1879375e+00 1.7145914e+00 + 3.1883222e+00 1.7190284e+00 + 3.1887068e+00 1.7170928e+00 + 3.1890915e+00 1.7122863e+00 + 3.1894761e+00 1.7139761e+00 + 3.1898608e+00 1.7073830e+00 + 3.1902454e+00 1.7149380e+00 + 3.1906300e+00 1.7132219e+00 + 3.1910147e+00 1.7240852e+00 + 3.1913993e+00 1.7195821e+00 + 3.1917840e+00 1.7195189e+00 + 3.1921686e+00 1.7320371e+00 + 3.1925533e+00 1.7211018e+00 + 3.1929379e+00 1.7120912e+00 + 3.1933226e+00 1.7166328e+00 + 3.1937072e+00 1.7132482e+00 + 3.1940919e+00 1.7197775e+00 + 3.1944765e+00 1.7259056e+00 + 3.1948611e+00 1.7264458e+00 + 3.1952458e+00 1.7233164e+00 + 3.1956304e+00 1.7235830e+00 + 3.1960151e+00 1.7212657e+00 + 3.1963997e+00 1.7158131e+00 + 3.1967844e+00 1.7107898e+00 + 3.1971690e+00 1.7192029e+00 + 3.1975537e+00 1.7202020e+00 + 3.1979383e+00 1.7274692e+00 + 3.1983229e+00 1.7361907e+00 + 3.1987076e+00 1.7345345e+00 + 3.1990922e+00 1.7373604e+00 + 3.1994769e+00 1.7330616e+00 + 3.1998615e+00 1.7270748e+00 + 3.2002462e+00 1.7252662e+00 + 3.2006308e+00 1.7258354e+00 + 3.2010155e+00 1.7164778e+00 + 3.2014001e+00 1.7148625e+00 + 3.2017848e+00 1.7107968e+00 + 3.2021694e+00 1.7057138e+00 + 3.2025540e+00 1.7033269e+00 + 3.2029387e+00 1.7083128e+00 + 3.2033233e+00 1.6942662e+00 + 3.2037080e+00 1.6969271e+00 + 3.2040926e+00 1.6954717e+00 + 3.2044773e+00 1.6956401e+00 + 3.2048619e+00 1.6899204e+00 + 3.2052466e+00 1.6848232e+00 + 3.2056312e+00 1.6770140e+00 + 3.2060158e+00 1.6739923e+00 + 3.2064005e+00 1.6827840e+00 + 3.2067851e+00 1.6840511e+00 + 3.2071698e+00 1.6790614e+00 + 3.2075544e+00 1.6935334e+00 + 3.2079391e+00 1.6878897e+00 + 3.2083237e+00 1.6912233e+00 + 3.2087084e+00 1.6900501e+00 + 3.2090930e+00 1.6955480e+00 + 3.2094777e+00 1.6926666e+00 + 3.2098623e+00 1.6863297e+00 + 3.2102469e+00 1.6933484e+00 + 3.2106316e+00 1.6892117e+00 + 3.2110162e+00 1.6879670e+00 + 3.2114009e+00 1.6903902e+00 + 3.2117855e+00 1.6922700e+00 + 3.2121702e+00 1.6821666e+00 + 3.2125548e+00 1.6865869e+00 + 3.2129395e+00 1.6896398e+00 + 3.2133241e+00 1.6957790e+00 + 3.2137087e+00 1.7026292e+00 + 3.2140934e+00 1.7051036e+00 + 3.2144780e+00 1.7057259e+00 + 3.2148627e+00 1.7164749e+00 + 3.2152473e+00 1.7067569e+00 + 3.2156320e+00 1.6938709e+00 + 3.2160166e+00 1.7025613e+00 + 3.2164013e+00 1.7060689e+00 + 3.2167859e+00 1.7143963e+00 + 3.2171706e+00 1.7094685e+00 + 3.2175552e+00 1.7148906e+00 + 3.2179398e+00 1.7161736e+00 + 3.2183245e+00 1.7152219e+00 + 3.2187091e+00 1.7066047e+00 + 3.2190938e+00 1.7111883e+00 + 3.2194784e+00 1.7055751e+00 + 3.2198631e+00 1.7079483e+00 + 3.2202477e+00 1.7101814e+00 + 3.2206324e+00 1.7136560e+00 + 3.2210170e+00 1.7167052e+00 + 3.2214016e+00 1.7141301e+00 + 3.2217863e+00 1.7118386e+00 + 3.2221709e+00 1.7156948e+00 + 3.2225556e+00 1.7149640e+00 + 3.2229402e+00 1.6985483e+00 + 3.2233249e+00 1.6932005e+00 + 3.2237095e+00 1.6788224e+00 + 3.2240942e+00 1.6727980e+00 + 3.2244788e+00 1.6804407e+00 + 3.2248635e+00 1.6898603e+00 + 3.2252481e+00 1.6926909e+00 + 3.2256327e+00 1.6946818e+00 + 3.2260174e+00 1.6892096e+00 + 3.2264020e+00 1.6860161e+00 + 3.2267867e+00 1.6875337e+00 + 3.2271713e+00 1.6872994e+00 + 3.2275560e+00 1.6906723e+00 + 3.2279406e+00 1.6809797e+00 + 3.2283253e+00 1.6824163e+00 + 3.2287099e+00 1.6903439e+00 + 3.2290945e+00 1.6940469e+00 + 3.2294792e+00 1.6967466e+00 + 3.2298638e+00 1.6930402e+00 + 3.2302485e+00 1.6937344e+00 + 3.2306331e+00 1.6927197e+00 + 3.2310178e+00 1.6905930e+00 + 3.2314024e+00 1.6865984e+00 + 3.2317871e+00 1.6799716e+00 + 3.2321717e+00 1.6733321e+00 + 3.2325564e+00 1.6773389e+00 + 3.2329410e+00 1.6730180e+00 + 3.2333256e+00 1.6787580e+00 + 3.2337103e+00 1.6803222e+00 + 3.2340949e+00 1.6793719e+00 + 3.2344796e+00 1.6842049e+00 + 3.2348642e+00 1.6856669e+00 + 3.2352489e+00 1.6843890e+00 + 3.2356335e+00 1.6775521e+00 + 3.2360182e+00 1.6626135e+00 + 3.2364028e+00 1.6704364e+00 + 3.2367874e+00 1.6656441e+00 + 3.2371721e+00 1.6692174e+00 + 3.2375567e+00 1.6697771e+00 + 3.2379414e+00 1.6785881e+00 + 3.2383260e+00 1.6803045e+00 + 3.2387107e+00 1.6712900e+00 + 3.2390953e+00 1.6713737e+00 + 3.2394800e+00 1.6720117e+00 + 3.2398646e+00 1.6726565e+00 + 3.2402492e+00 1.6600716e+00 + 3.2406339e+00 1.6657473e+00 + 3.2410185e+00 1.6693433e+00 + 3.2414032e+00 1.6702475e+00 + 3.2417878e+00 1.6660266e+00 + 3.2421725e+00 1.6655195e+00 + 3.2425571e+00 1.6549892e+00 + 3.2429418e+00 1.6544984e+00 + 3.2433264e+00 1.6536388e+00 + 3.2437111e+00 1.6586477e+00 + 3.2440957e+00 1.6636052e+00 + 3.2444803e+00 1.6605904e+00 + 3.2448650e+00 1.6600569e+00 + 3.2452496e+00 1.6544359e+00 + 3.2456343e+00 1.6496581e+00 + 3.2460189e+00 1.6589834e+00 + 3.2464036e+00 1.6558995e+00 + 3.2467882e+00 1.6747696e+00 + 3.2471729e+00 1.6662042e+00 + 3.2475575e+00 1.6702174e+00 + 3.2479421e+00 1.6694913e+00 + 3.2483268e+00 1.6665040e+00 + 3.2487114e+00 1.6628053e+00 + 3.2490961e+00 1.6608125e+00 + 3.2494807e+00 1.6639792e+00 + 3.2498654e+00 1.6582528e+00 + 3.2502500e+00 1.6525128e+00 + 3.2506347e+00 1.6436077e+00 + 3.2510193e+00 1.6498347e+00 + 3.2514040e+00 1.6505008e+00 + 3.2517886e+00 1.6493223e+00 + 3.2521732e+00 1.6557905e+00 + 3.2525579e+00 1.6590886e+00 + 3.2529425e+00 1.6534450e+00 + 3.2533272e+00 1.6542474e+00 + 3.2537118e+00 1.6531022e+00 + 3.2540965e+00 1.6558762e+00 + 3.2544811e+00 1.6671460e+00 + 3.2548658e+00 1.6631784e+00 + 3.2552504e+00 1.6552702e+00 + 3.2556350e+00 1.6541721e+00 + 3.2560197e+00 1.6572426e+00 + 3.2564043e+00 1.6542421e+00 + 3.2567890e+00 1.6663725e+00 + 3.2571736e+00 1.6645730e+00 + 3.2575583e+00 1.6613977e+00 + 3.2579429e+00 1.6588325e+00 + 3.2583276e+00 1.6572291e+00 + 3.2587122e+00 1.6536412e+00 + 3.2590969e+00 1.6524621e+00 + 3.2594815e+00 1.6585202e+00 + 3.2598661e+00 1.6757989e+00 + 3.2602508e+00 1.6693594e+00 + 3.2606354e+00 1.6612413e+00 + 3.2610201e+00 1.6578409e+00 + 3.2614047e+00 1.6623927e+00 + 3.2617894e+00 1.6743177e+00 + 3.2621740e+00 1.6809913e+00 + 3.2625587e+00 1.6644476e+00 + 3.2629433e+00 1.6637585e+00 + 3.2633279e+00 1.6624928e+00 + 3.2637126e+00 1.6600480e+00 + 3.2640972e+00 1.6644723e+00 + 3.2644819e+00 1.6680993e+00 + 3.2648665e+00 1.6630619e+00 + 3.2652512e+00 1.6630286e+00 + 3.2656358e+00 1.6648991e+00 + 3.2660205e+00 1.6585635e+00 + 3.2664051e+00 1.6566767e+00 + 3.2667898e+00 1.6573377e+00 + 3.2671744e+00 1.6488122e+00 + 3.2675590e+00 1.6578108e+00 + 3.2679437e+00 1.6655747e+00 + 3.2683283e+00 1.6614019e+00 + 3.2687130e+00 1.6737790e+00 + 3.2690976e+00 1.6782740e+00 + 3.2694823e+00 1.6753256e+00 + 3.2698669e+00 1.6747027e+00 + 3.2702516e+00 1.6775408e+00 + 3.2706362e+00 1.6853642e+00 + 3.2710208e+00 1.6835380e+00 + 3.2714055e+00 1.6921682e+00 + 3.2717901e+00 1.6927435e+00 + 3.2721748e+00 1.6964743e+00 + 3.2725594e+00 1.6951281e+00 + 3.2729441e+00 1.7001167e+00 + 3.2733287e+00 1.6946530e+00 + 3.2737134e+00 1.7012906e+00 + 3.2740980e+00 1.7016082e+00 + 3.2744827e+00 1.7051396e+00 + 3.2748673e+00 1.7069406e+00 + 3.2752519e+00 1.7052132e+00 + 3.2756366e+00 1.7028679e+00 + 3.2760212e+00 1.7083997e+00 + 3.2764059e+00 1.7039212e+00 + 3.2767905e+00 1.7066097e+00 + 3.2771752e+00 1.6982855e+00 + 3.2775598e+00 1.6902038e+00 + 3.2779445e+00 1.6854237e+00 + 3.2783291e+00 1.6807932e+00 + 3.2787137e+00 1.6883267e+00 + 3.2790984e+00 1.6883831e+00 + 3.2794830e+00 1.6781398e+00 + 3.2798677e+00 1.6743722e+00 + 3.2802523e+00 1.6733446e+00 + 3.2806370e+00 1.6719592e+00 + 3.2810216e+00 1.6768937e+00 + 3.2814063e+00 1.6698397e+00 + 3.2817909e+00 1.6646736e+00 + 3.2821756e+00 1.6679556e+00 + 3.2825602e+00 1.6736194e+00 + 3.2829448e+00 1.6700045e+00 + 3.2833295e+00 1.6646732e+00 + 3.2837141e+00 1.6591346e+00 + 3.2840988e+00 1.6480352e+00 + 3.2844834e+00 1.6427252e+00 + 3.2848681e+00 1.6521317e+00 + 3.2852527e+00 1.6582271e+00 + 3.2856374e+00 1.6631233e+00 + 3.2860220e+00 1.6735975e+00 + 3.2864066e+00 1.6706505e+00 + 3.2867913e+00 1.6612941e+00 + 3.2871759e+00 1.6549090e+00 + 3.2875606e+00 1.6484024e+00 + 3.2879452e+00 1.6519787e+00 + 3.2883299e+00 1.6542477e+00 + 3.2887145e+00 1.6425458e+00 + 3.2890992e+00 1.6385850e+00 + 3.2894838e+00 1.6391044e+00 + 3.2898685e+00 1.6339541e+00 + 3.2902531e+00 1.6353745e+00 + 3.2906377e+00 1.6393318e+00 + 3.2910224e+00 1.6429194e+00 + 3.2914070e+00 1.6441476e+00 + 3.2917917e+00 1.6441987e+00 + 3.2921763e+00 1.6477172e+00 + 3.2925610e+00 1.6463948e+00 + 3.2929456e+00 1.6523767e+00 + 3.2933303e+00 1.6462067e+00 + 3.2937149e+00 1.6576920e+00 + 3.2940995e+00 1.6658561e+00 + 3.2944842e+00 1.6509536e+00 + 3.2948688e+00 1.6497582e+00 + 3.2952535e+00 1.6415658e+00 + 3.2956381e+00 1.6476511e+00 + 3.2960228e+00 1.6623930e+00 + 3.2964074e+00 1.6615627e+00 + 3.2967921e+00 1.6654875e+00 + 3.2971767e+00 1.6696143e+00 + 3.2975614e+00 1.6723221e+00 + 3.2979460e+00 1.6750526e+00 + 3.2983306e+00 1.6777016e+00 + 3.2987153e+00 1.6766307e+00 + 3.2990999e+00 1.6757686e+00 + 3.2994846e+00 1.6699880e+00 + 3.2998692e+00 1.6707875e+00 + 3.3002539e+00 1.6725479e+00 + 3.3006385e+00 1.6712020e+00 + 3.3010232e+00 1.6713942e+00 + 3.3014078e+00 1.6685036e+00 + 3.3017924e+00 1.6721283e+00 + 3.3021771e+00 1.6765886e+00 + 3.3025617e+00 1.6687824e+00 + 3.3029464e+00 1.6698647e+00 + 3.3033310e+00 1.6711610e+00 + 3.3037157e+00 1.6698680e+00 + 3.3041003e+00 1.6652845e+00 + 3.3044850e+00 1.6699946e+00 + 3.3048696e+00 1.6720226e+00 + 3.3052543e+00 1.6730358e+00 + 3.3056389e+00 1.6796049e+00 + 3.3060235e+00 1.6743493e+00 + 3.3064082e+00 1.6693473e+00 + 3.3067928e+00 1.6683249e+00 + 3.3071775e+00 1.6645133e+00 + 3.3075621e+00 1.6564401e+00 + 3.3079468e+00 1.6523771e+00 + 3.3083314e+00 1.6570125e+00 + 3.3087161e+00 1.6485396e+00 + 3.3091007e+00 1.6439355e+00 + 3.3094853e+00 1.6443112e+00 + 3.3098700e+00 1.6387439e+00 + 3.3102546e+00 1.6339141e+00 + 3.3106393e+00 1.6361586e+00 + 3.3110239e+00 1.6410898e+00 + 3.3114086e+00 1.6435341e+00 + 3.3117932e+00 1.6448949e+00 + 3.3121779e+00 1.6442832e+00 + 3.3125625e+00 1.6404162e+00 + 3.3129471e+00 1.6402427e+00 + 3.3133318e+00 1.6350181e+00 + 3.3137164e+00 1.6410889e+00 + 3.3141011e+00 1.6453660e+00 + 3.3144857e+00 1.6353489e+00 + 3.3148704e+00 1.6445910e+00 + 3.3152550e+00 1.6468878e+00 + 3.3156397e+00 1.6466771e+00 + 3.3160243e+00 1.6417214e+00 + 3.3164090e+00 1.6404413e+00 + 3.3167936e+00 1.6384777e+00 + 3.3171782e+00 1.6389151e+00 + 3.3175629e+00 1.6338364e+00 + 3.3179475e+00 1.6278597e+00 + 3.3183322e+00 1.6327462e+00 + 3.3187168e+00 1.6239162e+00 + 3.3191015e+00 1.6280166e+00 + 3.3194861e+00 1.6362805e+00 + 3.3198708e+00 1.6285842e+00 + 3.3202554e+00 1.6243227e+00 + 3.3206400e+00 1.6305419e+00 + 3.3210247e+00 1.6270356e+00 + 3.3214093e+00 1.6291158e+00 + 3.3217940e+00 1.6243697e+00 + 3.3221786e+00 1.6227945e+00 + 3.3225633e+00 1.6213951e+00 + 3.3229479e+00 1.6223557e+00 + 3.3233326e+00 1.6353811e+00 + 3.3237172e+00 1.6429802e+00 + 3.3241019e+00 1.6381755e+00 + 3.3244865e+00 1.6484308e+00 + 3.3248711e+00 1.6593500e+00 + 3.3252558e+00 1.6620054e+00 + 3.3256404e+00 1.6643698e+00 + 3.3260251e+00 1.6606274e+00 + 3.3264097e+00 1.6504069e+00 + 3.3267944e+00 1.6578953e+00 + 3.3271790e+00 1.6604117e+00 + 3.3275637e+00 1.6675242e+00 + 3.3279483e+00 1.6645860e+00 + 3.3283329e+00 1.6567221e+00 + 3.3287176e+00 1.6490279e+00 + 3.3291022e+00 1.6489446e+00 + 3.3294869e+00 1.6647542e+00 + 3.3298715e+00 1.6562982e+00 + 3.3302562e+00 1.6606272e+00 + 3.3306408e+00 1.6693132e+00 + 3.3310255e+00 1.6712883e+00 + 3.3314101e+00 1.6710915e+00 + 3.3317948e+00 1.6784696e+00 + 3.3321794e+00 1.6729770e+00 + 3.3325640e+00 1.6681691e+00 + 3.3329487e+00 1.6653383e+00 + 3.3333333e+00 1.6699801e+00 + 3.3337180e+00 1.6607379e+00 + 3.3341026e+00 1.6563498e+00 + 3.3344873e+00 1.6536348e+00 + 3.3348719e+00 1.6615783e+00 + 3.3352566e+00 1.6623899e+00 + 3.3356412e+00 1.6651255e+00 + 3.3360258e+00 1.6672183e+00 + 3.3364105e+00 1.6665757e+00 + 3.3367951e+00 1.6611002e+00 + 3.3371798e+00 1.6548826e+00 + 3.3375644e+00 1.6634937e+00 + 3.3379491e+00 1.6614880e+00 + 3.3383337e+00 1.6539448e+00 + 3.3387184e+00 1.6604606e+00 + 3.3391030e+00 1.6650435e+00 + 3.3394877e+00 1.6644617e+00 + 3.3398723e+00 1.6686088e+00 + 3.3402569e+00 1.6591517e+00 + 3.3406416e+00 1.6692419e+00 + 3.3410262e+00 1.6675933e+00 + 3.3414109e+00 1.6572732e+00 + 3.3417955e+00 1.6458653e+00 + 3.3421802e+00 1.6418758e+00 + 3.3425648e+00 1.6380890e+00 + 3.3429495e+00 1.6412749e+00 + 3.3433341e+00 1.6339553e+00 + 3.3437187e+00 1.6311416e+00 + 3.3441034e+00 1.6351162e+00 + 3.3444880e+00 1.6308839e+00 + 3.3448727e+00 1.6405906e+00 + 3.3452573e+00 1.6307395e+00 + 3.3456420e+00 1.6262942e+00 + 3.3460266e+00 1.6216415e+00 + 3.3464113e+00 1.6244269e+00 + 3.3467959e+00 1.6178733e+00 + 3.3471806e+00 1.6136092e+00 + 3.3475652e+00 1.6027486e+00 + 3.3479498e+00 1.6057862e+00 + 3.3483345e+00 1.6074574e+00 + 3.3487191e+00 1.6098735e+00 + 3.3491038e+00 1.6065724e+00 + 3.3494884e+00 1.6127441e+00 + 3.3498731e+00 1.6179354e+00 + 3.3502577e+00 1.6107829e+00 + 3.3506424e+00 1.6105427e+00 + 3.3510270e+00 1.6133210e+00 + 3.3514116e+00 1.6081182e+00 + 3.3517963e+00 1.5999300e+00 + 3.3521809e+00 1.6133830e+00 + 3.3525656e+00 1.6168889e+00 + 3.3529502e+00 1.6128886e+00 + 3.3533349e+00 1.6259052e+00 + 3.3537195e+00 1.6310116e+00 + 3.3541042e+00 1.6222628e+00 + 3.3544888e+00 1.6279872e+00 + 3.3548735e+00 1.6226750e+00 + 3.3552581e+00 1.6252996e+00 + 3.3556427e+00 1.6259680e+00 + 3.3560274e+00 1.6304845e+00 + 3.3564120e+00 1.6310293e+00 + 3.3567967e+00 1.6272177e+00 + 3.3571813e+00 1.6208788e+00 + 3.3575660e+00 1.6206047e+00 + 3.3579506e+00 1.6262985e+00 + 3.3583353e+00 1.6346618e+00 + 3.3587199e+00 1.6364098e+00 + 3.3591045e+00 1.6173770e+00 + 3.3594892e+00 1.6276558e+00 + 3.3598738e+00 1.6346682e+00 + 3.3602585e+00 1.6284705e+00 + 3.3606431e+00 1.6266349e+00 + 3.3610278e+00 1.6212840e+00 + 3.3614124e+00 1.6188527e+00 + 3.3617971e+00 1.6202697e+00 + 3.3621817e+00 1.6127115e+00 + 3.3625664e+00 1.6092634e+00 + 3.3629510e+00 1.6106561e+00 + 3.3633356e+00 1.6042415e+00 + 3.3637203e+00 1.6043809e+00 + 3.3641049e+00 1.6087470e+00 + 3.3644896e+00 1.6042044e+00 + 3.3648742e+00 1.6053616e+00 + 3.3652589e+00 1.5934974e+00 + 3.3656435e+00 1.5962547e+00 + 3.3660282e+00 1.5916466e+00 + 3.3664128e+00 1.6034790e+00 + 3.3667974e+00 1.6011837e+00 + 3.3671821e+00 1.6060106e+00 + 3.3675667e+00 1.6052383e+00 + 3.3679514e+00 1.6010694e+00 + 3.3683360e+00 1.6065279e+00 + 3.3687207e+00 1.6083906e+00 + 3.3691053e+00 1.6056976e+00 + 3.3694900e+00 1.5928639e+00 + 3.3698746e+00 1.5908007e+00 + 3.3702593e+00 1.5894972e+00 + 3.3706439e+00 1.5939818e+00 + 3.3710285e+00 1.5917857e+00 + 3.3714132e+00 1.5854703e+00 + 3.3717978e+00 1.5884748e+00 + 3.3721825e+00 1.5849614e+00 + 3.3725671e+00 1.5888938e+00 + 3.3729518e+00 1.5832135e+00 + 3.3733364e+00 1.5846747e+00 + 3.3737211e+00 1.5879219e+00 + 3.3741057e+00 1.5877471e+00 + 3.3744903e+00 1.6030280e+00 + 3.3748750e+00 1.5987003e+00 + 3.3752596e+00 1.5927221e+00 + 3.3756443e+00 1.5957665e+00 + 3.3760289e+00 1.6019504e+00 + 3.3764136e+00 1.6037618e+00 + 3.3767982e+00 1.5967860e+00 + 3.3771829e+00 1.6031704e+00 + 3.3775675e+00 1.6002431e+00 + 3.3779522e+00 1.6027038e+00 + 3.3783368e+00 1.6019288e+00 + 3.3787214e+00 1.6046188e+00 + 3.3791061e+00 1.6060681e+00 + 3.3794907e+00 1.6116285e+00 + 3.3798754e+00 1.6210498e+00 + 3.3802600e+00 1.6156967e+00 + 3.3806447e+00 1.6247933e+00 + 3.3810293e+00 1.6295135e+00 + 3.3814140e+00 1.6288156e+00 + 3.3817986e+00 1.6359835e+00 + 3.3821832e+00 1.6321910e+00 + 3.3825679e+00 1.6321869e+00 + 3.3829525e+00 1.6308204e+00 + 3.3833372e+00 1.6328728e+00 + 3.3837218e+00 1.6267296e+00 + 3.3841065e+00 1.6220706e+00 + 3.3844911e+00 1.6248244e+00 + 3.3848758e+00 1.6332201e+00 + 3.3852604e+00 1.6323457e+00 + 3.3856450e+00 1.6263817e+00 + 3.3860297e+00 1.6223125e+00 + 3.3864143e+00 1.6283628e+00 + 3.3867990e+00 1.6304887e+00 + 3.3871836e+00 1.6224431e+00 + 3.3875683e+00 1.6136411e+00 + 3.3879529e+00 1.6119617e+00 + 3.3883376e+00 1.6246031e+00 + 3.3887222e+00 1.6279979e+00 + 3.3891069e+00 1.6205549e+00 + 3.3894915e+00 1.6109791e+00 + 3.3898761e+00 1.6075980e+00 + 3.3902608e+00 1.6085560e+00 + 3.3906454e+00 1.6149387e+00 + 3.3910301e+00 1.6102104e+00 + 3.3914147e+00 1.6172748e+00 + 3.3917994e+00 1.6055765e+00 + 3.3921840e+00 1.5976921e+00 + 3.3925687e+00 1.5923237e+00 + 3.3929533e+00 1.5865693e+00 + 3.3933379e+00 1.5904582e+00 + 3.3937226e+00 1.5931074e+00 + 3.3941072e+00 1.5903864e+00 + 3.3944919e+00 1.5790099e+00 + 3.3948765e+00 1.5807965e+00 + 3.3952612e+00 1.5768966e+00 + 3.3956458e+00 1.5709964e+00 + 3.3960305e+00 1.5616478e+00 + 3.3964151e+00 1.5754177e+00 + 3.3967998e+00 1.5777578e+00 + 3.3971844e+00 1.5736951e+00 + 3.3975690e+00 1.5874281e+00 + 3.3979537e+00 1.5831130e+00 + 3.3983383e+00 1.5775732e+00 + 3.3987230e+00 1.5838006e+00 + 3.3991076e+00 1.5871446e+00 + 3.3994923e+00 1.5810005e+00 + 3.3998769e+00 1.5797827e+00 + 3.4002616e+00 1.5832560e+00 + 3.4006462e+00 1.5806083e+00 + 3.4010308e+00 1.5839397e+00 + 3.4014155e+00 1.5795835e+00 + 3.4018001e+00 1.5739225e+00 + 3.4021848e+00 1.5666785e+00 + 3.4025694e+00 1.5744580e+00 + 3.4029541e+00 1.5800664e+00 + 3.4033387e+00 1.5906153e+00 + 3.4037234e+00 1.5865099e+00 + 3.4041080e+00 1.5924486e+00 + 3.4044927e+00 1.5952291e+00 + 3.4048773e+00 1.5950164e+00 + 3.4052619e+00 1.5913293e+00 + 3.4056466e+00 1.5919962e+00 + 3.4060312e+00 1.5989521e+00 + 3.4064159e+00 1.5977278e+00 + 3.4068005e+00 1.5947116e+00 + 3.4071852e+00 1.5950779e+00 + 3.4075698e+00 1.5868223e+00 + 3.4079545e+00 1.5903344e+00 + 3.4083391e+00 1.5947525e+00 + 3.4087237e+00 1.5972584e+00 + 3.4091084e+00 1.6002470e+00 + 3.4094930e+00 1.5997691e+00 + 3.4098777e+00 1.5993978e+00 + 3.4102623e+00 1.5915232e+00 + 3.4106470e+00 1.5967317e+00 + 3.4110316e+00 1.6015998e+00 + 3.4114163e+00 1.6091982e+00 + 3.4118009e+00 1.6189192e+00 + 3.4121856e+00 1.6308063e+00 + 3.4125702e+00 1.6248361e+00 + 3.4129548e+00 1.6229000e+00 + 3.4133395e+00 1.6141405e+00 + 3.4137241e+00 1.6049469e+00 + 3.4141088e+00 1.6108126e+00 + 3.4144934e+00 1.6137014e+00 + 3.4148781e+00 1.6144387e+00 + 3.4152627e+00 1.6101580e+00 + 3.4156474e+00 1.6035690e+00 + 3.4160320e+00 1.6128437e+00 + 3.4164166e+00 1.6164972e+00 + 3.4168013e+00 1.6182927e+00 + 3.4171859e+00 1.6188170e+00 + 3.4175706e+00 1.6213092e+00 + 3.4179552e+00 1.6083494e+00 + 3.4183399e+00 1.6064266e+00 + 3.4187245e+00 1.6134651e+00 + 3.4191092e+00 1.6205008e+00 + 3.4194938e+00 1.6247246e+00 + 3.4198785e+00 1.6344685e+00 + 3.4202631e+00 1.6396059e+00 + 3.4206477e+00 1.6349449e+00 + 3.4210324e+00 1.6362451e+00 + 3.4214170e+00 1.6336626e+00 + 3.4218017e+00 1.6434369e+00 + 3.4221863e+00 1.6349809e+00 + 3.4225710e+00 1.6315455e+00 + 3.4229556e+00 1.6330154e+00 + 3.4233403e+00 1.6324233e+00 + 3.4237249e+00 1.6286689e+00 + 3.4241095e+00 1.6352511e+00 + 3.4244942e+00 1.6313520e+00 + 3.4248788e+00 1.6173781e+00 + 3.4252635e+00 1.6082494e+00 + 3.4256481e+00 1.6109503e+00 + 3.4260328e+00 1.6205649e+00 + 3.4264174e+00 1.6190700e+00 + 3.4268021e+00 1.6111453e+00 + 3.4271867e+00 1.6168307e+00 + 3.4275714e+00 1.6070070e+00 + 3.4279560e+00 1.6060142e+00 + 3.4283406e+00 1.6009429e+00 + 3.4287253e+00 1.6029510e+00 + 3.4291099e+00 1.6095851e+00 + 3.4294946e+00 1.6083614e+00 + 3.4298792e+00 1.6107621e+00 + 3.4302639e+00 1.6076819e+00 + 3.4306485e+00 1.6028409e+00 + 3.4310332e+00 1.6044818e+00 + 3.4314178e+00 1.6084447e+00 + 3.4318024e+00 1.6158043e+00 + 3.4321871e+00 1.6280069e+00 + 3.4325717e+00 1.6218263e+00 + 3.4329564e+00 1.6384560e+00 + 3.4333410e+00 1.6402190e+00 + 3.4337257e+00 1.6379953e+00 + 3.4341103e+00 1.6373482e+00 + 3.4344950e+00 1.6317635e+00 + 3.4348796e+00 1.6284877e+00 + 3.4352643e+00 1.6333468e+00 + 3.4356489e+00 1.6381555e+00 + 3.4360335e+00 1.6421271e+00 + 3.4364182e+00 1.6396853e+00 + 3.4368028e+00 1.6425137e+00 + 3.4371875e+00 1.6414484e+00 + 3.4375721e+00 1.6379073e+00 + 3.4379568e+00 1.6425175e+00 + 3.4383414e+00 1.6481907e+00 + 3.4387261e+00 1.6486892e+00 + 3.4391107e+00 1.6513199e+00 + 3.4394953e+00 1.6490832e+00 + 3.4398800e+00 1.6539223e+00 + 3.4402646e+00 1.6542156e+00 + 3.4406493e+00 1.6633066e+00 + 3.4410339e+00 1.6655804e+00 + 3.4414186e+00 1.6677554e+00 + 3.4418032e+00 1.6805411e+00 + 3.4421879e+00 1.6874275e+00 + 3.4425725e+00 1.6882316e+00 + 3.4429572e+00 1.6872150e+00 + 3.4433418e+00 1.6956047e+00 + 3.4437264e+00 1.6986069e+00 + 3.4441111e+00 1.6947677e+00 + 3.4444957e+00 1.6893295e+00 + 3.4448804e+00 1.6893963e+00 + 3.4452650e+00 1.6932915e+00 + 3.4456497e+00 1.7005957e+00 + 3.4460343e+00 1.7026146e+00 + 3.4464190e+00 1.7114613e+00 + 3.4468036e+00 1.7215714e+00 + 3.4471882e+00 1.7266626e+00 + 3.4475729e+00 1.7198809e+00 + 3.4479575e+00 1.7185508e+00 + 3.4483422e+00 1.7231234e+00 + 3.4487268e+00 1.7337271e+00 + 3.4491115e+00 1.7340847e+00 + 3.4494961e+00 1.7354643e+00 + 3.4498808e+00 1.7343446e+00 + 3.4502654e+00 1.7344883e+00 + 3.4506501e+00 1.7208240e+00 + 3.4510347e+00 1.7294690e+00 + 3.4514193e+00 1.7338750e+00 + 3.4518040e+00 1.7391673e+00 + 3.4521886e+00 1.7383619e+00 + 3.4525733e+00 1.7397894e+00 + 3.4529579e+00 1.7295459e+00 + 3.4533426e+00 1.7398829e+00 + 3.4537272e+00 1.7375652e+00 + 3.4541119e+00 1.7359293e+00 + 3.4544965e+00 1.7304664e+00 + 3.4548811e+00 1.7314324e+00 + 3.4552658e+00 1.7204069e+00 + 3.4556504e+00 1.7249581e+00 + 3.4560351e+00 1.7153049e+00 + 3.4564197e+00 1.7150244e+00 + 3.4568044e+00 1.7244771e+00 + 3.4571890e+00 1.7291112e+00 + 3.4575737e+00 1.7358247e+00 + 3.4579583e+00 1.7472519e+00 + 3.4583429e+00 1.7486992e+00 + 3.4587276e+00 1.7414457e+00 + 3.4591122e+00 1.7524229e+00 + 3.4594969e+00 1.7501366e+00 + 3.4598815e+00 1.7582380e+00 + 3.4602662e+00 1.7473748e+00 + 3.4606508e+00 1.7578860e+00 + 3.4610355e+00 1.7563655e+00 + 3.4614201e+00 1.7427492e+00 + 3.4618048e+00 1.7370805e+00 + 3.4621894e+00 1.7280485e+00 + 3.4625740e+00 1.7257355e+00 + 3.4629587e+00 1.7256562e+00 + 3.4633433e+00 1.7262870e+00 + 3.4637280e+00 1.7180840e+00 + 3.4641126e+00 1.7253458e+00 + 3.4644973e+00 1.7281038e+00 + 3.4648819e+00 1.7218977e+00 + 3.4652666e+00 1.7141371e+00 + 3.4656512e+00 1.7139416e+00 + 3.4660358e+00 1.7173826e+00 + 3.4664205e+00 1.7125582e+00 + 3.4668051e+00 1.7182003e+00 + 3.4671898e+00 1.7149267e+00 + 3.4675744e+00 1.7193835e+00 + 3.4679591e+00 1.7149269e+00 + 3.4683437e+00 1.7227883e+00 + 3.4687284e+00 1.7173006e+00 + 3.4691130e+00 1.7209691e+00 + 3.4694977e+00 1.7295256e+00 + 3.4698823e+00 1.7199608e+00 + 3.4702669e+00 1.7091029e+00 + 3.4706516e+00 1.7099102e+00 + 3.4710362e+00 1.7157263e+00 + 3.4714209e+00 1.7136365e+00 + 3.4718055e+00 1.7027008e+00 + 3.4721902e+00 1.7085025e+00 + 3.4725748e+00 1.7149269e+00 + 3.4729595e+00 1.7147649e+00 + 3.4733441e+00 1.7114889e+00 + 3.4737287e+00 1.7116611e+00 + 3.4741134e+00 1.7172257e+00 + 3.4744980e+00 1.7197749e+00 + 3.4748827e+00 1.7156538e+00 + 3.4752673e+00 1.7148074e+00 + 3.4756520e+00 1.7036007e+00 + 3.4760366e+00 1.7015447e+00 + 3.4764213e+00 1.6970640e+00 + 3.4768059e+00 1.6970418e+00 + 3.4771906e+00 1.6899574e+00 + 3.4775752e+00 1.6901232e+00 + 3.4779598e+00 1.6953330e+00 + 3.4783445e+00 1.6976986e+00 + 3.4787291e+00 1.7056064e+00 + 3.4791138e+00 1.7109790e+00 + 3.4794984e+00 1.7072864e+00 + 3.4798831e+00 1.7057642e+00 + 3.4802677e+00 1.7089576e+00 + 3.4806524e+00 1.7093374e+00 + 3.4810370e+00 1.7031937e+00 + 3.4814216e+00 1.6965574e+00 + 3.4818063e+00 1.7001346e+00 + 3.4821909e+00 1.7094796e+00 + 3.4825756e+00 1.7139604e+00 + 3.4829602e+00 1.7017521e+00 + 3.4833449e+00 1.7044215e+00 + 3.4837295e+00 1.7193610e+00 + 3.4841142e+00 1.7249546e+00 + 3.4844988e+00 1.7263228e+00 + 3.4848835e+00 1.7268958e+00 + 3.4852681e+00 1.7295973e+00 + 3.4856527e+00 1.7376954e+00 + 3.4860374e+00 1.7346473e+00 + 3.4864220e+00 1.7434147e+00 + 3.4868067e+00 1.7459988e+00 + 3.4871913e+00 1.7437485e+00 + 3.4875760e+00 1.7428300e+00 + 3.4879606e+00 1.7489889e+00 + 3.4883453e+00 1.7510811e+00 + 3.4887299e+00 1.7415883e+00 + 3.4891145e+00 1.7351632e+00 + 3.4894992e+00 1.7301615e+00 + 3.4898838e+00 1.7397535e+00 + 3.4902685e+00 1.7392452e+00 + 3.4906531e+00 1.7282777e+00 + 3.4910378e+00 1.7333685e+00 + 3.4914224e+00 1.7284393e+00 + 3.4918071e+00 1.7281770e+00 + 3.4921917e+00 1.7277222e+00 + 3.4925764e+00 1.7203974e+00 + 3.4929610e+00 1.7204249e+00 + 3.4933456e+00 1.7167800e+00 + 3.4937303e+00 1.7175646e+00 + 3.4941149e+00 1.7164697e+00 + 3.4944996e+00 1.7149214e+00 + 3.4948842e+00 1.7159522e+00 + 3.4952689e+00 1.7201670e+00 + 3.4956535e+00 1.7101634e+00 + 3.4960382e+00 1.7169334e+00 + 3.4964228e+00 1.7259368e+00 + 3.4968074e+00 1.7298076e+00 + 3.4971921e+00 1.7304897e+00 + 3.4975767e+00 1.7217850e+00 + 3.4979614e+00 1.7310118e+00 + 3.4983460e+00 1.7276807e+00 + 3.4987307e+00 1.7339245e+00 + 3.4991153e+00 1.7341776e+00 + 3.4995000e+00 1.7406907e+00 + 3.4998846e+00 1.7343977e+00 + 3.5002693e+00 1.7323205e+00 + 3.5006539e+00 1.7297949e+00 + 3.5010385e+00 1.7252620e+00 + 3.5014232e+00 1.7259586e+00 + 3.5018078e+00 1.7307702e+00 + 3.5021925e+00 1.7318288e+00 + 3.5025771e+00 1.7354914e+00 + 3.5029618e+00 1.7272623e+00 + 3.5033464e+00 1.7336877e+00 + 3.5037311e+00 1.7357707e+00 + 3.5041157e+00 1.7290072e+00 + 3.5045003e+00 1.7284812e+00 + 3.5048850e+00 1.7213795e+00 + 3.5052696e+00 1.7243292e+00 + 3.5056543e+00 1.7284344e+00 + 3.5060389e+00 1.7293560e+00 + 3.5064236e+00 1.7281392e+00 + 3.5068082e+00 1.7254751e+00 + 3.5071929e+00 1.7171764e+00 + 3.5075775e+00 1.7211128e+00 + 3.5079622e+00 1.7269704e+00 + 3.5083468e+00 1.7302688e+00 + 3.5087314e+00 1.7293479e+00 + 3.5091161e+00 1.7435887e+00 + 3.5095007e+00 1.7502526e+00 + 3.5098854e+00 1.7506181e+00 + 3.5102700e+00 1.7486395e+00 + 3.5106547e+00 1.7357050e+00 + 3.5110393e+00 1.7496225e+00 + 3.5114240e+00 1.7486933e+00 + 3.5118086e+00 1.7563925e+00 + 3.5121932e+00 1.7502832e+00 + 3.5125779e+00 1.7374714e+00 + 3.5129625e+00 1.7427900e+00 + 3.5133472e+00 1.7373117e+00 + 3.5137318e+00 1.7370387e+00 + 3.5141165e+00 1.7372471e+00 + 3.5145011e+00 1.7380087e+00 + 3.5148858e+00 1.7399840e+00 + 3.5152704e+00 1.7412057e+00 + 3.5156551e+00 1.7376909e+00 + 3.5160397e+00 1.7330825e+00 + 3.5164243e+00 1.7359084e+00 + 3.5168090e+00 1.7380889e+00 + 3.5171936e+00 1.7346629e+00 + 3.5175783e+00 1.7284787e+00 + 3.5179629e+00 1.7265660e+00 + 3.5183476e+00 1.7206556e+00 + 3.5187322e+00 1.7191518e+00 + 3.5191169e+00 1.7280871e+00 + 3.5195015e+00 1.7313534e+00 + 3.5198861e+00 1.7303311e+00 + 3.5202708e+00 1.7264129e+00 + 3.5206554e+00 1.7310445e+00 + 3.5210401e+00 1.7352184e+00 + 3.5214247e+00 1.7363169e+00 + 3.5218094e+00 1.7385698e+00 + 3.5221940e+00 1.7406836e+00 + 3.5225787e+00 1.7427464e+00 + 3.5229633e+00 1.7377432e+00 + 3.5233479e+00 1.7402593e+00 + 3.5237326e+00 1.7497318e+00 + 3.5241172e+00 1.7591690e+00 + 3.5245019e+00 1.7580988e+00 + 3.5248865e+00 1.7602684e+00 + 3.5252712e+00 1.7588193e+00 + 3.5256558e+00 1.7639489e+00 + 3.5260405e+00 1.7553125e+00 + 3.5264251e+00 1.7469971e+00 + 3.5268098e+00 1.7438489e+00 + 3.5271944e+00 1.7514299e+00 + 3.5275790e+00 1.7459141e+00 + 3.5279637e+00 1.7448365e+00 + 3.5283483e+00 1.7434929e+00 + 3.5287330e+00 1.7384256e+00 + 3.5291176e+00 1.7471513e+00 + 3.5295023e+00 1.7352629e+00 + 3.5298869e+00 1.7278027e+00 + 3.5302716e+00 1.7358956e+00 + 3.5306562e+00 1.7318614e+00 + 3.5310408e+00 1.7340521e+00 + 3.5314255e+00 1.7371512e+00 + 3.5318101e+00 1.7431475e+00 + 3.5321948e+00 1.7411306e+00 + 3.5325794e+00 1.7369999e+00 + 3.5329641e+00 1.7333549e+00 + 3.5333487e+00 1.7254519e+00 + 3.5337334e+00 1.7210615e+00 + 3.5341180e+00 1.7291851e+00 + 3.5345027e+00 1.7201925e+00 + 3.5348873e+00 1.7165011e+00 + 3.5352719e+00 1.7279123e+00 + 3.5356566e+00 1.7292983e+00 + 3.5360412e+00 1.7259831e+00 + 3.5364259e+00 1.7289963e+00 + 3.5368105e+00 1.7300148e+00 + 3.5371952e+00 1.7392209e+00 + 3.5375798e+00 1.7279936e+00 + 3.5379645e+00 1.7235401e+00 + 3.5383491e+00 1.7307931e+00 + 3.5387337e+00 1.7330817e+00 + 3.5391184e+00 1.7251587e+00 + 3.5395030e+00 1.7247636e+00 + 3.5398877e+00 1.7169568e+00 + 3.5402723e+00 1.7195024e+00 + 3.5406570e+00 1.7200849e+00 + 3.5410416e+00 1.7155941e+00 + 3.5414263e+00 1.7144081e+00 + 3.5418109e+00 1.7114242e+00 + 3.5421956e+00 1.7132158e+00 + 3.5425802e+00 1.7175655e+00 + 3.5429648e+00 1.7213102e+00 + 3.5433495e+00 1.7216419e+00 + 3.5437341e+00 1.7244602e+00 + 3.5441188e+00 1.7346571e+00 + 3.5445034e+00 1.7428912e+00 + 3.5448881e+00 1.7430636e+00 + 3.5452727e+00 1.7448096e+00 + 3.5456574e+00 1.7425095e+00 + 3.5460420e+00 1.7403172e+00 + 3.5464266e+00 1.7474981e+00 + 3.5468113e+00 1.7499239e+00 + 3.5471959e+00 1.7509784e+00 + 3.5475806e+00 1.7448978e+00 + 3.5479652e+00 1.7402876e+00 + 3.5483499e+00 1.7408267e+00 + 3.5487345e+00 1.7354098e+00 + 3.5491192e+00 1.7391487e+00 + 3.5495038e+00 1.7372757e+00 + 3.5498885e+00 1.7380168e+00 + 3.5502731e+00 1.7267191e+00 + 3.5506577e+00 1.7290817e+00 + 3.5510424e+00 1.7112333e+00 + 3.5514270e+00 1.7265354e+00 + 3.5518117e+00 1.7162131e+00 + 3.5521963e+00 1.7138449e+00 + 3.5525810e+00 1.7119258e+00 + 3.5529656e+00 1.7118277e+00 + 3.5533503e+00 1.7039362e+00 + 3.5537349e+00 1.7086264e+00 + 3.5541195e+00 1.7161565e+00 + 3.5545042e+00 1.7166729e+00 + 3.5548888e+00 1.7268870e+00 + 3.5552735e+00 1.7183968e+00 + 3.5556581e+00 1.7151692e+00 + 3.5560428e+00 1.7158936e+00 + 3.5564274e+00 1.7017500e+00 + 3.5568121e+00 1.6977452e+00 + 3.5571967e+00 1.6913465e+00 + 3.5575814e+00 1.6863134e+00 + 3.5579660e+00 1.6831758e+00 + 3.5583506e+00 1.6813965e+00 + 3.5587353e+00 1.6764408e+00 + 3.5591199e+00 1.6792004e+00 + 3.5595046e+00 1.6785092e+00 + 3.5598892e+00 1.6777576e+00 + 3.5602739e+00 1.6847038e+00 + 3.5606585e+00 1.6921625e+00 + 3.5610432e+00 1.6836465e+00 + 3.5614278e+00 1.6829543e+00 + 3.5618124e+00 1.6805002e+00 + 3.5621971e+00 1.6736311e+00 + 3.5625817e+00 1.6690613e+00 + 3.5629664e+00 1.6597696e+00 + 3.5633510e+00 1.6554839e+00 + 3.5637357e+00 1.6587667e+00 + 3.5641203e+00 1.6593305e+00 + 3.5645050e+00 1.6577766e+00 + 3.5648896e+00 1.6710555e+00 + 3.5652743e+00 1.6829853e+00 + 3.5656589e+00 1.6823210e+00 + 3.5660435e+00 1.6787214e+00 + 3.5664282e+00 1.6751717e+00 + 3.5668128e+00 1.6741904e+00 + 3.5671975e+00 1.6752444e+00 + 3.5675821e+00 1.6745555e+00 + 3.5679668e+00 1.6716795e+00 + 3.5683514e+00 1.6676460e+00 + 3.5687361e+00 1.6756516e+00 + 3.5691207e+00 1.6796556e+00 + 3.5695053e+00 1.6861516e+00 + 3.5698900e+00 1.6855896e+00 + 3.5702746e+00 1.6934813e+00 + 3.5706593e+00 1.6963188e+00 + 3.5710439e+00 1.6998591e+00 + 3.5714286e+00 1.6949611e+00 + 3.5718132e+00 1.6903535e+00 + 3.5721979e+00 1.6787679e+00 + 3.5725825e+00 1.6861666e+00 + 3.5729672e+00 1.6815095e+00 + 3.5733518e+00 1.6837385e+00 + 3.5737364e+00 1.6827674e+00 + 3.5741211e+00 1.6915431e+00 + 3.5745057e+00 1.6924332e+00 + 3.5748904e+00 1.6993074e+00 + 3.5752750e+00 1.6919226e+00 + 3.5756597e+00 1.6974937e+00 + 3.5760443e+00 1.6922110e+00 + 3.5764290e+00 1.6865735e+00 + 3.5768136e+00 1.6748827e+00 + 3.5771982e+00 1.6675641e+00 + 3.5775829e+00 1.6717964e+00 + 3.5779675e+00 1.6704282e+00 + 3.5783522e+00 1.6782067e+00 + 3.5787368e+00 1.6869445e+00 + 3.5791215e+00 1.6794562e+00 + 3.5795061e+00 1.6775326e+00 + 3.5798908e+00 1.6902788e+00 + 3.5802754e+00 1.6866102e+00 + 3.5806601e+00 1.6880846e+00 + 3.5810447e+00 1.6964634e+00 + 3.5814293e+00 1.7009298e+00 + 3.5818140e+00 1.7015877e+00 + 3.5821986e+00 1.7005924e+00 + 3.5825833e+00 1.7134794e+00 + 3.5829679e+00 1.7265113e+00 + 3.5833526e+00 1.7213872e+00 + 3.5837372e+00 1.7153336e+00 + 3.5841219e+00 1.7198633e+00 + 3.5845065e+00 1.7151862e+00 + 3.5848911e+00 1.7190572e+00 + 3.5852758e+00 1.7201993e+00 + 3.5856604e+00 1.7172979e+00 + 3.5860451e+00 1.7145194e+00 + 3.5864297e+00 1.7238305e+00 + 3.5868144e+00 1.7299868e+00 + 3.5871990e+00 1.7403096e+00 + 3.5875837e+00 1.7405481e+00 + 3.5879683e+00 1.7416477e+00 + 3.5883530e+00 1.7327970e+00 + 3.5887376e+00 1.7332183e+00 + 3.5891222e+00 1.7459812e+00 + 3.5895069e+00 1.7572752e+00 + 3.5898915e+00 1.7487376e+00 + 3.5902762e+00 1.7419354e+00 + 3.5906608e+00 1.7433046e+00 + 3.5910455e+00 1.7422416e+00 + 3.5914301e+00 1.7312390e+00 + 3.5918148e+00 1.7356643e+00 + 3.5921994e+00 1.7245629e+00 + 3.5925840e+00 1.7210472e+00 + 3.5929687e+00 1.7224381e+00 + 3.5933533e+00 1.7192810e+00 + 3.5937380e+00 1.7126037e+00 + 3.5941226e+00 1.7098586e+00 + 3.5945073e+00 1.7117961e+00 + 3.5948919e+00 1.7031527e+00 + 3.5952766e+00 1.7086425e+00 + 3.5956612e+00 1.6993006e+00 + 3.5960458e+00 1.6974733e+00 + 3.5964305e+00 1.6957626e+00 + 3.5968151e+00 1.6920582e+00 + 3.5971998e+00 1.6870802e+00 + 3.5975844e+00 1.6927639e+00 + 3.5979691e+00 1.6944359e+00 + 3.5983537e+00 1.6897465e+00 + 3.5987384e+00 1.6847457e+00 + 3.5991230e+00 1.6806145e+00 + 3.5995077e+00 1.6722004e+00 + 3.5998923e+00 1.6725722e+00 + 3.6002769e+00 1.6747357e+00 + 3.6006616e+00 1.6658570e+00 + 3.6010462e+00 1.6632526e+00 + 3.6014309e+00 1.6655195e+00 + 3.6018155e+00 1.6647280e+00 + 3.6022002e+00 1.6744100e+00 + 3.6025848e+00 1.6832866e+00 + 3.6029695e+00 1.6730857e+00 + 3.6033541e+00 1.6653288e+00 + 3.6037387e+00 1.6662265e+00 + 3.6041234e+00 1.6579164e+00 + 3.6045080e+00 1.6608408e+00 + 3.6048927e+00 1.6593962e+00 + 3.6052773e+00 1.6673047e+00 + 3.6056620e+00 1.6695000e+00 + 3.6060466e+00 1.6717325e+00 + 3.6064313e+00 1.6691129e+00 + 3.6068159e+00 1.6686427e+00 + 3.6072006e+00 1.6712655e+00 + 3.6075852e+00 1.6799644e+00 + 3.6079698e+00 1.6803680e+00 + 3.6083545e+00 1.6820422e+00 + 3.6087391e+00 1.6789829e+00 + 3.6091238e+00 1.6852338e+00 + 3.6095084e+00 1.6948413e+00 + 3.6098931e+00 1.6832984e+00 + 3.6102777e+00 1.6946177e+00 + 3.6106624e+00 1.6851164e+00 + 3.6110470e+00 1.6739262e+00 + 3.6114316e+00 1.6790047e+00 + 3.6118163e+00 1.6808239e+00 + 3.6122009e+00 1.6700463e+00 + 3.6125856e+00 1.6718825e+00 + 3.6129702e+00 1.6751387e+00 + 3.6133549e+00 1.6681888e+00 + 3.6137395e+00 1.6648878e+00 + 3.6141242e+00 1.6698659e+00 + 3.6145088e+00 1.6677576e+00 + 3.6148935e+00 1.6682253e+00 + 3.6152781e+00 1.6705992e+00 + 3.6156627e+00 1.6768070e+00 + 3.6160474e+00 1.6814067e+00 + 3.6164320e+00 1.6876849e+00 + 3.6168167e+00 1.6886077e+00 + 3.6172013e+00 1.6965991e+00 + 3.6175860e+00 1.6968253e+00 + 3.6179706e+00 1.6872698e+00 + 3.6183553e+00 1.6847344e+00 + 3.6187399e+00 1.6713624e+00 + 3.6191245e+00 1.6711030e+00 + 3.6195092e+00 1.6679268e+00 + 3.6198938e+00 1.6659628e+00 + 3.6202785e+00 1.6681926e+00 + 3.6206631e+00 1.6710359e+00 + 3.6210478e+00 1.6682014e+00 + 3.6214324e+00 1.6606692e+00 + 3.6218171e+00 1.6563934e+00 + 3.6222017e+00 1.6634020e+00 + 3.6225864e+00 1.6668766e+00 + 3.6229710e+00 1.6695699e+00 + 3.6233556e+00 1.6635581e+00 + 3.6237403e+00 1.6658008e+00 + 3.6241249e+00 1.6655075e+00 + 3.6245096e+00 1.6551813e+00 + 3.6248942e+00 1.6529858e+00 + 3.6252789e+00 1.6513480e+00 + 3.6256635e+00 1.6476702e+00 + 3.6260482e+00 1.6431318e+00 + 3.6264328e+00 1.6336728e+00 + 3.6268174e+00 1.6368833e+00 + 3.6272021e+00 1.6403547e+00 + 3.6275867e+00 1.6427532e+00 + 3.6279714e+00 1.6349732e+00 + 3.6283560e+00 1.6354892e+00 + 3.6287407e+00 1.6414010e+00 + 3.6291253e+00 1.6414388e+00 + 3.6295100e+00 1.6358042e+00 + 3.6298946e+00 1.6370091e+00 + 3.6302793e+00 1.6343617e+00 + 3.6306639e+00 1.6366613e+00 + 3.6310485e+00 1.6441118e+00 + 3.6314332e+00 1.6409251e+00 + 3.6318178e+00 1.6356798e+00 + 3.6322025e+00 1.6392348e+00 + 3.6325871e+00 1.6420043e+00 + 3.6329718e+00 1.6518060e+00 + 3.6333564e+00 1.6522039e+00 + 3.6337411e+00 1.6567084e+00 + 3.6341257e+00 1.6468134e+00 + 3.6345103e+00 1.6473786e+00 + 3.6348950e+00 1.6412862e+00 + 3.6352796e+00 1.6505504e+00 + 3.6356643e+00 1.6660114e+00 + 3.6360489e+00 1.6682076e+00 + 3.6364336e+00 1.6719204e+00 + 3.6368182e+00 1.6796632e+00 + 3.6372029e+00 1.6922041e+00 + 3.6375875e+00 1.6998044e+00 + 3.6379722e+00 1.6979273e+00 + 3.6383568e+00 1.7002974e+00 + 3.6387414e+00 1.7062073e+00 + 3.6391261e+00 1.7212095e+00 + 3.6395107e+00 1.7254627e+00 + 3.6398954e+00 1.7251749e+00 + 3.6402800e+00 1.7192180e+00 + 3.6406647e+00 1.7140377e+00 + 3.6410493e+00 1.7151749e+00 + 3.6414340e+00 1.7134045e+00 + 3.6418186e+00 1.7145511e+00 + 3.6422032e+00 1.7063227e+00 + 3.6425879e+00 1.6931035e+00 + 3.6429725e+00 1.6933323e+00 + 3.6433572e+00 1.6983945e+00 + 3.6437418e+00 1.6986056e+00 + 3.6441265e+00 1.6891155e+00 + 3.6445111e+00 1.6931850e+00 + 3.6448958e+00 1.7003258e+00 + 3.6452804e+00 1.7014021e+00 + 3.6456651e+00 1.7035567e+00 + 3.6460497e+00 1.7018021e+00 + 3.6464343e+00 1.6979173e+00 + 3.6468190e+00 1.7024922e+00 + 3.6472036e+00 1.6925732e+00 + 3.6475883e+00 1.6932646e+00 + 3.6479729e+00 1.7037963e+00 + 3.6483576e+00 1.7095272e+00 + 3.6487422e+00 1.7035403e+00 + 3.6491269e+00 1.6985828e+00 + 3.6495115e+00 1.6985179e+00 + 3.6498961e+00 1.6855138e+00 + 3.6502808e+00 1.6907060e+00 + 3.6506654e+00 1.6884681e+00 + 3.6510501e+00 1.6829361e+00 + 3.6514347e+00 1.6877587e+00 + 3.6518194e+00 1.6965424e+00 + 3.6522040e+00 1.7054491e+00 + 3.6525887e+00 1.7142586e+00 + 3.6529733e+00 1.7057289e+00 + 3.6533580e+00 1.7102180e+00 + 3.6537426e+00 1.6975866e+00 + 3.6541272e+00 1.7061578e+00 + 3.6545119e+00 1.7183948e+00 + 3.6548965e+00 1.7198899e+00 + 3.6552812e+00 1.7215508e+00 + 3.6556658e+00 1.7191299e+00 + 3.6560505e+00 1.7167300e+00 + 3.6564351e+00 1.7137453e+00 + 3.6568198e+00 1.7178904e+00 + 3.6572044e+00 1.7221472e+00 + 3.6575890e+00 1.7219979e+00 + 3.6579737e+00 1.7287214e+00 + 3.6583583e+00 1.7176532e+00 + 3.6587430e+00 1.7254001e+00 + 3.6591276e+00 1.7290600e+00 + 3.6595123e+00 1.7334561e+00 + 3.6598969e+00 1.7374327e+00 + 3.6602816e+00 1.7352345e+00 + 3.6606662e+00 1.7378803e+00 + 3.6610509e+00 1.7302568e+00 + 3.6614355e+00 1.7318569e+00 + 3.6618201e+00 1.7390289e+00 + 3.6622048e+00 1.7339854e+00 + 3.6625894e+00 1.7348104e+00 + 3.6629741e+00 1.7356754e+00 + 3.6633587e+00 1.7382707e+00 + 3.6637434e+00 1.7380240e+00 + 3.6641280e+00 1.7265711e+00 + 3.6645127e+00 1.7223183e+00 + 3.6648973e+00 1.7280429e+00 + 3.6652819e+00 1.7231704e+00 + 3.6656666e+00 1.7178104e+00 + 3.6660512e+00 1.7217649e+00 + 3.6664359e+00 1.7239761e+00 + 3.6668205e+00 1.7271447e+00 + 3.6672052e+00 1.7142118e+00 + 3.6675898e+00 1.7096936e+00 + 3.6679745e+00 1.7123136e+00 + 3.6683591e+00 1.7205592e+00 + 3.6687437e+00 1.7228771e+00 + 3.6691284e+00 1.7279050e+00 + 3.6695130e+00 1.7279437e+00 + 3.6698977e+00 1.7194286e+00 + 3.6702823e+00 1.7136083e+00 + 3.6706670e+00 1.7172730e+00 + 3.6710516e+00 1.7291222e+00 + 3.6714363e+00 1.7273339e+00 + 3.6718209e+00 1.7288212e+00 + 3.6722056e+00 1.7367139e+00 + 3.6725902e+00 1.7296932e+00 + 3.6729748e+00 1.7315521e+00 + 3.6733595e+00 1.7331441e+00 + 3.6737441e+00 1.7392550e+00 + 3.6741288e+00 1.7279915e+00 + 3.6745134e+00 1.7350922e+00 + 3.6748981e+00 1.7285308e+00 + 3.6752827e+00 1.7249206e+00 + 3.6756674e+00 1.7136274e+00 + 3.6760520e+00 1.7242918e+00 + 3.6764366e+00 1.7234319e+00 + 3.6768213e+00 1.7290342e+00 + 3.6772059e+00 1.7203318e+00 + 3.6775906e+00 1.7246656e+00 + 3.6779752e+00 1.7366133e+00 + 3.6783599e+00 1.7356615e+00 + 3.6787445e+00 1.7315758e+00 + 3.6791292e+00 1.7274691e+00 + 3.6795138e+00 1.7325993e+00 + 3.6798985e+00 1.7364901e+00 + 3.6802831e+00 1.7362744e+00 + 3.6806677e+00 1.7281563e+00 + 3.6810524e+00 1.7136325e+00 + 3.6814370e+00 1.7156915e+00 + 3.6818217e+00 1.7155643e+00 + 3.6822063e+00 1.7192880e+00 + 3.6825910e+00 1.7138797e+00 + 3.6829756e+00 1.7159431e+00 + 3.6833603e+00 1.7215023e+00 + 3.6837449e+00 1.7302394e+00 + 3.6841295e+00 1.7273262e+00 + 3.6845142e+00 1.7353634e+00 + 3.6848988e+00 1.7330994e+00 + 3.6852835e+00 1.7262408e+00 + 3.6856681e+00 1.7391054e+00 + 3.6860528e+00 1.7490550e+00 + 3.6864374e+00 1.7522643e+00 + 3.6868221e+00 1.7408168e+00 + 3.6872067e+00 1.7453479e+00 + 3.6875914e+00 1.7412543e+00 + 3.6879760e+00 1.7404989e+00 + 3.6883606e+00 1.7355852e+00 + 3.6887453e+00 1.7273686e+00 + 3.6891299e+00 1.7293315e+00 + 3.6895146e+00 1.7279361e+00 + 3.6898992e+00 1.7325476e+00 + 3.6902839e+00 1.7311000e+00 + 3.6906685e+00 1.7303717e+00 + 3.6910532e+00 1.7267620e+00 + 3.6914378e+00 1.7168202e+00 + 3.6918224e+00 1.7273649e+00 + 3.6922071e+00 1.7319146e+00 + 3.6925917e+00 1.7340976e+00 + 3.6929764e+00 1.7348026e+00 + 3.6933610e+00 1.7470078e+00 + 3.6937457e+00 1.7533674e+00 + 3.6941303e+00 1.7512087e+00 + 3.6945150e+00 1.7524881e+00 + 3.6948996e+00 1.7611420e+00 + 3.6952843e+00 1.7560140e+00 + 3.6956689e+00 1.7600195e+00 + 3.6960535e+00 1.7588148e+00 + 3.6964382e+00 1.7544289e+00 + 3.6968228e+00 1.7508198e+00 + 3.6972075e+00 1.7462431e+00 + 3.6975921e+00 1.7439196e+00 + 3.6979768e+00 1.7408894e+00 + 3.6983614e+00 1.7241803e+00 + 3.6987461e+00 1.7170655e+00 + 3.6991307e+00 1.7242497e+00 + 3.6995153e+00 1.7177336e+00 + 3.6999000e+00 1.7141157e+00 + 3.7002846e+00 1.7153474e+00 + 3.7006693e+00 1.7200135e+00 + 3.7010539e+00 1.7146193e+00 + 3.7014386e+00 1.7078684e+00 + 3.7018232e+00 1.6959279e+00 + 3.7022079e+00 1.6918486e+00 + 3.7025925e+00 1.6983809e+00 + 3.7029772e+00 1.6910982e+00 + 3.7033618e+00 1.7092024e+00 + 3.7037464e+00 1.7087182e+00 + 3.7041311e+00 1.7077951e+00 + 3.7045157e+00 1.7057590e+00 + 3.7049004e+00 1.7065917e+00 + 3.7052850e+00 1.7117903e+00 + 3.7056697e+00 1.7066539e+00 + 3.7060543e+00 1.7140150e+00 + 3.7064390e+00 1.7043848e+00 + 3.7068236e+00 1.7135797e+00 + 3.7072082e+00 1.7214326e+00 + 3.7075929e+00 1.7338121e+00 + 3.7079775e+00 1.7362816e+00 + 3.7083622e+00 1.7377975e+00 + 3.7087468e+00 1.7414389e+00 + 3.7091315e+00 1.7404853e+00 + 3.7095161e+00 1.7377067e+00 + 3.7099008e+00 1.7327687e+00 + 3.7102854e+00 1.7236208e+00 + 3.7106701e+00 1.7192609e+00 + 3.7110547e+00 1.7206313e+00 + 3.7114393e+00 1.7174792e+00 + 3.7118240e+00 1.7259382e+00 + 3.7122086e+00 1.7158552e+00 + 3.7125933e+00 1.7185193e+00 + 3.7129779e+00 1.7280252e+00 + 3.7133626e+00 1.7203567e+00 + 3.7137472e+00 1.7145976e+00 + 3.7141319e+00 1.7113895e+00 + 3.7145165e+00 1.7124128e+00 + 3.7149011e+00 1.7041076e+00 + 3.7152858e+00 1.7120433e+00 + 3.7156704e+00 1.7187914e+00 + 3.7160551e+00 1.7102029e+00 + 3.7164397e+00 1.7126839e+00 + 3.7168244e+00 1.7060941e+00 + 3.7172090e+00 1.7009214e+00 + 3.7175937e+00 1.6976593e+00 + 3.7179783e+00 1.6913734e+00 + 3.7183630e+00 1.6923847e+00 + 3.7187476e+00 1.6890803e+00 + 3.7191322e+00 1.6925040e+00 + 3.7195169e+00 1.6978105e+00 + 3.7199015e+00 1.7011036e+00 + 3.7202862e+00 1.7019021e+00 + 3.7206708e+00 1.6983449e+00 + 3.7210555e+00 1.6887157e+00 + 3.7214401e+00 1.6918090e+00 + 3.7218248e+00 1.6979743e+00 + 3.7222094e+00 1.7024816e+00 + 3.7225940e+00 1.7009363e+00 + 3.7229787e+00 1.7000401e+00 + 3.7233633e+00 1.7009455e+00 + 3.7237480e+00 1.7016892e+00 + 3.7241326e+00 1.7032803e+00 + 3.7245173e+00 1.7020459e+00 + 3.7249019e+00 1.6963041e+00 + 3.7252866e+00 1.6968982e+00 + 3.7256712e+00 1.6980081e+00 + 3.7260559e+00 1.6971774e+00 + 3.7264405e+00 1.6975513e+00 + 3.7268251e+00 1.6963632e+00 + 3.7272098e+00 1.6997614e+00 + 3.7275944e+00 1.7029068e+00 + 3.7279791e+00 1.7133770e+00 + 3.7283637e+00 1.7225983e+00 + 3.7287484e+00 1.7160872e+00 + 3.7291330e+00 1.7127457e+00 + 3.7295177e+00 1.7231238e+00 + 3.7299023e+00 1.7209294e+00 + 3.7302869e+00 1.7225002e+00 + 3.7306716e+00 1.7221177e+00 + 3.7310562e+00 1.7248313e+00 + 3.7314409e+00 1.7273523e+00 + 3.7318255e+00 1.7323157e+00 + 3.7322102e+00 1.7311089e+00 + 3.7325948e+00 1.7248173e+00 + 3.7329795e+00 1.7287801e+00 + 3.7333641e+00 1.7341179e+00 + 3.7337487e+00 1.7338348e+00 + 3.7341334e+00 1.7290607e+00 + 3.7345180e+00 1.7324336e+00 + 3.7349027e+00 1.7320818e+00 + 3.7352873e+00 1.7487740e+00 + 3.7356720e+00 1.7540960e+00 + 3.7360566e+00 1.7561937e+00 + 3.7364413e+00 1.7652603e+00 + 3.7368259e+00 1.7702796e+00 + 3.7372106e+00 1.7650906e+00 + 3.7375952e+00 1.7684921e+00 + 3.7379798e+00 1.7731811e+00 + 3.7383645e+00 1.7832419e+00 + 3.7387491e+00 1.7842071e+00 + 3.7391338e+00 1.7869324e+00 + 3.7395184e+00 1.7754359e+00 + 3.7399031e+00 1.7716403e+00 + 3.7402877e+00 1.7687288e+00 + 3.7406724e+00 1.7614133e+00 + 3.7410570e+00 1.7561068e+00 + 3.7414416e+00 1.7581317e+00 + 3.7418263e+00 1.7646811e+00 + 3.7422109e+00 1.7617664e+00 + 3.7425956e+00 1.7685229e+00 + 3.7429802e+00 1.7643565e+00 + 3.7433649e+00 1.7559141e+00 + 3.7437495e+00 1.7534466e+00 + 3.7441342e+00 1.7528598e+00 + 3.7445188e+00 1.7395077e+00 + 3.7449035e+00 1.7350102e+00 + 3.7452881e+00 1.7368648e+00 + 3.7456727e+00 1.7387445e+00 + 3.7460574e+00 1.7362624e+00 + 3.7464420e+00 1.7328953e+00 + 3.7468267e+00 1.7333027e+00 + 3.7472113e+00 1.7393900e+00 + 3.7475960e+00 1.7428475e+00 + 3.7479806e+00 1.7482297e+00 + 3.7483653e+00 1.7476473e+00 + 3.7487499e+00 1.7517243e+00 + 3.7491345e+00 1.7482604e+00 + 3.7495192e+00 1.7522297e+00 + 3.7499038e+00 1.7573913e+00 + 3.7502885e+00 1.7605545e+00 + 3.7506731e+00 1.7565360e+00 + 3.7510578e+00 1.7559105e+00 + 3.7514424e+00 1.7483374e+00 + 3.7518271e+00 1.7525986e+00 + 3.7522117e+00 1.7424284e+00 + 3.7525964e+00 1.7449896e+00 + 3.7529810e+00 1.7537601e+00 + 3.7533656e+00 1.7468785e+00 + 3.7537503e+00 1.7570974e+00 + 3.7541349e+00 1.7603548e+00 + 3.7545196e+00 1.7482408e+00 + 3.7549042e+00 1.7427857e+00 + 3.7552889e+00 1.7372678e+00 + 3.7556735e+00 1.7444882e+00 + 3.7560582e+00 1.7459790e+00 + 3.7564428e+00 1.7441711e+00 + 3.7568274e+00 1.7307615e+00 + 3.7572121e+00 1.7301037e+00 + 3.7575967e+00 1.7319467e+00 + 3.7579814e+00 1.7351494e+00 + 3.7583660e+00 1.7536044e+00 + 3.7587507e+00 1.7627403e+00 + 3.7591353e+00 1.7699041e+00 + 3.7595200e+00 1.7684675e+00 + 3.7599046e+00 1.7609279e+00 + 3.7602893e+00 1.7574685e+00 + 3.7606739e+00 1.7446073e+00 + 3.7610585e+00 1.7424840e+00 + 3.7614432e+00 1.7438430e+00 + 3.7618278e+00 1.7400327e+00 + 3.7622125e+00 1.7430339e+00 + 3.7625971e+00 1.7342973e+00 + 3.7629818e+00 1.7397388e+00 + 3.7633664e+00 1.7401565e+00 + 3.7637511e+00 1.7484972e+00 + 3.7641357e+00 1.7426979e+00 + 3.7645203e+00 1.7458337e+00 + 3.7649050e+00 1.7421510e+00 + 3.7652896e+00 1.7501837e+00 + 3.7656743e+00 1.7581649e+00 + 3.7660589e+00 1.7485500e+00 + 3.7664436e+00 1.7440012e+00 + 3.7668282e+00 1.7392883e+00 + 3.7672129e+00 1.7440220e+00 + 3.7675975e+00 1.7550642e+00 + 3.7679822e+00 1.7564963e+00 + 3.7683668e+00 1.7548339e+00 + 3.7687514e+00 1.7492964e+00 + 3.7691361e+00 1.7523114e+00 + 3.7695207e+00 1.7529568e+00 + 3.7699054e+00 1.7529852e+00 + 3.7702900e+00 1.7550163e+00 + 3.7706747e+00 1.7557167e+00 + 3.7710593e+00 1.7625027e+00 + 3.7714440e+00 1.7607776e+00 + 3.7718286e+00 1.7556506e+00 + 3.7722132e+00 1.7542774e+00 + 3.7725979e+00 1.7444810e+00 + 3.7729825e+00 1.7357912e+00 + 3.7733672e+00 1.7340605e+00 + 3.7737518e+00 1.7367020e+00 + 3.7741365e+00 1.7367403e+00 + 3.7745211e+00 1.7386676e+00 + 3.7749058e+00 1.7344690e+00 + 3.7752904e+00 1.7204930e+00 + 3.7756751e+00 1.7236532e+00 + 3.7760597e+00 1.7181408e+00 + 3.7764443e+00 1.7278795e+00 + 3.7768290e+00 1.7269487e+00 + 3.7772136e+00 1.7250289e+00 + 3.7775983e+00 1.7159797e+00 + 3.7779829e+00 1.7110143e+00 + 3.7783676e+00 1.7055687e+00 + 3.7787522e+00 1.7015433e+00 + 3.7791369e+00 1.7048034e+00 + 3.7795215e+00 1.7072792e+00 + 3.7799061e+00 1.7097731e+00 + 3.7802908e+00 1.7134614e+00 + 3.7806754e+00 1.7134945e+00 + 3.7810601e+00 1.7118375e+00 + 3.7814447e+00 1.7031294e+00 + 3.7818294e+00 1.7050408e+00 + 3.7822140e+00 1.7052976e+00 + 3.7825987e+00 1.7104056e+00 + 3.7829833e+00 1.7144854e+00 + 3.7833680e+00 1.7190447e+00 + 3.7837526e+00 1.7270158e+00 + 3.7841372e+00 1.7295061e+00 + 3.7845219e+00 1.7219241e+00 + 3.7849065e+00 1.7086910e+00 + 3.7852912e+00 1.7082055e+00 + 3.7856758e+00 1.7026994e+00 + 3.7860605e+00 1.7012406e+00 + 3.7864451e+00 1.7100609e+00 + 3.7868298e+00 1.7074206e+00 + 3.7872144e+00 1.7156102e+00 + 3.7875990e+00 1.6947106e+00 + 3.7879837e+00 1.7042518e+00 + 3.7883683e+00 1.7074644e+00 + 3.7887530e+00 1.7125047e+00 + 3.7891376e+00 1.7117852e+00 + 3.7895223e+00 1.7079680e+00 + 3.7899069e+00 1.7022682e+00 + 3.7902916e+00 1.7045999e+00 + 3.7906762e+00 1.7110834e+00 + 3.7910609e+00 1.7127893e+00 + 3.7914455e+00 1.7061059e+00 + 3.7918301e+00 1.7072158e+00 + 3.7922148e+00 1.7064748e+00 + 3.7925994e+00 1.7158497e+00 + 3.7929841e+00 1.7150639e+00 + 3.7933687e+00 1.7128193e+00 + 3.7937534e+00 1.7065026e+00 + 3.7941380e+00 1.7201430e+00 + 3.7945227e+00 1.7217342e+00 + 3.7949073e+00 1.7215232e+00 + 3.7952919e+00 1.7183900e+00 + 3.7956766e+00 1.7121707e+00 + 3.7960612e+00 1.7184962e+00 + 3.7964459e+00 1.7165783e+00 + 3.7968305e+00 1.7109711e+00 + 3.7972152e+00 1.7111011e+00 + 3.7975998e+00 1.7067118e+00 + 3.7979845e+00 1.6953496e+00 + 3.7983691e+00 1.6957608e+00 + 3.7987538e+00 1.6878423e+00 + 3.7991384e+00 1.6799638e+00 + 3.7995230e+00 1.6737244e+00 + 3.7999077e+00 1.6642393e+00 + 3.8002923e+00 1.6679861e+00 + 3.8006770e+00 1.6712531e+00 + 3.8010616e+00 1.6588173e+00 + 3.8014463e+00 1.6629530e+00 + 3.8018309e+00 1.6651320e+00 + 3.8022156e+00 1.6551899e+00 + 3.8026002e+00 1.6526575e+00 + 3.8029848e+00 1.6437448e+00 + 3.8033695e+00 1.6375021e+00 + 3.8037541e+00 1.6360354e+00 + 3.8041388e+00 1.6324916e+00 + 3.8045234e+00 1.6449791e+00 + 3.8049081e+00 1.6495661e+00 + 3.8052927e+00 1.6445781e+00 + 3.8056774e+00 1.6406315e+00 + 3.8060620e+00 1.6441021e+00 + 3.8064466e+00 1.6469772e+00 + 3.8068313e+00 1.6351205e+00 + 3.8072159e+00 1.6238876e+00 + 3.8076006e+00 1.6297742e+00 + 3.8079852e+00 1.6183934e+00 + 3.8083699e+00 1.6209319e+00 + 3.8087545e+00 1.6277873e+00 + 3.8091392e+00 1.6251270e+00 + 3.8095238e+00 1.6169261e+00 + 3.8099085e+00 1.6133281e+00 + 3.8102931e+00 1.6177574e+00 + 3.8106777e+00 1.6182126e+00 + 3.8110624e+00 1.6168185e+00 + 3.8114470e+00 1.6175929e+00 + 3.8118317e+00 1.6242476e+00 + 3.8122163e+00 1.6183765e+00 + 3.8126010e+00 1.6204789e+00 + 3.8129856e+00 1.6184836e+00 + 3.8133703e+00 1.6152784e+00 + 3.8137549e+00 1.6107157e+00 + 3.8141395e+00 1.6032092e+00 + 3.8145242e+00 1.6013332e+00 + 3.8149088e+00 1.6174746e+00 + 3.8152935e+00 1.6263855e+00 + 3.8156781e+00 1.6367759e+00 + 3.8160628e+00 1.6397144e+00 + 3.8164474e+00 1.6412602e+00 + 3.8168321e+00 1.6363834e+00 + 3.8172167e+00 1.6387805e+00 + 3.8176014e+00 1.6445412e+00 + 3.8179860e+00 1.6451538e+00 + 3.8183706e+00 1.6394661e+00 + 3.8187553e+00 1.6375162e+00 + 3.8191399e+00 1.6341829e+00 + 3.8195246e+00 1.6390253e+00 + 3.8199092e+00 1.6367262e+00 + 3.8202939e+00 1.6385322e+00 + 3.8206785e+00 1.6462813e+00 + 3.8210632e+00 1.6395751e+00 + 3.8214478e+00 1.6338331e+00 + 3.8218324e+00 1.6368554e+00 + 3.8222171e+00 1.6417378e+00 + 3.8226017e+00 1.6437386e+00 + 3.8229864e+00 1.6546751e+00 + 3.8233710e+00 1.6534054e+00 + 3.8237557e+00 1.6457773e+00 + 3.8241403e+00 1.6324497e+00 + 3.8245250e+00 1.6343101e+00 + 3.8249096e+00 1.6398001e+00 + 3.8252943e+00 1.6373228e+00 + 3.8256789e+00 1.6308367e+00 + 3.8260635e+00 1.6314051e+00 + 3.8264482e+00 1.6274481e+00 + 3.8268328e+00 1.6248634e+00 + 3.8272175e+00 1.6252621e+00 + 3.8276021e+00 1.6117937e+00 + 3.8279868e+00 1.6172908e+00 + 3.8283714e+00 1.6170966e+00 + 3.8287561e+00 1.6143693e+00 + 3.8291407e+00 1.6082902e+00 + 3.8295253e+00 1.6139206e+00 + 3.8299100e+00 1.6060699e+00 + 3.8302946e+00 1.5983093e+00 + 3.8306793e+00 1.6104179e+00 + 3.8310639e+00 1.6066504e+00 + 3.8314486e+00 1.6051468e+00 + 3.8318332e+00 1.6125821e+00 + 3.8322179e+00 1.6194669e+00 + 3.8326025e+00 1.6235919e+00 + 3.8329872e+00 1.6257167e+00 + 3.8333718e+00 1.6278412e+00 + 3.8337564e+00 1.6240461e+00 + 3.8341411e+00 1.6174089e+00 + 3.8345257e+00 1.6199198e+00 + 3.8349104e+00 1.6218879e+00 + 3.8352950e+00 1.6186629e+00 + 3.8356797e+00 1.6152116e+00 + 3.8360643e+00 1.6068021e+00 + 3.8364490e+00 1.6194667e+00 + 3.8368336e+00 1.6209666e+00 + 3.8372182e+00 1.6327547e+00 + 3.8376029e+00 1.6266830e+00 + 3.8379875e+00 1.6249765e+00 + 3.8383722e+00 1.6280270e+00 + 3.8387568e+00 1.6324054e+00 + 3.8391415e+00 1.6279783e+00 + 3.8395261e+00 1.6181841e+00 + 3.8399108e+00 1.6228843e+00 + 3.8402954e+00 1.6339279e+00 + 3.8406801e+00 1.6331075e+00 + 3.8410647e+00 1.6358715e+00 + 3.8414493e+00 1.6387227e+00 + 3.8418340e+00 1.6333994e+00 + 3.8422186e+00 1.6396403e+00 + 3.8426033e+00 1.6459857e+00 + 3.8429879e+00 1.6570869e+00 + 3.8433726e+00 1.6605367e+00 + 3.8437572e+00 1.6523750e+00 + 3.8441419e+00 1.6521722e+00 + 3.8445265e+00 1.6624512e+00 + 3.8449111e+00 1.6618987e+00 + 3.8452958e+00 1.6744043e+00 + 3.8456804e+00 1.6659066e+00 + 3.8460651e+00 1.6770815e+00 + 3.8464497e+00 1.6841748e+00 + 3.8468344e+00 1.6838230e+00 + 3.8472190e+00 1.6849620e+00 + 3.8476037e+00 1.6787375e+00 + 3.8479883e+00 1.6836301e+00 + 3.8483730e+00 1.6889947e+00 + 3.8487576e+00 1.6949629e+00 + 3.8491422e+00 1.6940109e+00 + 3.8495269e+00 1.6976384e+00 + 3.8499115e+00 1.6953794e+00 + 3.8502962e+00 1.6912964e+00 + 3.8506808e+00 1.7009446e+00 + 3.8510655e+00 1.7019841e+00 + 3.8514501e+00 1.7055776e+00 + 3.8518348e+00 1.7032504e+00 + 3.8522194e+00 1.7150002e+00 + 3.8526040e+00 1.7161451e+00 + 3.8529887e+00 1.7128836e+00 + 3.8533733e+00 1.7068983e+00 + 3.8537580e+00 1.7046438e+00 + 3.8541426e+00 1.7091600e+00 + 3.8545273e+00 1.6999017e+00 + 3.8549119e+00 1.7028211e+00 + 3.8552966e+00 1.7068081e+00 + 3.8556812e+00 1.7122690e+00 + 3.8560659e+00 1.7148480e+00 + 3.8564505e+00 1.7189164e+00 + 3.8568351e+00 1.7193517e+00 + 3.8572198e+00 1.7151871e+00 + 3.8576044e+00 1.7058828e+00 + 3.8579891e+00 1.7040016e+00 + 3.8583737e+00 1.7091916e+00 + 3.8587584e+00 1.7024761e+00 + 3.8591430e+00 1.6882819e+00 + 3.8595277e+00 1.6949907e+00 + 3.8599123e+00 1.6965454e+00 + 3.8602969e+00 1.7005833e+00 + 3.8606816e+00 1.7022097e+00 + 3.8610662e+00 1.7098925e+00 + 3.8614509e+00 1.7063699e+00 + 3.8618355e+00 1.7120809e+00 + 3.8622202e+00 1.7198014e+00 + 3.8626048e+00 1.7108333e+00 + 3.8629895e+00 1.7113539e+00 + 3.8633741e+00 1.7147792e+00 + 3.8637588e+00 1.7091096e+00 + 3.8641434e+00 1.7146026e+00 + 3.8645280e+00 1.7174377e+00 + 3.8649127e+00 1.7125569e+00 + 3.8652973e+00 1.7095202e+00 + 3.8656820e+00 1.7090879e+00 + 3.8660666e+00 1.7049064e+00 + 3.8664513e+00 1.7140054e+00 + 3.8668359e+00 1.7149870e+00 + 3.8672206e+00 1.7245393e+00 + 3.8676052e+00 1.7243765e+00 + 3.8679898e+00 1.7226385e+00 + 3.8683745e+00 1.7243042e+00 + 3.8687591e+00 1.7292917e+00 + 3.8691438e+00 1.7304354e+00 + 3.8695284e+00 1.7233685e+00 + 3.8699131e+00 1.7168401e+00 + 3.8702977e+00 1.7136405e+00 + 3.8706824e+00 1.7085274e+00 + 3.8710670e+00 1.7081498e+00 + 3.8714517e+00 1.7057850e+00 + 3.8718363e+00 1.7130293e+00 + 3.8722209e+00 1.7080465e+00 + 3.8726056e+00 1.7098337e+00 + 3.8729902e+00 1.7018026e+00 + 3.8733749e+00 1.6892980e+00 + 3.8737595e+00 1.6875491e+00 + 3.8741442e+00 1.6871615e+00 + 3.8745288e+00 1.6867576e+00 + 3.8749135e+00 1.6936608e+00 + 3.8752981e+00 1.6937211e+00 + 3.8756827e+00 1.7040642e+00 + 3.8760674e+00 1.7133151e+00 + 3.8764520e+00 1.7110081e+00 + 3.8768367e+00 1.7133451e+00 + 3.8772213e+00 1.7102323e+00 + 3.8776060e+00 1.7055058e+00 + 3.8779906e+00 1.7017790e+00 + 3.8783753e+00 1.7094877e+00 + 3.8787599e+00 1.7196586e+00 + 3.8791445e+00 1.7173595e+00 + 3.8795292e+00 1.7204799e+00 + 3.8799138e+00 1.7267129e+00 + 3.8802985e+00 1.7286984e+00 + 3.8806831e+00 1.7329809e+00 + 3.8810678e+00 1.7336700e+00 + 3.8814524e+00 1.7302957e+00 + 3.8818371e+00 1.7389340e+00 + 3.8822217e+00 1.7491607e+00 + 3.8826064e+00 1.7424006e+00 + 3.8829910e+00 1.7442928e+00 + 3.8833756e+00 1.7376329e+00 + 3.8837603e+00 1.7388962e+00 + 3.8841449e+00 1.7448908e+00 + 3.8845296e+00 1.7477589e+00 + 3.8849142e+00 1.7508727e+00 + 3.8852989e+00 1.7462969e+00 + 3.8856835e+00 1.7314773e+00 + 3.8860682e+00 1.7260995e+00 + 3.8864528e+00 1.7219202e+00 + 3.8868374e+00 1.7236779e+00 + 3.8872221e+00 1.7146285e+00 + 3.8876067e+00 1.7145789e+00 + 3.8879914e+00 1.7204144e+00 + 3.8883760e+00 1.7143201e+00 + 3.8887607e+00 1.7070936e+00 + 3.8891453e+00 1.7062221e+00 + 3.8895300e+00 1.7093233e+00 + 3.8899146e+00 1.7082172e+00 + 3.8902993e+00 1.6994084e+00 + 3.8906839e+00 1.6989292e+00 + 3.8910685e+00 1.6987485e+00 + 3.8914532e+00 1.6987493e+00 + 3.8918378e+00 1.6976078e+00 + 3.8922225e+00 1.6986545e+00 + 3.8926071e+00 1.7076076e+00 + 3.8929918e+00 1.7073253e+00 + 3.8933764e+00 1.7075405e+00 + 3.8937611e+00 1.7119384e+00 + 3.8941457e+00 1.7186172e+00 + 3.8945303e+00 1.7128573e+00 + 3.8949150e+00 1.7153365e+00 + 3.8952996e+00 1.7107564e+00 + 3.8956843e+00 1.7087172e+00 + 3.8960689e+00 1.7022622e+00 + 3.8964536e+00 1.6911391e+00 + 3.8968382e+00 1.6942866e+00 + 3.8972229e+00 1.6948742e+00 + 3.8976075e+00 1.6911251e+00 + 3.8979922e+00 1.6914493e+00 + 3.8983768e+00 1.6878551e+00 + 3.8987614e+00 1.6796066e+00 + 3.8991461e+00 1.6782252e+00 + 3.8995307e+00 1.6736413e+00 + 3.8999154e+00 1.6691308e+00 + 3.9003000e+00 1.6585189e+00 + 3.9006847e+00 1.6476050e+00 + 3.9010693e+00 1.6508806e+00 + 3.9014540e+00 1.6414668e+00 + 3.9018386e+00 1.6495500e+00 + 3.9022232e+00 1.6476686e+00 + 3.9026079e+00 1.6430561e+00 + 3.9029925e+00 1.6300151e+00 + 3.9033772e+00 1.6249976e+00 + 3.9037618e+00 1.6146395e+00 + 3.9041465e+00 1.6175102e+00 + 3.9045311e+00 1.6118193e+00 + 3.9049158e+00 1.6171200e+00 + 3.9053004e+00 1.6177128e+00 + 3.9056851e+00 1.6063033e+00 + 3.9060697e+00 1.6019141e+00 + 3.9064543e+00 1.6012834e+00 + 3.9068390e+00 1.6065384e+00 + 3.9072236e+00 1.5992102e+00 + 3.9076083e+00 1.6010815e+00 + 3.9079929e+00 1.5944372e+00 + 3.9083776e+00 1.6030344e+00 + 3.9087622e+00 1.5999056e+00 + 3.9091469e+00 1.6024404e+00 + 3.9095315e+00 1.6031918e+00 + 3.9099161e+00 1.6070707e+00 + 3.9103008e+00 1.5997840e+00 + 3.9106854e+00 1.6070429e+00 + 3.9110701e+00 1.6116438e+00 + 3.9114547e+00 1.6097175e+00 + 3.9118394e+00 1.6116226e+00 + 3.9122240e+00 1.6142044e+00 + 3.9126087e+00 1.6068400e+00 + 3.9129933e+00 1.6144917e+00 + 3.9133780e+00 1.6088011e+00 + 3.9137626e+00 1.6166199e+00 + 3.9141472e+00 1.6199299e+00 + 3.9145319e+00 1.6075343e+00 + 3.9149165e+00 1.6066472e+00 + 3.9153012e+00 1.6018926e+00 + 3.9156858e+00 1.5969964e+00 + 3.9160705e+00 1.6036880e+00 + 3.9164551e+00 1.5966496e+00 + 3.9168398e+00 1.6029599e+00 + 3.9172244e+00 1.6023888e+00 + 3.9176090e+00 1.6149883e+00 + 3.9179937e+00 1.6071225e+00 + 3.9183783e+00 1.5976922e+00 + 3.9187630e+00 1.6046146e+00 + 3.9191476e+00 1.6054504e+00 + 3.9195323e+00 1.6074772e+00 + 3.9199169e+00 1.6054218e+00 + 3.9203016e+00 1.6049652e+00 + 3.9206862e+00 1.6091852e+00 + 3.9210709e+00 1.6145954e+00 + 3.9214555e+00 1.6317964e+00 + 3.9218401e+00 1.6237384e+00 + 3.9222248e+00 1.6162575e+00 + 3.9226094e+00 1.6052274e+00 + 3.9229941e+00 1.6115783e+00 + 3.9233787e+00 1.6087214e+00 + 3.9237634e+00 1.6046631e+00 + 3.9241480e+00 1.6064000e+00 + 3.9245327e+00 1.6002524e+00 + 3.9249173e+00 1.6047772e+00 + 3.9253019e+00 1.6008896e+00 + 3.9256866e+00 1.5960877e+00 + 3.9260712e+00 1.5992701e+00 + 3.9264559e+00 1.6011089e+00 + 3.9268405e+00 1.5899890e+00 + 3.9272252e+00 1.5872603e+00 + 3.9276098e+00 1.5958063e+00 + 3.9279945e+00 1.6000122e+00 + 3.9283791e+00 1.6032073e+00 + 3.9287638e+00 1.5934193e+00 + 3.9291484e+00 1.5957823e+00 + 3.9295330e+00 1.5885650e+00 + 3.9299177e+00 1.6023080e+00 + 3.9303023e+00 1.5955301e+00 + 3.9306870e+00 1.5990693e+00 + 3.9310716e+00 1.5971781e+00 + 3.9314563e+00 1.5866209e+00 + 3.9318409e+00 1.5878612e+00 + 3.9322256e+00 1.5775403e+00 + 3.9326102e+00 1.5748770e+00 + 3.9329948e+00 1.5732712e+00 + 3.9333795e+00 1.5798417e+00 + 3.9337641e+00 1.5737502e+00 + 3.9341488e+00 1.5710152e+00 + 3.9345334e+00 1.5737679e+00 + 3.9349181e+00 1.5760876e+00 + 3.9353027e+00 1.5676371e+00 + 3.9356874e+00 1.5619325e+00 + 3.9360720e+00 1.5617599e+00 + 3.9364567e+00 1.5711875e+00 + 3.9368413e+00 1.5732581e+00 + 3.9372259e+00 1.5718021e+00 + 3.9376106e+00 1.5760635e+00 + 3.9379952e+00 1.5674849e+00 + 3.9383799e+00 1.5640033e+00 + 3.9387645e+00 1.5639865e+00 + 3.9391492e+00 1.5771189e+00 + 3.9395338e+00 1.5807581e+00 + 3.9399185e+00 1.5790102e+00 + 3.9403031e+00 1.5800585e+00 + 3.9406877e+00 1.5816955e+00 + 3.9410724e+00 1.5761735e+00 + 3.9414570e+00 1.5752874e+00 + 3.9418417e+00 1.5848285e+00 + 3.9422263e+00 1.5798921e+00 + 3.9426110e+00 1.5735838e+00 + 3.9429956e+00 1.5818714e+00 + 3.9433803e+00 1.5902111e+00 + 3.9437649e+00 1.5906199e+00 + 3.9441495e+00 1.5930730e+00 + 3.9445342e+00 1.5871804e+00 + 3.9449188e+00 1.5916936e+00 + 3.9453035e+00 1.5779492e+00 + 3.9456881e+00 1.5867209e+00 + 3.9460728e+00 1.5921091e+00 + 3.9464574e+00 1.5922359e+00 + 3.9468421e+00 1.5935331e+00 + 3.9472267e+00 1.5947148e+00 + 3.9476114e+00 1.5985985e+00 + 3.9479960e+00 1.6019596e+00 + 3.9483806e+00 1.6032996e+00 + 3.9487653e+00 1.6068817e+00 + 3.9491499e+00 1.6049658e+00 + 3.9495346e+00 1.6044589e+00 + 3.9499192e+00 1.6023705e+00 + 3.9503039e+00 1.6071542e+00 + 3.9506885e+00 1.6042661e+00 + 3.9510732e+00 1.6105471e+00 + 3.9514578e+00 1.6072836e+00 + 3.9518424e+00 1.6074390e+00 + 3.9522271e+00 1.6052292e+00 + 3.9526117e+00 1.6098410e+00 + 3.9529964e+00 1.6122840e+00 + 3.9533810e+00 1.6171928e+00 + 3.9537657e+00 1.6146239e+00 + 3.9541503e+00 1.6241871e+00 + 3.9545350e+00 1.6246817e+00 + 3.9549196e+00 1.6259302e+00 + 3.9553043e+00 1.6320147e+00 + 3.9556889e+00 1.6339764e+00 + 3.9560735e+00 1.6335163e+00 + 3.9564582e+00 1.6326112e+00 + 3.9568428e+00 1.6397257e+00 + 3.9572275e+00 1.6323810e+00 + 3.9576121e+00 1.6307519e+00 + 3.9579968e+00 1.6257479e+00 + 3.9583814e+00 1.6160823e+00 + 3.9587661e+00 1.6199725e+00 + 3.9591507e+00 1.6287082e+00 + 3.9595353e+00 1.6375358e+00 + 3.9599200e+00 1.6330645e+00 + 3.9603046e+00 1.6225553e+00 + 3.9606893e+00 1.6231442e+00 + 3.9610739e+00 1.6215551e+00 + 3.9614586e+00 1.6289342e+00 + 3.9618432e+00 1.6358159e+00 + 3.9622279e+00 1.6525543e+00 + 3.9626125e+00 1.6621626e+00 + 3.9629972e+00 1.6554581e+00 + 3.9633818e+00 1.6527096e+00 + 3.9637664e+00 1.6564809e+00 + 3.9641511e+00 1.6667676e+00 + 3.9645357e+00 1.6647907e+00 + 3.9649204e+00 1.6569185e+00 + 3.9653050e+00 1.6553265e+00 + 3.9656897e+00 1.6462642e+00 + 3.9660743e+00 1.6559031e+00 + 3.9664590e+00 1.6663051e+00 + 3.9668436e+00 1.6700397e+00 + 3.9672282e+00 1.6713668e+00 + 3.9676129e+00 1.6738975e+00 + 3.9679975e+00 1.6587916e+00 + 3.9683822e+00 1.6588008e+00 + 3.9687668e+00 1.6668891e+00 + 3.9691515e+00 1.6707570e+00 + 3.9695361e+00 1.6593789e+00 + 3.9699208e+00 1.6589841e+00 + 3.9703054e+00 1.6595008e+00 + 3.9706901e+00 1.6624399e+00 + 3.9710747e+00 1.6732500e+00 + 3.9714593e+00 1.6669282e+00 + 3.9718440e+00 1.6635359e+00 + 3.9722286e+00 1.6632254e+00 + 3.9726133e+00 1.6650120e+00 + 3.9729979e+00 1.6591860e+00 + 3.9733826e+00 1.6617098e+00 + 3.9737672e+00 1.6493405e+00 + 3.9741519e+00 1.6449362e+00 + 3.9745365e+00 1.6450741e+00 + 3.9749211e+00 1.6225603e+00 + 3.9753058e+00 1.6264903e+00 + 3.9756904e+00 1.6254680e+00 + 3.9760751e+00 1.6304381e+00 + 3.9764597e+00 1.6325740e+00 + 3.9768444e+00 1.6303543e+00 + 3.9772290e+00 1.6315513e+00 + 3.9776137e+00 1.6293423e+00 + 3.9779983e+00 1.6145221e+00 + 3.9783830e+00 1.6103471e+00 + 3.9787676e+00 1.6082396e+00 + 3.9791522e+00 1.6060157e+00 + 3.9795369e+00 1.6031525e+00 + 3.9799215e+00 1.6106170e+00 + 3.9803062e+00 1.6073465e+00 + 3.9806908e+00 1.6067459e+00 + 3.9810755e+00 1.6019376e+00 + 3.9814601e+00 1.6099081e+00 + 3.9818448e+00 1.6245815e+00 + 3.9822294e+00 1.6290989e+00 + 3.9826140e+00 1.6348886e+00 + 3.9829987e+00 1.6338585e+00 + 3.9833833e+00 1.6369922e+00 + 3.9837680e+00 1.6305524e+00 + 3.9841526e+00 1.6274931e+00 + 3.9845373e+00 1.6329448e+00 + 3.9849219e+00 1.6344791e+00 + 3.9853066e+00 1.6373488e+00 + 3.9856912e+00 1.6365056e+00 + 3.9860759e+00 1.6241547e+00 + 3.9864605e+00 1.6127560e+00 + 3.9868451e+00 1.6156326e+00 + 3.9872298e+00 1.6208711e+00 + 3.9876144e+00 1.6108589e+00 + 3.9879991e+00 1.5973339e+00 + 3.9883837e+00 1.6011067e+00 + 3.9887684e+00 1.5995709e+00 + 3.9891530e+00 1.5978146e+00 + 3.9895377e+00 1.5988486e+00 + 3.9899223e+00 1.6018305e+00 + 3.9903069e+00 1.6028697e+00 + 3.9906916e+00 1.6033868e+00 + 3.9910762e+00 1.6068807e+00 + 3.9914609e+00 1.6093458e+00 + 3.9918455e+00 1.6155093e+00 + 3.9922302e+00 1.6210159e+00 + 3.9926148e+00 1.6261925e+00 + 3.9929995e+00 1.6268063e+00 + 3.9933841e+00 1.6323894e+00 + 3.9937688e+00 1.6296657e+00 + 3.9941534e+00 1.6313147e+00 + 3.9945380e+00 1.6259868e+00 + 3.9949227e+00 1.6324179e+00 + 3.9953073e+00 1.6343850e+00 + 3.9956920e+00 1.6450358e+00 + 3.9960766e+00 1.6489401e+00 + 3.9964613e+00 1.6438805e+00 + 3.9968459e+00 1.6389583e+00 + 3.9972306e+00 1.6418676e+00 + 3.9976152e+00 1.6443971e+00 + 3.9979998e+00 1.6500501e+00 + 3.9983845e+00 1.6402733e+00 + 3.9987691e+00 1.6467410e+00 + 3.9991538e+00 1.6465239e+00 + 3.9995384e+00 1.6461512e+00 + 3.9999231e+00 1.6503340e+00 + 4.0003077e+00 1.6503436e+00 + 4.0006924e+00 1.6574832e+00 + 4.0010770e+00 1.6603289e+00 + 4.0014617e+00 1.6644738e+00 + 4.0018463e+00 1.6615562e+00 + 4.0022309e+00 1.6616932e+00 + 4.0026156e+00 1.6637544e+00 + 4.0030002e+00 1.6719786e+00 + 4.0033849e+00 1.6813945e+00 + 4.0037695e+00 1.6826066e+00 + 4.0041542e+00 1.6828519e+00 + 4.0045388e+00 1.6752721e+00 + 4.0049235e+00 1.6718260e+00 + 4.0053081e+00 1.6742873e+00 + 4.0056927e+00 1.6728108e+00 + 4.0060774e+00 1.6675825e+00 + 4.0064620e+00 1.6647127e+00 + 4.0068467e+00 1.6688568e+00 + 4.0072313e+00 1.6641127e+00 + 4.0076160e+00 1.6637353e+00 + 4.0080006e+00 1.6564602e+00 + 4.0083853e+00 1.6527500e+00 + 4.0087699e+00 1.6587315e+00 + 4.0091546e+00 1.6576847e+00 + 4.0095392e+00 1.6541572e+00 + 4.0099238e+00 1.6573582e+00 + 4.0103085e+00 1.6516749e+00 + 4.0106931e+00 1.6465983e+00 + 4.0110778e+00 1.6492966e+00 + 4.0114624e+00 1.6496433e+00 + 4.0118471e+00 1.6491426e+00 + 4.0122317e+00 1.6522327e+00 + 4.0126164e+00 1.6513880e+00 + 4.0130010e+00 1.6500624e+00 + 4.0133856e+00 1.6513852e+00 + 4.0137703e+00 1.6504404e+00 + 4.0141549e+00 1.6637699e+00 + 4.0145396e+00 1.6624871e+00 + 4.0149242e+00 1.6629337e+00 + 4.0153089e+00 1.6619011e+00 + 4.0156935e+00 1.6590469e+00 + 4.0160782e+00 1.6663679e+00 + 4.0164628e+00 1.6640673e+00 + 4.0168474e+00 1.6697049e+00 + 4.0172321e+00 1.6707904e+00 + 4.0176167e+00 1.6798449e+00 + 4.0180014e+00 1.6808555e+00 + 4.0183860e+00 1.6782379e+00 + 4.0187707e+00 1.6811094e+00 + 4.0191553e+00 1.6853548e+00 + 4.0195400e+00 1.6856704e+00 + 4.0199246e+00 1.6879529e+00 + 4.0203093e+00 1.6797469e+00 + 4.0206939e+00 1.6723750e+00 + 4.0210785e+00 1.6696990e+00 + 4.0214632e+00 1.6712781e+00 + 4.0218478e+00 1.6644589e+00 + 4.0222325e+00 1.6742599e+00 + 4.0226171e+00 1.6689991e+00 + 4.0230018e+00 1.6755652e+00 + 4.0233864e+00 1.6671378e+00 + 4.0237711e+00 1.6752418e+00 + 4.0241557e+00 1.6843499e+00 + 4.0245403e+00 1.6785735e+00 + 4.0249250e+00 1.6785563e+00 + 4.0253096e+00 1.6946478e+00 + 4.0256943e+00 1.6938025e+00 + 4.0260789e+00 1.6910668e+00 + 4.0264636e+00 1.6882476e+00 + 4.0268482e+00 1.6877564e+00 + 4.0272329e+00 1.6875635e+00 + 4.0276175e+00 1.6859584e+00 + 4.0280022e+00 1.6888329e+00 + 4.0283868e+00 1.6928682e+00 + 4.0287714e+00 1.7049465e+00 + 4.0291561e+00 1.7045024e+00 + 4.0295407e+00 1.7051507e+00 + 4.0299254e+00 1.7027955e+00 + 4.0303100e+00 1.6913813e+00 + 4.0306947e+00 1.6933117e+00 + 4.0310793e+00 1.6949720e+00 + 4.0314640e+00 1.6939188e+00 + 4.0318486e+00 1.6962153e+00 + 4.0322332e+00 1.6975303e+00 + 4.0326179e+00 1.6920570e+00 + 4.0330025e+00 1.6955239e+00 + 4.0333872e+00 1.7029363e+00 + 4.0337718e+00 1.7094875e+00 + 4.0341565e+00 1.7133655e+00 + 4.0345411e+00 1.7100949e+00 + 4.0349258e+00 1.7083738e+00 + 4.0353104e+00 1.7052167e+00 + 4.0356951e+00 1.7028696e+00 + 4.0360797e+00 1.7004457e+00 + 4.0364643e+00 1.6916553e+00 + 4.0368490e+00 1.6897011e+00 + 4.0372336e+00 1.6930037e+00 + 4.0376183e+00 1.7016649e+00 + 4.0380029e+00 1.7103560e+00 + 4.0383876e+00 1.7082316e+00 + 4.0387722e+00 1.7010946e+00 + 4.0391569e+00 1.6899714e+00 + 4.0395415e+00 1.6856989e+00 + 4.0399261e+00 1.6921025e+00 + 4.0403108e+00 1.6943471e+00 + 4.0406954e+00 1.6916503e+00 + 4.0410801e+00 1.6886220e+00 + 4.0414647e+00 1.6759303e+00 + 4.0418494e+00 1.6667782e+00 + 4.0422340e+00 1.6664207e+00 + 4.0426187e+00 1.6716403e+00 + 4.0430033e+00 1.6710958e+00 + 4.0433880e+00 1.6738526e+00 + 4.0437726e+00 1.6774883e+00 + 4.0441572e+00 1.6852977e+00 + 4.0445419e+00 1.6824858e+00 + 4.0449265e+00 1.6856570e+00 + 4.0453112e+00 1.6843751e+00 + 4.0456958e+00 1.6865621e+00 + 4.0460805e+00 1.6870192e+00 + 4.0464651e+00 1.6865252e+00 + 4.0468498e+00 1.6918180e+00 + 4.0472344e+00 1.6944461e+00 + 4.0476190e+00 1.6990061e+00 + 4.0480037e+00 1.6993218e+00 + 4.0483883e+00 1.7070273e+00 + 4.0487730e+00 1.7145127e+00 + 4.0491576e+00 1.7150494e+00 + 4.0495423e+00 1.7118578e+00 + 4.0499269e+00 1.7084439e+00 + 4.0503116e+00 1.7149002e+00 + 4.0506962e+00 1.7249977e+00 + 4.0510809e+00 1.7309580e+00 + 4.0514655e+00 1.7357750e+00 + 4.0518501e+00 1.7360494e+00 + 4.0522348e+00 1.7376735e+00 + 4.0526194e+00 1.7368663e+00 + 4.0530041e+00 1.7364399e+00 + 4.0533887e+00 1.7384327e+00 + 4.0537734e+00 1.7437221e+00 + 4.0541580e+00 1.7407860e+00 + 4.0545427e+00 1.7488955e+00 + 4.0549273e+00 1.7519311e+00 + 4.0553119e+00 1.7554663e+00 + 4.0556966e+00 1.7520303e+00 + 4.0560812e+00 1.7493905e+00 + 4.0564659e+00 1.7497096e+00 + 4.0568505e+00 1.7427837e+00 + 4.0572352e+00 1.7340483e+00 + 4.0576198e+00 1.7211649e+00 + 4.0580045e+00 1.7238364e+00 + 4.0583891e+00 1.7283243e+00 + 4.0587738e+00 1.7267663e+00 + 4.0591584e+00 1.7304163e+00 + 4.0595430e+00 1.7347899e+00 + 4.0599277e+00 1.7257268e+00 + 4.0603123e+00 1.7176780e+00 + 4.0606970e+00 1.7103098e+00 + 4.0610816e+00 1.7175781e+00 + 4.0614663e+00 1.7249966e+00 + 4.0618509e+00 1.7302124e+00 + 4.0622356e+00 1.7358522e+00 + 4.0626202e+00 1.7365544e+00 + 4.0630048e+00 1.7262667e+00 + 4.0633895e+00 1.7294680e+00 + 4.0637741e+00 1.7252237e+00 + 4.0641588e+00 1.7282688e+00 + 4.0645434e+00 1.7299859e+00 + 4.0649281e+00 1.7307665e+00 + 4.0653127e+00 1.7348642e+00 + 4.0656974e+00 1.7312948e+00 + 4.0660820e+00 1.7285904e+00 + 4.0664667e+00 1.7318307e+00 + 4.0668513e+00 1.7340523e+00 + 4.0672359e+00 1.7372900e+00 + 4.0676206e+00 1.7344721e+00 + 4.0680052e+00 1.7431314e+00 + 4.0683899e+00 1.7477711e+00 + 4.0687745e+00 1.7411019e+00 + 4.0691592e+00 1.7387840e+00 + 4.0695438e+00 1.7409111e+00 + 4.0699285e+00 1.7421273e+00 + 4.0703131e+00 1.7465060e+00 + 4.0706977e+00 1.7400737e+00 + 4.0710824e+00 1.7496383e+00 + 4.0714670e+00 1.7400280e+00 + 4.0718517e+00 1.7327255e+00 + 4.0722363e+00 1.7345160e+00 + 4.0726210e+00 1.7347163e+00 + 4.0730056e+00 1.7371766e+00 + 4.0733903e+00 1.7396967e+00 + 4.0737749e+00 1.7406522e+00 + 4.0741596e+00 1.7374263e+00 + 4.0745442e+00 1.7313771e+00 + 4.0749288e+00 1.7264675e+00 + 4.0753135e+00 1.7315092e+00 + 4.0756981e+00 1.7218127e+00 + 4.0760828e+00 1.7256027e+00 + 4.0764674e+00 1.7154202e+00 + 4.0768521e+00 1.7167797e+00 + 4.0772367e+00 1.7284455e+00 + 4.0776214e+00 1.7184306e+00 + 4.0780060e+00 1.7188835e+00 + 4.0783906e+00 1.7247985e+00 + 4.0787753e+00 1.7233490e+00 + 4.0791599e+00 1.7197714e+00 + 4.0795446e+00 1.7148510e+00 + 4.0799292e+00 1.7112324e+00 + 4.0803139e+00 1.7124990e+00 + 4.0806985e+00 1.7083165e+00 + 4.0810832e+00 1.7102130e+00 + 4.0814678e+00 1.7215970e+00 + 4.0818525e+00 1.7248058e+00 + 4.0822371e+00 1.7182841e+00 + 4.0826217e+00 1.7255016e+00 + 4.0830064e+00 1.7341246e+00 + 4.0833910e+00 1.7322642e+00 + 4.0837757e+00 1.7350283e+00 + 4.0841603e+00 1.7409055e+00 + 4.0845450e+00 1.7318445e+00 + 4.0849296e+00 1.7178672e+00 + 4.0853143e+00 1.7191885e+00 + 4.0856989e+00 1.7159069e+00 + 4.0860835e+00 1.7170501e+00 + 4.0864682e+00 1.7187332e+00 + 4.0868528e+00 1.7129275e+00 + 4.0872375e+00 1.7212630e+00 + 4.0876221e+00 1.7185365e+00 + 4.0880068e+00 1.7189232e+00 + 4.0883914e+00 1.7254933e+00 + 4.0887761e+00 1.7317302e+00 + 4.0891607e+00 1.7323060e+00 + 4.0895453e+00 1.7277439e+00 + 4.0899300e+00 1.7253558e+00 + 4.0903146e+00 1.7181039e+00 + 4.0906993e+00 1.7151208e+00 + 4.0910839e+00 1.7132289e+00 + 4.0914686e+00 1.7112190e+00 + 4.0918532e+00 1.7076434e+00 + 4.0922379e+00 1.7070477e+00 + 4.0926225e+00 1.7007340e+00 + 4.0930072e+00 1.6989557e+00 + 4.0933918e+00 1.6925020e+00 + 4.0937764e+00 1.6879200e+00 + 4.0941611e+00 1.6876609e+00 + 4.0945457e+00 1.6891430e+00 + 4.0949304e+00 1.6880554e+00 + 4.0953150e+00 1.6901227e+00 + 4.0956997e+00 1.6840561e+00 + 4.0960843e+00 1.6698983e+00 + 4.0964690e+00 1.6678104e+00 + 4.0968536e+00 1.6704167e+00 + 4.0972382e+00 1.6735962e+00 + 4.0976229e+00 1.6742360e+00 + 4.0980075e+00 1.6734670e+00 + 4.0983922e+00 1.6703303e+00 + 4.0987768e+00 1.6634354e+00 + 4.0991615e+00 1.6711158e+00 + 4.0995461e+00 1.6791424e+00 + 4.0999308e+00 1.6838373e+00 + 4.1003154e+00 1.6840773e+00 + 4.1007001e+00 1.6819013e+00 + 4.1010847e+00 1.6818182e+00 + 4.1014693e+00 1.6916219e+00 + 4.1018540e+00 1.6898732e+00 + 4.1022386e+00 1.6893201e+00 + 4.1026233e+00 1.6785418e+00 + 4.1030079e+00 1.6804638e+00 + 4.1033926e+00 1.6825434e+00 + 4.1037772e+00 1.6843888e+00 + 4.1041619e+00 1.6940678e+00 + 4.1045465e+00 1.6854874e+00 + 4.1049311e+00 1.6837550e+00 + 4.1053158e+00 1.6810613e+00 + 4.1057004e+00 1.6869824e+00 + 4.1060851e+00 1.6816891e+00 + 4.1064697e+00 1.6844867e+00 + 4.1068544e+00 1.6717429e+00 + 4.1072390e+00 1.6679461e+00 + 4.1076237e+00 1.6628824e+00 + 4.1080083e+00 1.6697115e+00 + 4.1083930e+00 1.6642119e+00 + 4.1087776e+00 1.6621450e+00 + 4.1091622e+00 1.6679497e+00 + 4.1095469e+00 1.6702163e+00 + 4.1099315e+00 1.6679221e+00 + 4.1103162e+00 1.6617090e+00 + 4.1107008e+00 1.6638106e+00 + 4.1110855e+00 1.6660216e+00 + 4.1114701e+00 1.6597507e+00 + 4.1118548e+00 1.6604152e+00 + 4.1122394e+00 1.6581759e+00 + 4.1126240e+00 1.6521206e+00 + 4.1130087e+00 1.6471481e+00 + 4.1133933e+00 1.6409202e+00 + 4.1137780e+00 1.6454478e+00 + 4.1141626e+00 1.6441736e+00 + 4.1145473e+00 1.6426689e+00 + 4.1149319e+00 1.6335708e+00 + 4.1153166e+00 1.6443059e+00 + 4.1157012e+00 1.6339844e+00 + 4.1160859e+00 1.6292052e+00 + 4.1164705e+00 1.6238209e+00 + 4.1168551e+00 1.6285889e+00 + 4.1172398e+00 1.6272494e+00 + 4.1176244e+00 1.6331598e+00 + 4.1180091e+00 1.6297112e+00 + 4.1183937e+00 1.6268875e+00 + 4.1187784e+00 1.6361785e+00 + 4.1191630e+00 1.6349281e+00 + 4.1195477e+00 1.6324990e+00 + 4.1199323e+00 1.6274638e+00 + 4.1203169e+00 1.6256913e+00 + 4.1207016e+00 1.6245336e+00 + 4.1210862e+00 1.6237857e+00 + 4.1214709e+00 1.6347595e+00 + 4.1218555e+00 1.6370712e+00 + 4.1222402e+00 1.6405147e+00 + 4.1226248e+00 1.6364026e+00 + 4.1230095e+00 1.6414501e+00 + 4.1233941e+00 1.6431655e+00 + 4.1237788e+00 1.6416211e+00 + 4.1241634e+00 1.6454209e+00 + 4.1245480e+00 1.6397117e+00 + 4.1249327e+00 1.6457917e+00 + 4.1253173e+00 1.6492566e+00 + 4.1257020e+00 1.6570472e+00 + 4.1260866e+00 1.6605086e+00 + 4.1264713e+00 1.6606619e+00 + 4.1268559e+00 1.6562127e+00 + 4.1272406e+00 1.6530800e+00 + 4.1276252e+00 1.6453382e+00 + 4.1280098e+00 1.6512475e+00 + 4.1283945e+00 1.6706143e+00 + 4.1287791e+00 1.6725840e+00 + 4.1291638e+00 1.6786041e+00 + 4.1295484e+00 1.6842506e+00 + 4.1299331e+00 1.6850041e+00 + 4.1303177e+00 1.6869783e+00 + 4.1307024e+00 1.6763089e+00 + 4.1310870e+00 1.6793356e+00 + 4.1314717e+00 1.6570434e+00 + 4.1318563e+00 1.6447531e+00 + 4.1322409e+00 1.6448502e+00 + 4.1326256e+00 1.6488602e+00 + 4.1330102e+00 1.6453019e+00 + 4.1333949e+00 1.6469137e+00 + 4.1337795e+00 1.6521300e+00 + 4.1341642e+00 1.6518521e+00 + 4.1345488e+00 1.6503948e+00 + 4.1349335e+00 1.6430457e+00 + 4.1353181e+00 1.6333431e+00 + 4.1357027e+00 1.6379035e+00 + 4.1360874e+00 1.6355961e+00 + 4.1364720e+00 1.6339576e+00 + 4.1368567e+00 1.6292779e+00 + 4.1372413e+00 1.6243971e+00 + 4.1376260e+00 1.6221459e+00 + 4.1380106e+00 1.6066180e+00 + 4.1383953e+00 1.6056179e+00 + 4.1387799e+00 1.6037034e+00 + 4.1391646e+00 1.6070245e+00 + 4.1395492e+00 1.6102197e+00 + 4.1399338e+00 1.6107188e+00 + 4.1403185e+00 1.6165553e+00 + 4.1407031e+00 1.6250915e+00 + 4.1410878e+00 1.6308297e+00 + 4.1414724e+00 1.6326258e+00 + 4.1418571e+00 1.6290267e+00 + 4.1422417e+00 1.6227391e+00 + 4.1426264e+00 1.6319122e+00 + 4.1430110e+00 1.6352500e+00 + 4.1433956e+00 1.6308211e+00 + 4.1437803e+00 1.6304110e+00 + 4.1441649e+00 1.6279328e+00 + 4.1445496e+00 1.6361785e+00 + 4.1449342e+00 1.6368970e+00 + 4.1453189e+00 1.6372113e+00 + 4.1457035e+00 1.6359289e+00 + 4.1460882e+00 1.6348402e+00 + 4.1464728e+00 1.6353193e+00 + 4.1468575e+00 1.6367557e+00 + 4.1472421e+00 1.6337095e+00 + 4.1476267e+00 1.6259541e+00 + 4.1480114e+00 1.6220612e+00 + 4.1483960e+00 1.6317841e+00 + 4.1487807e+00 1.6385549e+00 + 4.1491653e+00 1.6457597e+00 + 4.1495500e+00 1.6445533e+00 + 4.1499346e+00 1.6434976e+00 + 4.1503193e+00 1.6339588e+00 + 4.1507039e+00 1.6292986e+00 + 4.1510885e+00 1.6346232e+00 + 4.1514732e+00 1.6296089e+00 + 4.1518578e+00 1.6248978e+00 + 4.1522425e+00 1.6238761e+00 + 4.1526271e+00 1.6241972e+00 + 4.1530118e+00 1.6237964e+00 + 4.1533964e+00 1.6109988e+00 + 4.1537811e+00 1.6124196e+00 + 4.1541657e+00 1.5982360e+00 + 4.1545504e+00 1.6022540e+00 + 4.1549350e+00 1.5970120e+00 + 4.1553196e+00 1.6035375e+00 + 4.1557043e+00 1.6053683e+00 + 4.1560889e+00 1.6108354e+00 + 4.1564736e+00 1.6070929e+00 + 4.1568582e+00 1.6166199e+00 + 4.1572429e+00 1.6101206e+00 + 4.1576275e+00 1.6015541e+00 + 4.1580122e+00 1.6032412e+00 + 4.1583968e+00 1.6003274e+00 + 4.1587814e+00 1.5834269e+00 + 4.1591661e+00 1.5904443e+00 + 4.1595507e+00 1.5894370e+00 + 4.1599354e+00 1.5828255e+00 + 4.1603200e+00 1.5962279e+00 + 4.1607047e+00 1.5946763e+00 + 4.1610893e+00 1.6022209e+00 + 4.1614740e+00 1.6051598e+00 + 4.1618586e+00 1.6006823e+00 + 4.1622432e+00 1.6045447e+00 + 4.1626279e+00 1.6153373e+00 + 4.1630125e+00 1.6176396e+00 + 4.1633972e+00 1.6198053e+00 + 4.1637818e+00 1.6258694e+00 + 4.1641665e+00 1.6205043e+00 + 4.1645511e+00 1.6088941e+00 + 4.1649358e+00 1.6084109e+00 + 4.1653204e+00 1.6118123e+00 + 4.1657051e+00 1.5996647e+00 + 4.1660897e+00 1.5965913e+00 + 4.1664743e+00 1.5976528e+00 + 4.1668590e+00 1.5914727e+00 + 4.1672436e+00 1.5889876e+00 + 4.1676283e+00 1.5923819e+00 + 4.1680129e+00 1.5923612e+00 + 4.1683976e+00 1.5958558e+00 + 4.1687822e+00 1.5999367e+00 + 4.1691669e+00 1.6029476e+00 + 4.1695515e+00 1.6014340e+00 + 4.1699361e+00 1.6030373e+00 + 4.1703208e+00 1.6049859e+00 + 4.1707054e+00 1.5999884e+00 + 4.1710901e+00 1.6106083e+00 + 4.1714747e+00 1.6050441e+00 + 4.1718594e+00 1.6032049e+00 + 4.1722440e+00 1.6044854e+00 + 4.1726287e+00 1.6065224e+00 + 4.1730133e+00 1.6164229e+00 + 4.1733980e+00 1.6200474e+00 + 4.1737826e+00 1.6208488e+00 + 4.1741672e+00 1.6280506e+00 + 4.1745519e+00 1.6338436e+00 + 4.1749365e+00 1.6345937e+00 + 4.1753212e+00 1.6348038e+00 + 4.1757058e+00 1.6274386e+00 + 4.1760905e+00 1.6330270e+00 + 4.1764751e+00 1.6309809e+00 + 4.1768598e+00 1.6386065e+00 + 4.1772444e+00 1.6427563e+00 + 4.1776290e+00 1.6513987e+00 + 4.1780137e+00 1.6568940e+00 + 4.1783983e+00 1.6549624e+00 + 4.1787830e+00 1.6615338e+00 + 4.1791676e+00 1.6493311e+00 + 4.1795523e+00 1.6539666e+00 + 4.1799369e+00 1.6570398e+00 + 4.1803216e+00 1.6695544e+00 + 4.1807062e+00 1.6681556e+00 + 4.1810909e+00 1.6792133e+00 + 4.1814755e+00 1.6820955e+00 + 4.1818601e+00 1.6782397e+00 + 4.1822448e+00 1.6739360e+00 + 4.1826294e+00 1.6683969e+00 + 4.1830141e+00 1.6679825e+00 + 4.1833987e+00 1.6785585e+00 + 4.1837834e+00 1.6740158e+00 + 4.1841680e+00 1.6628813e+00 + 4.1845527e+00 1.6588533e+00 + 4.1849373e+00 1.6656242e+00 + 4.1853219e+00 1.6601168e+00 + 4.1857066e+00 1.6594727e+00 + 4.1860912e+00 1.6583705e+00 + 4.1864759e+00 1.6616170e+00 + 4.1868605e+00 1.6681748e+00 + 4.1872452e+00 1.6643308e+00 + 4.1876298e+00 1.6616690e+00 + 4.1880145e+00 1.6515366e+00 + 4.1883991e+00 1.6423742e+00 + 4.1887838e+00 1.6461821e+00 + 4.1891684e+00 1.6505474e+00 + 4.1895530e+00 1.6342792e+00 + 4.1899377e+00 1.6265972e+00 + 4.1903223e+00 1.6235261e+00 + 4.1907070e+00 1.6256518e+00 + 4.1910916e+00 1.6369163e+00 + 4.1914763e+00 1.6409577e+00 + 4.1918609e+00 1.6403498e+00 + 4.1922456e+00 1.6430489e+00 + 4.1926302e+00 1.6436201e+00 + 4.1930148e+00 1.6442780e+00 + 4.1933995e+00 1.6391512e+00 + 4.1937841e+00 1.6401600e+00 + 4.1941688e+00 1.6387371e+00 + 4.1945534e+00 1.6462806e+00 + 4.1949381e+00 1.6390998e+00 + 4.1953227e+00 1.6435540e+00 + 4.1957074e+00 1.6249718e+00 + 4.1960920e+00 1.6267798e+00 + 4.1964767e+00 1.6314107e+00 + 4.1968613e+00 1.6266452e+00 + 4.1972459e+00 1.6324453e+00 + 4.1976306e+00 1.6323481e+00 + 4.1980152e+00 1.6268338e+00 + 4.1983999e+00 1.6227505e+00 + 4.1987845e+00 1.6280724e+00 + 4.1991692e+00 1.6367109e+00 + 4.1995538e+00 1.6321764e+00 + 4.1999385e+00 1.6400425e+00 + 4.2003231e+00 1.6463494e+00 + 4.2007077e+00 1.6470475e+00 + 4.2010924e+00 1.6449691e+00 + 4.2014770e+00 1.6386714e+00 + 4.2018617e+00 1.6435910e+00 + 4.2022463e+00 1.6385851e+00 + 4.2026310e+00 1.6350373e+00 + 4.2030156e+00 1.6294543e+00 + 4.2034003e+00 1.6260227e+00 + 4.2037849e+00 1.6278187e+00 + 4.2041696e+00 1.6265945e+00 + 4.2045542e+00 1.6274422e+00 + 4.2049388e+00 1.6318988e+00 + 4.2053235e+00 1.6325769e+00 + 4.2057081e+00 1.6448557e+00 + 4.2060928e+00 1.6388237e+00 + 4.2064774e+00 1.6312352e+00 + 4.2068621e+00 1.6329015e+00 + 4.2072467e+00 1.6381475e+00 + 4.2076314e+00 1.6523133e+00 + 4.2080160e+00 1.6501759e+00 + 4.2084006e+00 1.6525699e+00 + 4.2087853e+00 1.6574292e+00 + 4.2091699e+00 1.6630321e+00 + 4.2095546e+00 1.6701286e+00 + 4.2099392e+00 1.6722684e+00 + 4.2103239e+00 1.6758573e+00 + 4.2107085e+00 1.6780986e+00 + 4.2110932e+00 1.6764720e+00 + 4.2114778e+00 1.6736816e+00 + 4.2118625e+00 1.6726075e+00 + 4.2122471e+00 1.6679878e+00 + 4.2126317e+00 1.6703645e+00 + 4.2130164e+00 1.6613057e+00 + 4.2134010e+00 1.6726711e+00 + 4.2137857e+00 1.6751290e+00 + 4.2141703e+00 1.6755875e+00 + 4.2145550e+00 1.6865878e+00 + 4.2149396e+00 1.6831306e+00 + 4.2153243e+00 1.6825178e+00 + 4.2157089e+00 1.6816303e+00 + 4.2160935e+00 1.6752629e+00 + 4.2164782e+00 1.6803312e+00 + 4.2168628e+00 1.6803065e+00 + 4.2172475e+00 1.6855200e+00 + 4.2176321e+00 1.6761345e+00 + 4.2180168e+00 1.6711927e+00 + 4.2184014e+00 1.6718251e+00 + 4.2187861e+00 1.6637789e+00 + 4.2191707e+00 1.6585272e+00 + 4.2195554e+00 1.6611697e+00 + 4.2199400e+00 1.6676395e+00 + 4.2203246e+00 1.6660315e+00 + 4.2207093e+00 1.6637495e+00 + 4.2210939e+00 1.6669332e+00 + 4.2214786e+00 1.6487774e+00 + 4.2218632e+00 1.6522333e+00 + 4.2222479e+00 1.6614494e+00 + 4.2226325e+00 1.6659203e+00 + 4.2230172e+00 1.6655121e+00 + 4.2234018e+00 1.6712916e+00 + 4.2237864e+00 1.6716770e+00 + 4.2241711e+00 1.6726900e+00 + 4.2245557e+00 1.6739827e+00 + 4.2249404e+00 1.6757485e+00 + 4.2253250e+00 1.6817089e+00 + 4.2257097e+00 1.6892843e+00 + 4.2260943e+00 1.6987942e+00 + 4.2264790e+00 1.6950690e+00 + 4.2268636e+00 1.6824744e+00 + 4.2272482e+00 1.6912356e+00 + 4.2276329e+00 1.6806446e+00 + 4.2280175e+00 1.6871529e+00 + 4.2284022e+00 1.6872565e+00 + 4.2287868e+00 1.6932129e+00 + 4.2291715e+00 1.6979322e+00 + 4.2295561e+00 1.6966492e+00 + 4.2299408e+00 1.7027161e+00 + 4.2303254e+00 1.6941251e+00 + 4.2307101e+00 1.7001302e+00 + 4.2310947e+00 1.6949076e+00 + 4.2314793e+00 1.6900653e+00 + 4.2318640e+00 1.6852822e+00 + 4.2322486e+00 1.6867857e+00 + 4.2326333e+00 1.6879420e+00 + 4.2330179e+00 1.6766357e+00 + 4.2334026e+00 1.6795543e+00 + 4.2337872e+00 1.6713195e+00 + 4.2341719e+00 1.6610069e+00 + 4.2345565e+00 1.6615708e+00 + 4.2349411e+00 1.6605275e+00 + 4.2353258e+00 1.6604528e+00 + 4.2357104e+00 1.6499631e+00 + 4.2360951e+00 1.6424542e+00 + 4.2364797e+00 1.6392668e+00 + 4.2368644e+00 1.6504055e+00 + 4.2372490e+00 1.6418480e+00 + 4.2376337e+00 1.6442014e+00 + 4.2380183e+00 1.6482933e+00 + 4.2384030e+00 1.6564099e+00 + 4.2387876e+00 1.6623182e+00 + 4.2391722e+00 1.6609413e+00 + 4.2395569e+00 1.6512991e+00 + 4.2399415e+00 1.6603509e+00 + 4.2403262e+00 1.6547243e+00 + 4.2407108e+00 1.6505859e+00 + 4.2410955e+00 1.6477557e+00 + 4.2414801e+00 1.6497282e+00 + 4.2418648e+00 1.6462909e+00 + 4.2422494e+00 1.6537682e+00 + 4.2426340e+00 1.6511603e+00 + 4.2430187e+00 1.6463907e+00 + 4.2434033e+00 1.6491090e+00 + 4.2437880e+00 1.6576006e+00 + 4.2441726e+00 1.6572237e+00 + 4.2445573e+00 1.6538713e+00 + 4.2449419e+00 1.6495500e+00 + 4.2453266e+00 1.6536354e+00 + 4.2457112e+00 1.6519087e+00 + 4.2460959e+00 1.6430947e+00 + 4.2464805e+00 1.6487261e+00 + 4.2468651e+00 1.6484221e+00 + 4.2472498e+00 1.6548980e+00 + 4.2476344e+00 1.6547978e+00 + 4.2480191e+00 1.6560911e+00 + 4.2484037e+00 1.6572100e+00 + 4.2487884e+00 1.6663144e+00 + 4.2491730e+00 1.6693237e+00 + 4.2495577e+00 1.6733528e+00 + 4.2499423e+00 1.6766441e+00 + 4.2503269e+00 1.6774835e+00 + 4.2507116e+00 1.6808716e+00 + 4.2510962e+00 1.6784143e+00 + 4.2514809e+00 1.6780496e+00 + 4.2518655e+00 1.6816187e+00 + 4.2522502e+00 1.6766179e+00 + 4.2526348e+00 1.6818663e+00 + 4.2530195e+00 1.6775447e+00 + 4.2534041e+00 1.6743718e+00 + 4.2537888e+00 1.6678591e+00 + 4.2541734e+00 1.6649047e+00 + 4.2545580e+00 1.6727342e+00 + 4.2549427e+00 1.6800889e+00 + 4.2553273e+00 1.6783689e+00 + 4.2557120e+00 1.6767248e+00 + 4.2560966e+00 1.6700121e+00 + 4.2564813e+00 1.6680919e+00 + 4.2568659e+00 1.6646189e+00 + 4.2572506e+00 1.6649772e+00 + 4.2576352e+00 1.6629096e+00 + 4.2580198e+00 1.6637854e+00 + 4.2584045e+00 1.6638907e+00 + 4.2587891e+00 1.6615985e+00 + 4.2591738e+00 1.6604143e+00 + 4.2595584e+00 1.6671391e+00 + 4.2599431e+00 1.6717708e+00 + 4.2603277e+00 1.6655466e+00 + 4.2607124e+00 1.6698098e+00 + 4.2610970e+00 1.6685088e+00 + 4.2614817e+00 1.6691642e+00 + 4.2618663e+00 1.6639890e+00 + 4.2622509e+00 1.6625583e+00 + 4.2626356e+00 1.6569952e+00 + 4.2630202e+00 1.6627011e+00 + 4.2634049e+00 1.6521349e+00 + 4.2637895e+00 1.6631658e+00 + 4.2641742e+00 1.6649644e+00 + 4.2645588e+00 1.6672235e+00 + 4.2649435e+00 1.6666611e+00 + 4.2653281e+00 1.6736410e+00 + 4.2657127e+00 1.6832923e+00 + 4.2660974e+00 1.6788540e+00 + 4.2664820e+00 1.6841850e+00 + 4.2668667e+00 1.6869730e+00 + 4.2672513e+00 1.6841907e+00 + 4.2676360e+00 1.6800174e+00 + 4.2680206e+00 1.6758006e+00 + 4.2684053e+00 1.6730915e+00 + 4.2687899e+00 1.6820237e+00 + 4.2691746e+00 1.6725897e+00 + 4.2695592e+00 1.6679986e+00 + 4.2699438e+00 1.6670891e+00 + 4.2703285e+00 1.6675087e+00 + 4.2707131e+00 1.6724812e+00 + 4.2710978e+00 1.6752853e+00 + 4.2714824e+00 1.6754180e+00 + 4.2718671e+00 1.6743933e+00 + 4.2722517e+00 1.6821740e+00 + 4.2726364e+00 1.6799817e+00 + 4.2730210e+00 1.6743878e+00 + 4.2734056e+00 1.6680032e+00 + 4.2737903e+00 1.6726196e+00 + 4.2741749e+00 1.6767095e+00 + 4.2745596e+00 1.6777063e+00 + 4.2749442e+00 1.6790173e+00 + 4.2753289e+00 1.6727351e+00 + 4.2757135e+00 1.6741453e+00 + 4.2760982e+00 1.6814175e+00 + 4.2764828e+00 1.6803570e+00 + 4.2768675e+00 1.6756684e+00 + 4.2772521e+00 1.6731431e+00 + 4.2776367e+00 1.6746938e+00 + 4.2780214e+00 1.6742191e+00 + 4.2784060e+00 1.6716938e+00 + 4.2787907e+00 1.6740147e+00 + 4.2791753e+00 1.6709199e+00 + 4.2795600e+00 1.6736953e+00 + 4.2799446e+00 1.6740205e+00 + 4.2803293e+00 1.6658513e+00 + 4.2807139e+00 1.6712695e+00 + 4.2810985e+00 1.6681115e+00 + 4.2814832e+00 1.6764005e+00 + 4.2818678e+00 1.6733849e+00 + 4.2822525e+00 1.6741657e+00 + 4.2826371e+00 1.6684457e+00 + 4.2830218e+00 1.6568052e+00 + 4.2834064e+00 1.6513647e+00 + 4.2837911e+00 1.6449334e+00 + 4.2841757e+00 1.6495557e+00 + 4.2845604e+00 1.6508036e+00 + 4.2849450e+00 1.6490702e+00 + 4.2853296e+00 1.6576372e+00 + 4.2857143e+00 1.6705508e+00 + 4.2860989e+00 1.6673894e+00 + 4.2864836e+00 1.6694838e+00 + 4.2868682e+00 1.6667441e+00 + 4.2872529e+00 1.6673376e+00 + 4.2876375e+00 1.6618275e+00 + 4.2880222e+00 1.6657799e+00 + 4.2884068e+00 1.6649193e+00 + 4.2887914e+00 1.6728939e+00 + 4.2891761e+00 1.6827295e+00 + 4.2895607e+00 1.6784168e+00 + 4.2899454e+00 1.6867180e+00 + 4.2903300e+00 1.6899640e+00 + 4.2907147e+00 1.6964833e+00 + 4.2910993e+00 1.7088403e+00 + 4.2914840e+00 1.7213049e+00 + 4.2918686e+00 1.7242688e+00 + 4.2922533e+00 1.7051992e+00 + 4.2926379e+00 1.6973054e+00 + 4.2930225e+00 1.7003860e+00 + 4.2934072e+00 1.6992029e+00 + 4.2937918e+00 1.6939146e+00 + 4.2941765e+00 1.6872289e+00 + 4.2945611e+00 1.6952355e+00 + 4.2949458e+00 1.6985562e+00 + 4.2953304e+00 1.6998402e+00 + 4.2957151e+00 1.6987288e+00 + 4.2960997e+00 1.6942260e+00 + 4.2964843e+00 1.7058566e+00 + 4.2968690e+00 1.7074487e+00 + 4.2972536e+00 1.7010842e+00 + 4.2976383e+00 1.6959566e+00 + 4.2980229e+00 1.6990918e+00 + 4.2984076e+00 1.6941446e+00 + 4.2987922e+00 1.6875809e+00 + 4.2991769e+00 1.6903307e+00 + 4.2995615e+00 1.6825192e+00 + 4.2999461e+00 1.6776956e+00 + 4.3003308e+00 1.6842595e+00 + 4.3007154e+00 1.6886692e+00 + 4.3011001e+00 1.6912404e+00 + 4.3014847e+00 1.6859109e+00 + 4.3018694e+00 1.6856954e+00 + 4.3022540e+00 1.6831831e+00 + 4.3026387e+00 1.6742423e+00 + 4.3030233e+00 1.6784025e+00 + 4.3034080e+00 1.6844798e+00 + 4.3037926e+00 1.6773812e+00 + 4.3041772e+00 1.6758017e+00 + 4.3045619e+00 1.6754821e+00 + 4.3049465e+00 1.6754238e+00 + 4.3053312e+00 1.6755439e+00 + 4.3057158e+00 1.6785380e+00 + 4.3061005e+00 1.6749656e+00 + 4.3064851e+00 1.6733752e+00 + 4.3068698e+00 1.6752740e+00 + 4.3072544e+00 1.6662906e+00 + 4.3076390e+00 1.6660232e+00 + 4.3080237e+00 1.6707441e+00 + 4.3084083e+00 1.6758303e+00 + 4.3087930e+00 1.6786829e+00 + 4.3091776e+00 1.6775338e+00 + 4.3095623e+00 1.6694926e+00 + 4.3099469e+00 1.6670555e+00 + 4.3103316e+00 1.6686141e+00 + 4.3107162e+00 1.6661996e+00 + 4.3111009e+00 1.6670133e+00 + 4.3114855e+00 1.6789674e+00 + 4.3118701e+00 1.6738046e+00 + 4.3122548e+00 1.6895557e+00 + 4.3126394e+00 1.6947354e+00 + 4.3130241e+00 1.6999344e+00 + 4.3134087e+00 1.7068799e+00 + 4.3137934e+00 1.7081322e+00 + 4.3141780e+00 1.7136445e+00 + 4.3145627e+00 1.7251445e+00 + 4.3149473e+00 1.7231807e+00 + 4.3153319e+00 1.7251909e+00 + 4.3157166e+00 1.7285231e+00 + 4.3161012e+00 1.7408199e+00 + 4.3164859e+00 1.7466253e+00 + 4.3168705e+00 1.7504921e+00 + 4.3172552e+00 1.7552817e+00 + 4.3176398e+00 1.7617686e+00 + 4.3180245e+00 1.7560306e+00 + 4.3184091e+00 1.7460151e+00 + 4.3187938e+00 1.7523460e+00 + 4.3191784e+00 1.7480921e+00 + 4.3195630e+00 1.7431629e+00 + 4.3199477e+00 1.7401116e+00 + 4.3203323e+00 1.7416870e+00 + 4.3207170e+00 1.7280467e+00 + 4.3211016e+00 1.7122540e+00 + 4.3214863e+00 1.7123665e+00 + 4.3218709e+00 1.7071863e+00 + 4.3222556e+00 1.7026917e+00 + 4.3226402e+00 1.6944993e+00 + 4.3230248e+00 1.6958981e+00 + 4.3234095e+00 1.6919784e+00 + 4.3237941e+00 1.6937435e+00 + 4.3241788e+00 1.6898517e+00 + 4.3245634e+00 1.6889373e+00 + 4.3249481e+00 1.6833976e+00 + 4.3253327e+00 1.6853016e+00 + 4.3257174e+00 1.6927749e+00 + 4.3261020e+00 1.6953563e+00 + 4.3264867e+00 1.6865186e+00 + 4.3268713e+00 1.6836669e+00 + 4.3272559e+00 1.6825238e+00 + 4.3276406e+00 1.6793024e+00 + 4.3280252e+00 1.6821026e+00 + 4.3284099e+00 1.6849403e+00 + 4.3287945e+00 1.6860526e+00 + 4.3291792e+00 1.6820916e+00 + 4.3295638e+00 1.6799398e+00 + 4.3299485e+00 1.6717581e+00 + 4.3303331e+00 1.6780296e+00 + 4.3307177e+00 1.6811486e+00 + 4.3311024e+00 1.6819269e+00 + 4.3314870e+00 1.6833125e+00 + 4.3318717e+00 1.6764706e+00 + 4.3322563e+00 1.6763637e+00 + 4.3326410e+00 1.6697828e+00 + 4.3330256e+00 1.6644241e+00 + 4.3334103e+00 1.6626479e+00 + 4.3337949e+00 1.6544780e+00 + 4.3341796e+00 1.6568700e+00 + 4.3345642e+00 1.6675685e+00 + 4.3349488e+00 1.6707736e+00 + 4.3353335e+00 1.6582036e+00 + 4.3357181e+00 1.6608515e+00 + 4.3361028e+00 1.6618729e+00 + 4.3364874e+00 1.6723477e+00 + 4.3368721e+00 1.6927267e+00 + 4.3372567e+00 1.6877906e+00 + 4.3376414e+00 1.6954852e+00 + 4.3380260e+00 1.6964239e+00 + 4.3384106e+00 1.6912626e+00 + 4.3387953e+00 1.6852703e+00 + 4.3391799e+00 1.6757166e+00 + 4.3395646e+00 1.6748580e+00 + 4.3399492e+00 1.6680907e+00 + 4.3403339e+00 1.6660417e+00 + 4.3407185e+00 1.6735655e+00 + 4.3411032e+00 1.6700932e+00 + 4.3414878e+00 1.6679820e+00 + 4.3418725e+00 1.6701649e+00 + 4.3422571e+00 1.6741231e+00 + 4.3426417e+00 1.6775056e+00 + 4.3430264e+00 1.6721037e+00 + 4.3434110e+00 1.6704549e+00 + 4.3437957e+00 1.6742273e+00 + 4.3441803e+00 1.6880941e+00 + 4.3445650e+00 1.6857979e+00 + 4.3449496e+00 1.6784124e+00 + 4.3453343e+00 1.6783180e+00 + 4.3457189e+00 1.6705160e+00 + 4.3461035e+00 1.6788679e+00 + 4.3464882e+00 1.6716575e+00 + 4.3468728e+00 1.6825007e+00 + 4.3472575e+00 1.6855130e+00 + 4.3476421e+00 1.6800450e+00 + 4.3480268e+00 1.6823882e+00 + 4.3484114e+00 1.6786362e+00 + 4.3487961e+00 1.6732601e+00 + 4.3491807e+00 1.6771189e+00 + 4.3495654e+00 1.6803905e+00 + 4.3499500e+00 1.6800923e+00 + 4.3503346e+00 1.6828069e+00 + 4.3507193e+00 1.6867778e+00 + 4.3511039e+00 1.6819346e+00 + 4.3514886e+00 1.6846184e+00 + 4.3518732e+00 1.6838050e+00 + 4.3522579e+00 1.6904055e+00 + 4.3526425e+00 1.7130155e+00 + 4.3530272e+00 1.7090541e+00 + 4.3534118e+00 1.7007770e+00 + 4.3537964e+00 1.7020438e+00 + 4.3541811e+00 1.7002461e+00 + 4.3545657e+00 1.6958662e+00 + 4.3549504e+00 1.7000181e+00 + 4.3553350e+00 1.7082293e+00 + 4.3557197e+00 1.7072227e+00 + 4.3561043e+00 1.7011048e+00 + 4.3564890e+00 1.7091083e+00 + 4.3568736e+00 1.7094541e+00 + 4.3572583e+00 1.7019647e+00 + 4.3576429e+00 1.6894451e+00 + 4.3580275e+00 1.6914239e+00 + 4.3584122e+00 1.6959140e+00 + 4.3587968e+00 1.6829370e+00 + 4.3591815e+00 1.6772515e+00 + 4.3595661e+00 1.6769602e+00 + 4.3599508e+00 1.6797678e+00 + 4.3603354e+00 1.6742435e+00 + 4.3607201e+00 1.6698873e+00 + 4.3611047e+00 1.6769037e+00 + 4.3614893e+00 1.6782790e+00 + 4.3618740e+00 1.6801017e+00 + 4.3622586e+00 1.6760708e+00 + 4.3626433e+00 1.6723470e+00 + 4.3630279e+00 1.6711985e+00 + 4.3634126e+00 1.6734622e+00 + 4.3637972e+00 1.6790673e+00 + 4.3641819e+00 1.6862145e+00 + 4.3645665e+00 1.6879022e+00 + 4.3649512e+00 1.6754483e+00 + 4.3653358e+00 1.6811105e+00 + 4.3657204e+00 1.6805612e+00 + 4.3661051e+00 1.6689206e+00 + 4.3664897e+00 1.6612459e+00 + 4.3668744e+00 1.6578924e+00 + 4.3672590e+00 1.6511781e+00 + 4.3676437e+00 1.6576927e+00 + 4.3680283e+00 1.6460461e+00 + 4.3684130e+00 1.6532697e+00 + 4.3687976e+00 1.6575208e+00 + 4.3691822e+00 1.6537914e+00 + 4.3695669e+00 1.6488828e+00 + 4.3699515e+00 1.6528429e+00 + 4.3703362e+00 1.6473792e+00 + 4.3707208e+00 1.6543224e+00 + 4.3711055e+00 1.6520673e+00 + 4.3714901e+00 1.6625124e+00 + 4.3718748e+00 1.6485989e+00 + 4.3722594e+00 1.6472233e+00 + 4.3726440e+00 1.6487931e+00 + 4.3730287e+00 1.6512484e+00 + 4.3734133e+00 1.6549045e+00 + 4.3737980e+00 1.6567340e+00 + 4.3741826e+00 1.6573389e+00 + 4.3745673e+00 1.6557904e+00 + 4.3749519e+00 1.6580656e+00 + 4.3753366e+00 1.6517993e+00 + 4.3757212e+00 1.6582587e+00 + 4.3761059e+00 1.6610089e+00 + 4.3764905e+00 1.6725301e+00 + 4.3768751e+00 1.6778360e+00 + 4.3772598e+00 1.6920632e+00 + 4.3776444e+00 1.6930818e+00 + 4.3780291e+00 1.6965576e+00 + 4.3784137e+00 1.7009269e+00 + 4.3787984e+00 1.7004413e+00 + 4.3791830e+00 1.7037089e+00 + 4.3795677e+00 1.7039721e+00 + 4.3799523e+00 1.7101466e+00 + 4.3803369e+00 1.7089997e+00 + 4.3807216e+00 1.7074569e+00 + 4.3811062e+00 1.7035852e+00 + 4.3814909e+00 1.6987496e+00 + 4.3818755e+00 1.6939091e+00 + 4.3822602e+00 1.6943368e+00 + 4.3826448e+00 1.6925800e+00 + 4.3830295e+00 1.6961847e+00 + 4.3834141e+00 1.6943089e+00 + 4.3837988e+00 1.7039353e+00 + 4.3841834e+00 1.7049218e+00 + 4.3845680e+00 1.7069922e+00 + 4.3849527e+00 1.7038108e+00 + 4.3853373e+00 1.7044025e+00 + 4.3857220e+00 1.7161077e+00 + 4.3861066e+00 1.7406097e+00 + 4.3864913e+00 1.7350982e+00 + 4.3868759e+00 1.7298103e+00 + 4.3872606e+00 1.7259298e+00 + 4.3876452e+00 1.7169618e+00 + 4.3880298e+00 1.7154095e+00 + 4.3884145e+00 1.7104305e+00 + 4.3887991e+00 1.7015333e+00 + 4.3891838e+00 1.7068866e+00 + 4.3895684e+00 1.7110478e+00 + 4.3899531e+00 1.7125008e+00 + 4.3903377e+00 1.7146712e+00 + 4.3907224e+00 1.7098219e+00 + 4.3911070e+00 1.7137429e+00 + 4.3914917e+00 1.7172474e+00 + 4.3918763e+00 1.7213254e+00 + 4.3922609e+00 1.7094970e+00 + 4.3926456e+00 1.7156849e+00 + 4.3930302e+00 1.7209444e+00 + 4.3934149e+00 1.7156723e+00 + 4.3937995e+00 1.7128156e+00 + 4.3941842e+00 1.7069936e+00 + 4.3945688e+00 1.7033322e+00 + 4.3949535e+00 1.7022225e+00 + 4.3953381e+00 1.7025497e+00 + 4.3957227e+00 1.7065705e+00 + 4.3961074e+00 1.7150347e+00 + 4.3964920e+00 1.7149458e+00 + 4.3968767e+00 1.7119237e+00 + 4.3972613e+00 1.7047264e+00 + 4.3976460e+00 1.7077643e+00 + 4.3980306e+00 1.7148898e+00 + 4.3984153e+00 1.7128103e+00 + 4.3987999e+00 1.7133957e+00 + 4.3991846e+00 1.7266255e+00 + 4.3995692e+00 1.7181009e+00 + 4.3999538e+00 1.7151807e+00 + 4.4003385e+00 1.7254090e+00 + 4.4007231e+00 1.7185866e+00 + 4.4011078e+00 1.7128522e+00 + 4.4014924e+00 1.7091318e+00 + 4.4018771e+00 1.7109528e+00 + 4.4022617e+00 1.7017618e+00 + 4.4026464e+00 1.7087693e+00 + 4.4030310e+00 1.6986264e+00 + 4.4034156e+00 1.6969401e+00 + 4.4038003e+00 1.6905230e+00 + 4.4041849e+00 1.6970420e+00 + 4.4045696e+00 1.6930922e+00 + 4.4049542e+00 1.6926708e+00 + 4.4053389e+00 1.6854096e+00 + 4.4057235e+00 1.6845513e+00 + 4.4061082e+00 1.6687043e+00 + 4.4064928e+00 1.6741025e+00 + 4.4068775e+00 1.6797709e+00 + 4.4072621e+00 1.6776718e+00 + 4.4076467e+00 1.6652848e+00 + 4.4080314e+00 1.6651441e+00 + 4.4084160e+00 1.6565876e+00 + 4.4088007e+00 1.6474404e+00 + 4.4091853e+00 1.6398412e+00 + 4.4095700e+00 1.6312728e+00 + 4.4099546e+00 1.6327164e+00 + 4.4103393e+00 1.6287466e+00 + 4.4107239e+00 1.6312141e+00 + 4.4111085e+00 1.6405121e+00 + 4.4114932e+00 1.6407963e+00 + 4.4118778e+00 1.6314110e+00 + 4.4122625e+00 1.6340045e+00 + 4.4126471e+00 1.6341127e+00 + 4.4130318e+00 1.6311000e+00 + 4.4134164e+00 1.6218955e+00 + 4.4138011e+00 1.6182759e+00 + 4.4141857e+00 1.6162981e+00 + 4.4145704e+00 1.6084322e+00 + 4.4149550e+00 1.6083654e+00 + 4.4153396e+00 1.6039277e+00 + 4.4157243e+00 1.6024127e+00 + 4.4161089e+00 1.6002774e+00 + 4.4164936e+00 1.6034750e+00 + 4.4168782e+00 1.6123507e+00 + 4.4172629e+00 1.6109651e+00 + 4.4176475e+00 1.6080212e+00 + 4.4180322e+00 1.6115276e+00 + 4.4184168e+00 1.6201303e+00 + 4.4188014e+00 1.6194844e+00 + 4.4191861e+00 1.6027300e+00 + 4.4195707e+00 1.6064411e+00 + 4.4199554e+00 1.6047377e+00 + 4.4203400e+00 1.6002404e+00 + 4.4207247e+00 1.5907841e+00 + 4.4211093e+00 1.5892901e+00 + 4.4214940e+00 1.5775385e+00 + 4.4218786e+00 1.5756209e+00 + 4.4222633e+00 1.5908916e+00 + 4.4226479e+00 1.5934921e+00 + 4.4230325e+00 1.5892986e+00 + 4.4234172e+00 1.5856167e+00 + 4.4238018e+00 1.5800371e+00 + 4.4241865e+00 1.5828909e+00 + 4.4245711e+00 1.5880107e+00 + 4.4249558e+00 1.5884856e+00 + 4.4253404e+00 1.5829439e+00 + 4.4257251e+00 1.5721606e+00 + 4.4261097e+00 1.5615319e+00 + 4.4264943e+00 1.5567649e+00 + 4.4268790e+00 1.5511160e+00 + 4.4272636e+00 1.5455597e+00 + 4.4276483e+00 1.5465176e+00 + 4.4280329e+00 1.5362063e+00 + 4.4284176e+00 1.5410229e+00 + 4.4288022e+00 1.5483811e+00 + 4.4291869e+00 1.5533955e+00 + 4.4295715e+00 1.5506796e+00 + 4.4299562e+00 1.5428617e+00 + 4.4303408e+00 1.5413673e+00 + 4.4307254e+00 1.5353348e+00 + 4.4311101e+00 1.5301511e+00 + 4.4314947e+00 1.5308636e+00 + 4.4318794e+00 1.5363650e+00 + 4.4322640e+00 1.5398089e+00 + 4.4326487e+00 1.5419141e+00 + 4.4330333e+00 1.5403535e+00 + 4.4334180e+00 1.5326357e+00 + 4.4338026e+00 1.5467743e+00 + 4.4341872e+00 1.5471133e+00 + 4.4345719e+00 1.5498208e+00 + 4.4349565e+00 1.5464982e+00 + 4.4353412e+00 1.5426704e+00 + 4.4357258e+00 1.5442194e+00 + 4.4361105e+00 1.5407531e+00 + 4.4364951e+00 1.5326883e+00 + 4.4368798e+00 1.5424851e+00 + 4.4372644e+00 1.5426403e+00 + 4.4376490e+00 1.5382477e+00 + 4.4380337e+00 1.5297680e+00 + 4.4384183e+00 1.5265614e+00 + 4.4388030e+00 1.5292422e+00 + 4.4391876e+00 1.5296166e+00 + 4.4395723e+00 1.5301154e+00 + 4.4399569e+00 1.5316884e+00 + 4.4403416e+00 1.5391844e+00 + 4.4407262e+00 1.5350259e+00 + 4.4411109e+00 1.5322527e+00 + 4.4414955e+00 1.5257778e+00 + 4.4418801e+00 1.5258090e+00 + 4.4422648e+00 1.5308314e+00 + 4.4426494e+00 1.5350394e+00 + 4.4430341e+00 1.5251443e+00 + 4.4434187e+00 1.5296032e+00 + 4.4438034e+00 1.5309757e+00 + 4.4441880e+00 1.5330256e+00 + 4.4445727e+00 1.5319303e+00 + 4.4449573e+00 1.5376895e+00 + 4.4453419e+00 1.5395922e+00 + 4.4457266e+00 1.5411478e+00 + 4.4461112e+00 1.5423905e+00 + 4.4464959e+00 1.5469789e+00 + 4.4468805e+00 1.5405038e+00 + 4.4472652e+00 1.5501697e+00 + 4.4476498e+00 1.5646422e+00 + 4.4480345e+00 1.5708804e+00 + 4.4484191e+00 1.5763735e+00 + 4.4488038e+00 1.5790056e+00 + 4.4491884e+00 1.5861523e+00 + 4.4495730e+00 1.5852637e+00 + 4.4499577e+00 1.5926161e+00 + 4.4503423e+00 1.5912395e+00 + 4.4507270e+00 1.5921468e+00 + 4.4511116e+00 1.5910043e+00 + 4.4514963e+00 1.5922452e+00 + 4.4518809e+00 1.5838749e+00 + 4.4522656e+00 1.5807459e+00 + 4.4526502e+00 1.5796023e+00 + 4.4530348e+00 1.5765884e+00 + 4.4534195e+00 1.5827531e+00 + 4.4538041e+00 1.5834008e+00 + 4.4541888e+00 1.5831103e+00 + 4.4545734e+00 1.5879686e+00 + 4.4549581e+00 1.5923419e+00 + 4.4553427e+00 1.5879775e+00 + 4.4557274e+00 1.5847328e+00 + 4.4561120e+00 1.5818841e+00 + 4.4564967e+00 1.5869700e+00 + 4.4568813e+00 1.5916478e+00 + 4.4572659e+00 1.5933382e+00 + 4.4576506e+00 1.5900934e+00 + 4.4580352e+00 1.5889708e+00 + 4.4584199e+00 1.5897084e+00 + 4.4588045e+00 1.5907320e+00 + 4.4591892e+00 1.5981355e+00 + 4.4595738e+00 1.5906642e+00 + 4.4599585e+00 1.5895038e+00 + 4.4603431e+00 1.5914771e+00 + 4.4607277e+00 1.5927720e+00 + 4.4611124e+00 1.5845132e+00 + 4.4614970e+00 1.5772062e+00 + 4.4618817e+00 1.5667353e+00 + 4.4622663e+00 1.5641325e+00 + 4.4626510e+00 1.5716032e+00 + 4.4630356e+00 1.5717017e+00 + 4.4634203e+00 1.5754951e+00 + 4.4638049e+00 1.5767671e+00 + 4.4641896e+00 1.5721369e+00 + 4.4645742e+00 1.5731879e+00 + 4.4649588e+00 1.5691946e+00 + 4.4653435e+00 1.5787600e+00 + 4.4657281e+00 1.5680124e+00 + 4.4661128e+00 1.5713347e+00 + 4.4664974e+00 1.5726728e+00 + 4.4668821e+00 1.5682156e+00 + 4.4672667e+00 1.5694455e+00 + 4.4676514e+00 1.5638572e+00 + 4.4680360e+00 1.5701379e+00 + 4.4684206e+00 1.5741113e+00 + 4.4688053e+00 1.5653705e+00 + 4.4691899e+00 1.5678046e+00 + 4.4695746e+00 1.5708647e+00 + 4.4699592e+00 1.5786194e+00 + 4.4703439e+00 1.5853236e+00 + 4.4707285e+00 1.5884510e+00 + 4.4711132e+00 1.5905938e+00 + 4.4714978e+00 1.5917966e+00 + 4.4718825e+00 1.5776859e+00 + 4.4722671e+00 1.5855143e+00 + 4.4726517e+00 1.5747367e+00 + 4.4730364e+00 1.5729143e+00 + 4.4734210e+00 1.5722857e+00 + 4.4738057e+00 1.5722468e+00 + 4.4741903e+00 1.5694043e+00 + 4.4745750e+00 1.5650098e+00 + 4.4749596e+00 1.5638546e+00 + 4.4753443e+00 1.5721435e+00 + 4.4757289e+00 1.5664778e+00 + 4.4761135e+00 1.5729942e+00 + 4.4764982e+00 1.5702022e+00 + 4.4768828e+00 1.5700438e+00 + 4.4772675e+00 1.5662435e+00 + 4.4776521e+00 1.5592896e+00 + 4.4780368e+00 1.5576900e+00 + 4.4784214e+00 1.5591813e+00 + 4.4788061e+00 1.5687585e+00 + 4.4791907e+00 1.5672862e+00 + 4.4795754e+00 1.5696103e+00 + 4.4799600e+00 1.5728454e+00 + 4.4803446e+00 1.5811893e+00 + 4.4807293e+00 1.5847817e+00 + 4.4811139e+00 1.5933070e+00 + 4.4814986e+00 1.5914851e+00 + 4.4818832e+00 1.5855942e+00 + 4.4822679e+00 1.5822981e+00 + 4.4826525e+00 1.5766124e+00 + 4.4830372e+00 1.5800761e+00 + 4.4834218e+00 1.5762477e+00 + 4.4838064e+00 1.5782462e+00 + 4.4841911e+00 1.5868821e+00 + 4.4845757e+00 1.5791466e+00 + 4.4849604e+00 1.5808904e+00 + 4.4853450e+00 1.5812219e+00 + 4.4857297e+00 1.5778419e+00 + 4.4861143e+00 1.5713474e+00 + 4.4864990e+00 1.5736371e+00 + 4.4868836e+00 1.5749394e+00 + 4.4872683e+00 1.5796660e+00 + 4.4876529e+00 1.5666176e+00 + 4.4880375e+00 1.5711776e+00 + 4.4884222e+00 1.5775042e+00 + 4.4888068e+00 1.5869594e+00 + 4.4891915e+00 1.5876337e+00 + 4.4895761e+00 1.5889658e+00 + 4.4899608e+00 1.5802574e+00 + 4.4903454e+00 1.5856561e+00 + 4.4907301e+00 1.5854942e+00 + 4.4911147e+00 1.5770204e+00 + 4.4914993e+00 1.5820150e+00 + 4.4918840e+00 1.5857291e+00 + 4.4922686e+00 1.5850016e+00 + 4.4926533e+00 1.5842498e+00 + 4.4930379e+00 1.5829131e+00 + 4.4934226e+00 1.5871494e+00 + 4.4938072e+00 1.5775800e+00 + 4.4941919e+00 1.5698625e+00 + 4.4945765e+00 1.5698260e+00 + 4.4949612e+00 1.5752082e+00 + 4.4953458e+00 1.5848816e+00 + 4.4957304e+00 1.5916093e+00 + 4.4961151e+00 1.5974006e+00 + 4.4964997e+00 1.6068383e+00 + 4.4968844e+00 1.6056730e+00 + 4.4972690e+00 1.6001890e+00 + 4.4976537e+00 1.5859847e+00 + 4.4980383e+00 1.5891647e+00 + 4.4984230e+00 1.5812452e+00 + 4.4988076e+00 1.5826054e+00 + 4.4991922e+00 1.5864032e+00 + 4.4995769e+00 1.5875799e+00 + 4.4999615e+00 1.5798586e+00 + 4.5003462e+00 1.5740011e+00 + 4.5007308e+00 1.5675183e+00 + 4.5011155e+00 1.5592968e+00 + 4.5015001e+00 1.5543817e+00 + 4.5018848e+00 1.5523777e+00 + 4.5022694e+00 1.5565794e+00 + 4.5026541e+00 1.5616221e+00 + 4.5030387e+00 1.5730681e+00 + 4.5034233e+00 1.5741980e+00 + 4.5038080e+00 1.5746433e+00 + 4.5041926e+00 1.5725754e+00 + 4.5045773e+00 1.5697148e+00 + 4.5049619e+00 1.5707727e+00 + 4.5053466e+00 1.5801223e+00 + 4.5057312e+00 1.5837012e+00 + 4.5061159e+00 1.5810775e+00 + 4.5065005e+00 1.5786222e+00 + 4.5068851e+00 1.5772359e+00 + 4.5072698e+00 1.5749437e+00 + 4.5076544e+00 1.5816954e+00 + 4.5080391e+00 1.5958096e+00 + 4.5084237e+00 1.5934710e+00 + 4.5088084e+00 1.6012644e+00 + 4.5091930e+00 1.5994977e+00 + 4.5095777e+00 1.5975289e+00 + 4.5099623e+00 1.5924859e+00 + 4.5103469e+00 1.5805357e+00 + 4.5107316e+00 1.5827139e+00 + 4.5111162e+00 1.5794661e+00 + 4.5115009e+00 1.5877878e+00 + 4.5118855e+00 1.5948148e+00 + 4.5122702e+00 1.5934941e+00 + 4.5126548e+00 1.5884019e+00 + 4.5130395e+00 1.6015674e+00 + 4.5134241e+00 1.5997290e+00 + 4.5138088e+00 1.6038685e+00 + 4.5141934e+00 1.6151922e+00 + 4.5145780e+00 1.6210249e+00 + 4.5149627e+00 1.6308350e+00 + 4.5153473e+00 1.6349439e+00 + 4.5157320e+00 1.6432505e+00 + 4.5161166e+00 1.6456060e+00 + 4.5165013e+00 1.6393153e+00 + 4.5168859e+00 1.6411289e+00 + 4.5172706e+00 1.6319049e+00 + 4.5176552e+00 1.6299626e+00 + 4.5180398e+00 1.6321184e+00 + 4.5184245e+00 1.6306057e+00 + 4.5188091e+00 1.6307790e+00 + 4.5191938e+00 1.6332473e+00 + 4.5195784e+00 1.6368629e+00 + 4.5199631e+00 1.6383681e+00 + 4.5203477e+00 1.6401711e+00 + 4.5207324e+00 1.6430849e+00 + 4.5211170e+00 1.6387750e+00 + 4.5215017e+00 1.6357752e+00 + 4.5218863e+00 1.6318490e+00 + 4.5222709e+00 1.6214795e+00 + 4.5226556e+00 1.6250657e+00 + 4.5230402e+00 1.6307041e+00 + 4.5234249e+00 1.6255479e+00 + 4.5238095e+00 1.6212597e+00 + 4.5241942e+00 1.6188058e+00 + 4.5245788e+00 1.6221853e+00 + 4.5249635e+00 1.6183805e+00 + 4.5253481e+00 1.6217935e+00 + 4.5257327e+00 1.6242642e+00 + 4.5261174e+00 1.6171336e+00 + 4.5265020e+00 1.6167012e+00 + 4.5268867e+00 1.6099643e+00 + 4.5272713e+00 1.6113597e+00 + 4.5276560e+00 1.6154019e+00 + 4.5280406e+00 1.6209420e+00 + 4.5284253e+00 1.6285049e+00 + 4.5288099e+00 1.6347397e+00 + 4.5291946e+00 1.6255485e+00 + 4.5295792e+00 1.6192900e+00 + 4.5299638e+00 1.6180694e+00 + 4.5303485e+00 1.6090951e+00 + 4.5307331e+00 1.6097622e+00 + 4.5311178e+00 1.6036122e+00 + 4.5315024e+00 1.5995633e+00 + 4.5318871e+00 1.6080252e+00 + 4.5322717e+00 1.6096856e+00 + 4.5326564e+00 1.6055161e+00 + 4.5330410e+00 1.6103901e+00 + 4.5334256e+00 1.6191685e+00 + 4.5338103e+00 1.6226904e+00 + 4.5341949e+00 1.6255001e+00 + 4.5345796e+00 1.6152715e+00 + 4.5349642e+00 1.6190864e+00 + 4.5353489e+00 1.6142156e+00 + 4.5357335e+00 1.6152737e+00 + 4.5361182e+00 1.6246007e+00 + 4.5365028e+00 1.6148850e+00 + 4.5368875e+00 1.6178683e+00 + 4.5372721e+00 1.6260179e+00 + 4.5376567e+00 1.6181659e+00 + 4.5380414e+00 1.6218606e+00 + 4.5384260e+00 1.6200009e+00 + 4.5388107e+00 1.6336884e+00 + 4.5391953e+00 1.6261391e+00 + 4.5395800e+00 1.6221126e+00 + 4.5399646e+00 1.6234090e+00 + 4.5403493e+00 1.6226073e+00 + 4.5407339e+00 1.6222634e+00 + 4.5411185e+00 1.6184064e+00 + 4.5415032e+00 1.6072538e+00 + 4.5418878e+00 1.5998937e+00 + 4.5422725e+00 1.6015735e+00 + 4.5426571e+00 1.5867933e+00 + 4.5430418e+00 1.5909069e+00 + 4.5434264e+00 1.5865827e+00 + 4.5438111e+00 1.5905033e+00 + 4.5441957e+00 1.5923348e+00 + 4.5445804e+00 1.5991911e+00 + 4.5449650e+00 1.5969040e+00 + 4.5453496e+00 1.5955178e+00 + 4.5457343e+00 1.5932028e+00 + 4.5461189e+00 1.5980223e+00 + 4.5465036e+00 1.6013679e+00 + 4.5468882e+00 1.5923998e+00 + 4.5472729e+00 1.5897859e+00 + 4.5476575e+00 1.5930704e+00 + 4.5480422e+00 1.5889499e+00 + 4.5484268e+00 1.5874866e+00 + 4.5488114e+00 1.5919119e+00 + 4.5491961e+00 1.5913360e+00 + 4.5495807e+00 1.5993681e+00 + 4.5499654e+00 1.6017036e+00 + 4.5503500e+00 1.5959051e+00 + 4.5507347e+00 1.5912654e+00 + 4.5511193e+00 1.5845166e+00 + 4.5515040e+00 1.5843991e+00 + 4.5518886e+00 1.5853158e+00 + 4.5522733e+00 1.5832290e+00 + 4.5526579e+00 1.5891388e+00 + 4.5530425e+00 1.5870807e+00 + 4.5534272e+00 1.5845049e+00 + 4.5538118e+00 1.5768987e+00 + 4.5541965e+00 1.5743626e+00 + 4.5545811e+00 1.5694697e+00 + 4.5549658e+00 1.5647255e+00 + 4.5553504e+00 1.5644435e+00 + 4.5557351e+00 1.5668270e+00 + 4.5561197e+00 1.5652356e+00 + 4.5565043e+00 1.5627152e+00 + 4.5568890e+00 1.5519663e+00 + 4.5572736e+00 1.5538903e+00 + 4.5576583e+00 1.5664538e+00 + 4.5580429e+00 1.5699685e+00 + 4.5584276e+00 1.5674909e+00 + 4.5588122e+00 1.5615160e+00 + 4.5591969e+00 1.5594749e+00 + 4.5595815e+00 1.5563169e+00 + 4.5599662e+00 1.5668623e+00 + 4.5603508e+00 1.5580685e+00 + 4.5607354e+00 1.5592252e+00 + 4.5611201e+00 1.5562223e+00 + 4.5615047e+00 1.5663183e+00 + 4.5618894e+00 1.5623128e+00 + 4.5622740e+00 1.5488663e+00 + 4.5626587e+00 1.5484399e+00 + 4.5630433e+00 1.5441384e+00 + 4.5634280e+00 1.5471305e+00 + 4.5638126e+00 1.5470285e+00 + 4.5641972e+00 1.5319827e+00 + 4.5645819e+00 1.5323950e+00 + 4.5649665e+00 1.5379293e+00 + 4.5653512e+00 1.5438517e+00 + 4.5657358e+00 1.5373095e+00 + 4.5661205e+00 1.5442552e+00 + 4.5665051e+00 1.5459210e+00 + 4.5668898e+00 1.5382601e+00 + 4.5672744e+00 1.5345259e+00 + 4.5676591e+00 1.5339763e+00 + 4.5680437e+00 1.5361636e+00 + 4.5684283e+00 1.5333662e+00 + 4.5688130e+00 1.5318026e+00 + 4.5691976e+00 1.5417225e+00 + 4.5695823e+00 1.5343642e+00 + 4.5699669e+00 1.5479108e+00 + 4.5703516e+00 1.5604055e+00 + 4.5707362e+00 1.5487432e+00 + 4.5711209e+00 1.5517065e+00 + 4.5715055e+00 1.5461112e+00 + 4.5718901e+00 1.5468957e+00 + 4.5722748e+00 1.5574773e+00 + 4.5726594e+00 1.5556472e+00 + 4.5730441e+00 1.5611854e+00 + 4.5734287e+00 1.5646435e+00 + 4.5738134e+00 1.5603121e+00 + 4.5741980e+00 1.5608776e+00 + 4.5745827e+00 1.5629696e+00 + 4.5749673e+00 1.5676996e+00 + 4.5753520e+00 1.5636469e+00 + 4.5757366e+00 1.5639997e+00 + 4.5761212e+00 1.5735343e+00 + 4.5765059e+00 1.5894862e+00 + 4.5768905e+00 1.5927417e+00 + 4.5772752e+00 1.5908833e+00 + 4.5776598e+00 1.5978672e+00 + 4.5780445e+00 1.5842805e+00 + 4.5784291e+00 1.5897772e+00 + 4.5788138e+00 1.5916436e+00 + 4.5791984e+00 1.5961712e+00 + 4.5795830e+00 1.5974422e+00 + 4.5799677e+00 1.5893889e+00 + 4.5803523e+00 1.5801025e+00 + 4.5807370e+00 1.5805967e+00 + 4.5811216e+00 1.5834985e+00 + 4.5815063e+00 1.5733189e+00 + 4.5818909e+00 1.5739306e+00 + 4.5822756e+00 1.5680299e+00 + 4.5826602e+00 1.5709558e+00 + 4.5830448e+00 1.5680780e+00 + 4.5834295e+00 1.5672051e+00 + 4.5838141e+00 1.5658028e+00 + 4.5841988e+00 1.5671044e+00 + 4.5845834e+00 1.5692857e+00 + 4.5849681e+00 1.5689818e+00 + 4.5853527e+00 1.5733526e+00 + 4.5857374e+00 1.5861592e+00 + 4.5861220e+00 1.5961925e+00 + 4.5865067e+00 1.5885416e+00 + 4.5868913e+00 1.5918004e+00 + 4.5872759e+00 1.5898860e+00 + 4.5876606e+00 1.5927237e+00 + 4.5880452e+00 1.5954681e+00 + 4.5884299e+00 1.6039823e+00 + 4.5888145e+00 1.5992089e+00 + 4.5891992e+00 1.5984804e+00 + 4.5895838e+00 1.5992375e+00 + 4.5899685e+00 1.6037126e+00 + 4.5903531e+00 1.6042778e+00 + 4.5907377e+00 1.6026229e+00 + 4.5911224e+00 1.6006649e+00 + 4.5915070e+00 1.5973738e+00 + 4.5918917e+00 1.6056224e+00 + 4.5922763e+00 1.6075599e+00 + 4.5926610e+00 1.5997214e+00 + 4.5930456e+00 1.6080257e+00 + 4.5934303e+00 1.5992087e+00 + 4.5938149e+00 1.5977692e+00 + 4.5941996e+00 1.5957799e+00 + 4.5945842e+00 1.6098679e+00 + 4.5949688e+00 1.6076586e+00 + 4.5953535e+00 1.6047011e+00 + 4.5957381e+00 1.6058664e+00 + 4.5961228e+00 1.6080981e+00 + 4.5965074e+00 1.6090269e+00 + 4.5968921e+00 1.6052017e+00 + 4.5972767e+00 1.6078597e+00 + 4.5976614e+00 1.6044068e+00 + 4.5980460e+00 1.5924918e+00 + 4.5984306e+00 1.5839731e+00 + 4.5988153e+00 1.5813732e+00 + 4.5991999e+00 1.5851234e+00 + 4.5995846e+00 1.5880435e+00 + 4.5999692e+00 1.5897318e+00 + 4.6003539e+00 1.5822676e+00 + 4.6007385e+00 1.5809575e+00 + 4.6011232e+00 1.5758991e+00 + 4.6015078e+00 1.5748092e+00 + 4.6018925e+00 1.5841587e+00 + 4.6022771e+00 1.5903952e+00 + 4.6026617e+00 1.5868834e+00 + 4.6030464e+00 1.5819257e+00 + 4.6034310e+00 1.5876352e+00 + 4.6038157e+00 1.5835874e+00 + 4.6042003e+00 1.5788021e+00 + 4.6045850e+00 1.5787553e+00 + 4.6049696e+00 1.5847345e+00 + 4.6053543e+00 1.5820340e+00 + 4.6057389e+00 1.5815173e+00 + 4.6061235e+00 1.5764063e+00 + 4.6065082e+00 1.5747847e+00 + 4.6068928e+00 1.5772211e+00 + 4.6072775e+00 1.5720017e+00 + 4.6076621e+00 1.5762397e+00 + 4.6080468e+00 1.5619262e+00 + 4.6084314e+00 1.5614330e+00 + 4.6088161e+00 1.5658076e+00 + 4.6092007e+00 1.5593124e+00 + 4.6095854e+00 1.5511942e+00 + 4.6099700e+00 1.5557923e+00 + 4.6103546e+00 1.5655498e+00 + 4.6107393e+00 1.5720247e+00 + 4.6111239e+00 1.5779571e+00 + 4.6115086e+00 1.5794326e+00 + 4.6118932e+00 1.5799374e+00 + 4.6122779e+00 1.5788669e+00 + 4.6126625e+00 1.5942681e+00 + 4.6130472e+00 1.6030298e+00 + 4.6134318e+00 1.6015186e+00 + 4.6138164e+00 1.6031816e+00 + 4.6142011e+00 1.5991835e+00 + 4.6145857e+00 1.5982112e+00 + 4.6149704e+00 1.5913744e+00 + 4.6153550e+00 1.5947225e+00 + 4.6157397e+00 1.5955318e+00 + 4.6161243e+00 1.5894683e+00 + 4.6165090e+00 1.5875095e+00 + 4.6168936e+00 1.5878838e+00 + 4.6172783e+00 1.5837404e+00 + 4.6176629e+00 1.5832812e+00 + 4.6180475e+00 1.5816969e+00 + 4.6184322e+00 1.5849436e+00 + 4.6188168e+00 1.5786611e+00 + 4.6192015e+00 1.5803701e+00 + 4.6195861e+00 1.5731601e+00 + 4.6199708e+00 1.5676899e+00 + 4.6203554e+00 1.5652961e+00 + 4.6207401e+00 1.5592330e+00 + 4.6211247e+00 1.5775800e+00 + 4.6215093e+00 1.5781322e+00 + 4.6218940e+00 1.5834447e+00 + 4.6222786e+00 1.5917393e+00 + 4.6226633e+00 1.5939059e+00 + 4.6230479e+00 1.5942114e+00 + 4.6234326e+00 1.5957981e+00 + 4.6238172e+00 1.5906031e+00 + 4.6242019e+00 1.5964030e+00 + 4.6245865e+00 1.5957706e+00 + 4.6249712e+00 1.6078669e+00 + 4.6253558e+00 1.6072546e+00 + 4.6257404e+00 1.6091646e+00 + 4.6261251e+00 1.6091399e+00 + 4.6265097e+00 1.6091158e+00 + 4.6268944e+00 1.6077951e+00 + 4.6272790e+00 1.6102989e+00 + 4.6276637e+00 1.6130898e+00 + 4.6280483e+00 1.6128657e+00 + 4.6284330e+00 1.6136325e+00 + 4.6288176e+00 1.6162485e+00 + 4.6292022e+00 1.6277860e+00 + 4.6295869e+00 1.6163940e+00 + 4.6299715e+00 1.6114375e+00 + 4.6303562e+00 1.6165982e+00 + 4.6307408e+00 1.6121424e+00 + 4.6311255e+00 1.6114648e+00 + 4.6315101e+00 1.6119883e+00 + 4.6318948e+00 1.6133214e+00 + 4.6322794e+00 1.6102778e+00 + 4.6326641e+00 1.6058943e+00 + 4.6330487e+00 1.6068595e+00 + 4.6334333e+00 1.6129058e+00 + 4.6338180e+00 1.6146377e+00 + 4.6342026e+00 1.6221039e+00 + 4.6345873e+00 1.6312852e+00 + 4.6349719e+00 1.6343979e+00 + 4.6353566e+00 1.6408190e+00 + 4.6357412e+00 1.6394898e+00 + 4.6361259e+00 1.6412628e+00 + 4.6365105e+00 1.6327122e+00 + 4.6368951e+00 1.6478190e+00 + 4.6372798e+00 1.6433332e+00 + 4.6376644e+00 1.6330288e+00 + 4.6380491e+00 1.6399001e+00 + 4.6384337e+00 1.6398810e+00 + 4.6388184e+00 1.6523917e+00 + 4.6392030e+00 1.6488570e+00 + 4.6395877e+00 1.6633723e+00 + 4.6399723e+00 1.6656384e+00 + 4.6403570e+00 1.6609062e+00 + 4.6407416e+00 1.6637980e+00 + 4.6411262e+00 1.6771985e+00 + 4.6415109e+00 1.6785986e+00 + 4.6418955e+00 1.6802349e+00 + 4.6422802e+00 1.6860352e+00 + 4.6426648e+00 1.6991843e+00 + 4.6430495e+00 1.6962905e+00 + 4.6434341e+00 1.6939770e+00 + 4.6438188e+00 1.6995565e+00 + 4.6442034e+00 1.7030241e+00 + 4.6445880e+00 1.6968082e+00 + 4.6449727e+00 1.6898464e+00 + 4.6453573e+00 1.6884767e+00 + 4.6457420e+00 1.6872516e+00 + 4.6461266e+00 1.6817338e+00 + 4.6465113e+00 1.6853350e+00 + 4.6468959e+00 1.6849516e+00 + 4.6472806e+00 1.6859995e+00 + 4.6476652e+00 1.6877388e+00 + 4.6480498e+00 1.6916435e+00 + 4.6484345e+00 1.6910381e+00 + 4.6488191e+00 1.6897507e+00 + 4.6492038e+00 1.7011517e+00 + 4.6495884e+00 1.6933665e+00 + 4.6499731e+00 1.6931471e+00 + 4.6503577e+00 1.6945628e+00 + 4.6507424e+00 1.6932948e+00 + 4.6511270e+00 1.6969216e+00 + 4.6515117e+00 1.7015970e+00 + 4.6518963e+00 1.7084726e+00 + 4.6522809e+00 1.7118039e+00 + 4.6526656e+00 1.7119632e+00 + 4.6530502e+00 1.7189387e+00 + 4.6534349e+00 1.7212799e+00 + 4.6538195e+00 1.7253642e+00 + 4.6542042e+00 1.7304929e+00 + 4.6545888e+00 1.7327989e+00 + 4.6549735e+00 1.7293930e+00 + 4.6553581e+00 1.7218944e+00 + 4.6557427e+00 1.7184153e+00 + 4.6561274e+00 1.7242090e+00 + 4.6565120e+00 1.7242477e+00 + 4.6568967e+00 1.7185621e+00 + 4.6572813e+00 1.7190250e+00 + 4.6576660e+00 1.7054495e+00 + 4.6580506e+00 1.6975361e+00 + 4.6584353e+00 1.7062531e+00 + 4.6588199e+00 1.7108971e+00 + 4.6592046e+00 1.7126384e+00 + 4.6595892e+00 1.7210330e+00 + 4.6599738e+00 1.7159595e+00 + 4.6603585e+00 1.7067246e+00 + 4.6607431e+00 1.6994600e+00 + 4.6611278e+00 1.7033364e+00 + 4.6615124e+00 1.7029212e+00 + 4.6618971e+00 1.7097435e+00 + 4.6622817e+00 1.7079756e+00 + 4.6626664e+00 1.7223816e+00 + 4.6630510e+00 1.7248396e+00 + 4.6634356e+00 1.7315129e+00 + 4.6638203e+00 1.7293626e+00 + 4.6642049e+00 1.7325494e+00 + 4.6645896e+00 1.7374083e+00 + 4.6649742e+00 1.7558482e+00 + 4.6653589e+00 1.7546245e+00 + 4.6657435e+00 1.7587351e+00 + 4.6661282e+00 1.7652949e+00 + 4.6665128e+00 1.7629159e+00 + 4.6668975e+00 1.7711341e+00 + 4.6672821e+00 1.7724099e+00 + 4.6676667e+00 1.7803971e+00 + 4.6680514e+00 1.7862516e+00 + 4.6684360e+00 1.7775089e+00 + 4.6688207e+00 1.7751923e+00 + 4.6692053e+00 1.7802889e+00 + 4.6695900e+00 1.7749473e+00 + 4.6699746e+00 1.7778054e+00 + 4.6703593e+00 1.7794968e+00 + 4.6707439e+00 1.7752522e+00 + 4.6711285e+00 1.7653843e+00 + 4.6715132e+00 1.7626836e+00 + 4.6718978e+00 1.7596069e+00 + 4.6722825e+00 1.7540813e+00 + 4.6726671e+00 1.7467853e+00 + 4.6730518e+00 1.7457764e+00 + 4.6734364e+00 1.7457999e+00 + 4.6738211e+00 1.7544228e+00 + 4.6742057e+00 1.7456243e+00 + 4.6745904e+00 1.7445239e+00 + 4.6749750e+00 1.7393103e+00 + 4.6753596e+00 1.7391500e+00 + 4.6757443e+00 1.7366038e+00 + 4.6761289e+00 1.7271779e+00 + 4.6765136e+00 1.7267399e+00 + 4.6768982e+00 1.7205191e+00 + 4.6772829e+00 1.7207712e+00 + 4.6776675e+00 1.7153705e+00 + 4.6780522e+00 1.7136249e+00 + 4.6784368e+00 1.7214428e+00 + 4.6788214e+00 1.7150584e+00 + 4.6792061e+00 1.7073729e+00 + 4.6795907e+00 1.7051009e+00 + 4.6799754e+00 1.6993131e+00 + 4.6803600e+00 1.7055175e+00 + 4.6807447e+00 1.7074312e+00 + 4.6811293e+00 1.7021076e+00 + 4.6815140e+00 1.6988359e+00 + 4.6818986e+00 1.6937088e+00 + 4.6822833e+00 1.6957985e+00 + 4.6826679e+00 1.7032504e+00 + 4.6830525e+00 1.7026944e+00 + 4.6834372e+00 1.7047447e+00 + 4.6838218e+00 1.7198618e+00 + 4.6842065e+00 1.7250017e+00 + 4.6845911e+00 1.7236498e+00 + 4.6849758e+00 1.7270376e+00 + 4.6853604e+00 1.7296899e+00 + 4.6857451e+00 1.7301743e+00 + 4.6861297e+00 1.7341928e+00 + 4.6865143e+00 1.7416201e+00 + 4.6868990e+00 1.7388109e+00 + 4.6872836e+00 1.7459811e+00 + 4.6876683e+00 1.7435616e+00 + 4.6880529e+00 1.7314551e+00 + 4.6884376e+00 1.7328839e+00 + 4.6888222e+00 1.7325643e+00 + 4.6892069e+00 1.7291768e+00 + 4.6895915e+00 1.7348975e+00 + 4.6899762e+00 1.7279172e+00 + 4.6903608e+00 1.7191154e+00 + 4.6907454e+00 1.7231736e+00 + 4.6911301e+00 1.7310338e+00 + 4.6915147e+00 1.7217793e+00 + 4.6918994e+00 1.7228856e+00 + 4.6922840e+00 1.7190574e+00 + 4.6926687e+00 1.7207969e+00 + 4.6930533e+00 1.7164775e+00 + 4.6934380e+00 1.7125183e+00 + 4.6938226e+00 1.7089296e+00 + 4.6942072e+00 1.7138498e+00 + 4.6945919e+00 1.7102379e+00 + 4.6949765e+00 1.7133257e+00 + 4.6953612e+00 1.7151562e+00 + 4.6957458e+00 1.7169776e+00 + 4.6961305e+00 1.7225987e+00 + 4.6965151e+00 1.7234088e+00 + 4.6968998e+00 1.7243212e+00 + 4.6972844e+00 1.7375384e+00 + 4.6976691e+00 1.7330428e+00 + 4.6980537e+00 1.7223916e+00 + 4.6984383e+00 1.7224702e+00 + 4.6988230e+00 1.7115433e+00 + 4.6992076e+00 1.7148755e+00 + 4.6995923e+00 1.7089014e+00 + 4.6999769e+00 1.7010943e+00 + 4.7003616e+00 1.6953257e+00 + 4.7007462e+00 1.6947183e+00 + 4.7011309e+00 1.6983308e+00 + 4.7015155e+00 1.6924675e+00 + 4.7019001e+00 1.6984944e+00 + 4.7022848e+00 1.6941393e+00 + 4.7026694e+00 1.6882284e+00 + 4.7030541e+00 1.6857885e+00 + 4.7034387e+00 1.6785396e+00 + 4.7038234e+00 1.6819859e+00 + 4.7042080e+00 1.6775602e+00 + 4.7045927e+00 1.6852371e+00 + 4.7049773e+00 1.6916785e+00 + 4.7053620e+00 1.6873994e+00 + 4.7057466e+00 1.6833606e+00 + 4.7061312e+00 1.6802620e+00 + 4.7065159e+00 1.6780153e+00 + 4.7069005e+00 1.6784372e+00 + 4.7072852e+00 1.6882618e+00 + 4.7076698e+00 1.6907339e+00 + 4.7080545e+00 1.6843823e+00 + 4.7084391e+00 1.6851051e+00 + 4.7088238e+00 1.6768439e+00 + 4.7092084e+00 1.6639795e+00 + 4.7095930e+00 1.6686650e+00 + 4.7099777e+00 1.6543219e+00 + 4.7103623e+00 1.6526482e+00 + 4.7107470e+00 1.6592959e+00 + 4.7111316e+00 1.6657623e+00 + 4.7115163e+00 1.6640303e+00 + 4.7119009e+00 1.6626219e+00 + 4.7122856e+00 1.6679928e+00 + 4.7126702e+00 1.6689950e+00 + 4.7130549e+00 1.6700230e+00 + 4.7134395e+00 1.6758055e+00 + 4.7138241e+00 1.6693599e+00 + 4.7142088e+00 1.6566089e+00 + 4.7145934e+00 1.6446276e+00 + 4.7149781e+00 1.6349502e+00 + 4.7153627e+00 1.6461585e+00 + 4.7157474e+00 1.6464295e+00 + 4.7161320e+00 1.6471373e+00 + 4.7165167e+00 1.6462315e+00 + 4.7169013e+00 1.6459456e+00 + 4.7172859e+00 1.6422589e+00 + 4.7176706e+00 1.6380492e+00 + 4.7180552e+00 1.6321509e+00 + 4.7184399e+00 1.6367093e+00 + 4.7188245e+00 1.6301297e+00 + 4.7192092e+00 1.6315347e+00 + 4.7195938e+00 1.6282368e+00 + 4.7199785e+00 1.6410313e+00 + 4.7203631e+00 1.6517287e+00 + 4.7207477e+00 1.6472740e+00 + 4.7211324e+00 1.6484222e+00 + 4.7215170e+00 1.6404157e+00 + 4.7219017e+00 1.6474273e+00 + 4.7222863e+00 1.6582824e+00 + 4.7226710e+00 1.6563739e+00 + 4.7230556e+00 1.6617814e+00 + 4.7234403e+00 1.6641419e+00 + 4.7238249e+00 1.6649332e+00 + 4.7242096e+00 1.6670218e+00 + 4.7245942e+00 1.6683183e+00 + 4.7249788e+00 1.6709870e+00 + 4.7253635e+00 1.6724874e+00 + 4.7257481e+00 1.6694758e+00 + 4.7261328e+00 1.6796295e+00 + 4.7265174e+00 1.6764364e+00 + 4.7269021e+00 1.6727367e+00 + 4.7272867e+00 1.6719988e+00 + 4.7276714e+00 1.6728382e+00 + 4.7280560e+00 1.6734873e+00 + 4.7284406e+00 1.6702147e+00 + 4.7288253e+00 1.6649864e+00 + 4.7292099e+00 1.6611013e+00 + 4.7295946e+00 1.6614302e+00 + 4.7299792e+00 1.6534802e+00 + 4.7303639e+00 1.6537824e+00 + 4.7307485e+00 1.6538709e+00 + 4.7311332e+00 1.6623607e+00 + 4.7315178e+00 1.6506939e+00 + 4.7319025e+00 1.6555102e+00 + 4.7322871e+00 1.6623458e+00 + 4.7326717e+00 1.6681226e+00 + 4.7330564e+00 1.6695427e+00 + 4.7334410e+00 1.6688982e+00 + 4.7338257e+00 1.6805641e+00 + 4.7342103e+00 1.6783915e+00 + 4.7345950e+00 1.6780515e+00 + 4.7349796e+00 1.6685978e+00 + 4.7353643e+00 1.6575296e+00 + 4.7357489e+00 1.6585823e+00 + 4.7361335e+00 1.6539811e+00 + 4.7365182e+00 1.6559675e+00 + 4.7369028e+00 1.6567660e+00 + 4.7372875e+00 1.6502904e+00 + 4.7376721e+00 1.6606906e+00 + 4.7380568e+00 1.6552403e+00 + 4.7384414e+00 1.6514648e+00 + 4.7388261e+00 1.6529697e+00 + 4.7392107e+00 1.6589381e+00 + 4.7395954e+00 1.6541936e+00 + 4.7399800e+00 1.6521649e+00 + 4.7403646e+00 1.6511543e+00 + 4.7407493e+00 1.6522432e+00 + 4.7411339e+00 1.6484419e+00 + 4.7415186e+00 1.6495651e+00 + 4.7419032e+00 1.6594763e+00 + 4.7422879e+00 1.6682583e+00 + 4.7426725e+00 1.6783341e+00 + 4.7430572e+00 1.6788337e+00 + 4.7434418e+00 1.6781360e+00 + 4.7438264e+00 1.6756530e+00 + 4.7442111e+00 1.6766955e+00 + 4.7445957e+00 1.6726627e+00 + 4.7449804e+00 1.6779664e+00 + 4.7453650e+00 1.6774372e+00 + 4.7457497e+00 1.6743471e+00 + 4.7461343e+00 1.6598931e+00 + 4.7465190e+00 1.6571995e+00 + 4.7469036e+00 1.6526443e+00 + 4.7472883e+00 1.6517671e+00 + 4.7476729e+00 1.6493027e+00 + 4.7480575e+00 1.6450675e+00 + 4.7484422e+00 1.6486315e+00 + 4.7488268e+00 1.6467557e+00 + 4.7492115e+00 1.6466407e+00 + 4.7495961e+00 1.6492204e+00 + 4.7499808e+00 1.6501656e+00 + 4.7503654e+00 1.6444904e+00 + 4.7507501e+00 1.6512753e+00 + 4.7511347e+00 1.6568402e+00 + 4.7515193e+00 1.6487129e+00 + 4.7519040e+00 1.6478970e+00 + 4.7522886e+00 1.6479480e+00 + 4.7526733e+00 1.6519674e+00 + 4.7530579e+00 1.6439789e+00 + 4.7534426e+00 1.6487437e+00 + 4.7538272e+00 1.6458415e+00 + 4.7542119e+00 1.6411102e+00 + 4.7545965e+00 1.6422765e+00 + 4.7549812e+00 1.6345166e+00 + 4.7553658e+00 1.6434854e+00 + 4.7557504e+00 1.6277640e+00 + 4.7561351e+00 1.6321796e+00 + 4.7565197e+00 1.6250765e+00 + 4.7569044e+00 1.6281485e+00 + 4.7572890e+00 1.6232513e+00 + 4.7576737e+00 1.6271618e+00 + 4.7580583e+00 1.6203384e+00 + 4.7584430e+00 1.6236551e+00 + 4.7588276e+00 1.6269109e+00 + 4.7592122e+00 1.6328870e+00 + 4.7595969e+00 1.6214807e+00 + 4.7599815e+00 1.6160252e+00 + 4.7603662e+00 1.6112116e+00 + 4.7607508e+00 1.6112845e+00 + 4.7611355e+00 1.6069821e+00 + 4.7615201e+00 1.6042718e+00 + 4.7619048e+00 1.6058664e+00 + 4.7622894e+00 1.6093787e+00 + 4.7626741e+00 1.5947591e+00 + 4.7630587e+00 1.6020171e+00 + 4.7634433e+00 1.5973246e+00 + 4.7638280e+00 1.5909573e+00 + 4.7642126e+00 1.5928671e+00 + 4.7645973e+00 1.6001425e+00 + 4.7649819e+00 1.6092654e+00 + 4.7653666e+00 1.6134359e+00 + 4.7657512e+00 1.6134712e+00 + 4.7661359e+00 1.6097485e+00 + 4.7665205e+00 1.6032404e+00 + 4.7669051e+00 1.6050181e+00 + 4.7672898e+00 1.6129907e+00 + 4.7676744e+00 1.6166498e+00 + 4.7680591e+00 1.6137514e+00 + 4.7684437e+00 1.6208908e+00 + 4.7688284e+00 1.6180258e+00 + 4.7692130e+00 1.6231090e+00 + 4.7695977e+00 1.6344052e+00 + 4.7699823e+00 1.6461095e+00 + 4.7703670e+00 1.6465782e+00 + 4.7707516e+00 1.6501386e+00 + 4.7711362e+00 1.6509094e+00 + 4.7715209e+00 1.6552584e+00 + 4.7719055e+00 1.6568900e+00 + 4.7722902e+00 1.6493502e+00 + 4.7726748e+00 1.6551854e+00 + 4.7730595e+00 1.6568196e+00 + 4.7734441e+00 1.6511425e+00 + 4.7738288e+00 1.6483057e+00 + 4.7742134e+00 1.6484431e+00 + 4.7745980e+00 1.6499293e+00 + 4.7749827e+00 1.6576102e+00 + 4.7753673e+00 1.6603700e+00 + 4.7757520e+00 1.6690041e+00 + 4.7761366e+00 1.6714921e+00 + 4.7765213e+00 1.6709291e+00 + 4.7769059e+00 1.6775520e+00 + 4.7772906e+00 1.6957024e+00 + 4.7776752e+00 1.6848526e+00 + 4.7780599e+00 1.6758302e+00 + 4.7784445e+00 1.6815802e+00 + 4.7788291e+00 1.6915231e+00 + 4.7792138e+00 1.6958006e+00 + 4.7795984e+00 1.6936792e+00 + 4.7799831e+00 1.6903802e+00 + 4.7803677e+00 1.6880798e+00 + 4.7807524e+00 1.6814744e+00 + 4.7811370e+00 1.6836403e+00 + 4.7815217e+00 1.6801611e+00 + 4.7819063e+00 1.6936404e+00 + 4.7822909e+00 1.6917097e+00 + 4.7826756e+00 1.6953282e+00 + 4.7830602e+00 1.6989435e+00 + 4.7834449e+00 1.6866608e+00 + 4.7838295e+00 1.6848064e+00 + 4.7842142e+00 1.6842060e+00 + 4.7845988e+00 1.6837715e+00 + 4.7849835e+00 1.6746827e+00 + 4.7853681e+00 1.6708979e+00 + 4.7857528e+00 1.6755249e+00 + 4.7861374e+00 1.6772277e+00 + 4.7865220e+00 1.6822333e+00 + 4.7869067e+00 1.6943478e+00 + 4.7872913e+00 1.6971179e+00 + 4.7876760e+00 1.7017425e+00 + 4.7880606e+00 1.6990937e+00 + 4.7884453e+00 1.6996691e+00 + 4.7888299e+00 1.7005171e+00 + 4.7892146e+00 1.7016677e+00 + 4.7895992e+00 1.7007711e+00 + 4.7899838e+00 1.7044325e+00 + 4.7903685e+00 1.6944876e+00 + 4.7907531e+00 1.6988440e+00 + 4.7911378e+00 1.6954058e+00 + 4.7915224e+00 1.7051067e+00 + 4.7919071e+00 1.7035847e+00 + 4.7922917e+00 1.7010067e+00 + 4.7926764e+00 1.7001340e+00 + 4.7930610e+00 1.6964031e+00 + 4.7934456e+00 1.6864751e+00 + 4.7938303e+00 1.6956272e+00 + 4.7942149e+00 1.6919101e+00 + 4.7945996e+00 1.6932421e+00 + 4.7949842e+00 1.6887009e+00 + 4.7953689e+00 1.6884460e+00 + 4.7957535e+00 1.6870909e+00 + 4.7961382e+00 1.6850477e+00 + 4.7965228e+00 1.6861438e+00 + 4.7969075e+00 1.6870615e+00 + 4.7972921e+00 1.6767187e+00 + 4.7976767e+00 1.6807677e+00 + 4.7980614e+00 1.6867599e+00 + 4.7984460e+00 1.6897801e+00 + 4.7988307e+00 1.6838522e+00 + 4.7992153e+00 1.6702076e+00 + 4.7996000e+00 1.6637461e+00 + 4.7999846e+00 1.6617264e+00 + 4.8003693e+00 1.6719386e+00 + 4.8007539e+00 1.6707395e+00 + 4.8011385e+00 1.6797734e+00 + 4.8015232e+00 1.6773320e+00 + 4.8019078e+00 1.6713163e+00 + 4.8022925e+00 1.6690659e+00 + 4.8026771e+00 1.6665648e+00 + 4.8030618e+00 1.6652889e+00 + 4.8034464e+00 1.6583032e+00 + 4.8038311e+00 1.6491698e+00 + 4.8042157e+00 1.6476703e+00 + 4.8046004e+00 1.6412681e+00 + 4.8049850e+00 1.6372380e+00 + 4.8053696e+00 1.6394972e+00 + 4.8057543e+00 1.6391674e+00 + 4.8061389e+00 1.6432078e+00 + 4.8065236e+00 1.6570426e+00 + 4.8069082e+00 1.6571631e+00 + 4.8072929e+00 1.6546847e+00 + 4.8076775e+00 1.6520646e+00 + 4.8080622e+00 1.6542084e+00 + 4.8084468e+00 1.6534998e+00 + 4.8088314e+00 1.6595805e+00 + 4.8092161e+00 1.6636132e+00 + 4.8096007e+00 1.6564987e+00 + 4.8099854e+00 1.6619272e+00 + 4.8103700e+00 1.6541446e+00 + 4.8107547e+00 1.6584689e+00 + 4.8111393e+00 1.6582192e+00 + 4.8115240e+00 1.6583018e+00 + 4.8119086e+00 1.6501046e+00 + 4.8122933e+00 1.6564968e+00 + 4.8126779e+00 1.6572212e+00 + 4.8130625e+00 1.6573966e+00 + 4.8134472e+00 1.6565011e+00 + 4.8138318e+00 1.6555483e+00 + 4.8142165e+00 1.6639325e+00 + 4.8146011e+00 1.6608233e+00 + 4.8149858e+00 1.6633532e+00 + 4.8153704e+00 1.6617775e+00 + 4.8157551e+00 1.6632616e+00 + 4.8161397e+00 1.6665500e+00 + 4.8165243e+00 1.6523792e+00 + 4.8169090e+00 1.6641167e+00 + 4.8172936e+00 1.6632787e+00 + 4.8176783e+00 1.6747107e+00 + 4.8180629e+00 1.6767622e+00 + 4.8184476e+00 1.6859459e+00 + 4.8188322e+00 1.6888135e+00 + 4.8192169e+00 1.6848740e+00 + 4.8196015e+00 1.6862940e+00 + 4.8199862e+00 1.6807150e+00 + 4.8203708e+00 1.6876592e+00 + 4.8207554e+00 1.6961583e+00 + 4.8211401e+00 1.7053083e+00 + 4.8215247e+00 1.7094279e+00 + 4.8219094e+00 1.7055494e+00 + 4.8222940e+00 1.7061403e+00 + 4.8226787e+00 1.7046941e+00 + 4.8230633e+00 1.7065619e+00 + 4.8234480e+00 1.7018777e+00 + 4.8238326e+00 1.6977554e+00 + 4.8242172e+00 1.6852420e+00 + 4.8246019e+00 1.6751274e+00 + 4.8249865e+00 1.6752047e+00 + 4.8253712e+00 1.6670723e+00 + 4.8257558e+00 1.6739956e+00 + 4.8261405e+00 1.6752410e+00 + 4.8265251e+00 1.6767505e+00 + 4.8269098e+00 1.6770216e+00 + 4.8272944e+00 1.6731552e+00 + 4.8276791e+00 1.6714297e+00 + 4.8280637e+00 1.6666846e+00 + 4.8284483e+00 1.6627616e+00 + 4.8288330e+00 1.6621557e+00 + 4.8292176e+00 1.6682466e+00 + 4.8296023e+00 1.6735446e+00 + 4.8299869e+00 1.6775977e+00 + 4.8303716e+00 1.6804087e+00 + 4.8307562e+00 1.6815808e+00 + 4.8311409e+00 1.6921946e+00 + 4.8315255e+00 1.6895904e+00 + 4.8319101e+00 1.6845364e+00 + 4.8322948e+00 1.6805461e+00 + 4.8326794e+00 1.6754012e+00 + 4.8330641e+00 1.6724526e+00 + 4.8334487e+00 1.6750936e+00 + 4.8338334e+00 1.6756096e+00 + 4.8342180e+00 1.6706698e+00 + 4.8346027e+00 1.6711916e+00 + 4.8349873e+00 1.6757214e+00 + 4.8353720e+00 1.6789338e+00 + 4.8357566e+00 1.6752432e+00 + 4.8361412e+00 1.6685437e+00 + 4.8365259e+00 1.6756831e+00 + 4.8369105e+00 1.6761077e+00 + 4.8372952e+00 1.6714094e+00 + 4.8376798e+00 1.6654968e+00 + 4.8380645e+00 1.6665534e+00 + 4.8384491e+00 1.6617210e+00 + 4.8388338e+00 1.6653186e+00 + 4.8392184e+00 1.6711470e+00 + 4.8396030e+00 1.6738413e+00 + 4.8399877e+00 1.6834302e+00 + 4.8403723e+00 1.6841029e+00 + 4.8407570e+00 1.6873242e+00 + 4.8411416e+00 1.6960523e+00 + 4.8415263e+00 1.6887403e+00 + 4.8419109e+00 1.6827304e+00 + 4.8422956e+00 1.6896040e+00 + 4.8426802e+00 1.6879442e+00 + 4.8430649e+00 1.6982931e+00 + 4.8434495e+00 1.7030863e+00 + 4.8438341e+00 1.7129743e+00 + 4.8442188e+00 1.7077700e+00 + 4.8446034e+00 1.7059014e+00 + 4.8449881e+00 1.7195572e+00 + 4.8453727e+00 1.7155307e+00 + 4.8457574e+00 1.7250828e+00 + 4.8461420e+00 1.7245789e+00 + 4.8465267e+00 1.7289188e+00 + 4.8469113e+00 1.7267146e+00 + 4.8472959e+00 1.7283460e+00 + 4.8476806e+00 1.7241622e+00 + 4.8480652e+00 1.7128651e+00 + 4.8484499e+00 1.7123186e+00 + 4.8488345e+00 1.7146389e+00 + 4.8492192e+00 1.7054893e+00 + 4.8496038e+00 1.6981280e+00 + 4.8499885e+00 1.7002535e+00 + 4.8503731e+00 1.6944616e+00 + 4.8507578e+00 1.6970202e+00 + 4.8511424e+00 1.6978158e+00 + 4.8515270e+00 1.7006514e+00 + 4.8519117e+00 1.6983748e+00 + 4.8522963e+00 1.6920841e+00 + 4.8526810e+00 1.6888053e+00 + 4.8530656e+00 1.6777738e+00 + 4.8534503e+00 1.6788940e+00 + 4.8538349e+00 1.6749670e+00 + 4.8542196e+00 1.6756526e+00 + 4.8546042e+00 1.6838778e+00 + 4.8549888e+00 1.6905344e+00 + 4.8553735e+00 1.6887506e+00 + 4.8557581e+00 1.6821465e+00 + 4.8561428e+00 1.6878257e+00 + 4.8565274e+00 1.6886141e+00 + 4.8569121e+00 1.6949728e+00 + 4.8572967e+00 1.6821546e+00 + 4.8576814e+00 1.6916239e+00 + 4.8580660e+00 1.6794300e+00 + 4.8584507e+00 1.6699693e+00 + 4.8588353e+00 1.6789100e+00 + 4.8592199e+00 1.6828282e+00 + 4.8596046e+00 1.6754959e+00 + 4.8599892e+00 1.6744316e+00 + 4.8603739e+00 1.6784825e+00 + 4.8607585e+00 1.6747879e+00 + 4.8611432e+00 1.6795344e+00 + 4.8615278e+00 1.6769596e+00 + 4.8619125e+00 1.6872463e+00 + 4.8622971e+00 1.6832825e+00 + 4.8626817e+00 1.6781241e+00 + 4.8630664e+00 1.6776566e+00 + 4.8634510e+00 1.6666664e+00 + 4.8638357e+00 1.6645167e+00 + 4.8642203e+00 1.6710477e+00 + 4.8646050e+00 1.6663066e+00 + 4.8649896e+00 1.6585537e+00 + 4.8653743e+00 1.6487321e+00 + 4.8657589e+00 1.6433909e+00 + 4.8661435e+00 1.6551267e+00 + 4.8665282e+00 1.6511013e+00 + 4.8669128e+00 1.6494266e+00 + 4.8672975e+00 1.6562752e+00 + 4.8676821e+00 1.6576318e+00 + 4.8680668e+00 1.6545596e+00 + 4.8684514e+00 1.6598603e+00 + 4.8688361e+00 1.6635013e+00 + 4.8692207e+00 1.6627911e+00 + 4.8696054e+00 1.6510648e+00 + 4.8699900e+00 1.6515654e+00 + 4.8703746e+00 1.6601809e+00 + 4.8707593e+00 1.6641365e+00 + 4.8711439e+00 1.6630802e+00 + 4.8715286e+00 1.6558640e+00 + 4.8719132e+00 1.6591800e+00 + 4.8722979e+00 1.6503738e+00 + 4.8726825e+00 1.6525150e+00 + 4.8730672e+00 1.6526276e+00 + 4.8734518e+00 1.6574951e+00 + 4.8738364e+00 1.6645032e+00 + 4.8742211e+00 1.6638991e+00 + 4.8746057e+00 1.6751690e+00 + 4.8749904e+00 1.6736006e+00 + 4.8753750e+00 1.6616378e+00 + 4.8757597e+00 1.6539775e+00 + 4.8761443e+00 1.6545459e+00 + 4.8765290e+00 1.6498791e+00 + 4.8769136e+00 1.6532858e+00 + 4.8772983e+00 1.6570257e+00 + 4.8776829e+00 1.6574845e+00 + 4.8780675e+00 1.6566444e+00 + 4.8784522e+00 1.6482659e+00 + 4.8788368e+00 1.6644151e+00 + 4.8792215e+00 1.6611171e+00 + 4.8796061e+00 1.6642505e+00 + 4.8799908e+00 1.6596971e+00 + 4.8803754e+00 1.6610719e+00 + 4.8807601e+00 1.6576873e+00 + 4.8811447e+00 1.6654575e+00 + 4.8815293e+00 1.6699607e+00 + 4.8819140e+00 1.6722833e+00 + 4.8822986e+00 1.6637269e+00 + 4.8826833e+00 1.6656620e+00 + 4.8830679e+00 1.6624013e+00 + 4.8834526e+00 1.6649828e+00 + 4.8838372e+00 1.6685133e+00 + 4.8842219e+00 1.6671553e+00 + 4.8846065e+00 1.6598542e+00 + 4.8849912e+00 1.6631581e+00 + 4.8853758e+00 1.6660390e+00 + 4.8857604e+00 1.6601023e+00 + 4.8861451e+00 1.6628129e+00 + 4.8865297e+00 1.6699693e+00 + 4.8869144e+00 1.6658413e+00 + 4.8872990e+00 1.6697488e+00 + 4.8876837e+00 1.6599829e+00 + 4.8880683e+00 1.6721620e+00 + 4.8884530e+00 1.6730736e+00 + 4.8888376e+00 1.6702570e+00 + 4.8892222e+00 1.6701230e+00 + 4.8896069e+00 1.6787222e+00 + 4.8899915e+00 1.6853372e+00 + 4.8903762e+00 1.6877045e+00 + 4.8907608e+00 1.6886126e+00 + 4.8911455e+00 1.6963766e+00 + 4.8915301e+00 1.6972216e+00 + 4.8919148e+00 1.7038567e+00 + 4.8922994e+00 1.7084135e+00 + 4.8926841e+00 1.7150435e+00 + 4.8930687e+00 1.7213904e+00 + 4.8934533e+00 1.7194788e+00 + 4.8938380e+00 1.7191969e+00 + 4.8942226e+00 1.7192909e+00 + 4.8946073e+00 1.7274039e+00 + 4.8949919e+00 1.7185274e+00 + 4.8953766e+00 1.7219483e+00 + 4.8957612e+00 1.7257391e+00 + 4.8961459e+00 1.7281249e+00 + 4.8965305e+00 1.7334659e+00 + 4.8969151e+00 1.7372877e+00 + 4.8972998e+00 1.7291417e+00 + 4.8976844e+00 1.7246834e+00 + 4.8980691e+00 1.7195412e+00 + 4.8984537e+00 1.7169275e+00 + 4.8988384e+00 1.7200587e+00 + 4.8992230e+00 1.7201842e+00 + 4.8996077e+00 1.7223128e+00 + 4.8999923e+00 1.7310006e+00 + 4.9003770e+00 1.7251978e+00 + 4.9007616e+00 1.7145910e+00 + 4.9011462e+00 1.7030252e+00 + 4.9015309e+00 1.7002367e+00 + 4.9019155e+00 1.6944091e+00 + 4.9023002e+00 1.6893326e+00 + 4.9026848e+00 1.6845884e+00 + 4.9030695e+00 1.6912036e+00 + 4.9034541e+00 1.7003930e+00 + 4.9038388e+00 1.7035489e+00 + 4.9042234e+00 1.6973429e+00 + 4.9046080e+00 1.6858638e+00 + 4.9049927e+00 1.6860090e+00 + 4.9053773e+00 1.6928533e+00 + 4.9057620e+00 1.6955399e+00 + 4.9061466e+00 1.7070850e+00 + 4.9065313e+00 1.7012093e+00 + 4.9069159e+00 1.6928337e+00 + 4.9073006e+00 1.6871550e+00 + 4.9076852e+00 1.6847810e+00 + 4.9080699e+00 1.6738209e+00 + 4.9084545e+00 1.6729807e+00 + 4.9088391e+00 1.6744144e+00 + 4.9092238e+00 1.6649915e+00 + 4.9096084e+00 1.6701961e+00 + 4.9099931e+00 1.6662170e+00 + 4.9103777e+00 1.6735774e+00 + 4.9107624e+00 1.6773998e+00 + 4.9111470e+00 1.6720761e+00 + 4.9115317e+00 1.6780810e+00 + 4.9119163e+00 1.6805636e+00 + 4.9123009e+00 1.6886660e+00 + 4.9126856e+00 1.6873327e+00 + 4.9130702e+00 1.6897843e+00 + 4.9134549e+00 1.6792244e+00 + 4.9138395e+00 1.6729810e+00 + 4.9142242e+00 1.6619741e+00 + 4.9146088e+00 1.6627798e+00 + 4.9149935e+00 1.6602239e+00 + 4.9153781e+00 1.6598464e+00 + 4.9157628e+00 1.6719510e+00 + 4.9161474e+00 1.6700120e+00 + 4.9165320e+00 1.6797457e+00 + 4.9169167e+00 1.6782625e+00 + 4.9173013e+00 1.6659903e+00 + 4.9176860e+00 1.6669188e+00 + 4.9180706e+00 1.6707001e+00 + 4.9184553e+00 1.6684136e+00 + 4.9188399e+00 1.6793993e+00 + 4.9192246e+00 1.6878937e+00 + 4.9196092e+00 1.6792294e+00 + 4.9199938e+00 1.6784750e+00 + 4.9203785e+00 1.6883736e+00 + 4.9207631e+00 1.6861019e+00 + 4.9211478e+00 1.6955531e+00 + 4.9215324e+00 1.6972340e+00 + 4.9219171e+00 1.6959052e+00 + 4.9223017e+00 1.6915200e+00 + 4.9226864e+00 1.6961128e+00 + 4.9230710e+00 1.6909443e+00 + 4.9234557e+00 1.6934730e+00 + 4.9238403e+00 1.7059857e+00 + 4.9242249e+00 1.7095814e+00 + 4.9246096e+00 1.7178839e+00 + 4.9249942e+00 1.7157672e+00 + 4.9253789e+00 1.7209496e+00 + 4.9257635e+00 1.7171386e+00 + 4.9261482e+00 1.7067852e+00 + 4.9265328e+00 1.7048425e+00 + 4.9269175e+00 1.6940291e+00 + 4.9273021e+00 1.6926917e+00 + 4.9276867e+00 1.6919323e+00 + 4.9280714e+00 1.6955466e+00 + 4.9284560e+00 1.6894997e+00 + 4.9288407e+00 1.6861699e+00 + 4.9292253e+00 1.6808992e+00 + 4.9296100e+00 1.6791388e+00 + 4.9299946e+00 1.6835818e+00 + 4.9303793e+00 1.6819750e+00 + 4.9307639e+00 1.6939605e+00 + 4.9311485e+00 1.6979864e+00 + 4.9315332e+00 1.7003305e+00 + 4.9319178e+00 1.7023758e+00 + 4.9323025e+00 1.7090906e+00 + 4.9326871e+00 1.7158605e+00 + 4.9330718e+00 1.7157767e+00 + 4.9334564e+00 1.7206050e+00 + 4.9338411e+00 1.7271627e+00 + 4.9342257e+00 1.7198472e+00 + 4.9346104e+00 1.7276076e+00 + 4.9349950e+00 1.7310499e+00 + 4.9353796e+00 1.7273348e+00 + 4.9357643e+00 1.7266365e+00 + 4.9361489e+00 1.7296596e+00 + 4.9365336e+00 1.7247155e+00 + 4.9369182e+00 1.7324192e+00 + 4.9373029e+00 1.7237628e+00 + 4.9376875e+00 1.7308159e+00 + 4.9380722e+00 1.7324885e+00 + 4.9384568e+00 1.7289695e+00 + 4.9388414e+00 1.7241986e+00 + 4.9392261e+00 1.7214185e+00 + 4.9396107e+00 1.7283946e+00 + 4.9399954e+00 1.7280127e+00 + 4.9403800e+00 1.7234966e+00 + 4.9407647e+00 1.7167250e+00 + 4.9411493e+00 1.7150539e+00 + 4.9415340e+00 1.7205566e+00 + 4.9419186e+00 1.7169440e+00 + 4.9423033e+00 1.7245549e+00 + 4.9426879e+00 1.7152512e+00 + 4.9430725e+00 1.7113389e+00 + 4.9434572e+00 1.7031597e+00 + 4.9438418e+00 1.6965466e+00 + 4.9442265e+00 1.7012280e+00 + 4.9446111e+00 1.7077633e+00 + 4.9449958e+00 1.7023516e+00 + 4.9453804e+00 1.6935284e+00 + 4.9457651e+00 1.6930691e+00 + 4.9461497e+00 1.6882517e+00 + 4.9465343e+00 1.6903488e+00 + 4.9469190e+00 1.6835565e+00 + 4.9473036e+00 1.6793690e+00 + 4.9476883e+00 1.6853345e+00 + 4.9480729e+00 1.6881686e+00 + 4.9484576e+00 1.6944617e+00 + 4.9488422e+00 1.6944034e+00 + 4.9492269e+00 1.6965040e+00 + 4.9496115e+00 1.6956209e+00 + 4.9499962e+00 1.6924805e+00 + 4.9503808e+00 1.6918668e+00 + 4.9507654e+00 1.6825293e+00 + 4.9511501e+00 1.6769561e+00 + 4.9515347e+00 1.6707386e+00 + 4.9519194e+00 1.6736997e+00 + 4.9523040e+00 1.6729680e+00 + 4.9526887e+00 1.6611042e+00 + 4.9530733e+00 1.6642145e+00 + 4.9534580e+00 1.6595340e+00 + 4.9538426e+00 1.6621938e+00 + 4.9542272e+00 1.6540487e+00 + 4.9546119e+00 1.6517652e+00 + 4.9549965e+00 1.6446665e+00 + 4.9553812e+00 1.6437116e+00 + 4.9557658e+00 1.6399477e+00 + 4.9561505e+00 1.6496518e+00 + 4.9565351e+00 1.6506564e+00 + 4.9569198e+00 1.6489074e+00 + 4.9573044e+00 1.6590203e+00 + 4.9576891e+00 1.6639757e+00 + 4.9580737e+00 1.6566855e+00 + 4.9584583e+00 1.6513712e+00 + 4.9588430e+00 1.6499184e+00 + 4.9592276e+00 1.6321730e+00 + 4.9596123e+00 1.6215588e+00 + 4.9599969e+00 1.6146748e+00 + 4.9603816e+00 1.6158010e+00 + 4.9607662e+00 1.6114096e+00 + 4.9611509e+00 1.6063968e+00 + 4.9615355e+00 1.6030889e+00 + 4.9619201e+00 1.6054281e+00 + 4.9623048e+00 1.6030795e+00 + 4.9626894e+00 1.6052786e+00 + 4.9630741e+00 1.6048350e+00 + 4.9634587e+00 1.6012979e+00 + 4.9638434e+00 1.6028487e+00 + 4.9642280e+00 1.6046053e+00 + 4.9646127e+00 1.6024302e+00 + 4.9649973e+00 1.6034272e+00 + 4.9653820e+00 1.6006166e+00 + 4.9657666e+00 1.6052674e+00 + 4.9661512e+00 1.6029071e+00 + 4.9665359e+00 1.6090970e+00 + 4.9669205e+00 1.6027957e+00 + 4.9673052e+00 1.6004799e+00 + 4.9676898e+00 1.5918789e+00 + 4.9680745e+00 1.5940705e+00 + 4.9684591e+00 1.5857038e+00 + 4.9688438e+00 1.5819362e+00 + 4.9692284e+00 1.5747326e+00 + 4.9696130e+00 1.5768977e+00 + 4.9699977e+00 1.5818857e+00 + 4.9703823e+00 1.5853893e+00 + 4.9707670e+00 1.5889505e+00 + 4.9711516e+00 1.5968002e+00 + 4.9715363e+00 1.5911807e+00 + 4.9719209e+00 1.5856999e+00 + 4.9723056e+00 1.5846122e+00 + 4.9726902e+00 1.5836984e+00 + 4.9730749e+00 1.5816381e+00 + 4.9734595e+00 1.5882021e+00 + 4.9738441e+00 1.5888344e+00 + 4.9742288e+00 1.5963767e+00 + 4.9746134e+00 1.5853412e+00 + 4.9749981e+00 1.5811494e+00 + 4.9753827e+00 1.5759630e+00 + 4.9757674e+00 1.5849571e+00 + 4.9761520e+00 1.5776338e+00 + 4.9765367e+00 1.5716544e+00 + 4.9769213e+00 1.5666371e+00 + 4.9773059e+00 1.5652557e+00 + 4.9776906e+00 1.5857596e+00 + 4.9780752e+00 1.5907877e+00 + 4.9784599e+00 1.5928379e+00 + 4.9788445e+00 1.5888940e+00 + 4.9792292e+00 1.5887696e+00 + 4.9796138e+00 1.5821349e+00 + 4.9799985e+00 1.5781983e+00 + 4.9803831e+00 1.5802510e+00 + 4.9807678e+00 1.5809548e+00 + 4.9811524e+00 1.5802976e+00 + 4.9815370e+00 1.5750987e+00 + 4.9819217e+00 1.5739059e+00 + 4.9823063e+00 1.5767920e+00 + 4.9826910e+00 1.5804603e+00 + 4.9830756e+00 1.5732484e+00 + 4.9834603e+00 1.5727273e+00 + 4.9838449e+00 1.5680673e+00 + 4.9842296e+00 1.5758914e+00 + 4.9846142e+00 1.5762154e+00 + 4.9849988e+00 1.5871348e+00 + 4.9853835e+00 1.5827994e+00 + 4.9857681e+00 1.5767096e+00 + 4.9861528e+00 1.5711147e+00 + 4.9865374e+00 1.5748442e+00 + 4.9869221e+00 1.5849432e+00 + 4.9873067e+00 1.5867362e+00 + 4.9876914e+00 1.5846420e+00 + 4.9880760e+00 1.5914257e+00 + 4.9884607e+00 1.5986499e+00 + 4.9888453e+00 1.6126577e+00 + 4.9892299e+00 1.6100842e+00 + 4.9896146e+00 1.6113491e+00 + 4.9899992e+00 1.6185496e+00 + 4.9903839e+00 1.6202829e+00 + 4.9907685e+00 1.6220642e+00 + 4.9911532e+00 1.6186534e+00 + 4.9915378e+00 1.6149159e+00 + 4.9919225e+00 1.6135986e+00 + 4.9923071e+00 1.6162440e+00 + 4.9926917e+00 1.6237708e+00 + 4.9930764e+00 1.6191134e+00 + 4.9934610e+00 1.6220269e+00 + 4.9938457e+00 1.6161394e+00 + 4.9942303e+00 1.6222565e+00 + 4.9946150e+00 1.6286927e+00 + 4.9949996e+00 1.6185544e+00 + 4.9953843e+00 1.6191360e+00 + 4.9957689e+00 1.6132270e+00 + 4.9961536e+00 1.6083446e+00 + 4.9965382e+00 1.6002221e+00 + 4.9969228e+00 1.6097895e+00 + 4.9973075e+00 1.6186876e+00 + 4.9976921e+00 1.6277497e+00 + 4.9980768e+00 1.6232575e+00 + 4.9984614e+00 1.6267014e+00 + 4.9988461e+00 1.6194380e+00 + 4.9992307e+00 1.6381398e+00 + 4.9996154e+00 1.6475439e+00 + 5.0000000e+00 1.6394493e+00 diff --git a/Master/texmf-dist/doc/latex/pgfplots/plotdata/pgfplots_scatterdata3.dat b/Master/texmf-dist/doc/latex/pgfplots/plotdata/pgfplots_scatterdata3.dat new file mode 100644 index 00000000000..703900b0983 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pgfplots/plotdata/pgfplots_scatterdata3.dat @@ -0,0 +1,2253 @@ +x_0 x_1 f(x) +$flags auto[subscript]:8 auto[subscript]:8 auto[subscript]:8 +10000 200 -9.51763000e+04 +10000 1.13125000e+03 -8.20348500e+04 +10000 2.06250000e+03 -1.86114685e+06 +10000 2.29531250e+03 -41045 +10000 2.52812500e+03 -318150 +10000 2.76093750e+03 -118795 +10000 2.87734375e+03 -32750 +10000 2.99375000e+03 -748550 +10000 3.22656250e+03 -17215 +10000 3.45937500e+03 297640 +10000 3.57578125e+03 32625 +10000 3.69218750e+03 112265 +10000 3925 -1.24947219e+07 +10000 4.15781250e+03 -14435 +10000 4.39062500e+03 -275635 +10000 4.62343750e+03 -124620 +10000 4.73984375e+03 -38980 +10000 4.85625000e+03 -3117495 +10000 4.97265625e+03 -56850 +10000 5.08906250e+03 -266000 +10000 5.20546875e+03 -75850 +10000 5.32187500e+03 -1296900 +10000 5.43828125e+03 -90100 +10000 5.55468750e+03 -362200 +10000 5.67109375e+03 -88000 +10000 5.78750000e+03 -4553345 +10000 5.90390625e+03 -55550 +10000 6.02031250e+03 -102700 +10000 6.13671875e+03 7150 +10000 6.25312500e+03 572450 +10000 6.36953125e+03 71100 +10000 6.48593750e+03 352650 +10000 6.60234375e+03 99650 +10000 6.71875000e+03 4241850 +10000 6.83515625e+03 89550 +10000 6.95156250e+03 305550 +10000 7.06796875e+03 62700 +10000 7.18437500e+03 810200 +10000 7.30078125e+03 37000 +10000 7.41718750e+03 108850 +10000 7650 -3.88316118e+07 +10000 7.76640625e+03 5500 +10000 7.88281250e+03 3750 +10000 7.99921875e+03 -3250 +10000 8.11562500e+03 -98150 +10000 8.23203125e+03 -9650 +10000 8.34843750e+03 -49500 +10000 8.46484375e+03 -14950 +10000 8.58125000e+03 -1079200 +10000 8.69765625e+03 -19650 +10000 8.81406250e+03 -88200 +10000 8.93046875e+03 -24350 +10000 9.04687500e+03 -427650 +10000 9.16328125e+03 -29050 +10000 9.27968750e+03 -125850 +10000 9.39609375e+03 -33800 +10000 9.51250000e+03 -8796350 +10000 9.62890625e+03 -38250 +10000 9.74531250e+03 -160750 +10000 9.86171875e+03 -41900 +10000 9.97812500e+03 -694400 +10000 1.00945312e+04 -45000 +10000 1.02109375e+04 -186450 +10000 1.03273438e+04 -48650 +10000 1.04437500e+04 -3171850 +10000 1.05601562e+04 -51550 +10000 1.06765625e+04 -213400 +10000 1.07929688e+04 -54750 +10000 1.09093750e+04 -884550 +10000 1.10257812e+04 -56600 +10000 1.11421875e+04 -224250 +10000 1.12585938e+04 -55350 +10000 11375 -21266100 +10000 1.14914062e+04 -50950 +10000 1.16078125e+04 -189550 +10000 1.17242188e+04 -43400 +10000 1.18406250e+04 -599150 +10000 1.19570312e+04 -32750 +10000 1.20734375e+04 -104100 +10000 1.23062500e+04 -663150 +10000 1.25390625e+04 17000 +10000 1.27718750e+04 304000 +10000 1.30046875e+04 132000 +10000 1.31210938e+04 39500 +10000 1.32375000e+04 7859850 +10000 1.33539062e+04 48500 +10000 1.34703125e+04 207000 +10000 1.35867188e+04 54500 +10000 1.37031250e+04 881500 +10000 1.38195312e+04 56500 +10000 1.39359375e+04 226500 +10000 1.40523438e+04 55000 +10000 1.41687500e+04 3380000 +10000 1.42851562e+04 53500 +10000 1.44015625e+04 206500 +10000 1.45179688e+04 49000 +10000 1.46343750e+04 746500 +10000 1.47507812e+04 45000 +10000 1.48671875e+04 166000 +10000 1.49835938e+04 39000 +10000 15100 -4.03684118e+07 +10000 1.52164062e+04 34000 +10000 1.53328125e+04 125000 +10000 1.55656250e+04 429000 +10000 1.57984375e+04 90000 +10000 1.60312500e+04 1252000 +10000 1.62640625e+04 63000 +10000 1.64968750e+04 213000 +10000 1.67296875e+04 43000 +10000 1.69625000e+04 2651000 +10000 1.71953125e+04 29000 +10000 1.74281250e+04 92500 +10000 1.76609375e+04 17500 +10000 1.78937500e+04 216000 +10000 1.81265625e+04 8000 +10000 1.83593750e+04 18500 +10000 1.85921875e+04 500 +10000 18825 -1154000 +10000 1.90578125e+04 -8000 +10000 1.92906250e+04 -49000 +10000 1.95234375e+04 -17000 +10000 1.97562500e+04 -364500 +10000 1.99890625e+04 -27500 +10000 2.02218750e+04 -136500 +10000 2.04546875e+04 -41000 +10000 2.06875000e+04 -3262000 +10000 2.09203125e+04 -55500 +10000 2.11531250e+04 -259000 +10000 2.13859375e+04 -73500 +10000 2.16187500e+04 -1336500 +10000 2.18515625e+04 -93000 +10000 2.20843750e+04 -412500 +10000 2.23171875e+04 -112500 +10000 22550 -73260000 +10000 2.27828125e+04 -131500 +10000 2.28992188e+04 -34500 +10000 2.30156250e+04 -562000 +10000 2.31320312e+04 -35500 +10000 2.32484375e+04 -148500 +10000 2.33648438e+04 -38000 +10000 2.34812500e+04 -2434500 +10000 2.35976562e+04 -38500 +10000 2.37140625e+04 -158000 +10000 2.38304688e+04 -40500 +10000 2.39468750e+04 -641500 +10000 2.40632812e+04 -40500 +10000 2.41796875e+04 -161500 +10000 2.42960938e+04 -41000 +10000 2.44125000e+04 -9530000 +10000 2.45289062e+04 -40000 +10000 2.46453125e+04 -155500 +10000 2.47617188e+04 -38500 +10000 2.48781250e+04 -599000 +10000 2.49945312e+04 -37000 +10000 2.51109375e+04 -142500 +10000 2.52273438e+04 -35500 +10000 2.53437500e+04 -2066500 +10000 2.55765625e+04 -119500 +10000 2.58093750e+04 -421500 +10000 2.60421875e+04 -91000 +10000 26275 -15786000 +10000 2.65078125e+04 -59000 +10000 2.67406250e+04 -166500 +10000 2.69734375e+04 -24500 +10000 2.72062500e+04 -141000 +10000 2.74390625e+04 9500 +10000 2.76718750e+04 95500 +10000 2.79046875e+04 38000 +10000 2.81375000e+04 2911000 +10000 2.83703125e+04 63500 +10000 2.86031250e+04 297000 +10000 2.88359375e+04 82500 +10000 2.90687500e+04 1449000 +10000 2.93015625e+04 98500 +10000 2.95343750e+04 414000 +10000 2.97671875e+04 107500 +10000 30000 4.004e+08 +1.06091309e+04 200 0 +1.06091309e+04 15100 20500 +1.06091309e+04 22550 -3250 +1.06091309e+04 26275 -60000 +1.06091309e+04 30000 -52000 +1.12182617e+04 200 0 +1.12182617e+04 7650 6050 +1.12182617e+04 11375 -101050 +1.12182617e+04 1.32375000e+04 -44800 +1.12182617e+04 15100 79250 +1.12182617e+04 18825 60500 +1.12182617e+04 22550 -6500 +1.12182617e+04 26275 -210000 +1.12182617e+04 2.81375000e+04 -41000 +1.12182617e+04 30000 -195500 +1.18273926e+04 200 0 +1.18273926e+04 15100 18750 +1.18273926e+04 22550 1250 +1.18273926e+04 26275 -47000 +1.18273926e+04 30000 -45500 +1.24365234e+04 200 0 +1.24365234e+04 3925 1885 +1.24365234e+04 5.78750000e+03 -90155 +1.24365234e+04 7650 25250 +1.24365234e+04 9.51250000e+03 96000 +1.24365234e+04 11375 -317025 +1.24365234e+04 1.23062500e+04 -98275 +1.24365234e+04 1.32375000e+04 -164675 +1.24365234e+04 1.41687500e+04 34000 +1.24365234e+04 15100 275750 +1.24365234e+04 1.69625000e+04 35000 +1.24365234e+04 18825 192500 +1.24365234e+04 2.06875000e+04 91000 +1.24365234e+04 2.16187500e+04 32750 +1.24365234e+04 22550 34250 +1.24365234e+04 2.44125000e+04 -58000 +1.24365234e+04 2.53437500e+04 -45500 +1.24365234e+04 26275 -673250 +1.24365234e+04 2.72062500e+04 -59000 +1.24365234e+04 2.81375000e+04 -151250 +1.24365234e+04 30000 -693500 +1.30456543e+04 200 0 +1.30456543e+04 15100 16500 +1.30456543e+04 22550 4500 +1.30456543e+04 26275 -37000 +1.30456543e+04 30000 -41000 +1.36547852e+04 200 0 +1.36547852e+04 7650 6200 +1.36547852e+04 11375 -61075 +1.36547852e+04 1.32375000e+04 -38575 +1.36547852e+04 15100 60000 +1.36547852e+04 18825 37500 +1.36547852e+04 22550 19250 +1.36547852e+04 26275 -132250 +1.36547852e+04 2.81375000e+04 -34750 +1.36547852e+04 30000 -153000 +1.42639160e+04 200 0 +1.42639160e+04 15100 14500 +1.42639160e+04 30000 -36000 +1.48730469e+04 200 0 +1.48730469e+04 3925 4595 +1.48730469e+04 4.85625000e+03 89590 +1.48730469e+04 5.78750000e+03 -250710 +1.48730469e+04 6.25312500e+03 -94800 +1.48730469e+04 6.71875000e+03 900 +1.48730469e+04 7.18437500e+03 44500 +1.48730469e+04 7650 97850 +1.48730469e+04 8.58125000e+03 49125 +1.48730469e+04 9.51250000e+03 269650 +1.48730469e+04 1.04437500e+04 77275 +1.48730469e+04 11375 -842525 +1.48730469e+04 1.18406250e+04 -42925 +1.48730469e+04 1.23062500e+04 -261075 +1.48730469e+04 1.27718750e+04 -76000 +1.48730469e+04 1.32375000e+04 -551075 +1.48730469e+04 1.41687500e+04 69500 +1.48730469e+04 1.46343750e+04 33250 +1.48730469e+04 15100 868000 +1.48730469e+04 1.60312500e+04 56250 +1.48730469e+04 1.69625000e+04 116000 +1.48730469e+04 18825 531750 +1.48730469e+04 1.97562500e+04 35250 +1.48730469e+04 2.06875000e+04 238750 +1.48730469e+04 2.16187500e+04 84500 +1.48730469e+04 22550 354000 +1.48730469e+04 2.34812500e+04 59750 +1.48730469e+04 2.44125000e+04 -81500 +1.48730469e+04 2.53437500e+04 -107250 +1.48730469e+04 2.58093750e+04 -37250 +1.48730469e+04 26275 -1819250 +1.48730469e+04 2.67406250e+04 -46750 +1.48730469e+04 2.72062500e+04 -174000 +1.48730469e+04 2.76718750e+04 -40250 +1.48730469e+04 2.81375000e+04 -499250 +1.48730469e+04 2.90687500e+04 -62250 +1.48730469e+04 30000 -2246000 +1.54821777e+04 200 0 +1.54821777e+04 15100 13000 +1.54821777e+04 30000 -33000 +1.60913086e+04 200 0 +1.60913086e+04 7650 6050 +1.60913086e+04 11375 -39225 +1.60913086e+04 15100 46500 +1.60913086e+04 22550 28500 +1.60913086e+04 26275 -87250 +1.60913086e+04 30000 -123000 +1.73095703e+04 200 0 +1.73095703e+04 3925 600 +1.73095703e+04 5.78750000e+03 -41550 +1.73095703e+04 7650 23300 +1.73095703e+04 9.51250000e+03 45450 +1.73095703e+04 11375 -130500 +1.73095703e+04 1.23062500e+04 -40000 +1.73095703e+04 1.32375000e+04 -111700 +1.73095703e+04 15100 167250 +1.73095703e+04 18825 88750 +1.73095703e+04 2.06875000e+04 36750 +1.73095703e+04 22550 118250 +1.73095703e+04 26275 -286000 +1.73095703e+04 2.81375000e+04 -100500 +1.73095703e+04 30000 -448500 +1.85278320e+04 200 0 +1.85278320e+04 15100 37750 +1.85278320e+04 22550 30250 +1.85278320e+04 26275 -58250 +1.85278320e+04 30000 -101500 +1.97460938e+04 200 0 +1.97460938e+04 2.06250000e+03 13525 +1.97460938e+04 2.99375000e+03 -47780 +1.97460938e+04 3.45937500e+03 -39800 +1.97460938e+04 3925 8800 +1.97460938e+04 4.39062500e+03 33995 +1.97460938e+04 4.85625000e+03 213050 +1.97460938e+04 5.32187500e+03 62350 +1.97460938e+04 5.78750000e+03 -573125 +1.97460938e+04 6.02031250e+03 -55975 +1.97460938e+04 6.25312500e+03 -236950 +1.97460938e+04 6.48593750e+03 -39425 +1.97460938e+04 6.71875000e+03 -90175 +1.97460938e+04 6.95156250e+03 34500 +1.97460938e+04 7.18437500e+03 115825 +1.97460938e+04 7650 346900 +1.97460938e+04 8.58125000e+03 113425 +1.97460938e+04 9.04687500e+03 35100 +1.97460938e+04 9.51250000e+03 628025 +1.97460938e+04 9.97812500e+03 43325 +1.97460938e+04 1.04437500e+04 186550 +1.97460938e+04 1.09093750e+04 42725 +1.97460938e+04 11375 -1775900 +1.97460938e+04 1.18406250e+04 -74050 +1.97460938e+04 1.23062500e+04 -540725 +1.97460938e+04 1.25390625e+04 -43275 +1.97460938e+04 1.27718750e+04 -177125 +1.97460938e+04 1.30046875e+04 -43300 +1.97460938e+04 1.32375000e+04 -1533275 +1.97460938e+04 1.37031250e+04 -59000 +1.97460938e+04 1.41687500e+04 50500 +1.97460938e+04 1.46343750e+04 65500 +1.97460938e+04 15100 2320750 +1.97460938e+04 1.55656250e+04 59000 +1.97460938e+04 1.60312500e+04 167500 +1.97460938e+04 1.69625000e+04 351000 +1.97460938e+04 1.78937500e+04 38500 +1.97460938e+04 18825 1256250 +1.97460938e+04 1.97562500e+04 72500 +1.97460938e+04 2.06875000e+04 506250 +1.97460938e+04 2.11531250e+04 38750 +1.97460938e+04 2.16187500e+04 184750 +1.97460938e+04 2.20843750e+04 52500 +1.97460938e+04 22550 1726250 +1.97460938e+04 2.30156250e+04 54000 +1.97460938e+04 2.34812500e+04 174250 +1.97460938e+04 2.44125000e+04 60500 +1.97460938e+04 2.53437500e+04 -172250 +1.97460938e+04 2.58093750e+04 -69250 +1.97460938e+04 26275 -3847500 +1.97460938e+04 2.67406250e+04 -100000 +1.97460938e+04 2.72062500e+04 -412250 +1.97460938e+04 2.76718750e+04 -102250 +1.97460938e+04 2.81375000e+04 -1358000 +1.97460938e+04 2.86031250e+04 -77000 +1.97460938e+04 2.90687500e+04 -226250 +1.97460938e+04 2.95343750e+04 -36250 +1.97460938e+04 30000 -6329500 +2.09643555e+04 200 0 +2.09643555e+04 15100 30250 +2.09643555e+04 22550 28750 +2.09643555e+04 26275 -40500 +2.09643555e+04 30000 -84500 +2.21826172e+04 200 0 +2.21826172e+04 7650 20350 +2.21826172e+04 11375 -63100 +2.21826172e+04 1.32375000e+04 -73475 +2.21826172e+04 15100 108750 +2.21826172e+04 18825 52500 +2.21826172e+04 22550 114500 +2.21826172e+04 26275 -137000 +2.21826172e+04 2.81375000e+04 -64250 +2.21826172e+04 30000 -312500 +2.34008789e+04 200 0 +2.34008789e+04 15100 24500 +2.34008789e+04 30000 -72000 +2.46191406e+04 200 0 +2.46191406e+04 3925 835 +2.46191406e+04 5.78750000e+03 -72280 +2.46191406e+04 6.25312500e+03 -33000 +2.46191406e+04 6.71875000e+03 -32775 +2.46191406e+04 7650 74350 +2.46191406e+04 9.51250000e+03 82025 +2.46191406e+04 11375 -188675 +2.46191406e+04 1.23062500e+04 -54800 +2.46191406e+04 1.32375000e+04 -246750 +2.46191406e+04 15100 364750 +2.46191406e+04 1.69625000e+04 65500 +2.46191406e+04 18825 173000 +2.46191406e+04 2.06875000e+04 55500 +2.46191406e+04 22550 424750 +2.46191406e+04 2.44125000e+04 57500 +2.46191406e+04 26275 -401250 +2.46191406e+04 2.72062500e+04 -52750 +2.46191406e+04 2.81375000e+04 -211250 +2.46191406e+04 2.90687500e+04 -45000 +2.46191406e+04 30000 -1073500 +2.58374023e+04 200 0 +2.58374023e+04 15100 20500 +2.58374023e+04 30000 -61000 +2.70556641e+04 200 0 +2.70556641e+04 7650 17200 +2.70556641e+04 11375 -33625 +2.70556641e+04 1.32375000e+04 -50425 +2.70556641e+04 15100 75000 +2.70556641e+04 18825 36000 +2.70556641e+04 22550 97750 +2.70556641e+04 26275 -70250 +2.70556641e+04 2.81375000e+04 -43000 +2.70556641e+04 30000 -229000 +2.82739258e+04 200 0 +2.82739258e+04 15100 17000 +2.82739258e+04 30000 -53000 +2.94921875e+04 200 0 +2.94921875e+04 2.06250000e+03 3.42375000e+04 +2.94921875e+04 2.52812500e+03 36835 +2.94921875e+04 2.99375000e+03 -80205 +2.94921875e+04 3.45937500e+03 -89000 +2.94921875e+04 3925 16430 +2.94921875e+04 4.39062500e+03 6.77525000e+04 +2.94921875e+04 4.85625000e+03 4.15527500e+05 +2.94921875e+04 5.08906250e+03 34635 +2.94921875e+04 5.32187500e+03 130535 +2.94921875e+04 5.78750000e+03 -1.05260250e+06 +2.94921875e+04 6.02031250e+03 -85225 +2.94921875e+04 6.25312500e+03 -454350 +2.94921875e+04 6.36953125e+03 -33875 +2.94921875e+04 6.48593750e+03 -105025 +2.94921875e+04 6.71875000e+03 -417800 +2.94921875e+04 6.95156250e+03 48975 +2.94921875e+04 7.18437500e+03 227550 +2.94921875e+04 7.41718750e+03 49125 +2.94921875e+04 7650 1046800 +2.94921875e+04 8.11562500e+03 57275 +2.94921875e+04 8.58125000e+03 223175 +2.94921875e+04 9.04687500e+03 64250 +2.94921875e+04 9.51250000e+03 1198800 +2.94921875e+04 9.97812500e+03 83150 +2.94921875e+04 1.04437500e+04 361825 +2.94921875e+04 1.09093750e+04 93175 +2.94921875e+04 11375 -2816525 +2.94921875e+04 1.18406250e+04 -87075 +2.94921875e+04 1.20734375e+04 -38450 +2.94921875e+04 1.23062500e+04 -835125 +2.94921875e+04 1.25390625e+04 -69825 +2.94921875e+04 1.27718750e+04 -312000 +2.94921875e+04 1.30046875e+04 -82475 +2.94921875e+04 1.32375000e+04 -3314925 +2.94921875e+04 1.34703125e+04 -66700 +2.94921875e+04 1.37031250e+04 -198600 +2.94921875e+04 1.41687500e+04 -228100 +2.94921875e+04 1.46343750e+04 70000 +2.94921875e+04 15100 4996750 +2.94921875e+04 1.53328125e+04 34000 +2.94921875e+04 1.55656250e+04 125500 +2.94921875e+04 1.60312500e+04 401500 +2.94921875e+04 1.64968750e+04 73000 +2.94921875e+04 1.69625000e+04 914750 +2.94921875e+04 1.74281250e+04 33750 +2.94921875e+04 1.78937500e+04 101750 +2.94921875e+04 18825 2574000 +2.94921875e+04 1.97562500e+04 125500 +2.94921875e+04 2.02218750e+04 40500 +2.94921875e+04 2.06875000e+04 862750 +2.94921875e+04 2.11531250e+04 65250 +2.94921875e+04 2.16187500e+04 318750 +2.94921875e+04 2.20843750e+04 93000 +2.94921875e+04 22550 5584500 +2.94921875e+04 2.30156250e+04 105000 +2.94921875e+04 2.34812500e+04 382250 +2.94921875e+04 2.39468750e+04 79250 +2.94921875e+04 2.44125000e+04 606750 +2.94921875e+04 2.53437500e+04 -149000 +2.94921875e+04 2.58093750e+04 -83500 +2.94921875e+04 26275 -5960500 +2.94921875e+04 2.65078125e+04 -35750 +2.94921875e+04 2.67406250e+04 -162250 +2.94921875e+04 2.69734375e+04 -44500 +2.94921875e+04 2.72062500e+04 -724750 +2.94921875e+04 2.74390625e+04 -47250 +2.94921875e+04 2.76718750e+04 -195000 +2.94921875e+04 2.79046875e+04 -48750 +2.94921875e+04 2.81375000e+04 -2816750 +2.94921875e+04 2.83703125e+04 -46000 +2.94921875e+04 2.86031250e+04 -174500 +2.94921875e+04 2.88359375e+04 -41000 +2.94921875e+04 2.90687500e+04 -592000 +2.94921875e+04 2.93015625e+04 -33750 +2.94921875e+04 2.95343750e+04 -117000 +2.94921875e+04 30000 -14884500 +3.07104492e+04 200 0 +3.07104492e+04 15100 14250 +3.07104492e+04 30000 -46500 +3.19287109e+04 200 0 +3.19287109e+04 7650 14500 +3.19287109e+04 11375 -18900 +3.19287109e+04 1.32375000e+04 -35800 +3.19287109e+04 15100 53750 +3.19287109e+04 22550 80750 +3.19287109e+04 26275 -37000 +3.19287109e+04 30000 -173500 +3.31469727e+04 200 0 +3.31469727e+04 15100 12500 +3.31469727e+04 30000 -41000 +3.43652344e+04 200 0 +3.43652344e+04 7650 54550 +3.43652344e+04 9.51250000e+03 37825 +3.43652344e+04 11375 -57275 +3.43652344e+04 1.32375000e+04 -121000 +3.43652344e+04 15100 183750 +3.43652344e+04 1.69625000e+04 41750 +3.43652344e+04 18825 92250 +3.43652344e+04 22550 296250 +3.43652344e+04 2.44125000e+04 42500 +3.43652344e+04 26275 -111000 +3.43652344e+04 2.81375000e+04 -96500 +3.43652344e+04 30000 -615500 +3.55834961e+04 200 0 +3.55834961e+04 15100 11000 +3.55834961e+04 30000 -36000 +3.68017578e+04 200 0 +3.68017578e+04 15100 39000 +3.68017578e+04 22550 67500 +3.68017578e+04 30000 -136000 +3.92382812e+04 200 0 +3.92382812e+04 3925 2260 +3.92382812e+04 4.85625000e+03 4.12625000e+04 +3.92382812e+04 5.78750000e+03 -9.00925000e+04 +3.92382812e+04 6.25312500e+03 -39800 +3.92382812e+04 6.71875000e+03 -89825 +3.92382812e+04 7650 187700 +3.92382812e+04 9.51250000e+03 115075 +3.92382812e+04 1.04437500e+04 34925 +3.92382812e+04 11375 -139825 +3.92382812e+04 1.23062500e+04 -39200 +3.92382812e+04 1.32375000e+04 -364250 +3.92382812e+04 1.37031250e+04 -33600 +3.92382812e+04 1.41687500e+04 -88100 +3.92382812e+04 15100 562000 +3.92382812e+04 1.60312500e+04 51000 +3.92382812e+04 1.69625000e+04 139250 +3.92382812e+04 18825 296250 +3.92382812e+04 2.06875000e+04 63500 +3.92382812e+04 22550 994250 +3.92382812e+04 2.34812500e+04 42500 +3.92382812e+04 2.44125000e+04 140250 +3.92382812e+04 26275 -253500 +3.92382812e+04 2.72062500e+04 -48500 +3.92382812e+04 2.81375000e+04 -280250 +3.92382812e+04 2.90687500e+04 -81250 +3.92382812e+04 30000 -1979000 +4.16748047e+04 200 0 +4.16748047e+04 15100 29500 +4.16748047e+04 22550 56250 +4.16748047e+04 30000 -108000 +4.41113281e+04 200 0 +4.41113281e+04 7650 40550 +4.41113281e+04 11375 -17200 +4.41113281e+04 1.32375000e+04 -65900 +4.41113281e+04 15100 103250 +4.41113281e+04 18825 59500 +4.41113281e+04 22550 206500 +4.41113281e+04 26275 -27500 +4.41113281e+04 2.81375000e+04 -48250 +4.41113281e+04 30000 -391500 +4.65478516e+04 200 0 +4.65478516e+04 15100 22750 +4.65478516e+04 22550 46750 +4.65478516e+04 30000 -87500 +4.89843750e+04 200 0 +4.89843750e+04 2.06250000e+03 7.56925000e+04 +4.89843750e+04 2.52812500e+03 5.80925000e+04 +4.89843750e+04 2.99375000e+03 -1.02297500e+05 +4.89843750e+04 3.22656250e+03 -3.40775000e+04 +4.89843750e+04 3.45937500e+03 -155180 +4.89843750e+04 3925 47145 +4.89843750e+04 4.39062500e+03 115970 +4.89843750e+04 4.85625000e+03 6.77292500e+05 +4.89843750e+04 5.08906250e+03 5.43175000e+04 +4.89843750e+04 5.32187500e+03 2.21417500e+05 +4.89843750e+04 5.55468750e+03 46650 +4.89843750e+04 5.78750000e+03 -1.55899750e+06 +4.89843750e+04 6.02031250e+03 -97950 +4.89843750e+04 6.13671875e+03 -37650 +4.89843750e+04 6.25312500e+03 -663025 +4.89843750e+04 6.36953125e+03 -52675 +4.89843750e+04 6.48593750e+03 -192425 +4.89843750e+04 6.60234375e+03 -39900 +4.89843750e+04 6.71875000e+03 -1105075 +4.89843750e+04 6.95156250e+03 21725 +4.89843750e+04 7.18437500e+03 293150 +4.89843750e+04 7.41718750e+03 93325 +4.89843750e+04 7650 2551950 +4.89843750e+04 7.88281250e+03 44400 +4.89843750e+04 8.11562500e+03 125825 +4.89843750e+04 8.58125000e+03 399225 +4.89843750e+04 9.04687500e+03 99500 +4.89843750e+04 9.51250000e+03 1935800 +4.89843750e+04 9.74531250e+03 33000 +4.89843750e+04 9.97812500e+03 133550 +4.89843750e+04 1.02109375e+04 33800 +4.89843750e+04 1.04437500e+04 577575 +4.89843750e+04 1.06765625e+04 39350 +4.89843750e+04 1.09093750e+04 155225 +4.89843750e+04 1.11421875e+04 35425 +4.89843750e+04 11375 -3181600 +4.89843750e+04 1.18406250e+04 -58700 +4.89843750e+04 1.20734375e+04 -37625 +4.89843750e+04 1.23062500e+04 -969275 +4.89843750e+04 1.25390625e+04 -86125 +4.89843750e+04 1.27718750e+04 -415775 +4.89843750e+04 1.30046875e+04 -118450 +4.89843750e+04 1.32375000e+04 -5441700 +4.89843750e+04 1.34703125e+04 -117375 +4.89843750e+04 1.37031250e+04 -406975 +4.89843750e+04 1.39359375e+04 -83050 +4.89843750e+04 1.41687500e+04 -902025 +4.89843750e+04 1.44015625e+04 -32500 +4.89843750e+04 1.46343750e+04 -35750 +4.89843750e+04 15100 8380500 +4.89843750e+04 1.53328125e+04 39000 +4.89843750e+04 1.55656250e+04 175500 +4.89843750e+04 1.57984375e+04 47000 +4.89843750e+04 1.60312500e+04 691750 +4.89843750e+04 1.62640625e+04 42750 +4.89843750e+04 1.64968750e+04 153750 +4.89843750e+04 1.67296875e+04 34500 +4.89843750e+04 1.69625000e+04 1888750 +4.89843750e+04 1.74281250e+04 84750 +4.89843750e+04 1.78937500e+04 252000 +4.89843750e+04 1.83593750e+04 46250 +4.89843750e+04 18825 4682750 +4.89843750e+04 1.92906250e+04 39750 +4.89843750e+04 1.97562500e+04 191750 +4.89843750e+04 2.02218750e+04 57000 +4.89843750e+04 2.06875000e+04 1236500 +4.89843750e+04 2.11531250e+04 92500 +4.89843750e+04 2.16187500e+04 452750 +4.89843750e+04 2.20843750e+04 135250 +4.89843750e+04 2.23171875e+04 35000 +4.89843750e+04 22550 13036250 +4.89843750e+04 2.27828125e+04 39750 +4.89843750e+04 2.30156250e+04 163500 +4.89843750e+04 2.32484375e+04 41750 +4.89843750e+04 2.34812500e+04 635500 +4.89843750e+04 2.37140625e+04 39750 +4.89843750e+04 2.39468750e+04 148000 +4.89843750e+04 2.41796875e+04 33750 +4.89843750e+04 2.44125000e+04 1576500 +4.89843750e+04 2.48781250e+04 70750 +4.89843750e+04 2.53437500e+04 37500 +4.89843750e+04 2.58093750e+04 -55750 +4.89843750e+04 26275 -6443500 +4.89843750e+04 2.65078125e+04 -38750 +4.89843750e+04 2.67406250e+04 -185000 +4.89843750e+04 2.69734375e+04 -53250 +4.89843750e+04 2.72062500e+04 -927250 +4.89843750e+04 2.74390625e+04 -64500 +4.89843750e+04 2.76718750e+04 -271750 +4.89843750e+04 2.79046875e+04 -71250 +4.89843750e+04 2.81375000e+04 -4303500 +4.89843750e+04 2.83703125e+04 -73500 +4.89843750e+04 2.86031250e+04 -292500 +4.89843750e+04 2.88359375e+04 -71500 +4.89843750e+04 2.90687500e+04 -1088750 +4.89843750e+04 2.93015625e+04 -65750 +4.89843750e+04 2.95343750e+04 -245750 +4.89843750e+04 2.97671875e+04 -56000 +4.89843750e+04 30000 -28594000 +5.14208984e+04 200 0 +5.14208984e+04 15100 17500 +5.14208984e+04 22550 40500 +5.14208984e+04 30000 -73000 +5.38574219e+04 200 0 +5.38574219e+04 7650 31050 +5.38574219e+04 11375 -2350 +5.38574219e+04 1.32375000e+04 -38425 +5.38574219e+04 15100 61750 +5.38574219e+04 18825 41000 +5.38574219e+04 22550 149500 +5.38574219e+04 30000 -266500 +5.62939453e+04 200 0 +5.62939453e+04 15100 14250 +5.62939453e+04 22550 35000 +5.62939453e+04 30000 -61500 +5.87304688e+04 200 0 +5.87304688e+04 3925 2675 +5.87304688e+04 5.78750000e+03 -2.84375000e+04 +5.87304688e+04 6.71875000e+03 -48275 +5.87304688e+04 7650 108350 +5.87304688e+04 9.51250000e+03 46225 +5.87304688e+04 11375 1600 +5.87304688e+04 1.32375000e+04 -123975 +5.87304688e+04 1.41687500e+04 -48175 +5.87304688e+04 15100 202250 +5.87304688e+04 1.69625000e+04 64750 +5.87304688e+04 18825 142000 +5.87304688e+04 22550 517000 +5.87304688e+04 2.44125000e+04 63750 +5.87304688e+04 26275 22000 +5.87304688e+04 2.81375000e+04 -78250 +5.87304688e+04 30000 -907500 +6.11669922e+04 200 0 +6.11669922e+04 15100 11500 +6.11669922e+04 30000 -52000 +6.36035156e+04 200 0 +6.36035156e+04 15100 40000 +6.36035156e+04 22550 112000 +6.36035156e+04 30000 -192000 +6.60400391e+04 200 0 +6.60400391e+04 15100 9500 +6.60400391e+04 30000 -44000 +6.84765625e+04 200 0 +6.84765625e+04 3925 10865 +6.84765625e+04 4.85625000e+03 47725 +6.84765625e+04 5.78750000e+03 -75245 +6.84765625e+04 6.71875000e+03 -149075 +6.84765625e+04 7650 347850 +6.84765625e+04 8.58125000e+03 39150 +6.84765625e+04 9.51250000e+03 137700 +6.84765625e+04 1.04437500e+04 37950 +6.84765625e+04 11375 59775 +6.84765625e+04 1.32375000e+04 -331225 +6.84765625e+04 1.37031250e+04 -35625 +6.84765625e+04 1.41687500e+04 -142375 +6.84765625e+04 15100 549250 +6.84765625e+04 1.60312500e+04 37250 +6.84765625e+04 1.69625000e+04 190000 +6.84765625e+04 1.78937500e+04 38250 +6.84765625e+04 18825 438250 +6.84765625e+04 2.06875000e+04 63250 +6.84765625e+04 22550 1607250 +6.84765625e+04 2.34812500e+04 42750 +6.84765625e+04 2.44125000e+04 187750 +6.84765625e+04 2.53437500e+04 45000 +6.84765625e+04 26275 164000 +6.84765625e+04 2.81375000e+04 -191750 +6.84765625e+04 2.90687500e+04 -81250 +6.84765625e+04 30000 -2732500 +7.09130859e+04 200 0 +7.09130859e+04 15100 7500 +7.09130859e+04 30000 -38000 +7.33496094e+04 200 0 +7.33496094e+04 15100 26250 +7.33496094e+04 22550 85250 +7.33496094e+04 30000 -142500 +7.57861328e+04 200 0 +7.57861328e+04 15100 5750 +7.57861328e+04 30000 -32500 +7.82226562e+04 200 0 +7.82226562e+04 7650 68500 +7.82226562e+04 11375 23375 +7.82226562e+04 1.32375000e+04 -51150 +7.82226562e+04 15100 86500 +7.82226562e+04 1.69625000e+04 33250 +7.82226562e+04 18825 81750 +7.82226562e+04 22550 305750 +7.82226562e+04 2.44125000e+04 33500 +7.82226562e+04 26275 50000 +7.82226562e+04 30000 -500000 +8.30957031e+04 200 0 +8.30957031e+04 15100 18250 +8.30957031e+04 22550 67500 +8.30957031e+04 30000 -109500 +8.79687500e+04 200 0 +8.79687500e+04 2.06250000e+03 1.44227500e+05 +8.79687500e+04 2.52812500e+03 79300 +8.79687500e+04 2.99375000e+03 -9.60575000e+04 +8.79687500e+04 3.22656250e+03 -35110 +8.79687500e+04 3.45937500e+03 -2.16232500e+05 +8.79687500e+04 3.69218750e+03 -3.71775000e+04 +8.79687500e+04 3925 168645 +8.79687500e+04 4.15781250e+03 41975 +8.79687500e+04 4.39062500e+03 171615 +8.79687500e+04 4.62343750e+03 45535 +8.79687500e+04 4.85625000e+03 9.58967500e+05 +8.79687500e+04 5.08906250e+03 7.38925000e+04 +8.79687500e+04 5.32187500e+03 3.17917500e+05 +8.79687500e+04 5.55468750e+03 74125 +8.79687500e+04 5.78750000e+03 -1.88347250e+06 +8.79687500e+04 6.02031250e+03 -88975 +8.79687500e+04 6.13671875e+03 -38575 +8.79687500e+04 6.25312500e+03 -770325 +8.79687500e+04 6.36953125e+03 -64125 +8.79687500e+04 6.48593750e+03 -260950 +8.79687500e+04 6.60234375e+03 -62325 +8.79687500e+04 6.71875000e+03 -2033225 +8.79687500e+04 6.83515625e+03 -33775 +8.79687500e+04 6.95156250e+03 -62775 +8.79687500e+04 7.18437500e+03 171950 +8.79687500e+04 7.41718750e+03 116975 +8.79687500e+04 7650 4906350 +8.79687500e+04 7.88281250e+03 89200 +8.79687500e+04 8.11562500e+03 255975 +8.79687500e+04 8.34843750e+03 43825 +8.79687500e+04 8.58125000e+03 690600 +8.79687500e+04 8.81406250e+03 33050 +8.79687500e+04 9.04687500e+03 139975 +8.79687500e+04 9.27968750e+03 37875 +8.79687500e+04 9.51250000e+03 2802175 +8.79687500e+04 9.74531250e+03 44900 +8.79687500e+04 9.97812500e+03 184825 +8.79687500e+04 1.02109375e+04 47375 +8.79687500e+04 1.04437500e+04 796675 +8.79687500e+04 1.06765625e+04 52850 +8.79687500e+04 1.09093750e+04 214600 +8.79687500e+04 1.11421875e+04 52150 +8.79687500e+04 11375 -2178600 +8.79687500e+04 1.18406250e+04 5000 +8.79687500e+04 1.20734375e+04 -25450 +8.79687500e+04 1.23062500e+04 -883150 +8.79687500e+04 1.25390625e+04 -85775 +8.79687500e+04 1.27718750e+04 -445900 +8.79687500e+04 1.30046875e+04 -134225 +8.79687500e+04 1.31210938e+04 -35975 +8.79687500e+04 1.32375000e+04 -6987025 +8.79687500e+04 1.33539062e+04 -37800 +8.79687500e+04 1.34703125e+04 -152400 +8.79687500e+04 1.35867188e+04 -37900 +8.79687500e+04 1.37031250e+04 -580425 +8.79687500e+04 1.38195312e+04 -35350 +8.79687500e+04 1.39359375e+04 -133425 +8.79687500e+04 1.41687500e+04 -1716925 +8.79687500e+04 1.44015625e+04 -87800 +8.79687500e+04 1.46343750e+04 -242150 +8.79687500e+04 1.48671875e+04 -33750 +8.79687500e+04 15100 10961000 +8.79687500e+04 1.53328125e+04 11750 +8.79687500e+04 1.55656250e+04 113250 +8.79687500e+04 1.57984375e+04 42000 +8.79687500e+04 1.60312500e+04 724750 +8.79687500e+04 1.62640625e+04 55000 +8.79687500e+04 1.64968750e+04 218500 +8.79687500e+04 1.67296875e+04 54000 +8.79687500e+04 1.69625000e+04 2831750 +8.79687500e+04 1.71953125e+04 46000 +8.79687500e+04 1.74281250e+04 167000 +8.79687500e+04 1.76609375e+04 37000 +8.79687500e+04 1.78937500e+04 528000 +8.79687500e+04 1.83593750e+04 100500 +8.79687500e+04 18825 7453750 +8.79687500e+04 1.92906250e+04 71750 +8.79687500e+04 1.97562500e+04 294000 +8.79687500e+04 2.02218750e+04 79750 +8.79687500e+04 2.06875000e+04 1631000 +8.79687500e+04 2.11531250e+04 115500 +8.79687500e+04 2.16187500e+04 565500 +8.79687500e+04 2.18515625e+04 38750 +8.79687500e+04 2.20843750e+04 167500 +8.79687500e+04 2.23171875e+04 45250 +8.79687500e+04 22550 23389250 +8.79687500e+04 2.27828125e+04 50500 +8.79687500e+04 2.30156250e+04 212000 +8.79687500e+04 2.32484375e+04 54500 +8.79687500e+04 2.34812500e+04 865000 +8.79687500e+04 2.37140625e+04 55000 +8.79687500e+04 2.39468750e+04 212000 +8.79687500e+04 2.41796875e+04 51500 +8.79687500e+04 2.44125000e+04 2657750 +8.79687500e+04 2.46453125e+04 42500 +8.79687500e+04 2.48781250e+04 145250 +8.79687500e+04 2.53437500e+04 326250 +8.79687500e+04 2.58093750e+04 11500 +8.79687500e+04 26275 -4484000 +8.79687500e+04 2.65078125e+04 -26500 +8.79687500e+04 2.67406250e+04 -148750 +8.79687500e+04 2.69734375e+04 -45750 +8.79687500e+04 2.72062500e+04 -877250 +8.79687500e+04 2.74390625e+04 -64500 +8.79687500e+04 2.76718750e+04 -285000 +8.79687500e+04 2.79046875e+04 -78000 +8.79687500e+04 2.81375000e+04 -4954750 +8.79687500e+04 2.83703125e+04 -87250 +8.79687500e+04 2.86031250e+04 -361000 +8.79687500e+04 2.88359375e+04 -91750 +8.79687500e+04 2.90687500e+04 -1460500 +8.79687500e+04 2.93015625e+04 -92250 +8.79687500e+04 2.95343750e+04 -360500 +8.79687500e+04 2.97671875e+04 -87750 +8.79687500e+04 30000 -45253000 +9.28417969e+04 200 0 +9.28417969e+04 15100 12250 +9.28417969e+04 22550 54000 +9.28417969e+04 30000 -85500 +9.77148438e+04 200 0 +9.77148438e+04 7650 45600 +9.77148438e+04 15100 41000 +9.77148438e+04 18825 51500 +9.77148438e+04 22550 196250 +9.77148438e+04 26275 44750 +9.77148438e+04 30000 -307000 +1.02587891e+05 200 0 +1.02587891e+05 15100 8250 +1.02587891e+05 22550 43750 +1.02587891e+05 30000 -68500 +1.07460938e+05 200 0 +1.07460938e+05 3925 10030 +1.07460938e+05 5.78750000e+03 -1.31525000e+04 +1.07460938e+05 6.71875000e+03 -56925 +1.07460938e+05 7650 153750 +1.07460938e+05 9.51250000e+03 53825 +1.07460938e+05 11375 91475 +1.07460938e+05 1.32375000e+04 -70150 +1.07460938e+05 1.41687500e+04 -45875 +1.07460938e+05 15100 118000 +1.07460938e+05 1.69625000e+04 46750 +1.07460938e+05 18825 172750 +1.07460938e+05 22550 652000 +1.07460938e+05 2.44125000e+04 62000 +1.07460938e+05 26275 164250 +1.07460938e+05 30000 -1006000 +1.12333984e+05 200 0 +1.12333984e+05 15100 5250 +1.12333984e+05 22550 36500 +1.12333984e+05 30000 -55500 +1.17207031e+05 200 0 +1.17207031e+05 15100 20000 +1.17207031e+05 18825 34750 +1.17207031e+05 22550 134250 +1.17207031e+05 26275 36500 +1.17207031e+05 30000 -203000 +1.22080078e+05 200 0 +1.22080078e+05 15100 3750 +1.22080078e+05 30000 -45500 +1.26953125e+05 200 0 +1.26953125e+05 3925 36690 +1.26953125e+05 4.85625000e+03 47170 +1.26953125e+05 5.78750000e+03 -23970 +1.26953125e+05 6.71875000e+03 -159850 +1.26953125e+05 7.18437500e+03 -42950 +1.26953125e+05 7650 453600 +1.26953125e+05 8.58125000e+03 64775 +1.26953125e+05 9.51250000e+03 160925 +1.26953125e+05 1.04437500e+04 35750 +1.26953125e+05 11375 315700 +1.26953125e+05 1.32375000e+04 -160175 +1.26953125e+05 1.41687500e+04 -121200 +1.26953125e+05 1.46343750e+04 -37700 +1.26953125e+05 15100 260000 +1.26953125e+05 1.60312500e+04 -42000 +1.26953125e+05 1.69625000e+04 92500 +1.26953125e+05 1.78937500e+04 56500 +1.26953125e+05 18825 490000 +1.26953125e+05 2.06875000e+04 75000 +1.26953125e+05 22550 1898500 +1.26953125e+05 2.34812500e+04 32500 +1.26953125e+05 2.44125000e+04 169750 +1.26953125e+05 2.53437500e+04 50250 +1.26953125e+05 26275 526000 +1.26953125e+05 2.81375000e+04 750 +1.26953125e+05 2.90687500e+04 -34250 +1.26953125e+05 30000 -2858000 +1.31826172e+05 200 0 +1.31826172e+05 15100 2750 +1.31826172e+05 30000 -38500 +1.36699219e+05 200 0 +1.36699219e+05 15100 10000 +1.36699219e+05 22550 96000 +1.36699219e+05 30000 -142000 +1.41572266e+05 200 0 +1.41572266e+05 15100 1750 +1.41572266e+05 30000 -32500 +1.46445312e+05 200 0 +1.46445312e+05 7650 81150 +1.46445312e+05 11375 66725 +1.46445312e+05 15100 26000 +1.46445312e+05 18825 83250 +1.46445312e+05 22550 333000 +1.46445312e+05 26275 103250 +1.46445312e+05 30000 -486000 +1.56191406e+05 200 0 +1.56191406e+05 15100 5000 +1.56191406e+05 22550 72500 +1.56191406e+05 30000 -104000 +1.65937500e+05 200 0 +1.65937500e+05 2.06250000e+03 2.36752500e+05 +1.65937500e+05 2.52812500e+03 9.76925000e+04 +1.65937500e+05 2.76093750e+03 3.52125000e+04 +1.65937500e+05 2.99375000e+03 -5.69025000e+04 +1.65937500e+05 3.22656250e+03 -30950 +1.65937500e+05 3.45937500e+03 -253080 +1.65937500e+05 3.69218750e+03 -59780 +1.65937500e+05 3925 489600 +1.65937500e+05 4.15781250e+03 4.39525000e+04 +1.65937500e+05 4.39062500e+03 216785 +1.65937500e+05 4.62343750e+03 6.09625000e+04 +1.65937500e+05 4.85625000e+03 1.22211250e+06 +1.65937500e+05 5.08906250e+03 9.19575000e+04 +1.65937500e+05 5.32187500e+03 4.06487500e+05 +1.65937500e+05 5.55468750e+03 100600 +1.65937500e+05 5.78750000e+03 -1.84661250e+06 +1.65937500e+05 6.02031250e+03 -66250 +1.65937500e+05 6.13671875e+03 -34550 +1.65937500e+05 6.25312500e+03 -765375 +1.65937500e+05 6.36953125e+03 -66375 +1.65937500e+05 6.48593750e+03 -288775 +1.65937500e+05 6.60234375e+03 -74550 +1.65937500e+05 6.71875000e+03 -2865750 +1.65937500e+05 6.83515625e+03 -55875 +1.65937500e+05 6.95156250e+03 -159800 +1.65937500e+05 7.18437500e+03 -138325 +1.65937500e+05 7.41718750e+03 77325 +1.65937500e+05 7650 7541125 +1.65937500e+05 7.76640625e+03 34600 +1.65937500e+05 7.88281250e+03 132175 +1.65937500e+05 8.11562500e+03 431100 +1.65937500e+05 8.34843750e+03 81425 +1.65937500e+05 8.58125000e+03 1138200 +1.65937500e+05 8.81406250e+03 51125 +1.65937500e+05 9.04687500e+03 195400 +1.65937500e+05 9.27968750e+03 48875 +1.65937500e+05 9.51250000e+03 3821225 +1.65937500e+05 9.74531250e+03 55575 +1.65937500e+05 9.97812500e+03 230600 +1.65937500e+05 1.02109375e+04 59725 +1.65937500e+05 1.04437500e+04 995825 +1.65937500e+05 1.06765625e+04 65675 +1.65937500e+05 1.09093750e+04 266725 +1.65937500e+05 1.11421875e+04 65550 +1.65937500e+05 11375 176700 +1.65937500e+05 1.16078125e+04 42875 +1.65937500e+05 1.18406250e+04 76725 +1.65937500e+05 1.20734375e+04 -7650 +1.65937500e+05 1.23062500e+04 -661925 +1.65937500e+05 1.25390625e+04 -73975 +1.65937500e+05 1.27718750e+04 -417100 +1.65937500e+05 1.30046875e+04 -132175 +1.65937500e+05 1.31210938e+04 -35975 +1.65937500e+05 1.32375000e+04 -7480325 +1.65937500e+05 1.33539062e+04 -39975 +1.65937500e+05 1.34703125e+04 -163500 +1.65937500e+05 1.35867188e+04 -41625 +1.65937500e+05 1.37031250e+04 -657575 +1.65937500e+05 1.38195312e+04 -41000 +1.65937500e+05 1.39359375e+04 -160925 +1.65937500e+05 1.40523438e+04 -38825 +1.65937500e+05 1.41687500e+04 -2267150 +1.65937500e+05 1.42851562e+04 -35175 +1.65937500e+05 1.44015625e+04 -130375 +1.65937500e+05 1.46343750e+04 -433375 +1.65937500e+05 1.48671875e+04 -84700 +1.65937500e+05 15100 11522550 +1.65937500e+05 1.53328125e+04 -37275 +1.65937500e+05 1.55656250e+04 -64275 +1.65937500e+05 1.57984375e+04 4000 +1.65937500e+05 1.60312500e+04 269975 +1.65937500e+05 1.62640625e+04 34750 +1.65937500e+05 1.64968750e+04 175750 +1.65937500e+05 1.67296875e+04 51000 +1.65937500e+05 1.69625000e+04 2769225 +1.65937500e+05 1.71953125e+04 57000 +1.65937500e+05 1.74281250e+04 225500 +1.65937500e+05 1.76609375e+04 55000 +1.65937500e+05 1.78937500e+04 818750 +1.65937500e+05 1.81265625e+04 48250 +1.65937500e+05 1.83593750e+04 178750 +1.65937500e+05 1.85921875e+04 40500 +1.65937500e+05 18825 9974725 +1.65937500e+05 1.90578125e+04 35500 +1.65937500e+05 1.92906250e+04 128500 +1.65937500e+05 1.97562500e+04 481000 +1.65937500e+05 2.02218750e+04 116500 +1.65937500e+05 2.06875000e+04 2173000 +1.65937500e+05 2.09203125e+04 32750 +1.65937500e+05 2.11531250e+04 143750 +1.65937500e+05 2.13859375e+04 38500 +1.65937500e+05 2.16187500e+04 672500 +1.65937500e+05 2.18515625e+04 45000 +1.65937500e+05 2.20843750e+04 195750 +1.65937500e+05 2.23171875e+04 52250 +1.65937500e+05 22550 34293975 +1.65937500e+05 2.27828125e+04 58500 +1.65937500e+05 2.30156250e+04 247750 +1.65937500e+05 2.32484375e+04 64750 +1.65937500e+05 2.34812500e+04 1032000 +1.65937500e+05 2.37140625e+04 65750 +1.65937500e+05 2.39468750e+04 261250 +1.65937500e+05 2.41796875e+04 63500 +1.65937500e+05 2.44125000e+04 3547250 +1.65937500e+05 2.46453125e+04 57000 +1.65937500e+05 2.48781250e+04 208250 +1.65937500e+05 2.51109375e+04 45750 +1.65937500e+05 2.53437500e+04 598250 +1.65937500e+05 2.58093750e+04 83500 +1.65937500e+05 26275 -1059250 +1.65937500e+05 2.65078125e+04 -9500 +1.65937500e+05 2.67406250e+04 -79000 +1.65937500e+05 2.69734375e+04 -31000 +1.65937500e+05 2.72062500e+04 -642750 +1.65937500e+05 2.74390625e+04 -50750 +1.65937500e+05 2.76718750e+04 -239250 +1.65937500e+05 2.79046875e+04 -67500 +1.65937500e+05 2.81375000e+04 -4571500 +1.65937500e+05 2.83703125e+04 -82500 +1.65937500e+05 2.86031250e+04 -353250 +1.65937500e+05 2.88359375e+04 -93750 +1.65937500e+05 2.90687500e+04 -1529750 +1.65937500e+05 2.93015625e+04 -99750 +1.65937500e+05 2.95343750e+04 -402500 +1.65937500e+05 2.97671875e+04 -101250 +1.65937500e+05 30000 -60973000 +1.75683594e+05 200 0 +1.75683594e+05 15100 750 +1.75683594e+05 22550 55250 +1.75683594e+05 30000 -77500 +1.85429688e+05 200 0 +1.85429688e+05 7650 47850 +1.85429688e+05 11375 47650 +1.85429688e+05 15100 500 +1.85429688e+05 18825 43000 +1.85429688e+05 22550 195750 +1.85429688e+05 26275 65250 +1.85429688e+05 30000 -274000 +1.95175781e+05 200 0 +1.95175781e+05 15100 -750 +1.95175781e+05 22550 43000 +1.95175781e+05 30000 -59500 +2.04921875e+05 200 0 +2.04921875e+05 3925 24175 +2.04921875e+05 5.78750000e+03 1.09875000e+04 +2.04921875e+05 6.71875000e+03 -43375 +2.04921875e+05 7650 152350 +2.04921875e+05 9.51250000e+03 63575 +2.04921875e+05 11375 162350 +2.04921875e+05 15100 -14000 +2.04921875e+05 1.60312500e+04 -37250 +2.04921875e+05 1.69625000e+04 -34750 +2.04921875e+05 18825 130000 +2.04921875e+05 2.06875000e+04 35750 +2.04921875e+05 22550 627250 +2.04921875e+05 2.44125000e+04 46250 +2.04921875e+05 26275 216250 +2.04921875e+05 2.81375000e+04 41500 +2.04921875e+05 30000 -869000 +2.14667969e+05 200 0 +2.14667969e+05 15100 -2000 +2.14667969e+05 22550 34250 +2.14667969e+05 30000 -47000 +2.24414062e+05 200 0 +2.24414062e+05 7650 30200 +2.24414062e+05 11375 34750 +2.24414062e+05 15100 -7000 +2.24414062e+05 22550 125000 +2.24414062e+05 26275 43500 +2.24414062e+05 30000 -170000 +2.34160156e+05 200 0 +2.34160156e+05 15100 -1500 +2.34160156e+05 30000 -38000 +2.43906250e+05 200 0 +2.43906250e+05 3925 79745 +2.43906250e+05 4.85625000e+03 40740 +2.43906250e+05 5.78750000e+03 47115 +2.43906250e+05 6.71875000e+03 -110275 +2.43906250e+05 7.18437500e+03 -60325 +2.43906250e+05 7650 419675 +2.43906250e+05 8.58125000e+03 88650 +2.43906250e+05 9.51250000e+03 189250 +2.43906250e+05 11375 495700 +2.43906250e+05 1.23062500e+04 42775 +2.43906250e+05 1.32375000e+04 9100 +2.43906250e+05 1.41687500e+04 -54875 +2.43906250e+05 15100 -118450 +2.43906250e+05 1.55656250e+04 -33025 +2.43906250e+05 1.60312500e+04 -114275 +2.43906250e+05 1.69625000e+04 -158025 +2.43906250e+05 18825 305975 +2.43906250e+05 1.97562500e+04 40500 +2.43906250e+05 2.06875000e+04 117500 +2.43906250e+05 22550 1736225 +2.43906250e+05 2.44125000e+04 124500 +2.43906250e+05 2.53437500e+04 39000 +2.43906250e+05 26275 618250 +2.43906250e+05 2.72062500e+04 46500 +2.43906250e+05 2.81375000e+04 135750 +2.43906250e+05 30000 -2358000 +2.63398438e+05 200 0 +2.63398438e+05 15100 -9300 +2.63398438e+05 22550 85025 +2.63398438e+05 30000 -112500 +2.82890625e+05 200 0 +2.82890625e+05 7650 67975 +2.82890625e+05 9.51250000e+03 34375 +2.82890625e+05 11375 91900 +2.82890625e+05 15100 -36850 +2.82890625e+05 1.69625000e+04 -40825 +2.82890625e+05 18825 36425 +2.82890625e+05 22550 285925 +2.82890625e+05 26275 105500 +2.82890625e+05 30000 -378000 +3.02382812e+05 200 0 +3.02382812e+05 15100 -9250 +3.02382812e+05 22550 60500 +3.02382812e+05 30000 -78500 +321875 200 0 +321875 2.06250000e+03 340560 +321875 2.52812500e+03 1.12332500e+05 +321875 2.76093750e+03 41190 +321875 2.99375000e+03 4830 +321875 3.22656250e+03 -24325 +321875 3.45937500e+03 -2.62912500e+05 +321875 3.69218750e+03 -7.39175000e+04 +321875 3925 1065470 +321875 4.15781250e+03 33175 +321875 4.39062500e+03 230595 +321875 4.62343750e+03 74750 +321875 4.85625000e+03 1434955 +321875 5.08906250e+03 108375 +321875 5.32187500e+03 483330 +321875 5.43828125e+03 32675 +321875 5.55468750e+03 123125 +321875 5.78750000e+03 -1408810 +321875 6.02031250e+03 -40325 +321875 6.13671875e+03 -28275 +321875 6.25312500e+03 -695550 +321875 6.36953125e+03 -62700 +321875 6.48593750e+03 -285175 +321875 6.60234375e+03 -76675 +321875 6.71875000e+03 -3334125 +321875 6.83515625e+03 -66625 +321875 6.95156250e+03 -220925 +321875 7.06796875e+03 -42800 +321875 7.18437500e+03 -460375 +321875 7.41718750e+03 -8250 +321875 7650 9690375 +321875 7.76640625e+03 27625 +321875 7.88281250e+03 127675 +321875 7.99921875e+03 34950 +321875 8.11562500e+03 531150 +321875 8.23203125e+03 33800 +321875 8.34843750e+03 125275 +321875 8.58125000e+03 1644400 +321875 8.81406250e+03 82625 +321875 9.04687500e+03 288250 +321875 9.27968750e+03 65175 +321875 9.51250000e+03 4980750 +321875 9.74531250e+03 66350 +321875 9.97812500e+03 272475 +321875 1.02109375e+04 70225 +321875 1.04437500e+04 1170600 +321875 1.06765625e+04 77050 +321875 1.09093750e+04 312175 +321875 1.11421875e+04 76975 +321875 11375 3272525 +321875 1.16078125e+04 55775 +321875 1.18406250e+04 134950 +321875 1.20734375e+04 8475 +321875 1.23062500e+04 -417775 +321875 1.25390625e+04 -58175 +321875 1.27718750e+04 -361825 +321875 1.30046875e+04 -120600 +321875 1.31210938e+04 -33525 +321875 1.32375000e+04 -7177175 +321875 1.33539062e+04 -38075 +321875 1.34703125e+04 -158925 +321875 1.35867188e+04 -40850 +321875 1.37031250e+04 -657425 +321875 1.38195312e+04 -41650 +321875 1.39359375e+04 -165800 +321875 1.40523438e+04 -40650 +321875 1.41687500e+04 -2450400 +321875 1.42851562e+04 -38450 +321875 1.44015625e+04 -147875 +321875 1.45179688e+04 -34975 +321875 1.46343750e+04 -528225 +321875 1.48671875e+04 -115200 +321875 15100 10100850 +321875 1.53328125e+04 -78200 +321875 1.55656250e+04 -238150 +321875 1.57984375e+04 -41050 +321875 1.60312500e+04 -408125 +321875 1.62640625e+04 -6275 +321875 1.64968750e+04 24475 +321875 1.67296875e+04 20250 +321875 1.69625000e+04 1303575 +321875 1.71953125e+04 39000 +321875 1.74281250e+04 180250 +321875 1.76609375e+04 50250 +321875 1.78937500e+04 825250 +321875 1.81265625e+04 54750 +321875 1.83593750e+04 220000 +321875 1.85921875e+04 54250 +321875 18825 10748325 +321875 1.90578125e+04 50750 +321875 1.92906250e+04 196750 +321875 1.95234375e+04 47500 +321875 1.97562500e+04 735500 +321875 1.99890625e+04 44000 +321875 2.02218750e+04 174750 +321875 2.04546875e+04 43250 +321875 2.06875000e+04 2968250 +321875 2.09203125e+04 45250 +321875 2.11531250e+04 184000 +321875 2.13859375e+04 47750 +321875 2.16187500e+04 817250 +321875 2.18515625e+04 52750 +321875 2.20843750e+04 227250 +321875 2.23171875e+04 60000 +321875 22550 43420575 +321875 2.27828125e+04 66250 +321875 2.30156250e+04 277250 +321875 2.32484375e+04 72000 +321875 2.34812500e+04 1160000 +321875 2.37140625e+04 74000 +321875 2.39468750e+04 296750 +321875 2.41796875e+04 73750 +321875 2.44125000e+04 4188000 +321875 2.46453125e+04 68250 +321875 2.48781250e+04 252500 +321875 2.51109375e+04 58250 +321875 2.53437500e+04 799500 +321875 2.55765625e+04 43500 +321875 2.58093750e+04 139500 +321875 26275 2370750 +321875 2.65078125e+04 6250 +321875 2.67406250e+04 -15250 +321875 2.69734375e+04 -14000 +321875 2.72062500e+04 -382250 +321875 2.74390625e+04 -34500 +321875 2.76718750e+04 -175000 +321875 2.79046875e+04 -52500 +321875 2.81375000e+04 -3670750 +321875 2.83703125e+04 -68750 +321875 2.86031250e+04 -301500 +321875 2.88359375e+04 -80250 +321875 2.90687500e+04 -1368500 +321875 2.93015625e+04 -90000 +321875 2.95343750e+04 -375500 +321875 2.97671875e+04 -96500 +321875 30000 -73002000 +3.41367188e+05 200 0 +3.41367188e+05 15100 -8850 +3.41367188e+05 22550 44300 +3.41367188e+05 30000 -56500 +3.60859375e+05 200 0 +3.60859375e+05 7650 35700 +3.60859375e+05 11375 57625 +3.60859375e+05 15100 -32850 +3.60859375e+05 1.69625000e+04 -32200 +3.60859375e+05 18825 5050 +3.60859375e+05 22550 154300 +3.60859375e+05 26275 59750 +3.60859375e+05 30000 -198500 +3.80351562e+05 200 0 +3.80351562e+05 15100 -7800 +3.80351562e+05 22550 33650 +3.80351562e+05 30000 -43000 +3.99843750e+05 200 0 +3.99843750e+05 3925 39080 +3.99843750e+05 5.78750000e+03 3.35475000e+04 +3.99843750e+05 7650 110400 +3.99843750e+05 9.51250000e+03 70400 +3.99843750e+05 11375 190325 +3.99843750e+05 15100 -118400 +3.99843750e+05 1.60312500e+04 -39550 +3.99843750e+05 1.69625000e+04 -111800 +3.99843750e+05 18825 -6800 +3.99843750e+05 2.06875000e+04 51500 +3.99843750e+05 22550 483450 +3.99843750e+05 2.44125000e+04 33000 +3.99843750e+05 26275 190250 +3.99843750e+05 2.81375000e+04 56750 +3.99843750e+05 30000 -617000 +4.19335938e+05 200 0 +4.19335938e+05 15100 -7000 +4.19335938e+05 30000 -33000 +4.38828125e+05 200 0 +4.38828125e+05 7650 20800 +4.38828125e+05 11375 38900 +4.38828125e+05 15100 -26750 +4.38828125e+05 22550 92250 +4.38828125e+05 26275 37000 +4.38828125e+05 30000 -116500 +4.77812500e+05 200 0 +4.77812500e+05 3925 119560 +4.77812500e+05 5.78750000e+03 1.06607500e+05 +4.77812500e+05 6.71875000e+03 -38975 +4.77812500e+05 7.18437500e+03 -43850 +4.77812500e+05 7650 286400 +4.77812500e+05 8.58125000e+03 74300 +4.77812500e+05 9.51250000e+03 203025 +4.77812500e+05 11375 549475 +4.77812500e+05 1.23062500e+04 38350 +4.77812500e+05 1.32375000e+04 96100 +4.77812500e+05 15100 -382800 +4.77812500e+05 1.60312500e+04 -104550 +4.77812500e+05 1.69625000e+04 -343100 +4.77812500e+05 1.78937500e+04 -40500 +4.77812500e+05 18825 -125850 +4.77812500e+05 1.97562500e+04 40500 +4.77812500e+05 2.06875000e+04 151250 +4.77812500e+05 22550 1277150 +4.77812500e+05 2.44125000e+04 92750 +4.77812500e+05 26275 522000 +4.77812500e+05 2.72062500e+04 39500 +4.77812500e+05 2.81375000e+04 161750 +4.77812500e+05 2.90687500e+04 38250 +4.77812500e+05 30000 -1621000 +5.16796875e+05 200 0 +5.16796875e+05 15100 -21250 +5.16796875e+05 22550 59000 +5.16796875e+05 30000 -74500 +5.55781250e+05 200 0 +5.55781250e+05 7650 42900 +5.55781250e+05 9.51250000e+03 35225 +5.55781250e+05 11375 95650 +5.55781250e+05 15100 -75400 +5.55781250e+05 1.69625000e+04 -62300 +5.55781250e+05 18825 -47550 +5.55781250e+05 22550 196200 +5.55781250e+05 26275 84750 +5.55781250e+05 30000 -248000 +5.94765625e+05 200 0 +5.94765625e+05 15100 -17050 +5.94765625e+05 22550 40400 +5.94765625e+05 30000 -50500 +633750 200 0 +633750 2.06250000e+03 441115 +633750 2.52812500e+03 123410 +633750 2.76093750e+03 45810 +633750 2.99375000e+03 7.37325000e+04 +633750 3.22656250e+03 -1.73875000e+04 +633750 3.45937500e+03 -2.54382500e+05 +633750 3.69218750e+03 -79185 +633750 3925 1819045 +633750 4.15781250e+03 16825 +633750 4.39062500e+03 2.08482500e+05 +633750 4.62343750e+03 8.11575000e+04 +633750 4.85625000e+03 1573575 +633750 5.08906250e+03 1.23347500e+05 +633750 5.20546875e+03 33570 +633750 5.32187500e+03 5.49752500e+05 +633750 5.43828125e+03 37015 +633750 5.55468750e+03 141765 +633750 5.67109375e+03 32400 +633750 5.78750000e+03 -703885 +633750 6.02031250e+03 -16450 +633750 6.13671875e+03 -22250 +633750 6.25312500e+03 -606850 +633750 6.36953125e+03 -57275 +633750 6.48593750e+03 -267150 +633750 6.60234375e+03 -73375 +633750 6.71875000e+03 -3420525 +633750 6.83515625e+03 -68025 +633750 6.95156250e+03 -240025 +633750 7.06796875e+03 -51200 +633750 7.18437500e+03 -650125 +633750 7.41718750e+03 -81900 +633750 7650 11024175 +633750 7.76640625e+03 8875 +633750 7.88281250e+03 66925 +633750 7.99921875e+03 23950 +633750 8.11562500e+03 433550 +633750 8.23203125e+03 32800 +633750 8.34843750e+03 136725 +633750 8.46484375e+03 34875 +633750 8.58125000e+03 1916475 +633750 8.69765625e+03 32450 +633750 8.81406250e+03 121500 +633750 9.04687500e+03 423975 +633750 9.27968750e+03 92325 +633750 9.51250000e+03 6123850 +633750 9.74531250e+03 81525 +633750 9.97812500e+03 322275 +633750 1.02109375e+04 80750 +633750 1.04437500e+04 1339275 +633750 1.06765625e+04 86775 +633750 1.09093750e+04 351350 +633750 1.11421875e+04 86775 +633750 11375 6423200 +633750 1.16078125e+04 65525 +633750 1.18406250e+04 177075 +633750 1.20734375e+04 19950 +633750 1.23062500e+04 -216025 +633750 1.25390625e+04 -44275 +633750 1.27718750e+04 -305550 +633750 1.30046875e+04 -106925 +633750 1.31210938e+04 -30250 +633750 1.32375000e+04 -6546850 +633750 1.33539062e+04 -35275 +633750 1.34703125e+04 -148125 +633750 1.35867188e+04 -38550 +633750 1.37031250e+04 -622325 +633750 1.38195312e+04 -39675 +633750 1.39359375e+04 -159350 +633750 1.40523438e+04 -39225 +633750 1.41687500e+04 -2403475 +633750 1.42851562e+04 -37950 +633750 1.44015625e+04 -147675 +633750 1.45179688e+04 -35525 +633750 1.46343750e+04 -543800 +633750 1.47507812e+04 -33000 +633750 1.48671875e+04 -123575 +633750 15100 7541000 +633750 1.53328125e+04 -96050 +633750 1.55656250e+04 -329475 +633750 1.57984375e+04 -68525 +633750 1.60312500e+04 -895075 +633750 1.62640625e+04 -42075 +633750 1.64968750e+04 -121100 +633750 1.67296875e+04 -18075 +633750 1.69625000e+04 -698625 +633750 1.71953125e+04 3750 +633750 1.74281250e+04 51500 +633750 1.76609375e+04 21250 +633750 1.78937500e+04 450750 +633750 1.81265625e+04 36500 +633750 1.83593750e+04 164750 +633750 1.85921875e+04 45750 +633750 18825 8811625 +633750 1.90578125e+04 52250 +633750 1.92906250e+04 213500 +633750 1.95234375e+04 54750 +633750 1.97562500e+04 883500 +633750 1.99890625e+04 56250 +633750 2.02218750e+04 226000 +633750 2.04546875e+04 56750 +633750 2.06875000e+04 3748750 +633750 2.09203125e+04 57500 +633750 2.11531250e+04 238500 +633750 2.13859375e+04 61000 +633750 2.16187500e+04 1015250 +633750 2.18515625e+04 65750 +633750 2.20843750e+04 271250 +633750 2.23171875e+04 70500 +633750 22550 49481875 +633750 2.27828125e+04 75500 +633750 2.30156250e+04 313000 +633750 2.32484375e+04 81000 +633750 2.34812500e+04 1291500 +633750 2.37140625e+04 82500 +633750 2.39468750e+04 327500 +633750 2.41796875e+04 80500 +633750 2.44125000e+04 4719250 +633750 2.46453125e+04 75000 +633750 2.48781250e+04 286000 +633750 2.51109375e+04 67000 +633750 2.53437500e+04 940750 +633750 2.55765625e+04 53000 +633750 2.58093750e+04 178750 +633750 2.60421875e+04 36250 +633750 26275 5153250 +633750 2.65078125e+04 17750 +633750 2.67406250e+04 31500 +633750 2.69734375e+04 -2750 +633750 2.72062500e+04 -178500 +633750 2.74390625e+04 -22000 +633750 2.76718750e+04 -120500 +633750 2.79046875e+04 -38500 +633750 2.81375000e+04 -2795500 +633750 2.83703125e+04 -54000 +633750 2.86031250e+04 -243750 +633750 2.88359375e+04 -66750 +633750 2.90687500e+04 -1144500 +633750 2.93015625e+04 -77500 +633750 2.95343750e+04 -322250 +633750 2.97671875e+04 -83750 +633750 30000 -80860500 +6.72734375e+05 200 0 +6.72734375e+05 15100 -13700 +6.72734375e+05 30000 -36000 +7.11718750e+05 200 0 +7.11718750e+05 7650 20525 +7.11718750e+05 11375 56000 +7.11718750e+05 15100 -49050 +7.11718750e+05 1.69625000e+04 -35725 +7.11718750e+05 18825 -47225 +7.11718750e+05 22550 96275 +7.11718750e+05 26275 46500 +7.11718750e+05 30000 -125000 +7.89687500e+05 200 0 +7.89687500e+05 3925 46675 +7.89687500e+05 5.78750000e+03 45125 +7.89687500e+05 7650 61475 +7.89687500e+05 9.51250000e+03 64700 +7.89687500e+05 11375 180950 +7.89687500e+05 1.32375000e+04 40000 +7.89687500e+05 15100 -165400 +7.89687500e+05 1.69625000e+04 -115925 +7.89687500e+05 18825 -173425 +7.89687500e+05 2.06875000e+04 40000 +7.89687500e+05 22550 285575 +7.89687500e+05 26275 148500 +7.89687500e+05 2.81375000e+04 47250 +7.89687500e+05 30000 -380500 +8.67656250e+05 200 0 +8.67656250e+05 7650 11150 +8.67656250e+05 11375 36050 +8.67656250e+05 15100 -33950 +8.67656250e+05 18825 -39900 +8.67656250e+05 22550 51100 +8.67656250e+05 30000 -71500 +945625 200 0 +945625 3925 135325 +945625 5.78750000e+03 131800 +945625 7650 152350 +945625 8.11562500e+03 -35300 +945625 8.58125000e+03 1825 +945625 9.51250000e+03 175050 +945625 11375 506425 +945625 1.32375000e+04 114725 +945625 15100 -482850 +945625 1.60312500e+04 -51900 +945625 1.69625000e+04 -308450 +945625 1.78937500e+04 -85000 +945625 18825 -577450 +945625 2.06875000e+04 87000 +945625 2.16187500e+04 35500 +945625 22550 689550 +945625 2.44125000e+04 92250 +945625 26275 414500 +945625 2.81375000e+04 129250 +945625 2.90687500e+04 36500 +945625 30000 -983500 +1.02359375e+06 200 0 +1.02359375e+06 15100 -24600 +1.02359375e+06 18825 -33325 +1.02359375e+06 22550 29175 +1.02359375e+06 30000 -44500 +1.10156250e+06 200 0 +1.10156250e+06 7650 21225 +1.10156250e+06 11375 84825 +1.10156250e+06 15100 -85350 +1.10156250e+06 1.69625000e+04 -48075 +1.10156250e+06 18825 -117075 +1.10156250e+06 22550 89925 +1.10156250e+06 26275 69000 +1.10156250e+06 30000 -147000 +1257500 200 0 +1257500 2.06250000e+03 5.28807500e+05 +1257500 2.52812500e+03 1.31562500e+05 +1257500 2.76093750e+03 49225 +1257500 2.99375000e+03 1.38277500e+05 +1257500 3.22656250e+03 -11250 +1257500 3.45937500e+03 -237585 +1257500 3.69218750e+03 -78645 +1257500 3925 2600725 +1257500 4.15781250e+03 3510 +1257500 4.39062500e+03 1.67612500e+05 +1257500 4.62343750e+03 7.77625000e+04 +1257500 4.85625000e+03 1.62888250e+06 +1257500 5.08906250e+03 134950 +1257500 5.20546875e+03 36860 +1257500 5.32187500e+03 605145 +1257500 5.43828125e+03 40675 +1257500 5.55468750e+03 157485 +1257500 5.67109375e+03 36500 +1257500 5.78750000e+03 6.28875000e+04 +1257500 6.02031250e+03 3425 +1257500 6.13671875e+03 -17050 +1257500 6.25312500e+03 -523325 +1257500 6.36953125e+03 -51850 +1257500 6.48593750e+03 -246450 +1257500 6.60234375e+03 -68500 +1257500 6.71875000e+03 -3270675 +1257500 6.83515625e+03 -64950 +1257500 6.95156250e+03 -234100 +1257500 7.06796875e+03 -51600 +1257500 7.18437500e+03 -702850 +1257500 7.30078125e+03 -36500 +1257500 7.41718750e+03 -116950 +1257500 7650 11680875 +1257500 7.76640625e+03 -7775 +1257500 7.88281250e+03 -2675 +1257500 7.99921875e+03 6400 +1257500 8.11562500e+03 196025 +1257500 8.23203125e+03 18975 +1257500 8.34843750e+03 96250 +1257500 8.46484375e+03 28525 +1257500 8.58125000e+03 1699250 +1257500 8.69765625e+03 33550 +1257500 8.81406250e+03 137350 +1257500 8.93046875e+03 34550 +1257500 9.04687500e+03 533925 +1257500 9.16328125e+03 32725 +1257500 9.27968750e+03 125925 +1257500 9.51250000e+03 6964550 +1257500 9.74531250e+03 105875 +1257500 9.97812500e+03 399075 +1257500 1.02109375e+04 95300 +1257500 1.04437500e+04 1549900 +1257500 1.06765625e+04 96950 +1257500 1.09093750e+04 388725 +1257500 1.11421875e+04 95675 +1257500 11375 9184375 +1257500 1.16078125e+04 73875 +1257500 1.18406250e+04 209850 +1257500 1.20734375e+04 28325 +1257500 1.23062500e+04 -67125 +1257500 1.25390625e+04 -34325 +1257500 1.27718750e+04 -261775 +1257500 1.30046875e+04 -95050 +1257500 1.31210938e+04 -27300 +1257500 1.32375000e+04 -5900025 +1257500 1.33539062e+04 -32200 +1257500 1.34703125e+04 -136400 +1257500 1.35867188e+04 -35650 +1257500 1.37031250e+04 -578825 +1257500 1.38195312e+04 -37075 +1257500 1.39359375e+04 -149375 +1257500 1.40523438e+04 -36850 +1257500 1.41687500e+04 -2269500 +1257500 1.42851562e+04 -36025 +1257500 1.44015625e+04 -140300 +1257500 1.45179688e+04 -33775 +1257500 1.46343750e+04 -522225 +1257500 1.47507812e+04 -31700 +1257500 1.48671875e+04 -119975 +1257500 15100 4722550 +1257500 1.53328125e+04 -98000 +1257500 1.55656250e+04 -349225 +1257500 1.57984375e+04 -76975 +1257500 1.60312500e+04 -1085550 +1257500 1.62640625e+04 -57275 +1257500 1.64968750e+04 -196925 +1257500 1.67296875e+04 -40450 +1257500 1.69625000e+04 -2141575 +1257500 1.71953125e+04 -24425 +1257500 1.74281250e+04 -65275 +1257500 1.76609375e+04 -9150 +1257500 1.78937500e+04 -16725 +1257500 1.81265625e+04 7250 +1257500 1.83593750e+04 53750 +1257500 1.85921875e+04 20500 +1257500 18825 4843475 +1257500 1.90578125e+04 32000 +1257500 1.92906250e+04 150000 +1257500 1.95234375e+04 42500 +1257500 1.97562500e+04 743500 +1257500 1.99890625e+04 51250 +1257500 2.02218750e+04 218000 +1257500 2.04546875e+04 58250 +1257500 2.06875000e+04 3868500 +1257500 2.09203125e+04 64000 +1257500 2.11531250e+04 269250 +1257500 2.13859375e+04 69750 +1257500 2.16187500e+04 1169500 +1257500 2.18515625e+04 76250 +1257500 2.20843750e+04 315250 +1257500 2.23171875e+04 81000 +1257500 22550 51907975 +1257500 2.27828125e+04 86500 +1257500 2.30156250e+04 356000 +1257500 2.32484375e+04 91000 +1257500 2.34812500e+04 1454000 +1257500 2.37140625e+04 91500 +1257500 2.39468750e+04 365000 +1257500 2.41796875e+04 90500 +1257500 2.44125000e+04 5292000 +1257500 2.46453125e+04 84000 +1257500 2.48781250e+04 319250 +1257500 2.51109375e+04 74250 +1257500 2.53437500e+04 1071500 +1257500 2.55765625e+04 60750 +1257500 2.58093750e+04 210250 +1257500 2.60421875e+04 44000 +1257500 26275 7471500 +1257500 2.65078125e+04 26000 +1257500 2.67406250e+04 65250 +1257500 2.69734375e+04 6750 +1257500 2.72062500e+04 -32000 +1257500 2.74390625e+04 -12250 +1257500 2.76718750e+04 -81250 +1257500 2.79046875e+04 -29000 +1257500 2.81375000e+04 -2129500 +1257500 2.83703125e+04 -43000 +1257500 2.86031250e+04 -198750 +1257500 2.88359375e+04 -54250 +1257500 2.90687500e+04 -959500 +1257500 2.93015625e+04 -64250 +1257500 2.95343750e+04 -273750 +1257500 2.97671875e+04 -71500 +1257500 30000 -85511000 +1.41343750e+06 200 0 +1.41343750e+06 7650 9400 +1.41343750e+06 11375 47575 +1.41343750e+06 15100 -50450 +1.41343750e+06 18825 -77900 +1.41343750e+06 22550 29100 +1.41343750e+06 26275 40500 +1.41343750e+06 30000 -72500 +1569375 200 0 +1569375 3925 45180 +1569375 5.78750000e+03 4.45725000e+04 +1569375 7650 27250 +1569375 9.51250000e+03 39925 +1569375 11375 151675 +1569375 1.32375000e+04 36500 +1569375 15100 -164250 +1569375 1.69625000e+04 -66250 +1569375 18825 -260000 +1569375 22550 62750 +1569375 2.44125000e+04 35250 +1569375 26275 131250 +1569375 2.81375000e+04 34500 +1569375 30000 -219500 +1.72531250e+06 200 0 +1.72531250e+06 15100 -32800 +1.72531250e+06 18825 -53100 +1.72531250e+06 22550 5650 +1.72531250e+06 30000 -41000 +1881250 200 0 +1881250 3925 126850 +1881250 5.78750000e+03 1.24587500e+05 +1881250 6.71875000e+03 37650 +1881250 7650 64400 +1881250 8.11562500e+03 -42225 +1881250 8.58125000e+03 -84975 +1881250 9.51250000e+03 91750 +1881250 1.04437500e+04 43825 +1881250 11375 416175 +1881250 1.32375000e+04 101175 +1881250 15100 -459850 +1881250 1.69625000e+04 -158050 +1881250 1.78937500e+04 -66325 +1881250 18825 -747950 +1881250 1.97562500e+04 -50000 +1881250 2.06875000e+04 -75250 +1881250 22550 36800 +1881250 2.44125000e+04 104750 +1881250 26275 374750 +1881250 2.81375000e+04 95500 +1881250 30000 -566500 +2.03718750e+06 200 0 +2.03718750e+06 15100 -22400 +2.03718750e+06 18825 -37550 +2.03718750e+06 22550 -4800 +2.03718750e+06 30000 -26000 +2193125 200 0 +2193125 7650 8350 +2193125 11375 67800 +2193125 15100 -77000 +2193125 18825 -128750 +2193125 22550 -25750 +2193125 26275 64500 +2193125 30000 -85000 +2505000 200 0 +2505000 1.13125000e+03 2.58350000e+03 +2505000 2.06250000e+03 6.00037500e+05 +2505000 2.29531250e+03 1.68875000e+04 +2505000 2.52812500e+03 137465 +2505000 2.76093750e+03 5.17325000e+04 +2505000 2.87734375e+03 1.40625000e+04 +2505000 2.99375000e+03 1.92767500e+05 +2505000 3.22656250e+03 -6.28250000e+03 +2505000 3.45937500e+03 -2.19287500e+05 +2505000 3.57578125e+03 -21135 +2505000 3.69218750e+03 -75500 +2505000 3925 3296950 +2505000 4.15781250e+03 -3620 +2505000 4.39062500e+03 1.30317500e+05 +2505000 4.62343750e+03 6.90125000e+04 +2505000 4.73984375e+03 2.18975000e+04 +2505000 4.85625000e+03 1.61438250e+06 +2505000 4.97265625e+03 30885 +2505000 5.08906250e+03 1.40142500e+05 +2505000 5.20546875e+03 3.88875000e+04 +2505000 5.32187500e+03 643205 +2505000 5.43828125e+03 4.36325000e+04 +2505000 5.55468750e+03 1.70252500e+05 +2505000 5.67109375e+03 39975 +2505000 5.78750000e+03 7.36612500e+05 +2505000 5.90390625e+03 21175 +2505000 6.02031250e+03 19725 +2505000 6.13671875e+03 -12750 +2505000 6.25312500e+03 -452400 +2505000 6.36953125e+03 -47225 +2505000 6.48593750e+03 -227375 +2505000 6.60234375e+03 -63800 +2505000 6.71875000e+03 -3032250 +2505000 6.83515625e+03 -60625 +2505000 6.95156250e+03 -218925 +2505000 7.06796875e+03 -48400 +2505000 7.18437500e+03 -677550 +2505000 7.30078125e+03 -35925 +2505000 7.41718750e+03 -121875 +2505000 7650 11932400 +2505000 7.76640625e+03 -15700 +2505000 7.88281250e+03 -43850 +2505000 7.99921875e+03 -6050 +2505000 8.11562500e+03 -15575 +2505000 8.23203125e+03 4050 +2505000 8.34843750e+03 36875 +2505000 8.46484375e+03 14275 +2505000 8.58125000e+03 1089525 +2505000 8.69765625e+03 23550 +2505000 8.81406250e+03 108625 +2505000 8.93046875e+03 30425 +2505000 9.04687500e+03 509400 +2505000 9.16328125e+03 34350 +2505000 9.27968750e+03 140325 +2505000 9.39609375e+03 35425 +2505000 9.51250000e+03 7188150 +2505000 9.62890625e+03 34625 +2505000 9.74531250e+03 134600 +2505000 9.86171875e+03 32575 +2505000 9.97812500e+03 503525 +2505000 1.00945312e+04 30350 +2505000 1.02109375e+04 117775 +2505000 1.03273438e+04 28825 +2505000 1.04437500e+04 1848675 +2505000 1.05601562e+04 27850 +2505000 1.06765625e+04 111200 +2505000 1.07929688e+04 27650 +2505000 1.09093750e+04 436500 +2505000 1.10257812e+04 27175 +2505000 1.11421875e+04 105450 +2505000 1.12585938e+04 25575 +2505000 11375 11375825 +2505000 1.14914062e+04 22525 +2505000 1.16078125e+04 81850 +2505000 1.17242188e+04 18125 +2505000 1.18406250e+04 239900 +2505000 1.19570312e+04 12425 +2505000 1.20734375e+04 35250 +2505000 1.23062500e+04 48975 +2505000 1.25390625e+04 -27375 +2505000 1.27718750e+04 -231375 +2505000 1.30046875e+04 -86850 +2505000 1.31210938e+04 -25000 +2505000 1.32375000e+04 -5356425 +2505000 1.33539062e+04 -29950 +2505000 1.34703125e+04 -126775 +2505000 1.35867188e+04 -33275 +2505000 1.37031250e+04 -539725 +2505000 1.38195312e+04 -34650 +2505000 1.39359375e+04 -139600 +2505000 1.40523438e+04 -34400 +2505000 1.41687500e+04 -2125100 +2505000 1.42851562e+04 -33750 +2505000 1.44015625e+04 -131875 +2505000 1.45179688e+04 -31775 +2505000 1.46343750e+04 -490425 +2505000 1.47507812e+04 -30000 +2505000 1.48671875e+04 -113000 +2505000 1.49835938e+04 -27000 +2505000 15100 2239400 +2505000 1.52164062e+04 -24650 +2505000 1.53328125e+04 -92800 +2505000 1.55656250e+04 -335250 +2505000 1.57984375e+04 -74950 +2505000 1.60312500e+04 -1088325 +2505000 1.62640625e+04 -59475 +2505000 1.64968750e+04 -214225 +2505000 1.67296875e+04 -47050 +2505000 1.69625000e+04 -2736450 +2505000 1.71953125e+04 -35925 +2505000 1.74281250e+04 -121875 +2505000 1.76609375e+04 -25000 +2505000 1.78937500e+04 -312425 +2505000 1.81265625e+04 -13550 +2505000 1.83593750e+04 -33650 +2505000 1.85921875e+04 -2950 +2505000 18825 770050 +2505000 1.90578125e+04 8750 +2505000 1.92906250e+04 57000 +2505000 1.95234375e+04 20250 +2505000 1.97562500e+04 417000 +2505000 1.99890625e+04 31500 +2505000 2.02218750e+04 151500 +2505000 2.04546875e+04 43500 +2505000 2.06875000e+04 3112750 +2505000 2.09203125e+04 54500 +2505000 2.11531250e+04 240000 +2505000 2.13859375e+04 65000 +2505000 2.16187500e+04 1128750 +2505000 2.18515625e+04 76000 +2505000 2.20843750e+04 322750 +2505000 2.23171875e+04 85250 +2505000 22550 50498550 +2505000 2.27828125e+04 92750 +2505000 2.28992188e+04 24000 +2505000 2.30156250e+04 383750 +2505000 2.31320312e+04 24000 +2505000 2.32484375e+04 98000 +2505000 2.33648438e+04 25500 +2505000 2.34812500e+04 1584500 +2505000 2.35976562e+04 25000 +2505000 2.37140625e+04 101000 +2505000 2.38304688e+04 25000 +2505000 2.39468750e+04 400750 +2505000 2.40632812e+04 25250 +2505000 2.41796875e+04 99250 +2505000 2.42960938e+04 24500 +2505000 2.44125000e+04 5850250 +2505000 2.45289062e+04 24250 +2505000 2.46453125e+04 93250 +2505000 2.47617188e+04 23000 +2505000 2.48781250e+04 355000 +2505000 2.49945312e+04 22000 +2505000 2.51109375e+04 83750 +2505000 2.52273438e+04 20250 +2505000 2.53437500e+04 1210250 +2505000 2.55765625e+04 68750 +2505000 2.58093750e+04 244250 +2505000 2.60421875e+04 53000 +2505000 26275 9601500 +2505000 2.65078125e+04 33750 +2505000 2.67406250e+04 98000 +2505000 2.69734375e+04 14750 +2505000 2.72062500e+04 92750 +2505000 2.74390625e+04 -4250 +2505000 2.76718750e+04 -50250 +2505000 2.79046875e+04 -21000 +2505000 2.81375000e+04 -1605750 +2505000 2.83703125e+04 -34750 +2505000 2.86031250e+04 -166500 +2505000 2.88359375e+04 -46250 +2505000 2.90687500e+04 -820000 +2505000 2.93015625e+04 -56250 +2505000 2.95343750e+04 -237500 +2505000 2.97671875e+04 -63250 +2505000 30000 -88263000 +2816875 200 0 +2816875 7650 3200 +2816875 11375 36850 +2816875 15100 -42450 +2816875 18825 -71400 +2816875 22550 -40150 +2816875 26275 37250 +2816875 30000 -43500 +3128750 200 0 +3128750 3925 38470 +3128750 5.78750000e+03 3.66775000e+04 +3128750 7650 8850 +3128750 8.58125000e+03 -40950 +3128750 9.51250000e+03 -2600 +3128750 11375 116425 +3128750 15100 -134650 +3128750 18825 -220800 +3128750 2.06875000e+04 -60250 +3128750 22550 -162050 +3128750 26275 122250 +3128750 30000 -135500 +3440625 200 0 +3440625 15100 -26100 +3440625 18825 -42450 +3440625 22550 -39450 +3440625 30000 -26000 +3752500 200 0 +3752500 3925 106085 +3752500 5.78750000e+03 99545 +3752500 6.71875000e+03 42425 +3752500 7650 18625 +3752500 8.58125000e+03 -117875 +3752500 9.51250000e+03 -37800 +3752500 1.04437500e+04 58525 +3752500 11375 313650 +3752500 1.32375000e+04 81200 +3752500 15100 -362750 +3752500 1.69625000e+04 -34575 +3752500 18825 -581125 +3752500 1.97562500e+04 -56500 +3752500 2.06875000e+04 -180750 +3752500 22550 -589125 +3752500 2.44125000e+04 72750 +3752500 26275 333000 +3752500 2.81375000e+04 83250 +3752500 30000 -366000 +4064375 200 0 +4064375 15100 -16850 +4064375 22550 -35075 +4064375 30000 -18000 +4376250 200 0 +4376250 7650 1825 +4376250 11375 49775 +4376250 15100 -56800 +4376250 18825 -87475 +4376250 2.06875000e+04 -33000 +4376250 22550 -128225 +4376250 26275 52750 +4376250 30000 -60500 +5000000 200 -9.51763000e+04 +5000000 1.13125000e+03 -7.66678500e+04 +5000000 2.06250000e+03 -4.85131850e+05 +5000000 2.29531250e+03 -5850 +5000000 2.52812500e+03 -30090 +5000000 2.76093750e+03 -9720 +5000000 2.87734375e+03 -2835 +5000000 2.99375000e+03 -224175 +5000000 3.22656250e+03 -17590 +5000000 3.45937500e+03 -86345 +5000000 3.57578125e+03 -5955 +5000000 3.69218750e+03 -25035 +5000000 3925 -4.04020185e+06 +5000000 4.15781250e+03 -23035 +5000000 4.39062500e+03 -64100 +5000000 4.62343750e+03 -7835 +5000000 4.73984375e+03 -855 +5000000 4.85625000e+03 -61430 +5000000 4.97265625e+03 860 +5000000 5.08906250e+03 4575 +5000000 5.20546875e+03 1255 +5000000 5.32187500e+03 8090 +5000000 5.43828125e+03 215 +5000000 5.55468750e+03 -3165 +5000000 5.67109375e+03 -1950 +5000000 5.78750000e+03 -1584880 +5000000 5.90390625e+03 -4800 +5000000 6.02031250e+03 -25450 +5000000 6.13671875e+03 -7950 +5000000 6.25312500e+03 -153850 +5000000 6.36953125e+03 -11250 +5000000 6.48593750e+03 -51600 +5000000 6.60234375e+03 -14550 +5000000 6.71875000e+03 -1011150 +5000000 6.83515625e+03 -17600 +5000000 6.95156250e+03 -76400 +5000000 7.06796875e+03 -20500 +5000000 7.18437500e+03 -343500 +5000000 7.30078125e+03 -22750 +5000000 7.41718750e+03 -94000 +5000000 7650 -1.49449119e+07 +5000000 7.76640625e+03 -24200 +5000000 7.88281250e+03 -94450 +5000000 7.99921875e+03 -22750 +5000000 8.11562500e+03 -329900 +5000000 8.23203125e+03 -19250 +5000000 8.34843750e+03 -66450 +5000000 8.46484375e+03 -13800 +5000000 8.58125000e+03 -564650 +5000000 8.69765625e+03 -6550 +5000000 8.81406250e+03 -10450 +5000000 8.93046875e+03 1400 +5000000 9.04687500e+03 82850 +5000000 9.16328125e+03 9150 +5000000 9.27968750e+03 50000 +5000000 9.39609375e+03 15550 +5000000 9.51250000e+03 2469550 +5000000 9.62890625e+03 19800 +5000000 9.74531250e+03 83150 +5000000 9.86171875e+03 21550 +5000000 9.97812500e+03 335650 +5000000 1.00945312e+04 21100 +5000000 1.02109375e+04 80800 +5000000 1.03273438e+04 18900 +5000000 1.04437500e+04 1094600 +5000000 1.05601562e+04 16550 +5000000 1.06765625e+04 59800 +5000000 1.07929688e+04 13350 +5000000 1.09093750e+04 189950 +5000000 1.10257812e+04 10250 +5000000 1.11421875e+04 35550 +5000000 1.12585938e+04 7400 +5000000 11375 5140350 +5000000 1.14914062e+04 5000 +5000000 1.16078125e+04 15450 +5000000 1.17242188e+04 2850 +5000000 1.18406250e+04 31450 +5000000 1.19570312e+04 1000 +5000000 1.20734375e+04 900 +5000000 1.23062500e+04 -56800 +5000000 1.25390625e+04 -9150 +5000000 1.27718750e+04 -51750 +5000000 1.30046875e+04 -16300 +5000000 1.31210938e+04 -4500 +5000000 1.32375000e+04 -1095200 +5000000 1.33539062e+04 -5000 +5000000 1.34703125e+04 -21250 +5000000 1.35867188e+04 -5550 +5000000 1.37031250e+04 -94350 +5000000 1.38195312e+04 -6100 +5000000 1.39359375e+04 -26000 +5000000 1.40523438e+04 -7000 +5000000 1.41687500e+04 -444800 +5000000 1.42851562e+04 -7300 +5000000 1.44015625e+04 -29950 +5000000 1.45179688e+04 -7750 +5000000 1.46343750e+04 -128150 +5000000 1.47507812e+04 -8200 +5000000 1.48671875e+04 -33900 +5000000 1.49835938e+04 -8700 +5000000 15100 -3.86566118e+07 +5000000 1.52164062e+04 -9100 +5000000 1.53328125e+04 -37000 +5000000 1.55656250e+04 -152600 +5000000 1.57984375e+04 -39200 +5000000 1.60312500e+04 -633750 +5000000 1.62640625e+04 -39950 +5000000 1.64968750e+04 -161650 +5000000 1.67296875e+04 -40500 +5000000 1.69625000e+04 -2473200 +5000000 1.71953125e+04 -39450 +5000000 1.74281250e+04 -154650 +5000000 1.76609375e+04 -37900 +5000000 1.78937500e+04 -566250 +5000000 1.81265625e+04 -33900 +5000000 1.83593750e+04 -127200 +5000000 1.85921875e+04 -29600 +5000000 18825 -5757400 +5000000 1.90578125e+04 -23500 +5000000 1.92906250e+04 -83000 +5000000 1.95234375e+04 -17500 +5000000 1.97562500e+04 -224500 +5000000 1.99890625e+04 -9500 +5000000 2.02218750e+04 -27500 +5000000 2.04546875e+04 -3000 +5000000 2.06875000e+04 -11500 +5000000 2.09203125e+04 3500 +5000000 2.11531250e+04 28000 +5000000 2.13859375e+04 9500 +5000000 2.16187500e+04 210000 +5000000 2.18515625e+04 16000 +5000000 2.20843750e+04 75000 +5000000 2.23171875e+04 21000 +5000000 22550 9463600 +5000000 2.27828125e+04 25000 +5000000 2.28992188e+04 6500 +5000000 2.30156250e+04 106500 +5000000 2.31320312e+04 6500 +5000000 2.32484375e+04 27500 +5000000 2.33648438e+04 7000 +5000000 2.34812500e+04 456500 +5000000 2.35976562e+04 7500 +5000000 2.37140625e+04 30000 +5000000 2.38304688e+04 7500 +5000000 2.39468750e+04 121000 +5000000 2.40632812e+04 7000 +5000000 2.41796875e+04 30000 +5000000 2.42960938e+04 8000 +5000000 2.44125000e+04 1871500 +5000000 2.45289062e+04 7500 +5000000 2.46453125e+04 30000 +5000000 2.47617188e+04 7500 +5000000 2.48781250e+04 118000 +5000000 2.49945312e+04 7000 +5000000 2.51109375e+04 29000 +5000000 2.52273438e+04 7000 +5000000 2.53437500e+04 453000 +5000000 2.55765625e+04 28000 +5000000 2.58093750e+04 107000 +5000000 2.60421875e+04 25000 +5000000 26275 5895000 +5000000 2.65078125e+04 23500 +5000000 2.67406250e+04 88500 +5000000 2.69734375e+04 21000 +5000000 2.72062500e+04 313500 +5000000 2.74390625e+04 19000 +5000000 2.76718750e+04 69000 +5000000 2.79046875e+04 16000 +5000000 2.81375000e+04 920500 +5000000 2.83703125e+04 13000 +5000000 2.86031250e+04 47000 +5000000 2.88359375e+04 10000 +5000000 2.90687500e+04 147000 +5000000 2.93015625e+04 8000 +5000000 2.95343750e+04 26000 +5000000 2.97671875e+04 6000 +5000000 30000 2.11614e+08 diff --git a/Master/texmf-dist/doc/latex/pgfplots/todo.txt b/Master/texmf-dist/doc/latex/pgfplots/todo.txt index e0d804e0d36..23880977b8f 100644 --- a/Master/texmf-dist/doc/latex/pgfplots/todo.txt +++ b/Master/texmf-dist/doc/latex/pgfplots/todo.txt @@ -2,11 +2,77 @@ BUGS ------------------------------------------------------------- +- the interrupt bounding box feature should still update the data bounding box. + Otherwise, transformations may fail. + +- to check: it *could* be possible that errorbars + stacked plots are + incompatible. + ++ the 'alias' and 'create on use' features may lead to errors. Check it! + ++ variables which are used both globally and locally seem to fill TeX's save + stack to due retained restores + ++ I have introduced incompatiblities with the 'log identify minor ticks' option. + Check how to solve that. Side conditions: + - compatibility with the modified log tick labels for small range + - compatibility with extra ticks + - compatibility with the manual + ++ check whether 'clip limits' works properly if only one data point falls into + the final region + ++ add '-halt-on-error' to externalize command + ++ handle rare case that auto limit computation leads to min > max (only possible + for clip limits=false) + ++ evaluate 'every axis plot' inside of \addplot command, even if that means a + small inefficiency because it is evaluated in the \draw command as well. + -> allows to get id, prefix, samples and other behaviorual options. + -> attention: then, every axis plot would contain BOTH display and behavioral + options; take care with key paths + ++ \addplot plot[#1] does not use /pgfplots as search path ++ 'every axis plot' does not use /pgfplots as search path + + ++ implement partial limit specification, for example 'xmin=5' -> only compute + 'xmax' + ++ check gnuplot on windows - there appear to be semicolon problems!? + ++ again, the disabledatascaletrafo key does not seem to work correctly. Check it! + +X active semicolons may be a problem + ++ [ CF: for tikzlibraryexternal : use double quotes instead of single quotes in + system calls -> win32 doesn't support single quotes ] + ++ problem with context: even simple images do not work correctly. Why does the example work!? + ++ table package: 'array' required for some examples -> document + ++ handle 'nan' and +-inf in plots + +- 'every axis plot post' is not reflected in legend (at least not properly) + ++ plot function: incompatibility with 'german' package and " catcodes + ++ improve error recovery + ++ grid lines and tick lines can obscure the axis lines, especially when used + with different colors. + -> draw axis lines on top of tick/grid lines!? + Or more generally: change drawing sequence to + 1. grid lines + 2. tick lines + 3. axis lines + 4. tick labels? + - extra ticks can be disabled by the tick special cases for axis lines (when two axis lines cross each other) -- \addplot plot[#1] does not use /pgfplots as search path - + eliminate any public reference to the '\\'-lists. They are inconsistent with PGF. + use '{}' for sci 'e' style - looks better @@ -36,7 +102,7 @@ BUGS + ytick=\empty is broken again :-( -- if a logplot has very small axis ranges, only ONE tick label will be placed. ++ if a logplot has very small axis ranges, only ONE tick label will be placed. Thats not enough. In such a case, tick labels should be placed at MINOR TICKS [2-9]*10^i. BTW: @@ -101,72 +167,136 @@ X Fix the scaling estimations. X verschiebung des ylabels ist komisch, wegen der rotate option -+ die standard-positionierung der achsenlabels beruecksichtigt nicht die breite - der ticklabels - entweder ist es daher zu weit weg oder zu nah -+ tickpos packt nur die ticks woanders hin, nicht die tick labels +------------------------------------------------------------- +FEATURES +------------------------------------------------------------- + +- it would be interesting to get an high-level coordinate mapping + X : K -> \R + X(k) \in \R is the x-coordinate. + Idea: K can be any type of input, for example + - time, + - date, + - strings, + - ... + and K maps this transparently to numbers. Then: *all* input is given in K, and + all output (tick labels) are given in K as well (requires X^{-1}). + -> that's not difficult. -+ das log-ding prueft nicht auf 0. was soll es dann ueberhaupt tun!? -+ das log-ding kann - 1e7 nicht lesen, nur 1.0e7 ++ styles are named very unintuitively. I should add something more convenient + (for example like the 'legend style={}' command). Idea: use the *same* name + as the options which are affected, + 'xlabel style' 'title style' etc. My current naming scheme used the name of + the 'every style' which suffer from backwards compatibility with xkeyval... + :-( -+ wenn man jetzt ticks angibt, sieht man die rechenfehler angezeigt. das ist - doof. Vllt. kann ich ja zugriff auf die normalisierte gleitpunktdarstellung - bekommen und so das als 10^i darstellen?? - HALT: die ticks WAREN doch mal als normale zahlen gegeben, oder? Die sollte - ich nehmen! +- maybe it is possible to eliminate a lot of key macros to save string space? + Those family macros can be optimized (sure ?). -+ bei bel. ticks moechte ich nur ne gewisse anzahl stellen im tick label haben! +- provide access to axis limits and data bounding box. -+ beim auto-limit-lesen geht - \addplot[color=red,mark=x] - plot coordinates { ... } - nicht wegen nervigen white spaces. - genauer: das whitespace nach ']' verwirrt TeX. NERV. +- It would be useful to get access to axis coordinates, for example in 'circle (XXX)' -+ autoscale option ist falsch benannt. Die muesste enlargecanvas oder so - heissen. +- axis equal option -+ die Achsenticks in der y-log-achse werden nicht geclipped +- consider 'plot image[xmin=,xmax=,ymin=,ymax=] {<graphics>}; + -> load external plot image!? Only useful for matlab, if matlab would allow 100% + control over bounding box. Unfortunately, it doesn't. -+ bei nicht-integer-xmin oder ymin sollte der TICK nicht zur 0 hin runden, - sondern immer nach unten. Das funktioniert derzeit nicht bei negativen zahlen. - +- allow extended <col name> arguments inside of create column -+ die Achsenticks werden nicht geclipped ++ is it possible to create a *real* linked list? It should have the following + features: + 1. O(1) push/pop operations + 2. O(N) copy() + 3. O(N) convert to macro list + 4. O(N) traversal/loop -+ die Achsenbeschriftung wird nicht geclipped - + halb geloest: muss die sachen in tex-dimensionen parsen... ++ introduce \label and \ref for legend entries? ++ optimize tikz-interface -+ wenn man [xy]ticks nicht mit 1-abstand waehlt, werden die minor ticks - angezeigt ++ optimize macro-append issue from O(N^2) time to O(N) -+ durch skalieren mit [x=2cm] werden die tick-breiten mit skaliert ++ create a \pgfmathfloattosci method and use that for the numerics in table package -X durch die verwendung der TEX-Register scheinen ungeauigkeiten beim clippen - aufzutreten: - man sieht sachen, die aus der ungebungsbox rausragen. +X re-implement 'dec sep align' of table package natively, not as high-level + style. ++ It is not (easily) possible to replace single entries of tables with '-'. + (for example: gradient columns) -+ diese liste sollte nicht '\\' fuer die interne repr verwenden. ++ create a \pgfmathfloattosci method and use that for the numerics in table package +- check whether the new floating point routines can be used to + REALLY setup a linear map DATA RANGE -> DISPLAY RANGE + Technical thing: map the CLIPPED data range or the TOTAL data range? + What advantages/disadvantes appear? -+ fuehre optionen fuer die legende ein - (position, font) +- [Tikz] document how to use internal registers can be used in libraries. -+ wenn man mit 'font=\large' die gesamt fontgroesse anpasst, werden die legenden - bei 'auto' konfiguration nicht mit breiter. ++ [Tikz] add an 'every plot mark' option and adjust 'mark options' accordingly - Abhilfe vllt.: hole irgendwoher das '\font' argument .... ++ document the 'external' library of tikz (CVS only). -X Die gesamtbreite enthaelt zu viele nur grob einkalkulierte einfluesse! - - rechts gibt es einen randbereich; vermutl. durch ticks - - links gibt es das ylabel und die y-achsenbeschriftung ++ group 'All supported styles' section by content + + ++ allow arrow heads or other axis line styles + + styles for axis lines are missing + + for outer axis lines: introduce option 'separate axis line paths' + if one wants to use arrow heads + ++ set default styles for non-boxed axis labels + + label positions for centered axis lines + + tick scale labels + + tick align versus label positions + + think about axis label placement. Possibilities: + - on the same side as tick labels. + -> should be move away in normal direction + -> should avoid problems with tick scale labels + - opposite of tick labels +- perhaps math style {grid=major, axis x line=middle, axis y line=center, tick + align=outside} + + ++ the table package could use some sort of multicolumn feature which + allows something like 'columns={A,B,A,B,A,B}' and distributes entries of input + columns A and B equally to output columns. + ++ TDS directory structure is not completely correct. Should be everything under + directory 'pgfplots': + $package = "pgfplots"; + &SYSTEM ("$MV README ext_scripts test doc/generic/$package/"); + &SYSTEM ("$MV generic tex/generic/$package/"); + &SYSTEM ("$MV context latex plain tex/"); + and context files should be in + tex/context/third/pgfplots/... + doc/context/third/pgfplots/... + (reference: mail conversation with Karl Berry) + + ++ automatic disabling of enlargelimits when axis lines are not drawn as a box + ++ copy my personal' homepages short images to pgfplots website + +- interrupt single plots at discontinuities (for example tan(x)) + -> don't draw from +infty to -infty + +- optimize plot expression + ++ optimize tick generation code for speed + ++ alias 'axis x line=middle' and 'axis x line=center' + ++ an option which contains legend ENTRIES? + ++ the non-boxed axis lines are placed at 'ZERO'. Maybe this zero level should + get an anchor!? -> allows to place axis labels above it + +- default style for axis lines to: {thin, black!25} ? -------------------------------------------------------------- -FEATURES -------------------------------------------------------------- X implement an axis as path-command @@ -178,18 +308,6 @@ X implement an axis as path-command + Maybe I could perform a restore of the current bounding box at the END of an axis. Restore means: restore to the setting BEFORE the axis. - This is useful if - - the size of the inner axis - - the size of the final axis - remains known until after the complete axis. - - Motivation: the axis as such can have NO contribution to the pictures dimension, - and the user can call '\useasboundingbox (inner axis.north east) rectangle - (inner axis.south west); - or something like that. - - This affects \pgf@picminx and the other variables, see the manual. - + I could create a node which can be referenced and which has the axis' size [ That touches another open problem, see below] @@ -211,93 +329,8 @@ X implement an axis as path-command '#2' as just the current plot spec OPTIONS. -+ prettyprintnumber is not adequate. - There are different aims: - 1. The user provides - + precision - + number format (sci, fixed, truncate to int, 'whatever fits best') - + the number in any precision or format. - Details: - + I need \scifloatround - + sollte die mantisse einer exponential-darstellung runden - + erfordert u.U. renormalisierungen - + the fixed point rounding routine needs to distinguish between - + MAXIMUM precision, 1.000 -> 1 - + FIXED precision 1.000 -> 1.00 - + the 'std' format should use - + fixed point if - -4 < e < precision - + scientific in all other cases. - + this is copied from 'printf' manual. Motivation: - - 0.00013 wastes more space than 1.3e-4 and the latter - one may have higher precision. - - with precision 3, exponent > precision like 12345 = - 1.2345e4, the fixed point repr has as much digits as - the sci format. If exponent >> precision, it is - better to use scientific notation and round the - mantisse to 'precision'. - 2. The user says "show the information appropriately". Examples: - - "format my axis tick labels so that information is represented well - with very few space" - - "format my numbers such that absolute values above THRESH1 are - formatted with SCI, and absolute numbers below THRESH2 are formatted - with SCI, and those within with fixed pt. - - "format my numbers relatively to a reference number - I want to see - the difference!" - That may also be an appropriate choice for axis descriptions... - -> these informal requirements should be converted into a precise - definition. They should be available as configurable, predefined - "display strategies". - 3. The user may not only want to specify the NUMBER FORMAT (sci, fixed, ...), - but maybe he also wants to CONFIGURE THE GENERATED STRINGS. Examples: - - '1.002' vs '1,002' vs '1\cdot 002' , ... - - '1\cdot 10^4' vs '1e4' versus '1e+4' versus '1_{4}', .... - -> allow such possiblities. - Details for the display-methods (they don't round!): - - for log-displays: call \shownumberexponential{1}\empty\exponent - -> 10^i; 10^{0.702} - -> the precision should be used to round the exponent! - -> round exponent with \shownumberfixedpt. - Well, maybe a separate method like - \shownumberlogdisplay\exponent would be more appropriate. - - for scientific format: call - \shownumberexponential\sign\mantisse\exponent - There are different possible methods to display \mantisse: - + MAXIMUM precision - + FIXED precision - The same holds for the exponent: - - zero-pad to X digits - - minimum space - - for "normal" numbers, either with fixed or maximum precision: - \shownumberfixedpt\preperiod\postperiod - -> this should also be used for \mantisse! - My idea is that any input number HAS a period; then I simply need - to divide into the part before and after that. - -> conflicts with the idea of rounding: the rounded result may be - an integer! - Maybe I can return the \preperiod and \postperiod parts from the - rounding-routines. - Ideas: - + prettyprintnumber should access a bunch of configuration variables. - + these variables should be configurable by a key-value-parser. - + there should be a key-value-interface for prettyprintnumber, but it would - be best if that one is not necessarily needed. Most applications will not call - prettyprintnumber directly; they will configure the number format once and - invoke prettyprintnumber without options. - At least I think so.... - - I could create a tabular-column format for column pretty printing - (possibly with alignment) - - I guess I can take the manual for printf and re-implement all of its - features (together with some of LaTeX like subscript exponentials or so) - -- document 'legend plot pos' option - -+ Most of my loops are quite inefficient. I have learned how to employ - \@ifnextchar (or the PGF-pendant) to create efficient loops on top of TeXs - parser: - - use \@ifnextchar to check for a TERMINATE token and recurse otherwise. - - linear runtime - - I fear, my loops have quadratic runtime + ++ document 'legend plot pos' option + there are some clipping paths in the tick-placement loop which can be replacement with simple \ifdim's. @@ -308,28 +341,6 @@ X implement an axis as path-command them like '\tick' during ticklabel typesetting -+ Es sollte unbedingt moeglich sein, die TikZ-Styles zu verwenden. Das - \axispreset ist reichlich nervig und inkonsistent mit der restlichen nutzung - -> optimal: - \path (0,0) axis[xlabel=X,width=...] { - \addplot plot coordinates {...}; - }; - or - \path (0,0) axis[xlabel=X] { - \addplot plot coordinates {...}; - } - (1,1); - and the scaling would create a plot of dimension (1*x,1*y). - - What do I really need? - - Path commands, - - style support, - - ... ? - -- provide accessable names for external axis labels, for example - \path[use as bounding box] (0,0) rectangle (1,1) (axis x label.south); - -> would only use the axis rectangle and the x label as bounding box. - + improve tick placement (more) systematically + provide auto tick labels at 5*i if appropriate @@ -346,43 +357,8 @@ X implement an axis as path-command 10^0.703 vs fixed point format + I could provide a global coordinate transformation - T(x) = x * 10^{q-m} - where 'q' is the desired range of numbers. It depends on TeXs numerical - capacities and the desired size (cm) of the plot. - - The number 'm' is the order of the input data, \abs{x} \in O(10^m). - Advantages: - - such a transformation is purely based on period shifts - (multiplication/division by 10) - and is therefor purely TEXT BASED - - one can avoid TeXs limitations on numbers - - the full plot precision is maintained - Disadvantages: - - takes some more time, - - any \axispath commands need to use the transformation as well - - I need to provide a good implementation of T and T^{-1} - - needs a lot of care in programming - Ideas: - - the transformation could be included into my 'filter coordinates' - framework. However, one special treatment has to be done because - the transformation can only be done as soon as axis limits are known. - I guess it would be better to transform BEFORE TikZ touches the first - point. - - I should use my normalized floating point parser, possibly with some - simplifications - + implement numerics on floating point repr - + less than, - + minimum, - + format conversions, - + arithmetic shifts - - Maybe I could be evil and overwrite PGF's number parsing routine(s) - (\pgfmathparse?) - Advantage: I could apply log to user input; I could apply this - transformation transparently - -> maybe the number parsing is only performed by TikZ routines, not the - lowlevel PGF ones... perhaps thats easier to replace? - -- I could try to use the plot-stream framework of PGF directly instead of using + ++ I could try to use the plot-stream framework of PGF directly instead of using the 'plot coordinates' command of tikz. Advantage: would be faster. And the additional features can't be used anyway because of my own number parsing routines... @@ -395,8 +371,6 @@ X implement an axis as path-command + axis hide option ? macht das sinn? -- axis equal option - + legende anders formatierbar? - ausserhalb des (und isoliert von dem) plots? + horizontal? @@ -406,12 +380,6 @@ X implement an axis as path-command + major -> einfach als verlaengerung der kleinen tick lines -- hintergrundfarbe des plots auf "weiss" fixierbar - -> sinnvoll fuer vortraege, bei denen anderer hintergrund ist - - option: GANZER plot oder nur achse - -- je eine autoplotspeclist fuer jeden achsentyp (d.h. 4 insgesamt) - - es gibt scheinbar in PDF viewern die moeglichkeit, fuer den Druck ein anderes dokument/dokumentteile zu verwenden als fuers Bildschirmbetrachten (draft-package bspw?). @@ -419,7 +387,7 @@ X implement an axis as path-command -> pruefe draftcopy paket -- koennte man den kram auch aus (grossen) tabellen rauslesen? Also sowas wie ++ koennte man den kram auch aus (grossen) tabellen rauslesen? Also sowas wie "plot X versus Y aus file Z"? -> DEBUG! Ideen: @@ -449,43 +417,15 @@ X implement an axis as path-command + automatisches tick-platzieren koennte verbessert werden -> insbesondere fuer normale plots -- fehlerbars waeren nett - -- es waere schoen, wenn man auf legend extern zugreifen koennte oder diese sogar - plotten koennte - -+ es waere nicht schlecht, wenn man die ticklabels bessere angeben koennte - z.B. - ticklabellist={1\\2\\3\\} - oder so ++ fehlerbars waeren nett -- prettyprintnumber: sollte SCI benutzen, wenn underflow + baseline option, die die linke unter ecke als '(0,0)' koordinate annimmt. Wuerde generell sinn machen, oder? -- andere plot-befehle - - domain option verwenden zum update der limits - - kann man logs anwenden? - - plot function - + plot file - + plot table[x=column1,y=column4] - - plot (...) - -> see tikz.code.tex for how to implement that! - -- es waere schoen, wenn ich die ANZAHL der sinnvollen ticks angeben wuerde, d.h. - TICKS PRO ACHSE anstelle von TICKS PRO UNIT DIFFERENZ - -- ich haette sehr gerne ein Skript, dass zu jeder figure ein eps und/oder pdf ++ ich haette sehr gerne ein Skript, dass zu jeder figure ein eps und/oder pdf macht, dass dann bitte schoen ordentlich includiert wird. - - DAS FUNKTIONIERT AUCH; siehe meine entsprechenden bemuehungen in dem skript. - - PROBLEM: - - der support fuer dvipdfm ist lausig. - 1. kein korrektes bestimmen der bounding box - 2. beim lesen sucht er nach '\includegraphics{zeug.PDF}', was natuerlich - NICHT funktioniert, weil das pdf keine bounding box hat. supi. + -> see tikzexternal june 2008 + passe bounding box und x/y-skalierung "sinnvoll" an. @@ -534,10 +474,10 @@ X implement an axis as path-command + option, minor ticks ein/auszuschalten -- option, die X/Y-Achsen anders zu formatieren. Moeglichkeiten: - - Kasten drumrum - - je eine Linie mit Pfeil am Ende - - Achse nach rechts oder so ++ option, die X/Y-Achsen anders zu formatieren. Moeglichkeiten: + + Kasten drumrum + + je eine Linie mit Pfeil am Ende + + Achse nach rechts oder so + aendere die das \addplot makro derart, dass beliebige plot-moeglichkeiten folgen koennen diff --git a/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/matlab2pgfplots.m b/Master/texmf-dist/scripts/pgfplots/matlab2pgfplots.m index 5c1fc6296c6..8d4ce820083 100644 --- a/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/matlab2pgfplots.m +++ b/Master/texmf-dist/scripts/pgfplots/matlab2pgfplots.m @@ -315,6 +315,7 @@ end fwrite( FID, [ ... '\end{axis}' ENDL ... '\end{tikzpicture}%' ENDL ] ); +fclose(FID); end diff --git a/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/matlab2pgfplots.sh b/Master/texmf-dist/scripts/pgfplots/matlab2pgfplots.sh index 9bc84642506..9bc84642506 100644..100755 --- a/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/matlab2pgfplots.sh +++ b/Master/texmf-dist/scripts/pgfplots/matlab2pgfplots.sh diff --git a/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/pgf2pdf.sh b/Master/texmf-dist/scripts/pgfplots/pgf2pdf.sh index 027a6157b77..027a6157b77 100644..100755 --- a/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/pgf2pdf.sh +++ b/Master/texmf-dist/scripts/pgfplots/pgf2pdf.sh diff --git a/Master/texmf-dist/source/context/third/pgfplots/pgfplotstests.zip b/Master/texmf-dist/source/context/third/pgfplots/pgfplotstests.zip Binary files differnew file mode 100644 index 00000000000..0c3dfd3e97a --- /dev/null +++ b/Master/texmf-dist/source/context/third/pgfplots/pgfplotstests.zip diff --git a/Master/texmf-dist/source/latex/pgfplots/pgfplotstests.zip b/Master/texmf-dist/source/latex/pgfplots/pgfplotstests.zip Binary files differnew file mode 100644 index 00000000000..ec540cb2bfa --- /dev/null +++ b/Master/texmf-dist/source/latex/pgfplots/pgfplotstests.zip diff --git a/Master/texmf-dist/tex/context/pgfplots/t-pgfplots.tex b/Master/texmf-dist/tex/context/third/pgfplots/t-pgfplots.tex index 93324e1e5b0..1dbd5495cab 100644 --- a/Master/texmf-dist/tex/context/pgfplots/t-pgfplots.tex +++ b/Master/texmf-dist/tex/context/third/pgfplots/t-pgfplots.tex @@ -52,6 +52,9 @@ % \let\startloglogaxis=\pgfplots@environment@loglogaxis \let\stoploglogaxis=\endpgfplots@environment@loglogaxis + % + \def\startpgfplotsinterruptdatabb{\pgfplotsinterruptdatabb}% + \def\stoppgfplotsinterruptdatabb{\endpgfplotsinterruptdatabb}% }% \catcode`\@=\tikzatcode diff --git a/Master/texmf-dist/tex/context/third/pgfplots/t-pgfplotstable.tex b/Master/texmf-dist/tex/context/third/pgfplots/t-pgfplotstable.tex new file mode 100644 index 00000000000..0732df60c10 --- /dev/null +++ b/Master/texmf-dist/tex/context/third/pgfplots/t-pgfplotstable.tex @@ -0,0 +1,26 @@ +%-------------------------------------------- +% +% Package pgfplotstable +% +% It is based on Till Tantau's PGF package. +% +% Copyright 2007/2008 by Christian Feuersänger. +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +%-------------------------------------------- + +\usemodule[pgfplots] + +\endinput diff --git a/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarydateplot.code.tex b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarydateplot.code.tex new file mode 100644 index 00000000000..161943d6c28 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarydateplot.code.tex @@ -0,0 +1,75 @@ +%-------------------------------------------- +% +% Package pgfplots, library for high-level coordinates. +% +% Copyright 2007/2008 by Christian Feuersänger. +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +%-------------------------------------------- + +\pgfutil@usemodule{pgfcalendar} + +% Idea: allow +%-------------------------------------------------- +% \begin{tikzpicture} +% \begin{axis}[ +% date coordinates in=x, +% xticklabel={\day.\month.}, +% ] +% \addplot coordinates { +% (2008-01-5, 5) +% (2008-01-12, 10) +% (2008-01-16, 20) +% }; +% \end{axis} +% \end{tikzpicture} +%-------------------------------------------------- + +\def\pgfplots@truncate@to@julian#1.#2\pgfplots@EOI#3{#3=#1\relax}% + +\pgfplotsset{ + /pgfplots/date ZERO/.code={% + \begingroup + \pgfcalendardatetojulian{#1}\c@pgf@counta + \edef\pgfmathresult{\the\c@pgf@counta}% + \pgfmath@smuggleone\pgfmathresult + \endgroup + \let\pgfplots@calender@ZEROSHIFT=\pgfmathresult + }, + date ZERO=2006-01-01, + /pgfplots/date coordinates in/.style={ + /pgfplots/#1 coord trafo/.code={% + \begingroup + \pgfcalendardatetojulian{##1}\c@pgf@counta + \advance\c@pgf@counta by-\pgfplots@calender@ZEROSHIFT\relax + \edef\pgfmathresult{\the\c@pgf@counta}% + \pgfmath@smuggleone\pgfmathresult + \endgroup + }, + /pgfplots/#1 coord inv trafo/.code={% + \begingroup + \pgfplots@truncate@to@julian##1\pgfplots@EOI{\c@pgf@counta}% + \advance\c@pgf@counta by\pgfplots@calender@ZEROSHIFT\relax + \expandafter + \endgroup + \expandafter\pgfcalendarjuliantodate\expandafter{\the\c@pgf@counta}\year\month\day + \edef\pgfmathresult{\year-\month-\day}% + }, + /pgfplots/#1ticklabel={\tick},% + /pgfplots/scaled #1 ticks=false, + }, + /pgfplots/date coordinates in/.value required, +} + diff --git a/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex b/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex index 16e4b539c02..77fc52b1115 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex @@ -56,7 +56,7 @@ \long\def\pgfplotsarraynew#1#2{% \pgfplotsarraynewempty{#1}% \long\def\pgfplotsarraynew@impl@rest{#2}% - \loop + \pgfutil@loop \ifx\pgfplotsarraynew@impl@rest\pgfutil@empty \pgfplots@loop@CONTINUEfalse \else @@ -64,7 +64,7 @@ \fi \ifpgfplots@loop@CONTINUE \expandafter\pgfplotsarraynew@impl\pgfplotsarraynew@impl@rest\toarray#1\relax - \repeat + \pgfutil@repeat } % helper macro for \pgfplotsarraynew @@ -96,11 +96,11 @@ \pgfplotsarray@@let{#2@size}={#1@size}% \pgfplotsarray@@getsizeto{#1}{\pgfplotsarray@TMP}% \c@pgfplotsarray@tmp=0 - \loop + \pgfutil@loop \ifnum\c@pgfplotsarray@tmp<\pgfplotsarray@TMP \pgfplotsarray@@let{#2@\the\c@pgfplotsarray@tmp}={#1@\the\c@pgfplotsarray@tmp}% \advance\c@pgfplotsarray@tmp by1 - \repeat + \pgfutil@repeat } @@ -179,24 +179,24 @@ \long\def\pgfplotsarrayforeach#1\as#2#3{% \pgfplotsarray@@getsizeto{#1}{\pgfplotsarray@TMP}% \c@pgfplotsarray@tmp=0\relax - \loop + \pgfutil@loop \ifnum\c@pgfplotsarray@tmp<\pgfplotsarray@TMP\relax \begingroup \expandafter\let\expandafter#2\expandafter=\csname\string#1@\the\c@pgfplotsarray@tmp\endcsname% #3% \endgroup \advance\c@pgfplotsarray@tmp by1 - \repeat + \pgfutil@repeat } % The same but without groups around #3. \long\def\pgfplotsarrayforeachungrouped#1\as#2#3{% \pgfplotsarray@@getsizeto{#1}{\pgfplotsarray@TMP}% \c@pgfplotsarray@tmp=0\relax - \loop + \pgfutil@loop \ifnum\c@pgfplotsarray@tmp<\pgfplotsarray@TMP\relax \expandafter\let\expandafter#2\expandafter=\csname\string#1@\the\c@pgfplotsarray@tmp\endcsname% #3% \advance\c@pgfplotsarray@tmp by1 - \repeat + \pgfutil@repeat } diff --git a/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure.code.tex b/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure.code.tex index 48fd19a890c..d7bd7dc73ed 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure.code.tex @@ -4,12 +4,17 @@ % % Its implementation is based on Knuth's list macros in "The TeXbook". % +% It features a convenient set of list macros, but it is not fast. +% In fact, every elementary operation requires time O(N), so working +% with this list easily leads to O(N^2) runtime. +% % The following macros are supplied: % % \pgfplotslistnewempty % \pgfplotslistnew % \pgfplotslistcopy % \pgfplotslistpopfront +% \pgfplotslistfront % \pgfplotslistpushback % \pgfplotslistpushfront % \pgfplotslistsize @@ -17,6 +22,10 @@ % \pgfplotslistcheckempty % \pgfplotslistforeach % +% @see \pgfplotsapplist a "real" list with O(1) pushback, but limited application. +% @see \pgfplotsapplistX a preasymptotical fast list to accumulate elements. +% @see \pgfplotsapplistXX an optimized version of \pgfplotsapplistX. +% % Copyright 2007/2008 by Christian Feuersänger. % % This program is free software: you can redistribute it and/or modify @@ -36,8 +45,6 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newtoks\pgfplotslist@TOK@a -\newtoks\pgfplotslist@TOK@b \newif\ifpgfplotslistempty @@ -74,7 +81,7 @@ \else \expandafter\def\expandafter\pgfplotslistnew@impl@rest\expandafter{\pgfplotslistnew@impl@rest,}% \fi - \loop + \pgfutil@loop \ifx\pgfplotslistnew@impl@rest\pgfutil@empty \pgfplots@loop@CONTINUEfalse \else @@ -86,13 +93,13 @@ \else \expandafter\pgfplotslistnew@impl@comma\pgfplotslistnew@impl@rest\tolist#1\relax \fi - \repeat + \pgfutil@repeat } \def\pgfplotslist@EOI{\pgfplotslist@EOI} \def\pgfplotslist@check@backslash@list#1\\#2\pgfplotslist@EOI{% - \def\pgfplotslist@TMPB{#2}% - \ifx\pgfplotslist@TMPB\pgfutil@empty + \def\pgfplotslist@loc@TMPa{#2}% + \ifx\pgfplotslist@loc@TMPa\pgfutil@empty \pgfplotslist@is@backslash@terminatedfalse \else \pgfplotslist@is@backslash@terminatedtrue @@ -119,9 +126,15 @@ % Example: % \pgfplotslistpushfront Next first Element\to\foolist \long\def\pgfplotslistpushfront#1\to#2{% - \pgfplotslist@TOK@a={\pgfplotslist@sep{#1}}% - \pgfplotslist@TOK@b=\expandafter{#2}% - \edef#2{\the\pgfplotslist@TOK@a\the\pgfplotslist@TOK@b}% + \t@pgfplots@toka={\pgfpl@@{#1}}% + \t@pgfplots@tokb=\expandafter{#2}% + \edef#2{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% +} + +% Assembles a low-level list item representation into the token +% register #2. +\def\pgfplotslist@assembleentry#1\into#2{% + #2={\pgfpl@@{#1}}% } % #1: the item to append @@ -129,22 +142,32 @@ % Example: % \pgfplotslistpushback Next last element\to\foolist \long\def\pgfplotslistpushback#1\to#2{% - \pgfplotslist@TOK@a={\pgfplotslist@sep{#1}}% + \t@pgfplots@toka={\pgfpl@@{#1}}% \ifx#2\pgfutil@empty - \pgfplotslist@TOK@b={}% + \t@pgfplots@tokb={}% \else - \pgfplotslist@TOK@b=\expandafter{#2}% + \t@pgfplots@tokb=\expandafter{#2}% \fi - \edef#2{\the\pgfplotslist@TOK@b\the\pgfplotslist@TOK@a}% + \edef#2{\the\t@pgfplots@tokb\the\t@pgfplots@toka}% +} +% Adds '#1' to the GLOBAL list '#2'. +\long\def\pgfplotslistpushbackglobal#1\to#2{% + \t@pgfplots@toka={\pgfpl@@{#1}}% + \ifx#2\pgfutil@empty + \t@pgfplots@tokb={}% + \else + \t@pgfplots@tokb=\expandafter{#2}% + \fi + \xdef#2{\the\t@pgfplots@tokb\the\t@pgfplots@toka}% } % Concatenates two lists #2 and #3 into #1 % Example: % \pgfplotslistconcat\result=\foolist&\bar \long\def\pgfplotslistconcat#1=#2{% - \pgfplotslist@TOK@a=\expandafter{#2}% - \pgfplotslist@TOK@b=\expandafter{#3}% - \edef#1{\the\pgfplotslist@TOK@a\the\pgfplotslist@TOK@b}% + \t@pgfplots@toka=\expandafter{#2}% + \t@pgfplots@tokb=\expandafter{#3}% + \edef#1{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% } % implements #2 := pop_front(#1) @@ -154,16 +177,29 @@ \pgfplotslistcheckempty#1\relax \ifpgfplotslistempty \pgfplots@error{ERROR: \string\pgfplotslistpopfront\ from \string#1\ although list is EMPTY}% + \let#2=\pgfutil@empty \else \expandafter\pgfplotslistpopfront@impl#1\pgfplotslistpopfront@macronames#1#2% \fi } +\long\def\pgfplotslistfront#1\to#2{% + \pgfplotslistcheckempty#1\relax + \ifpgfplotslistempty + \pgfplots@error{ERROR: \string\pgfplotslistfront\ from \string#1\ although list is EMPTY}% + \let#2=\pgfutil@empty + \else + \expandafter\pgfplotslistfront@impl#1\pgfplotslistpopfront@macronames#2% + \fi +} % implementation helper for listpopfront -\long\def\pgfplotslistpopfront@impl\pgfplotslist@sep#1#2\pgfplotslistpopfront@macronames#3#4{% +\long\def\pgfplotslistpopfront@impl\pgfpl@@#1#2\pgfplotslistpopfront@macronames#3#4{% \def#4{#1}% \def#3{#2}% } +\long\def\pgfplotslistfront@impl\pgfpl@@#1#2\pgfplotslistpopfront@macronames#3{% + \def#3{#1}% +} % Counts the number of elements in list #1, storing it into the count % register #2. @@ -172,7 +208,7 @@ % \the\count0 \long\def\pgfplotslistsize#1\to#2{% #2=0% - \long\def\pgfplotslist@sep##1{\advance#2 by 1 }% + \long\def\pgfpl@@##1{\advance#2 by 1 }% #1% } @@ -188,12 +224,15 @@ % \elem % Element \count1: % \pgfplotslistselect\count1\of\foo\to\elem -\long\def\pgfplotslistselect#1\of#2\to#3{% - \global\def\pgfplotslistselect@tmp{\def#3{\pgfplots@error{The requested item #1 of \string#2 is OUT OF RANGE.}}}% +\def\pgfplotslistselect#1\of#2\to#3{% + \global\def\pgfplotslistselect@tmp{\def#3{}\pgfplots@error{The requested list entry with index #1 of \string#2 is too large; this list has not enough elements.}}% + \pgfplotslistselect@{#1}\of{#2}\to{#3}% +} +\def\pgfplotslistselect@#1\of#2\to#3{% \begingroup \count0=#1\relax - \long\def\pgfplotslist@sep##1{% - \advance\count0-1\relax + \long\def\pgfpl@@##1{% + \advance\count0 by-1\relax \ifnum\count0=-1\relax \global\def\pgfplotslistselect@tmp{\def#3{##1}}% \fi% @@ -202,6 +241,10 @@ \endgroup \pgfplotslistselect@tmp } +\def\pgfplotslistselectorempty#1\of#2\to#3{% + \global\def\pgfplotslistselect@tmp{\def#3{}}% + \pgfplotslistselect@{#1}\of{#2}\to{#3}% +} % Sets the boolean \ifpgfplotslistempty depending on whether list #1 is empty % or not. @@ -217,7 +260,12 @@ \ifx#1\pgfutil@empty \pgfplotslistemptytrue \else - \pgfplotslistemptyfalse + \ifx#1\relax + \pgfplots@warning{WARNING: possible logic error in script code: the command \string\pgfplotslistcheckempty{\string#1} encountered an undefined argument.}% + \pgfplotslistemptytrue + \else + \pgfplotslistemptyfalse + \fi \fi } @@ -233,7 +281,7 @@ % Each single element will be grouped with TeX groups. \long\def\pgfplotslistforeach#1\as#2#3{% \begingroup - \long\def\pgfplotslist@sep##1{\def#2{##1}% + \long\def\pgfpl@@##1{\def#2{##1}% \begingroup #3 \endgroup}% @@ -249,7 +297,7 @@ \pgfplots@error{Sorry, you can't nest pgfplotslistforeachungrouped.}% \else \pgfplotslistforeachungroupedrunningtrue - \long\def\pgfplotslist@sep##1{\def#2{##1}#3}% + \long\def\pgfpl@@##1{\def#2{##1}#3}% #1\relax \pgfplotslistforeachungroupedrunningfalse \fi diff --git a/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex b/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex new file mode 100644 index 00000000000..a10e67c82f3 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex @@ -0,0 +1,459 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% This is a helper package with an elementary list datastructure. +% In contrast to \pgfplotslist, this one features fast append and fast +% copy-to-macro. +% +% The 'pgfplotsapplist' is a list which has ONLY the features +% +% \pgfplotsapplistnewempty +% \pgfplotsapplistpushback O(1) +% \pgfplotsapplistedefcontenttomacro (N) +% \pgfplotsapplistxdefcontenttomacro (N) +% +% It has been designed to accumulate macro content in O(N) (in +% contrast to TeX's macro append routines which lead to O(N^2) +% runtime). +% +% Furthermore, there is the +% +% \pgfplotsapplistXnewempty +% \pgfplotsapplistXpushback +% \pgfplotsapplistXedefcontenttomacro (N) +% \pgfplotsapplistXxdefcontenttomacro (N) +% \pgfplotsapplistXlet (N) +% +% structure which features **preasymptotical** constant runtime for +% pushback. That means, as long as N < 80000, the runtime is linear. +% It is only slightly slower than \pgfplotsapplist, and that only due +% to its generality. It could easily be adopted to be FASTER than +% \pgfplotsapplist. +% +% Credits for \pgfplotsapplist go to Till Tantau: he developped it for +% the PGF kernel. +% +% +% Copyright 2007/2008 by Christian Feuersänger. +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% the applist defines one macro for each element, like +% +% \def\element<i>{<content>\element<i+1>} +% \def\element<i+1>{<content>\element<i+2>} +% \def\element<i+2>{} +% +% The '<i>' value belongs to the private interface and is part of the +% macro name. +% +% It features: +% - real O(1) pushback +% - O(N) edef to macro +% - O(N) execute +% - it requires O(N) different macros. +% - it ***can't*** be copied outside of the current TeX group! +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Time: O(1), number of macros: 3 +\def\pgfplotsapplistnewempty#1{% + \expandafter\def\csname\string#1@endno\endcsname{0}% + \edef#1{\expandafter\noexpand\csname\string#1@0\endcsname}% + \expandafter\def\csname\string#1@0\endcsname{}% +}% + +% Time: O(1), number of macros per list: about N +% #1: the item to append +% #2: the list as macro name +\def\pgfplotsapplistpushback#1\to#2{% + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname\string#2@endno\endcsname + \begingroup + \c@pgf@counta=\pgfplots@loc@TMPa\relax + \advance\c@pgf@counta by1 + \xdef\pgfplots@glob@TMPa{\the\c@pgf@counta}% + \endgroup + \expandafter\let\csname\string#2@endno\endcsname=\pgfplots@glob@TMPa% + \t@pgfplots@toka={#1}% + \t@pgfplots@tokb=\expandafter{\csname\string#2@\pgfplots@glob@TMPa\endcsname}% + \expandafter\edef\csname\string#2@\pgfplots@loc@TMPa\endcsname{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% + \expandafter\let\the\t@pgfplots@tokb=\pgfutil@empty +}% + +% time O(N) +% Expands the complete content of list #1 as-is into the macro #2. +\def\pgfplotsapplistedefcontenttomacro#1\to#2{\edef#2{#1}} +\def\pgfplotsapplistxdefcontenttomacro#1\to#2{\xdef#2{#1}} + +% Foreach list element, the stored value will simply be processed by +% TeX. Characters will be printed and commands will be executed. +% time O(N) +\def\pgfplotsapplistexecute#1{#1}% + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 +% +% This list here is a general re-implementation of the list used in +% the PGF system layer. +% It employs two collect-buffers to reduce the runtime. +% +% - It has preasymptotical runtime O(N), but is O(N^2) asymptotically. +% - It requires only 5 macros per list. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Usage: +% \pgfplotsapplistXnewempty\macro +% \pgfplotsapplistXnewempty[to global]\macro +% +% The 'to global' flag will configure the list such that all +% assignments to \macro are global. The list accumulation is +% LOCAL, however: 'to global' is to be used inside of a local +% group such that the final result, when all buffers are flushed, +% is assigned globally. +\def\pgfplotsapplistXnewempty{% + \pgfutil@ifnextchar[{% + \pgfplotsapplistXnewempty@opt + }{% + \pgfplotsapplistXnewempty@opt[]% + }% +} + +\def\pgfplotsapplistXnewempty@opt@TOGLOBAL{to global} + +\def\pgfplotsapplistXnewempty@opt[#1]#2{% + \def\pgfplots@loc@TMPa{#1}% + \ifx\pgfplots@loc@TMPa\pgfutil@empty + \expandafter\let\csname\string#2@let\endcsname=\let% + \expandafter\let\csname\string#2@edef\endcsname=\edef + \else + \ifx\pgfplots@loc@TMPa\pgfplotsapplistXnewempty@opt@TOGLOBAL + \expandafter\def\csname\string#2@let\endcsname{\global\let}% + \expandafter\let\csname\string#2@edef\endcsname=\xdef + \else + \pgfplots@error{Sorry, the argument '#1' to \string\pgfplotsapplistXnewempty\ is unknown. Accepted is 'to global' or empty.}% + \fi + \fi + \pgfplotsapplistXnewempty@{#2}% +}% + +\def\pgfplotsapplistXnewempty@#1{% + \csname\string#1@let\endcsname#1=\pgfutil@empty + \expandafter\let\csname\string#1@smallbuf\endcsname=\pgfutil@empty + \expandafter\let\csname\string#1@bigbuf\endcsname=\pgfutil@empty + \expandafter\def\csname\string#1@smallbuf@c\endcsname{0}% + \expandafter\def\csname\string#1@bigbuf@c\endcsname{0}% +}% + +% #1: the item to append +% #2: the list as macro name +\def\pgfplotsapplistXpushback#1\to#2{% + \begingroup + \c@pgf@counta=\csname\string#2@smallbuf@c\endcsname\relax + \advance\c@pgf@counta by1 + \xdef\pgfplots@glob@TMPa{\the\c@pgf@counta}% + \endgroup + \expandafter\let\csname\string#2@smallbuf@c\endcsname=\pgfplots@glob@TMPa + \ifnum\csname\string#2@smallbuf@c\endcsname<40 + \t@pgfplots@toka=\expandafter\expandafter\expandafter{\csname\string#2@smallbuf\endcsname#1}% + \expandafter\edef\csname\string#2@smallbuf\endcsname{\the\t@pgfplots@toka}% + \else + \pgfplotsapplistXpushback@smallbufoverfl{#1}{#2}% + \fi +}% +\def\pgfplotsapplistXpushback@smallbufoverfl#1#2{% + \begingroup + \c@pgf@counta=\csname\string#2@bigbuf@c\endcsname\relax + \advance\c@pgf@counta by1 + \xdef\pgfplots@glob@TMPa{\the\c@pgf@counta}% + \endgroup + \expandafter\let\csname\string#2@bigbuf@c\endcsname=\pgfplots@glob@TMPa + % + \ifnum\csname\string#2@bigbuf@c\endcsname<30 + \t@pgfplots@toka=\expandafter\expandafter\expandafter{\csname\string#2@bigbuf\endcsname}% + \t@pgfplots@tokb=\expandafter\expandafter\expandafter{\csname\string#2@smallbuf\endcsname#1}% + \expandafter\edef\csname\string#2@bigbuf\endcsname{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% + \expandafter\let\csname\string#2@smallbuf\endcsname=\pgfutil@empty + \expandafter\def\csname\string#2@smallbuf@c\endcsname{0}% + \else% + \t@pgfplots@toka=\expandafter{#2}% + \t@pgfplots@tokb=\expandafter\expandafter\expandafter{\csname\string#2@bigbuf\endcsname}% + \t@pgfplots@tokc=\expandafter\expandafter\expandafter{\csname\string#2@smallbuf\endcsname#1}% + \csname\string#2@edef\endcsname#2{\the\t@pgfplots@toka\the\t@pgfplots@tokb\the\t@pgfplots@tokc}% + \expandafter\let\csname\string#2@smallbuf\endcsname=\pgfutil@empty + \expandafter\def\csname\string#2@smallbuf@c\endcsname{0}% + \expandafter\let\csname\string#2@bigbuf\endcsname=\pgfutil@empty + \expandafter\def\csname\string#2@bigbuf@c\endcsname{0}% + \fi% +}% +\def\pgfplotsapplistXflushbuffers#1{% + \t@pgfplots@toka=\expandafter{#1}% + \t@pgfplots@tokb=\expandafter\expandafter\expandafter{\csname\string#1@bigbuf\endcsname}% + \t@pgfplots@tokc=\expandafter\expandafter\expandafter{\csname\string#1@smallbuf\endcsname}% + \csname\string#1@edef\endcsname#1{\the\t@pgfplots@toka\the\t@pgfplots@tokb\the\t@pgfplots@tokc}% + \expandafter\let\csname\string#1@smallbuf\endcsname=\pgfutil@empty + \expandafter\def\csname\string#1@smallbuf@c\endcsname{0}% + \expandafter\let\csname\string#1@bigbuf\endcsname=\pgfutil@empty + \expandafter\def\csname\string#1@bigbuf@c\endcsname{0}% +}% + + +% Expands the complete content of list #1 as-is into the macro #2. +\def\pgfplotsapplistXedefcontenttomacro#1\to#2{% + \pgfplotsapplistXflushbuffers#1% + \edef#2{#1}} +\def\pgfplotsapplistXxdefcontenttomacro#1\to#2{% + \pgfplotsapplistXflushbuffers#1% + \xdef#2{#1}} +\def\pgfplotsapplistXlet#1=#2{% + \pgfplotsapplistXflushbuffers#2% + \let#1=#2} + +% Foreach list element, the stored value will simply be processed by +% TeX. Characters will be printed and commands will be executed. +\def\pgfplotsapplistXexecute#1{% + \pgfplotsapplistXflushbuffers#1% + #1}% + + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 +% +% This list \pgfplotsapplistXX here is essentially the SAME as \pgfplotslistX. +% +% But there can only be one such list at a time, so it is faster than +% \pgfplotslistX. +% +% This here is probably the fastest list. +% +% It is nothing else but a copy of Till Tantau's pgf kernel list. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 + + + +% WARNING: call \pgfplotsapplistclear if there is another list active. +\def\pgfplotsapplistXXnewempty{% + \pgfutil@ifundefined{pgfplotsapplistXX}{}{% + \ifx\pgfplotsapplistXX\pgfutil@empty + \else + \pgfplots@error{\string\pgfplotsapplistXXnewempty: there is already another list which is *not* empty. It currently contains '\meaning\pgfplotsapplistXX'. Please call '\string\pgfplotsapplistXXclear' before using a new list to ensure clean separations.}% + \fi + }% + \let\pgfplotsapplistXX=\pgfutil@empty + \let\pgfplotsapplistXX@smallbuf=\pgfutil@empty + \let\pgfplotsapplistXX@bigbuf=\pgfutil@empty + \def\pgfplotsapplistXX@smallbuf@c{0}% + \def\pgfplotsapplistXX@bigbuf@c{0}% +}% + + +\def\pgfplotsapplistXXclear{% + \pgfutil@ifundefined{pgfplotsapplistXX}{}{% + \let\pgfplotsapplistXX=\pgfutil@empty + \let\pgfplotsapplistXX@smallbuf=\pgfutil@empty + \let\pgfplotsapplistXX@bigbuf=\pgfutil@empty + \def\pgfplotsapplistXX@smallbuf@c{0}% + \def\pgfplotsapplistXX@bigbuf@c{0}% + }% +}% + +% #1: the item to append +% #2: the list as macro name +\def\pgfplotsapplistXXpushback#1{% + \begingroup + \c@pgf@counta=\pgfplotsapplistXX@smallbuf@c\relax + \advance\c@pgf@counta by1 + \xdef\pgfplots@glob@TMPa{\the\c@pgf@counta}% + \endgroup + \let\pgfplotsapplistXX@smallbuf@c=\pgfplots@glob@TMPa + \ifnum\pgfplotsapplistXX@smallbuf@c<40 + \t@pgfplots@toka=\expandafter{\pgfplotsapplistXX@smallbuf#1}% + \edef\pgfplotsapplistXX@smallbuf{\the\t@pgfplots@toka}% + \else + \pgfplotsapplistXXpushback@smallbufoverfl{#1}% + \fi +}% +\def\pgfplotsapplistXXpushback@smallbufoverfl#1{% + \begingroup + \c@pgf@counta=\pgfplotsapplistXX@bigbuf@c\relax + \advance\c@pgf@counta by1 + \xdef\pgfplots@glob@TMPa{\the\c@pgf@counta}% + \endgroup + \let\pgfplotsapplistXX@bigbuf@c=\pgfplots@glob@TMPa + % + \ifnum\pgfplotsapplistXX@bigbuf@c<30 + \t@pgfplots@toka=\expandafter{\pgfplotsapplistXX@bigbuf}% + \t@pgfplots@tokb=\expandafter{\pgfplotsapplistXX@smallbuf#1}% + \edef\pgfplotsapplistXX@bigbuf{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% + \let\pgfplotsapplistXX@smallbuf=\pgfutil@empty + \def\pgfplotsapplistXX@smallbuf@c{0}% + \else% + \t@pgfplots@toka=\expandafter{\pgfplotsapplistXX}% + \t@pgfplots@tokb=\expandafter{\pgfplotsapplistXX@bigbuf}% + \t@pgfplots@tokc=\expandafter{\pgfplotsapplistXX@smallbuf#1}% + \edef\pgfplotsapplistXX{\the\t@pgfplots@toka\the\t@pgfplots@tokb\the\t@pgfplots@tokc}% + \let\pgfplotsapplistXX@smallbuf=\pgfutil@empty + \def\pgfplotsapplistXX@smallbuf@c{0}% + \let\pgfplotsapplistXX@bigbuf=\pgfutil@empty + \def\pgfplotsapplistXX@bigbuf@c{0}% + \fi% +}% +\def\pgfplotsapplistXXflushbuffers{% + \t@pgfplots@toka=\expandafter{\pgfplotsapplistXX}% + \t@pgfplots@tokb=\expandafter{\pgfplotsapplistXX@bigbuf}% + \t@pgfplots@tokc=\expandafter{\pgfplotsapplistXX@smallbuf}% + \edef\pgfplotsapplistXX{\the\t@pgfplots@toka\the\t@pgfplots@tokb\the\t@pgfplots@tokc}% + \let\pgfplotsapplistXX@smallbuf=\pgfutil@empty + \def\pgfplotsapplistXX@smallbuf@c{0}% + \let\pgfplotsapplistXX@bigbuf=\pgfutil@empty + \def\pgfplotsapplistXX@bigbuf@c{0}% +}% + + +% Expands the complete content of list #1 as-is into the macro #2. +\def\pgfplotsapplistXXedefcontenttomacro#1{% + \pgfplotsapplistXXflushbuffers + \edef#1{\pgfplotsapplistXX}} +\def\pgfplotsapplistXXxdefcontenttomacro#1{% + \pgfplotsapplistXXflushbuffers% + \xdef#1{\pgfplotsapplistXX}} +\def\pgfplotsapplistXXlet#1{% + \pgfplotsapplistXXflushbuffers% + \let#1=\pgfplotsapplistXX} + +% Foreach list element, the stored value will simply be processed by +% TeX. Characters will be printed and commands will be executed. +\def\pgfplotsapplistXXexecute#1{% + \pgfplotsapplistXXflushbuffers + #1}% + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 +% +% \pgfplotslistXXglobal assigns to a global list. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 +\def\pgfplotsapplistXXglobalnewempty{% + \pgfutil@ifundefined{pgfplotsapplistXXglobal}{}{% + \ifx\pgfplotsapplistXXglobal\pgfutil@empty + \else + \pgfplots@error{\string\pgfplotsapplistXXglobalnewempty: there is already another list which is *not* empty. It currently contains '\meaning\pgfplotsapplistXXglobal'. Please call '\string\pgfplotsapplistXXglobalclear' before using a new list to ensure clean separations.}% + \fi + }% + \global\let\pgfplotsapplistXXglobal=\pgfutil@empty + \global\let\pgfplotsapplistXXglobal@smallbuf=\pgfutil@empty + \global\let\pgfplotsapplistXXglobal@bigbuf=\pgfutil@empty + \gdef\pgfplotsapplistXXglobal@smallbuf@c{0}% + \gdef\pgfplotsapplistXXglobal@bigbuf@c{0}% +}% + + +\def\pgfplotsapplistXXglobalclear{% + \pgfutil@ifundefined{pgfplotsapplistXXglobal}{}{% + \global\let\pgfplotsapplistXXglobal=\pgfutil@empty + \global\let\pgfplotsapplistXXglobal@smallbuf=\pgfutil@empty + \global\let\pgfplotsapplistXXglobal@bigbuf=\pgfutil@empty + \gdef\pgfplotsapplistXXglobal@smallbuf@c{0}% + \gdef\pgfplotsapplistXXglobal@bigbuf@c{0}% + }% +}% + +% #1: the item to append +% #2: the list as macro name +\def\pgfplotsapplistXXglobalpushback#1{% + \begingroup + \c@pgf@counta=\pgfplotsapplistXXglobal@smallbuf@c\relax + \advance\c@pgf@counta by1 + \xdef\pgfplots@glob@TMPa{\the\c@pgf@counta}% + \endgroup + \global\let\pgfplotsapplistXXglobal@smallbuf@c=\pgfplots@glob@TMPa + \ifnum\pgfplotsapplistXXglobal@smallbuf@c<40 + \t@pgfplots@toka=\expandafter{\pgfplotsapplistXXglobal@smallbuf#1}% + \xdef\pgfplotsapplistXXglobal@smallbuf{\the\t@pgfplots@toka}% + \else + \pgfplotsapplistXXglobalpushback@smallbufoverfl{#1}% + \fi +}% +\def\pgfplotsapplistXXglobalpushback@smallbufoverfl#1{% + \begingroup + \c@pgf@counta=\pgfplotsapplistXXglobal@bigbuf@c\relax + \advance\c@pgf@counta by1 + \xdef\pgfplots@glob@TMPa{\the\c@pgf@counta}% + \endgroup + \global\let\pgfplotsapplistXXglobal@bigbuf@c=\pgfplots@glob@TMPa + % + \ifnum\pgfplotsapplistXXglobal@bigbuf@c<30 + \t@pgfplots@toka=\expandafter{\pgfplotsapplistXXglobal@bigbuf}% + \t@pgfplots@tokb=\expandafter{\pgfplotsapplistXXglobal@smallbuf#1}% + \xdef\pgfplotsapplistXXglobal@bigbuf{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% + \global\let\pgfplotsapplistXXglobal@smallbuf=\pgfutil@empty + \gdef\pgfplotsapplistXXglobal@smallbuf@c{0}% + \else% + \t@pgfplots@toka=\expandafter{\pgfplotsapplistXXglobal}% + \t@pgfplots@tokb=\expandafter{\pgfplotsapplistXXglobal@bigbuf}% + \t@pgfplots@tokc=\expandafter{\pgfplotsapplistXXglobal@smallbuf#1}% + \xdef\pgfplotsapplistXXglobal{\the\t@pgfplots@toka\the\t@pgfplots@tokb\the\t@pgfplots@tokc}% + \global\let\pgfplotsapplistXXglobal@smallbuf=\pgfutil@empty + \gdef\pgfplotsapplistXXglobal@smallbuf@c{0}% + \global\let\pgfplotsapplistXXglobal@bigbuf=\pgfutil@empty + \gdef\pgfplotsapplistXXglobal@bigbuf@c{0}% + \fi% +}% +\def\pgfplotsapplistXXglobalflushbuffers{% + \t@pgfplots@toka=\expandafter{\pgfplotsapplistXXglobal}% + \t@pgfplots@tokb=\expandafter{\pgfplotsapplistXXglobal@bigbuf}% + \t@pgfplots@tokc=\expandafter{\pgfplotsapplistXXglobal@smallbuf}% + \xdef\pgfplotsapplistXXglobal{\the\t@pgfplots@toka\the\t@pgfplots@tokb\the\t@pgfplots@tokc}% + \global\let\pgfplotsapplistXXglobal@smallbuf=\pgfutil@empty + \gdef\pgfplotsapplistXXglobal@smallbuf@c{0}% + \global\let\pgfplotsapplistXXglobal@bigbuf=\pgfutil@empty + \gdef\pgfplotsapplistXXglobal@bigbuf@c{0}% +}% + + +% Expands the complete content of list #1 as-is into the macro #2. +% +% this assigns locally into #1. +\def\pgfplotsapplistXXglobaledefcontenttomacro#1{% + \pgfplotsapplistXXglobalflushbuffers + \edef#1{\pgfplotsapplistXXglobal}} +% this assigns locally into #1. +\def\pgfplotsapplistXXglobalxdefcontenttomacro#1{% + \pgfplotsapplistXXglobalflushbuffers% + \xdef#1{\pgfplotsapplistXXglobal}} +% this assigns locally into #1. +\def\pgfplotsapplistXXgloballet#1{% + \pgfplotsapplistXXglobalflushbuffers% + \let#1=\pgfplotsapplistXXglobal} + +% Foreach list element, the stored value will simply be processed by +% TeX. Characters will be printed and commands will be executed. +% this assigns locally into #1. +\def\pgfplotsapplistXXglobalexecute#1{% + \pgfplotsapplistXXglobalflushbuffers + #1}% diff --git a/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex b/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex index 82e27215bf4..77a40d51ed5 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstable.code.tex @@ -28,13 +28,6 @@ % %-------------------------------------------- -% This file relies on -% - pgfplotsliststructure.code.tex -% - pgfplotsarraystructure.code.tex -% - a (quite!) recent PGF. -% -% and needs some token registers. It does not use more of pgfplots. -% \newif\ifpgfplotstable@search@header \newcount\c@pgfplotstable@counta \newwrite\pgfplotstable@outfile @@ -43,9 +36,15 @@ % should always be false; use only in grouped internal macros \newif\ifpgfplots@table@options@areset +\newif\ifpgfplots@tableread@to@listener \input pgfplotstable.coltype.code.tex +% keys which are NOT predefined: +% /pgfplots/table/alias/<col alias>/.initial={<real col>} +% /pgfplots/table/columns/<col name>/.style={} +% /pgfplots/table/display columns/<col index>/.style={} +% /pgfplots/table/create on use/<col name>/.style={create options} \pgfkeys{% /pgfplots/table/header/.is if=pgfplotstable@search@header, /pgfplots/table/header=true, @@ -71,6 +70,38 @@ \fi \fi} }, + /pgfplots/table/select equal part entry of/.style 2 args={% + /pgfplots/table/row predicate/.code={% + \pgfplotstableuserowtrue + \begingroup + % this group re-uses counters as temporary variables. + \c@pgfplotstable@colindex=\pgfplotstablerows\relax + \divide\c@pgfplotstable@colindex by#2\relax + \edef\pgfplotstablepartsize{\the\c@pgfplotstable@colindex}% + % This here should create empty cells such that + % remaining entries are distributed equally: + \c@pgfplotstable@rowindex=\c@pgfplotstable@colindex + \multiply\c@pgfplotstable@rowindex by#2\relax + \ifnum\c@pgfplotstable@rowindex<\pgfplotstablerows\relax + \c@pgfplotstable@colindex=\pgfplotstablerows\relax + \advance\c@pgfplotstable@colindex by-\c@pgfplotstable@rowindex + \advance\c@pgfplotstable@colindex by\pgfplotstablepartsize + \edef\pgfplotstablepartsize{\the\c@pgfplotstable@colindex}% + \fi + % + \multiply\c@pgfplotstable@colindex by#1\relax + \ifnum##1<\c@pgfplotstable@colindex\relax + \aftergroup\pgfplotstableuserowfalse + \else + \advance\c@pgfplotstable@colindex by\pgfplotstablepartsize\relax + \ifnum##1<\c@pgfplotstable@colindex\relax + \else + \aftergroup\pgfplotstableuserowfalse + \fi + \fi + \endgroup + }% + }, /pgfplots/table/col sep/.is choice, /pgfplots/table/col sep/space/.code = {\def\pgfplotstableread@COLSEP@CASE{0}}, /pgfplots/table/col sep/comma/.code = {\def\pgfplotstableread@COLSEP@CASE{1}}, @@ -111,14 +142,44 @@ /pgfplots/table/multicolumn names/.default=c, /pgfplots/table/dec sep align/.style={% /pgf/number format/assume math mode, - /pgf/number format/set decimal separator/.add={&}{}, + /pgf/number format/@dec sep mark={&}, + /pgfplots/table/assign column name/.code={% + \pgfkeyssetvalue{/pgfplots/table/column name}{\multicolumn{2}{#1}{##1}}% + },% + /pgfplots/table/column type={>{$}r<{$}@{}>{$}l<{$}}, + /pgfplots/table/assign cell content/.code={% + \def\pgfmathresult{##1}% + \ifx\pgfmathresult\pgfutil@empty + \def\pgfmathresult{&}% + % \pgfutil@in@false + \else + \pgfmathprintnumberto{##1}\pgfmathresult% + % \expandafter\pgfutil@in@\expandafter&\expandafter{\pgfmathresult}% + \fi + %\ifpgfutil@in@ + %\else + % \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult&}% + %\fi + \pgfkeyslet{/pgfplots/table/@cell content}\pgfmathresult + }, + }, + /pgfplots/table/dec sep align/.default=c, + /pgfplots/table/sci sep align/.style={% + /pgf/number format/assume math mode, + /pgf/number format/@sci exponent mark={&}, /pgfplots/table/assign column name/.code={% \pgfkeyssetvalue{/pgfplots/table/column name}{\multicolumn{2}{#1}{##1}}% },% /pgfplots/table/column type={>{$}r<{$}@{}>{$}l<{$}}, /pgfplots/table/assign cell content/.code={% - \pgfmathprintnumberto{##1}\pgfmathresult% - \expandafter\pgfutil@in@\expandafter&\expandafter{\pgfmathresult}% + \def\pgfmathresult{##1}% + \ifx\pgfmathresult\pgfutil@empty + \def\pgfmathresult{&}% + \pgfutil@in@true + \else + \pgfmathprintnumberto{##1}\pgfmathresult% + \expandafter\pgfutil@in@\expandafter&\expandafter{\pgfmathresult}% + \fi \ifpgfutil@in@ \else \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult&}% @@ -126,7 +187,7 @@ \pgfkeyslet{/pgfplots/table/@cell content}\pgfmathresult }, }, - /pgfplots/table/dec sep align/.default=c, + /pgfplots/table/sci sep align/.default=c, % % A style which can be used together with the 'dcolumn' package by % David Carlisle. @@ -162,14 +223,22 @@ % #1: the cells content as it has been found in the input table % this command key should somehow fill |cell content|. /pgfplots/table/assign cell content/.code={% - \pgfmathprintnumberto{#1}\pgfmathresult% + \def\pgfmathresult{#1}% + \ifx\pgfmathresult\pgfutil@empty + \else + \pgfmathprintnumberto{#1}\pgfmathresult% + \fi \pgfkeyslet{/pgfplots/table/@cell content}\pgfmathresult }, % % this here is the default formatting. It uses % \pgfmathprintnumber. /pgfplots/table/assign cell content as number/.code={% - \pgfmathprintnumberto{#1}\pgfmathresult% + \def\pgfmathresult{#1}% + \ifx\pgfmathresult\pgfutil@empty + \else + \pgfmathprintnumberto{#1}\pgfmathresult% + \fi \pgfkeyslet{/pgfplots/table/@cell content}\pgfmathresult }, /pgfplots/table/string type/.style={% @@ -177,11 +246,284 @@ /pgfplots/table/@cell content={##1}% }% },% + /pgfplots/table/set content/.style={% + /pgfplots/table/postproc cell content/.style={% + /pgfplots/table/@cell content={#1}% + }% + },% + % + /pgfplots/table/postproc cell content/.code={}, + /pgfplots/table/preproc cell content/.code={}, + % + /pgfplots/table/multiply -1/.style={% + /pgfplots/table/preproc cell content/.append code={% + \pgfkeysgetvalue{/pgfplots/table/@cell content}\pgfmathresult + \ifx\pgfmathresult\empty + \else + \pgfmathfloatparsenumber{\pgfmathresult}% + \let\pgfmatharga=\pgfmathresult + \pgfmathfloatcreate{2}{1.0}{0}% + \let\pgfmathargb=\pgfmathresult + \pgfmathfloatmultiply@{\pgfmatharga}{\pgfmathargb}% + \pgfmathfloattosci@\pgfmathresult + \pgfkeyslet{/pgfplots/table/@cell content}{\pgfmathresult}% + \fi + } + }, + /pgfplots/table/empty cells with/.style={% + /pgfplots/table/postproc cell content/.append code={% + \ifnum\pgfplotstablepartno=0 + \pgfkeysgetvalue{/pgfplots/table/@cell content}\pgfmathresult + \ifx\pgfmathresult\pgfutil@empty + \pgfkeyssetvalue{/pgfplots/table/@cell content}{#1}% + \fi + \fi + }% + }, + % /pgfplots/table/font/.initial=, /pgfplots/table/.unknown/.code={% \pgfqkeys{/pgf/number format}{\pgfkeyscurrentname=#1}% - }% + },% + /pgfplots/table/create col/assign first/.style={ + /pgfplots/table/create col/assign% + }, + /pgfplots/table/create col/assign last/.style={ + /pgfplots/table/create col/assign% + }, + /pgfplots/table/create col/assign/.style={ + /pgfplots/table/create col/next content={}% + }, + /pgfplots/table/create col/next content/.initial={}, + /pgfplots/table/create col/expr/.style={% + /pgfplots/table/create col/assign/.code={% + \pgfmathparse{#1}% + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + }% + },% + /pgfplots/table/create col/quotient/.style={% + /pgfplots/table/columns={#1}, + /pgfplots/table/create col/assign first/.style={% + /pgfplots/table/create col/next content= + },% + /pgfplots/table/create col/assign/.code={% + \pgfmathfloatparsenumber{\prevrow{#1}}% + \let\pgfmatharga=\pgfmathresult + \pgfmathfloatparsenumber{\thisrow{#1}}% + \let\pgfmathargb=\pgfmathresult + \let\pgfmathaccuma=\pgfmathargb + \pgfmathfloatdivide@{\pgfmatharga}{\pgfmathargb}% + \expandafter\pgfmathfloattosci@\expandafter{\pgfmathresult}% + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + }% + },% + /pgfplots/table/create col/iquotient/.style={% + /pgfplots/table/columns={#1}, + /pgfplots/table/create col/assign first/.style={% + /pgfplots/table/create col/next content= + },% + /pgfplots/table/create col/assign/.code={% + \pgfmathfloatparsenumber{\prevrow{#1}}% + \let\pgfmathargb=\pgfmathresult + \pgfmathfloatparsenumber{\thisrow{#1}}% + \let\pgfmatharga=\pgfmathresult + \let\pgfmathaccuma=\pgfmathargb + \pgfmathfloatdivide@{\pgfmatharga}{\pgfmathargb}% + \expandafter\pgfmathfloattosci@\expandafter{\pgfmathresult}% + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + }% + },% + % + % Produces 'log2( \prevrow{#1}/\thisrow{#1} ) + % + % Assumeing that every row contains error(h) = O(h^alpha) + % and h_this = h_prev/2, this result in 'alpha', the convergence + % rate. + /pgfplots/table/create col/dyadic refinement rate/.style={% + /pgfplots/table/columns={#1}, + /pgfplots/table/create col/assign first/.style={% + /pgfplots/table/create col/next content= + },% + /pgfplots/table/create col/assign/.code={% + \pgfmathfloatparsenumber{\prevrow{#1}}% + \let\pgfmatharga=\pgfmathresult + \pgfmathfloatparsenumber{\thisrow{#1}}% + \let\pgfmathargb=\pgfmathresult + \let\pgfmathaccuma=\pgfmathargb + \pgfmathfloatdivide@{\pgfmatharga}{\pgfmathargb}% + \pgfmathlog@float{\pgfmathresult}% + \ifx\pgfmathresult\pgfutil@empty + \else + \pgfmathmultiply@{1.442695}{\pgfmathresult}% + \fi + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + }% + },% + /pgfplots/table/create col/idyadic refinement rate/.style={% + /pgfplots/table/columns={#1}, + /pgfplots/table/create col/assign first/.style={% + /pgfplots/table/create col/next content= + },% + /pgfplots/table/create col/assign/.code={% + \pgfmathfloatparsenumber{\prevrow{#1}}% + \let\pgfmathargb=\pgfmathresult + \pgfmathfloatparsenumber{\thisrow{#1}}% + \let\pgfmatharga=\pgfmathresult + \let\pgfmathaccuma=\pgfmathargb + \pgfmathfloatdivide@{\pgfmatharga}{\pgfmathargb}% + \pgfmathlog@float{\pgfmathresult}% + \ifx\pgfmathresult\pgfutil@empty + \else + \pgfmathmultiply@{1.442695}{\pgfmathresult}% + \fi + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + }% + },% + /pgfplots/table/create col/gradient/.style 2 args={% + /pgfplots/table/columns={#1,#2}, + /pgfplots/table/create col/assign first/.code={% + \pgfmathfloatparsenumber{\thisrow{#1}}% + \let\pgfmathaccuma=\pgfmathresult + \pgfmathfloatparsenumber{\thisrow{#2}}% + \let\pgfmathaccumb=\pgfmathresult + \def\pgfmathresult{}% leave first empty. + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + },% + /pgfplots/table/create col/assign/.code={% + \let\pgfmathcur@x=\pgfmathaccuma + \let\pgfmathcur@y=\pgfmathaccumb + \pgfmathfloatparsenumber{\thisrow{#1}}% + \let\pgfmathnext@x=\pgfmathresult + \let\pgfmathaccuma=\pgfmathnext@x + \pgfmathfloatparsenumber{\thisrow{#2}}% + \let\pgfmathnext@y=\pgfmathresult + \let\pgfmathaccumb=\pgfmathnext@y + \pgfmathfloatsubtract@{\pgfmathnext@x}{\pgfmathcur@x}% + \let\pgfmathdiff@x=\pgfmathresult + \pgfmathfloatsubtract@{\pgfmathnext@y}{\pgfmathcur@y}% + \let\pgfmathdiff@y=\pgfmathresult + \pgfmathfloatdivide@{\pgfmathdiff@y}{\pgfmathdiff@x}% + \expandafter\pgfmathfloattosci@\expandafter{\pgfmathresult}% + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + },% + },% + /pgfplots/table/create col/gradient loglog/.style 2 args={% + /pgfplots/table/columns={#1,#2}, + /pgfplots/table/create col/assign first/.code={% + \pgfmathlog{\thisrow{#1}}% + \let\pgfmathaccuma=\pgfmathresult + \pgfmathlog{\thisrow{#2}}% + \let\pgfmathaccumb=\pgfmathresult + \def\pgfmathresult{}% leave first empty. + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + },% + /pgfplots/table/create col/assign/.code={% + \let\pgfmathcur@x=\pgfmathaccuma + \let\pgfmathcur@y=\pgfmathaccumb + \pgfmathlog{\thisrow{#1}}% + \let\pgfmathnext@x=\pgfmathresult + \let\pgfmathaccuma=\pgfmathresult + \pgfmathlog{\thisrow{#2}}% + \let\pgfmathnext@y=\pgfmathresult + \let\pgfmathaccumb=\pgfmathresult + \pgfplots@loop@CONTINUEtrue + \ifx\pgfmathcur@x\pgfutil@empty \pgfplots@loop@CONTINUEfalse\fi + \ifx\pgfmathcur@y\pgfutil@empty \pgfplots@loop@CONTINUEfalse\fi + \ifx\pgfmathnext@x\pgfutil@empty \pgfplots@loop@CONTINUEfalse\fi + \ifx\pgfmathnext@y\pgfutil@empty \pgfplots@loop@CONTINUEfalse\fi + \ifpgfplots@loop@CONTINUE + \pgfmathsubtract@{\pgfmathnext@x}{\pgfmathcur@x}% + \let\pgfmathdiff@x=\pgfmathresult + \pgfmathsubtract@{\pgfmathnext@y}{\pgfmathcur@y}% + \let\pgfmathdiff@y=\pgfmathresult + \pgfmathdivide@{\pgfmathdiff@y}{\pgfmathdiff@x}% + \else + \pgfmathfloatcreate{3}{0.0}{0}% + \pgfmathfloattosci@\pgfmathresult + \fi + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + },% + },% + /pgfplots/table/create col/gradient semilogx/.style 2 args={% + /pgfplots/table/columns={#1,#2}, + /pgfplots/table/create col/assign first/.code={% + \pgfmathlog{\thisrow{#1}}% + \ifx\pgfmathresult\pgfutil@empty + \pgfmathfloatcreate{3}{0.0}{0}% + \else + \expandafter\pgfmathfloatqparsenumber\expandafter{\pgfmathresult}% + \fi + \let\pgfmathaccuma=\pgfmathresult + \pgfmathfloatparsenumber{\thisrow{#2}}% + \let\pgfmathaccumb=\pgfmathresult + \def\pgfmathresult{}% leave first empty. + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + },% + /pgfplots/table/create col/assign/.code={% + \let\pgfmathcur@x=\pgfmathaccuma + \let\pgfmathcur@y=\pgfmathaccumb + \pgfmathlog{\thisrow{#1}}% + \ifx\pgfmathresult\pgfutil@empty + \pgfmathfloatcreate{3}{0.0}{0}% + \else + \expandafter\pgfmathfloatqparsenumber\expandafter{\pgfmathresult}% + \fi + \let\pgfmathnext@x=\pgfmathresult + \let\pgfmathaccuma=\pgfmathresult + % + \pgfmathfloatparsenumber{\thisrow{#2}}% + \let\pgfmathnext@y=\pgfmathresult + \let\pgfmathaccumb=\pgfmathresult + \pgfmathfloatsubtract@{\pgfmathnext@x}{\pgfmathcur@x}% + \let\pgfmathdiff@x=\pgfmathresult + \pgfmathfloatsubtract@{\pgfmathnext@y}{\pgfmathcur@y}% + \let\pgfmathdiff@y=\pgfmathresult + \pgfmathfloatdivide@{\pgfmathdiff@y}{\pgfmathdiff@x}% + \expandafter\pgfmathfloattosci@\expandafter{\pgfmathresult}% + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + },% + },% + /pgfplots/table/create col/gradient semilogy/.style 2 args={% + /pgfplots/table/columns={#1,#2}, + /pgfplots/table/create col/assign first/.code={% + \pgfmathfloatparsenumber{\thisrow{#1}}% + \let\pgfmathaccuma=\pgfmathresult + \pgfmathlog{\thisrow{#2}}% + \ifx\pgfmathresult\pgfutil@empty + \pgfmathfloatcreate{3}{0.0}{0}% + \else + \expandafter\pgfmathfloatqparsenumber\expandafter{\pgfmathresult}% + \fi + \let\pgfmathaccumb=\pgfmathresult + \def\pgfmathresult{}% leave first empty. + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + },% + /pgfplots/table/create col/assign/.code={% + \let\pgfmathcur@x=\pgfmathaccuma + \let\pgfmathcur@y=\pgfmathaccumb + \pgfmathlog{\thisrow{#2}}% + \ifx\pgfmathresult\pgfutil@empty + \pgfmathfloatcreate{3}{0.0}{0}% + \else + \expandafter\pgfmathfloatparsenumber\expandafter{\pgfmathresult}% + \fi + \let\pgfmathnext@y=\pgfmathresult + \let\pgfmathaccumb=\pgfmathresult + % + \pgfmathfloatparsenumber{\thisrow{#1}}% + \let\pgfmathnext@x=\pgfmathresult + \let\pgfmathaccuma=\pgfmathresult + \pgfmathfloatsubtract@{\pgfmathnext@x}{\pgfmathcur@x}% + \let\pgfmathdiff@x=\pgfmathresult + \pgfmathfloatsubtract@{\pgfmathnext@y}{\pgfmathcur@y}% + \let\pgfmathdiff@y=\pgfmathresult + \pgfmathfloatdivide@{\pgfmathdiff@y}{\pgfmathdiff@x}% + \expandafter\pgfmathfloattosci@\expandafter{\pgfmathresult}% + \pgfkeyslet{/pgfplots/table/create col/next content}\pgfmathresult% + },% + },% } +\pgfkeysgetvalue{/pgfplots/table/postproc cell content/.@cmd}\pgfplotstable@postproccellcontent@EMPTY % \pgfplotstableread[OPTIONS] {FILE} to \name % @@ -206,6 +548,18 @@ % % The table data is stored columnwise in lists and can be accessed % with the other methods of this package. +% +% \pgfplotstableread[<options>]{<file>}{<\macro>} +% \pgfplotstableread[<options>]{<file>} to listener{<\macro>} +% +% The 'to listener' variant does NOT assemble a table data structure. +% Instead, it processes the input table row-wise and invokes <\macro> +% after each complete row. During the evaluation of <\macro>, the +% following methods can be used to query values: +% \pgfplotstablereadgetcolindex{<index>}{<\macro>} +% \pgfplotstablereadgetcolname{<name>}{<\macro>} +% Attention: 'to listener' is scoped by TeX groups, so any assignments +% need to be done globally (or with aftergroup magic). \def\pgfplotstableread{% \pgfutil@ifnextchar[{% \pgfplotstableread@impl @@ -221,14 +575,111 @@ \let#2=#1 } +% Returns a column vector in form of \pgfplotslist +% into #3. +% +% #1: the column name (not a macro) +% #2: the table structure +% #3: the output macro name. \def\pgfplotstablegetcolumnbyname#1\of#2\to#3{% \pgfutil@ifundefined{\string#2@#1}{% - \pgfplots@error{Sorry, could not retrieve column '#1' from table...}% + % Oh, there is no column '#1' in table '#2'! + % + % Ok, then check for the 'create on use' and the 'alias' + % features... + % 1. create on use: + % + % WARNING : this code has been REPLICATED in + % *** \pgfplotstablereadgetptrtocolname *** + % *** \pgfplotstablegetcolumnbyname *** + % *** \pgfplotstableresolvecolname *** + \def\pgfplotstable@loc@TMPa{/pgfplots/table/create on use/#1}% + \pgfkeysifdefined{\pgfplotstable@loc@TMPa/.@cmd}{% + % aah - a 'create on use' style exists. Apply it! + \expandafter\pgfplotstablecreatecol\expandafter[\pgfplotstable@loc@TMPa]{#1}{#2}% + % and return the newly generated col: + \expandafter\let\expandafter#3\csname\string#2@#1\endcsname + }{% + % ok, then it is either an alias or it is simply not + % existant. + \def\pgfplotstable@loc@TMPa{/pgfplots/table/alias/#1}% + \pgfkeysifdefined{\pgfplotstable@loc@TMPa}{% + \pgfkeysgetvalue{\pgfplotstable@loc@TMPa}{\pgfplotstable@loc@TMPb}% + \let\pgfplotstable@loc@TMPa=\pgfplotstable@loc@TMPb + \pgfutil@ifundefined{\string#2@\pgfplotstable@loc@TMPa}{% + \pgfplots@error{Sorry, could not retrieve aliased column '\pgfplotstable@loc@TMPa' from table '\pgfplotstablenameof{#2}'. The original request was for '#1', which does not exist either.}% + \pgfplotslistnewempty#3 + }{% + \expandafter\let\expandafter#3\csname\string#2@\pgfplotstable@loc@TMPa\endcsname + }% + }{% + \pgfplots@error{Sorry, could not retrieve column '#1' from table '\pgfplotstablenameof{#2}'. Please check spelling (or introduce name aliases).}% + \pgfplotslistnewempty#3 + }% + }% }{% \expandafter\let\expandafter#3\csname\string#2@#1\endcsname }% } +% Retrieves the column *NAME* '#1' of table #2 and writes it into +% '#3'. +% +% If there is no such column, column aliases will be checked. Finally +% if there are no aliases, the command fails with an error. +% +% The 'create on use' statements can't be used in this context. +% @see \pgfplotstablegetcolumnbyname +% +% #1: a column name (not a macro) +% #2: the table structure +% #3: a macro name which will be filled with the (probably modified) +% column name into #2. +\def\pgfplotstableresolvecolname#1\of#2\to#3{% + \pgfutil@ifundefined{\string#2@#1}{% + % Oh, there is no column '#1' in table '#2'! + % + % Ok, then check for the 'alias' feature ... + % + % WARNING : this code has been REPLICATED in + % *** \pgfplotstablereadgetptrtocolname *** + % *** \pgfplotstablegetcolumnbyname *** + % *** \pgfplotstableresolvecolname *** + \def\pgfplotstable@loc@TMPa{/pgfplots/table/alias/#1}% + \pgfkeysifdefined{\pgfplotstable@loc@TMPa}{% + \pgfkeysgetvalue{\pgfplotstable@loc@TMPa}{\pgfplotstable@loc@TMPb}% + \let\pgfplotstable@loc@TMPa=\pgfplotstable@loc@TMPb + \pgfutil@ifundefined{\string#2@\pgfplotstable@loc@TMPa}{% + \def\pgfplotstable@loc@TMPb{/pgfplots/table/create on use/#1}% + \pgfkeysifdefined{\pgfplotstable@loc@TMPb/.@cmd}{% + \pgfplots@error{Sorry, '\pgfplotstable@loc@TMPb' from table '\pgfplotstableread@filename' can't be evaluated in this context. Please prepare the table before using it here.}% + }{% + \pgfplots@error{Sorry, could not retrieve aliased column '\pgfplotstable@loc@TMPa' from table '\pgfplotstablenameof{#2}'. The original request was for '#1', which does not exist either.}% + }% + \let#3=\pgfutil@empty + }{% + \let#3=\pgfplotstable@loc@TMPa + }% + }{% + \pgfplots@error{Sorry, could not retrieve column '#1' from table '\pgfplotstablenameof{#2}'. Please check spelling (or introduce name aliases).}% + \let#3=\pgfutil@empty + }% + }{% + \def#3{#1}% + }% +} + +% Invokes either \pgfplotstablegetcolumnbyindex or +% \pgfplotstablegetcolumnbyname. +\def\pgfplotstablegetcolumn#1\of#2\to#3{% + \pgfplotstable@is@colname{#1}% + \ifpgfplotstableread@foundcolnames + \else + \pgfplotstablegetcolumnnamebyindex{#1}\of{#2}\to{#3} + \fi + \pgfplotstablegetcolumnbyname{#1}\of#2\to{#3}% +}% + \def\pgfplotstablegetcolumnnamebyindex#1\of#2\to#3{% \pgfplotslistselect#1\of#2\to#3\relax }% @@ -239,13 +690,56 @@ \def\pgfplotstablecopy#1\to#2{% \let#2=#1% - \pgfplotslistforeachungrouped#1\as\pgfplotstable@TMP{% - \def\pgfplotstable@TMPB{% - \expandafter\let\csname\string#2@\pgfplotstable@TMP\endcsname}% - \expandafter\pgfplotstable@TMPB\csname\string#1@\pgfplotstable@TMP\endcsname + \pgfplotstablegetname#2\pgfplotstable@loc@TMPa + \expandafter\let\csname\string#1@@table@name\endcsname=\pgfplotstable@loc@TMPa + \pgfplotslistforeachungrouped#1\as\pgfplotstable@loc@TMPa{% + \def\pgfplotstable@loc@TMPb{% + \expandafter\let\csname\string#2@\pgfplotstable@loc@TMPa\endcsname}% + \expandafter\pgfplotstable@loc@TMPb\csname\string#1@\pgfplotstable@loc@TMPa\endcsname }% } +% Returns the file name of table '#1' into macro #2. +\def\pgfplotstablegetname#1#2{% + \expandafter\let\expandafter#2\csname\string#1@@table@name\endcsname +} + +% expands to the table file name of table '#1' +\def\pgfplotstablenameof#1{% + \csname\string#1@@table@name\endcsname +} + +% Creates a new column named #1 and appends it to table #2. +% +% The column entries will be created using the command keys +% 'create col/assign' +% 'create col/assign last' +% +% The key 'create col/assign' will be invoked for every row of table #2. +% It is supposed to assign the key 'create col/next content'. +% During evaluation of 'create col/assign', the macro '\thisrow{<col name>}' +% expands to the current row's value of the column named by <col name>. +% Furthermore, '\nextrow{<col name>}' expands to the \emph{next} row's +% value of the designated column. +% +% Since the "next row" is not available if we are currently processing +% the last row, 'create col/assign last' is used in for the last row's +% value. +% +% You can use +% - \thisrow{<col name>}, +% - \getthisrow{<col name>}{\macro} +% - \nextrow{<col name>}, +% - \getnextrow{<col name>}{\macro} +\def\pgfplotstablecreatecol{% + \pgfutil@ifnextchar[{% + \pgfplotstablecreatecol@opt + }{% + \pgfplotstablecreatecol@opt[]% + }% +}% + + % Typesets a table. % % \pgfplotstabletypeset[<options>]<\tablestructure> @@ -285,7 +779,7 @@ \ifpgfplots@table@options@areset \else \pgfplots@table@options@aresettrue - \pgfplotstableset{/pgfplots/table/every table,#1}% + \pgfplotstableset{/pgfplots/table/every table={#2},#1}% \fi \pgfplotstableread{#2}\pgfplotstabletypesetfile@opt@@ \pgfplotstabletypeset\pgfplotstabletypesetfile@opt@@ @@ -300,6 +794,12 @@ \newif\ifpgfplotstableread@curline@contains@colnames \newif\ifpgfplotstableread@foundcolnames \newif\ifpgfplotstableread@skipline + +% Accept one of +% \pgfplotstableread[#1]{<file>}{<\macro>} +% \pgfplotstableread[#1]{<file>} to listener{<\macro>} +% or +% \pgfplotstableread[#1]{<file>} to {<\macro>} (DEPRECATED) \def\pgfplotstableread@impl[#1]#2{% \pgfutil@ifnextchar t{% \pgfplotstableread@impl@@{#1}{#2}% @@ -312,18 +812,37 @@ % >> \pgfplotstableread[]{file} to \macro % That ' to ' is really ugly. This here is for backwards % compatibility: -\def\pgfplotstableread@impl@@#1#2to #3{% +\def\pgfplotstableread@impl@@#1#2to {% + \pgfutil@ifnextchar l{% + \pgfplotstableread@impl@@listener{#1}{#2}% + }{% + \pgfplotstableread@impl@{#1}{#2}% + }% +}% +\def\pgfplotstableread@impl@@listener#1#2listener#3{% + \pgfplots@tableread@to@listenertrue \pgfplotstableread@impl@{#1}{#2}{#3}% + \pgfplots@tableread@to@listenerfalse }% \def\pgfplotstableread@impl@#1#2#3{% \begingroup \ifpgfplots@table@options@areset \else - \pgfplotstableset{/pgfplots/table/every table,#1}% + \pgfplotstableset{/pgfplots/table/every table={#2},#1}% \fi %\pgfplots@message{ATTEMPTING TO READ #2}% - \openin1=#2\relax + \openin1=#2.tex + \ifeof1 + \openin1=#2\relax + \else + \pgfplots@warning{% + You requested to open table '#2', but there is also a '#2.tex'. + TeX will automatically append the suffix '.tex', so I will now open '#2.tex'. + Please make sure you don't accidentally load TeX files - this may produce unrecoverable errors.}% + \closein1 + \openin1=#2\relax + \fi \def\pgfplotstableread@filename{#2}% \let\pgfplotstableread@lineno=\c@pgf@counta \let\pgfplotstableread@numcols=\c@pgf@countb @@ -332,48 +851,63 @@ \pgfplotstableread@lineno=0 \pgfplotstableread@usablelineno=0 \pgfplotstableread@numcols=0 - \pgfplotslistnewempty\pgfplotstable@colnames + \global\pgfplotslistnewempty\pgfplotstable@colnames \ifeof1 \pgfplotstable@error{Could not read table file '#2'.}% - \fi - % - \pgfplotstableread@loop@over@lines - % - \ifpgfplotstableread@foundcolnames + \global\pgfplotslistnewempty\pgfplotstable@colnames \else - \pgfplotstableread@create@column@names@with@numbers + \ifpgfplots@tableread@to@listener + \let\pgfplotstable@listener=#3% + \let\pgfplotstableread@impl@nextrow@NEXT=\pgfplotstableread@impl@nextrow@NEXT@listener + \let\pgfplotstablereadgetcolindex=\pgfplotstablereadgetcolindex@ + \let\pgfplotstablereadgetcolname=\pgfplotstablereadgetcolname@ + \let\pgfplotstablereadgetptrtocolname=\pgfplotstablereadgetptrtocolname@ + \let\pgfplotstablereadgetptrtocolindex=\pgfplotstablereadgetptrtocolindex@ + \let\pgfplotstablereadevalptr=\pgfplotstablereadevalptr@ + \fi + % + \pgfplotstableread@loop@over@lines + \closein1 + % + \pgfplotstableread@finish \fi - % Well, now write the identified data to #3: - % - % make all temporaries global: - \global\let\pgfplotstable@colnames=\pgfplotstable@colnames - \pgfplotstableread@curcol=0\relax - \loop - \ifnum\pgfplotstableread@curcol<\pgfplotstableread@numcols -%\pgfplots@message{ASSIGNING COLUMN NO \the\pgfplotstableread@curcol / \the\pgfplotstableread@numcols}% - % numtable@TMP := column list content - \expandafter\global\expandafter\let\expandafter\pgfplotstable@TMP\csname numtable@col@\the\pgfplotstableread@curcol\endcsname - % global := numtable@TMP - \expandafter\global\expandafter\let\csname numtable@col@\the\pgfplotstableread@curcol\endcsname=\pgfplotstable@TMP - \advance\pgfplotstableread@curcol by1\relax - \repeat - \closein1 \endgroup - % Now, we can access the global variables! - % copy them to #3. - \let#3=\pgfplotstable@colnames - \c@pgfplotstable@counta=0\relax% - \pgfplotslistforeachungrouped\pgfplotstable@colnames\as\pgfplotstable@TMP{% - \def\pgfplotstable@TMPB{% - \expandafter\let\csname\string#3@\pgfplotstable@TMP\endcsname}% - \expandafter\pgfplotstable@TMPB\csname numtable@col@\the\c@pgfplotstable@counta\endcsname -%\message{Column '\pgfplotstable@TMP' has entries: \expandafter\meaning\csname numtable@col@\the\c@pgfplotstable@counta\endcsname}% - \expandafter\global\expandafter\let\csname numtable@col@\the\c@pgfplotstable@counta\endcsname=\pgfutil@empty - \advance\c@pgfplotstable@counta by1\relax - }% + \ifpgfplots@tableread@to@listener + % there are no data structures in this case. + \else + % Now, we can access the global variables! + % copy them to #3. + \let#3=\pgfplotstable@colnames + \expandafter\def\csname\string#3@@table@name\endcsname{#2}% + \c@pgfplotstable@counta=0\relax% + \pgfplotslistforeachungrouped\pgfplotstable@colnames\as\pgfplotstable@loc@TMPa{% + \def\pgfplotstable@loc@TMPb{% + \expandafter\let\csname\string#3@\pgfplotstable@loc@TMPa\endcsname}% + \expandafter\pgfplotstable@loc@TMPb\csname pgfp@numtable@glob@col@\the\c@pgfplotstable@counta\endcsname + %\message{Column '\pgfplotstable@loc@TMPa' has entries: \expandafter\meaning\csname pgfp@numtable@glob@col@\the\c@pgfplotstable@counta\endcsname}% + \expandafter\global\expandafter\let\csname pgfp@numtable@glob@col@\the\c@pgfplotstable@counta\endcsname=\pgfutil@empty + \advance\c@pgfplotstable@counta by1\relax + }% + \fi \global\let\pgfplotstable@colnames=\pgfutil@empty } +\def\pgfplotstableread@finish{% + \ifpgfplots@tableread@to@listener + \else + \ifpgfplotstableread@foundcolnames + \else + \pgfplotstableread@create@column@names@with@numbers + \fi + \pgfplotstableread@curcol=0\relax% + \pgfutil@loop + \ifnum\pgfplotstableread@curcol<\pgfplotstableread@numcols + \expandafter\pgfplotsapplistXflushbuffers\csname pgfp@numtable@glob@col@\the\pgfplotstableread@curcol\endcsname + \advance\pgfplotstableread@curcol by1 + \pgfutil@repeat + \fi +} + \def\pgfplotstableread@loop@over@lines{% \ifeof1 %\pgfplots@message{EOF}% @@ -390,9 +924,9 @@ % \fi %-------------------------------------------------- %\pgfplots@message{READING LINE \the\pgfplotstableread@lineno: '\meaning\pgfplotstable@LINE'.}% + \pgfplotstableread@curline@contains@colnamesfalse \ifnum\pgfplotstableread@numcols=0\relax \pgfplotstableread@curcol=0\relax - \pgfplotstableread@curline@contains@colnamesfalse \pgfplotstableread@impl@DO\pgfplotstableread@impl@countcols@and@identifynames@NEXT\pgfplotstable@LINE %\expandafter\pgfplotstableread@impl@countcols@and@identifynames@ITERATE\pgfplotstable@LINE\pgfplotstable@EOI \pgfplotstableread@numcols=\pgfplotstableread@curcol @@ -439,14 +973,22 @@ \else \pgfplotstable@error{ERROR: the input table has an unexpected number of columns in row '\the\pgfplotstableread@lineno'. Expected: '\the\pgfplotstableread@numcols'; got '\the\pgfplotstableread@curcol. Maybe the input table is corrupted?}% \fi + \ifpgfplots@tableread@to@listener + \ifpgfplotstableread@curline@contains@colnames + \else + % report row! + \pgfplotstable@listener + \fi + \fi \advance\pgfplotstableread@usablelineno by1\relax \fi \fi \advance\pgfplotstableread@lineno by1\relax - \pgfplotstableread@loop@over@lines + \expandafter\pgfplotstableread@loop@over@lines \fi } +% WARNING: this routine is also use in pgfplots.code.tex ... \def\pgfplotstableread@checkspecial@line{% \pgfutil@ifnextchar##{% \pgfplotstableread@skiplinetrue @@ -478,20 +1020,21 @@ } \def\pgfplotstableread@create@column@lists{% - \loop + \pgfutil@loop \ifnum\pgfplotstableread@curcol<\pgfplotstableread@numcols - \expandafter\pgfplotslistnewempty\csname numtable@col@\the\pgfplotstableread@curcol\endcsname + \def\pgfplots@loc@TMPa{\pgfplotsapplistXnewempty[to global]}% + \expandafter\pgfplots@loc@TMPa\csname pgfp@numtable@glob@col@\the\pgfplotstableread@curcol\endcsname \advance\pgfplotstableread@curcol by1\relax - \repeat + \pgfutil@repeat } \def\pgfplotstableread@create@column@names@with@numbers{% \pgfplotstableread@curcol=0\relax - \loop + \pgfutil@loop \ifnum\pgfplotstableread@curcol<\pgfplotstableread@numcols - \expandafter\pgfplotslistpushback\the\pgfplotstableread@curcol\to\pgfplotstable@colnames + \expandafter\pgfplotslistpushbackglobal\the\pgfplotstableread@curcol\to\pgfplotstable@colnames \advance\pgfplotstableread@curcol by1\relax - \repeat + \pgfutil@repeat } \long\def\pgfplotstableread@impl@gobble#1\pgfplotstable@EOI{}% @@ -560,13 +1103,107 @@ \pgfplotstableread@impl@ITERATE@NEXT@{#1}% \pgfplotstableread@impl@ITERATE }% -%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% these values are only usable for a read-listener, that means: +% when using +% +% \pgfplotstableread{<file>} to listener<\macro> +% +% -> <\macro> can than use the methods +% +% \pgfplotstablereadgetcolindex{<index>}{<\content>} +% performs \let\content=<content of column no <index> > +\def\pgfplotstablereadgetcolindex@#1#2{% + \pgfutil@ifundefined{pgfplotstblread@colcontent@no#1}{% + \pgfplots@error{Sorry, the requested column number '#1' in table '\pgfplotstableread@filename' does not exist!? Please verify you used the correct index 0 <= i < N.}% + \let#2=\pgfutil@empty + }{% + \expandafter\let\expandafter#2\csname pgfplotstblread@colcontent@no#1\endcsname + }% +}% + +% \pgfplotstablereadgetcolname{<index>}{<name>} +% performs \let\content=<content of column named <name> > +\def\pgfplotstablereadgetcolname@#1#2{% + \pgfplotstablereadgetptrtocolname{#1}{\pgfplots@loc@TMPa}% + \pgfplotstablereadevalptr\pgfplots@loc@TMPa{#2}% +}% + +% \pgfplotstablereadgetptrtocolname{<name>}{\ptr} +% Creates some sort of "pointer" to the column named <name>. This +% pointer can than be used every time a new line has been reported to +% the listener. IT works like this: +% +% \let\ptr=\pgfutil@empty +% \def\macro{% +% \ifx\ptr\empty +% \pgfplotstablereadgetptrtocolname{<my col>}{\ptr}% +% \fi +% \pgfplotstablereadevalptr{\ptr}{\content}% +% -> do something with \content! +% } +% +% \pgfplotstableread{<file>} to listener<\macro> +% +% -> will evaluate \macro foreach row. +\def\pgfplotstablereadgetptrtocolname@#1#2{% + % Implementation note: it is necessary to replicate code becuase + % in this context, the table structure is NOT available. + \pgfutil@ifundefined{pgfplotstblread@colindex@for@name#1}{% + % Oh, there is no column '#1'! + % + % Check for the 'alias' feature! + % + % WARNING : this code has been REPLICATED in + % *** \pgfplotstablereadgetptrtocolname *** + % *** \pgfplotstablegetcolumnbyname *** + % *** \pgfplotstableresolvecolname *** + % + \def\pgfplotstable@loc@TMPa{/pgfplots/table/alias/#1}% + \pgfkeysifdefined{\pgfplotstable@loc@TMPa}{% + \pgfkeysgetvalue{\pgfplotstable@loc@TMPa}{\pgfplotstable@loc@TMPb}% + \let\pgfplotstable@loc@TMPa=\pgfplotstable@loc@TMPb + \pgfutil@ifundefined{pgfplotstblread@colindex@for@name\pgfplotstable@loc@TMPa}{% + \pgfplots@error{Sorry, could not retrieve aliased column '\pgfplotstable@loc@TMPa' from table '\pgfplotstableread@filename'. The original request was for '#1', which does not exist either.}% + \def#2{0}% + }{% + \edef#2{\csname pgfplotstblread@colindex@for@name\pgfplotstable@loc@TMPa\endcsname}% + }% + }{% + \def\pgfplotstable@loc@TMPa{/pgfplots/table/create on use/#1}% + \pgfkeysifdefined{\pgfplotstable@loc@TMPa/.@cmd}{% + \pgfplots@error{Sorry, '\pgfplotstable@loc@TMPa' from table '\pgfplotstableread@filename' can't be evaluated in this context. Please prepare the table before using it here.}% + }{% + \pgfplots@error{Sorry, could not retrieve column '#1' from table '\pgfplotstableread@filename'. Please check spelling (or introduce name aliases).}% + }% + \def#2{0}% + }% + }{% + \edef#2{\csname pgfplotstblread@colindex@for@name#1\endcsname}% + }% +}% + +% As \pgfplotstablereadgetptrtocolname, but this here access columns +% by index. +\def\pgfplotstablereadgetptrtocolindex@#1#2{\def#2{#1}}% +% \pgfplotstablereadevalptr{<\ptr>}{<\content} +% writes the current value of <\ptr> to <\content>. The pointer <\ptr> +% must be initialised with \pgfplotstablereadgetptrtocolname +\let\pgfplotstablereadevalptr@=\pgfplotstablereadgetcolindex@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\long\def\pgfplotstableread@impl@nextrow@NEXT@listener#1{% + \expandafter\def\csname pgfplotstblread@colcontent@no\the\pgfplotstableread@curcol\endcsname{#1}% + \advance\pgfplotstableread@curcol by1\relax +} \long\def\pgfplotstableread@impl@nextrow@NEXT#1{% %\pgfplots@message{Inserting '#1' at (\the\pgfplotstableread@lineno, \the\pgfplotstableread@curcol).}% - \def\pgfplotstableread@TMP{\pgfplotslistpushback#1\to}% - \expandafter\pgfplotstableread@TMP\csname numtable@col@\the\pgfplotstableread@curcol\endcsname + \pgfplotslist@assembleentry{#1}\into\t@pgfplots@tokc + \def\pgfplotstableread@TMP{\expandafter\pgfplotsapplistXpushback\expandafter{\the\t@pgfplots@tokc}\to}% + \expandafter\pgfplotstableread@TMP\csname pgfp@numtable@glob@col@\the\pgfplotstableread@curcol\endcsname \advance\pgfplotstableread@curcol by1\relax } @@ -575,13 +1212,20 @@ \long\def\pgfplotstableread@impl@collectcolnames@NEXT#1{% %\pgfplots@message{Got column name no \the\pgfplotstableread@curcol\ as '#1'}% \pgfutil@ifundefined{pgfplotstableread@impl@COLNAME@#1}{% - \def\pgfplotstable@TMP{#1}% + \def\pgfplotstable@loc@TMPa{#1}% }{% generate unique column names - \pgfplots@warning{Warning: table '\pgfplotstableread@filename' has non-unique column name '#1'. Only the first occurence can be accessed via column names.}% - \edef\pgfplotstable@TMP{#1--index\the\pgfplotstableread@curcol}% + \pgfplots@warning{Table '\pgfplotstableread@filename' has non-unique column name '#1'. Only the first occurence can be accessed via column names.}% + \edef\pgfplotstable@loc@TMPa{#1--index\the\pgfplotstableread@curcol}% }% \expandafter\def\csname pgfplotstableread@impl@COLNAME@#1\endcsname{foo}% remember this name. - \expandafter\pgfplotslistpushback\expandafter{\pgfplotstable@TMP}\to\pgfplotstable@colnames + \expandafter\pgfplotslistpushbackglobal\expandafter{\pgfplotstable@loc@TMPa}\to\pgfplotstable@colnames + \ifpgfplots@tableread@to@listener + % create an associative container colindex -> colname + % for use in a listener. + \def\pgfplots@loc@TMPb{% + \expandafter\def\csname pgfplotstblread@colindex@for@name#1\endcsname}% + \expandafter\pgfplots@loc@TMPb\expandafter{\the\pgfplotstableread@curcol}% + \fi \advance\pgfplotstableread@curcol by1\relax } @@ -659,7 +1303,7 @@ \pgfplotstableread@NEXT } -\def\pgfplotstable@error#1{\PackageError{numtable}{#1}{Please refer to the manual for further information.}}% +\def\pgfplotstable@error#1{\pgfplots@error{#1}}% \def\pgfplotstableset{% @@ -675,11 +1319,11 @@ % returned into #1. % % Otherwise, \ifpgfplotstableread@foundcolnames is set to true. -\def\pgfplotstabletypeset@is@colname#1{% +\def\pgfplotstable@is@colname#1{% \expandafter\pgfplotstabletypeset@is@colname@#1\pgfplotstable@EOI \ifpgfplotstableread@foundcolnames \else - \let#1=\pgfplotstable@TMP + \let#1=\pgfplotstable@loc@TMPa \fi }% \def\pgfplotstabletypeset@is@colname@{% @@ -692,20 +1336,71 @@ } \def\pgfplotstabletypeset@is@colname@index@@{index}% \def\pgfplotstabletypeset@is@colname@index[#1]#2\pgfplotstable@EOI{% - \def\pgfplotstable@TMP{#1}% - \ifx\pgfplotstable@TMP\pgfplotstabletypeset@is@colname@index@@ + \def\pgfplotstable@loc@TMPa{#1}% + \ifx\pgfplotstable@loc@TMPa\pgfplotstabletypeset@is@colname@index@@ \pgfplotstableread@foundcolnamesfalse - \def\pgfplotstable@TMP{#2}% + \def\pgfplotstable@loc@TMPa{#2}% \else \pgfplotstableread@foundcolnamestrue \fi }% \def\pgfplotstabletypeset@is@colname@name#1\pgfplotstable@EOI{}% + \def\pgfplotstabletypeset@getfinalentry#1#2{% - \pgfkeysvalueof{/pgfplots/table/assign cell content/.@cmd}#1\pgfeov - \pgfkeysgetvalue{/pgfplots/table/@cell content}{#2}% + \begingroup + \def\pgfplotstablepartno{0}% + \pgfkeyssetvalue{/pgfplots/table/@cell content}{#1}% + \pgfkeysvalueof{/pgfplots/table/preproc cell content/.@cmd}#1\pgfeov + \pgfkeysgetvalue{/pgfplots/table/@cell content}\pgfmathresult% + % + \pgfkeysgetvalue{/pgfplots/table/assign cell content/.@cmd}\pgfplotstable@assigncell + \expandafter\pgfplotstable@assigncell\pgfmathresult\pgfeov + % + \pgfkeysgetvalue{/pgfplots/table/postproc cell content/.@cmd}\pgfplotstable@postproccellcontent + \ifx\pgfplotstable@postproccellcontent\pgfplotstable@postproccellcontent@EMPTY + \else + % apply postprocessing to final cell content. + % This is complicated if there is an '&' in '@cell content', + % so handle that specially! + % + % FIXME also support more than one '&' ? + \def\pgfplotstabletypeset@rawinput{#1}% + \pgfkeysgetvalue{/pgfplots/table/@cell content}\pgfmathresult% + \expandafter\pgfutil@in@\expandafter&\expandafter{\pgfmathresult}% + \ifpgfutil@in@ + \expandafter\pgfplotstabletypeset@postproc@separately\pgfmathresult\pgfplotstable@EOI + \else + \pgfplotstable@postproccellcontent#1\pgfeov + \fi + \fi + \pgfkeysgetvalue{/pgfplots/table/@cell content}\pgfmathresult% + \pgfmath@smuggleone\pgfmathresult + \endgroup + \let#2=\pgfmathresult }% +% This routine invokes 'postproc cell content' for columns which +% contain the column separate '&'. +% +% #1 is the formatted number, the result of 'dec sep align +% #3 is the (unformatted) input number. +\def\pgfplotstabletypeset@postproc@separately#1\pgfplotstable@EOI{% + \def\pgfmathresult{#1}% + \pgfkeyslet{/pgfplots/table/@cell content}\pgfmathresult + \expandafter\pgfplotstable@postproccellcontent\pgfplotstabletypeset@rawinput\pgfeov + \pgfkeysgetvalue{/pgfplots/table/@cell content}\pgfplotstable@entry@a + % + \def\pgfplotstablepartno{1}% + \def\pgfmathresult{#2}% + \pgfkeyslet{/pgfplots/table/@cell content}\pgfmathresult + \expandafter\pgfplotstable@postproccellcontent\pgfplotstabletypeset@rawinput\pgfeov + \pgfkeysgetvalue{/pgfplots/table/@cell content}\pgfmathresult + \t@pgfplots@toka=\expandafter{\pgfplotstable@entry@a}% + \t@pgfplots@tokb=\expandafter{\pgfmathresult}% + \edef\pgfmathresult{\the\t@pgfplots@toka&\the\t@pgfplots@tokb}% + \pgfkeyslet{/pgfplots/table/@cell content}\pgfmathresult +} + % processes the option 'assign column name' \def\pgfplotstabletypeset@assign@final@colname#1#2{% \pgfkeysifdefined{/pgfplots/table/assign column name/.@cmd}{% @@ -730,18 +1425,38 @@ }% +\def\pgfplotstable@insertemptycells@forbalance{% + \pgfutil@loop + \ifnum\c@pgfplotstable@counta<\pgfplotstable@firstnumrows\relax + % let's hope @getfinalentry handles empty strings! + \pgfplotstabletypeset@getfinalentry{}{\pgfplotstable@entry}% + \expandafter\pgfplotslistpushback\pgfplotstable@entry\to\pgfplotstable@col@processed + \pgfplotslistpushback\to\pgfplotstable@col@processed + \advance\c@pgfplotstable@counta by1\relax + \pgfutil@repeat +} + % TODO % - replace grouped list foreach by popfront-loop and use arrays % directly -> group only the pgfkeys eval \def\pgfplotstabletypeset@opt[#1]#2{% \begingroup + %-------------------------------------------------- + % \pgfutil@ifundefined{#2}{% + % \pgfplots@error{There is no such table '\string#2' loaded into memory. Maybe you meant to use '\string\pgfplotstabletypesetfile{\string#2}' instead of '\string\pgfplotstabletypeset{\string#2}'?}% + % \pgfplotslistnewempty#2 + % }{}% + %-------------------------------------------------- \def\pgfplotstablecol{\the\c@pgfplotstable@colindex}% \def\pgfplotstablerow{\the\c@pgfplotstable@rowindex}% -% \def\pgfplotstablecols{\the\c@pgfplotstable@numcols}% -% \def\pgfplotstablerows{\the\c@pgfplotstable@numrows}% + \def\pgfplotstablecols{\the\c@pgfplotstable@numcols}% + \def\pgfplotstablerows{\the\c@pgfplotstable@numrows}% \ifpgfplots@table@options@areset \else - \pgfplotstableset{/pgfplots/table/every table,#1}% + \pgfplotstablegetname{#2}\pgfplotstable@loc@TMPa + \t@pgfplots@toka=\expandafter{\pgfplotstable@loc@TMPa}% + \edef\pgfplotstable@loc@TMPa{/pgfplots/table/every table={\the\t@pgfplots@toka}}% + \expandafter\pgfplotstableset\expandafter{\pgfplotstable@loc@TMPa,#1}% \fi \pgfkeysgetvalue{/pgfplots/table/columns}{\pgfplotstable@colnames}% \ifx\pgfplotstable@colnames\pgfutil@empty @@ -757,37 +1472,55 @@ \let\c@pgfplotstable@rowindex=\c@pgf@countc \let\c@pgfplotstable@colindex=\c@pgf@countb \pgfplotslistsize\pgfplotstable@colnames\to\c@pgfplotstable@numcols + \def\pgfplotstable@firstnumrows{-1}% + \c@pgfplotstable@numrows=-1\relax \c@pgfplotstable@colindex=0\relax \pgfplotslistforeach\pgfplotstable@colnames\as\pgfplotstable@colname{% \c@pgfplotstable@rowindex=0\relax - \pgfplotstabletypeset@is@colname\pgfplotstable@colname + \pgfplotstable@is@colname\pgfplotstable@colname \ifpgfplotstableread@foundcolnames \else \pgfplotstablegetcolumnnamebyindex\pgfplotstable@colname\of#2\to\pgfplotstable@colname \fi \pgfplotstablegetcolumnbyname\pgfplotstable@colname\of#2\to\pgfplotstable@col % + % Init number of *input* rows here. This may not be the same + % as the number of *output* rows (see the row predicate + % below). + % + % Accessable with \pgfplotstablerows in style keys. + \ifnum\c@pgfplotstable@numrows=-1\relax + \pgfplotslistsize\pgfplotstable@col\to\c@pgfplotstable@numrows + \global\c@pgfplotstable@numrows=\c@pgfplotstable@numrows + \fi + % % Set keys for columns! \ifodd\c@pgfplotstable@colindex - \pgfplotslist@TOK@a={every odd column}% + \t@pgfplots@toka={every odd column}% \else - \pgfplotslist@TOK@a={every even column}% + \t@pgfplots@toka={every even column}% \fi \ifnum\c@pgfplotstable@colindex=0\relax - \pgfplotslist@TOK@a=\expandafter{\the\pgfplotslist@TOK@a,every first column}% + \t@pgfplots@toka=\expandafter{\the\t@pgfplots@toka,every first column}% \fi + % save this now before we increment '\c@pgfplotstable@colindex': + \edef\pgfplotstable@displaycolkey{display columns/\the\c@pgfplotstable@colindex/.try}% + % \global\advance\c@pgfplotstable@colindex by1\relax \ifnum\c@pgfplotstable@colindex=\c@pgfplotstable@numcols - \pgfplotslist@TOK@a=\expandafter{\the\pgfplotslist@TOK@a,every last column}% + \t@pgfplots@toka=\expandafter{\the\t@pgfplots@toka,every last column}% \fi - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@colname}% - \expandafter\pgfplotstable@checkspecialchars@pgfkeys\the\pgfplotslist@TOK@b\pgfplotstable@EOI + \t@pgfplots@tokb=\expandafter{\pgfplotstable@colname}% + \expandafter\pgfplotstable@checkspecialchars@pgfkeys\the\t@pgfplots@tokb\pgfplotstable@EOI \ifpgfutil@in@ - \edef\pgfplotstable@TMP{\the\pgfplotslist@TOK@a,columns/{\the\pgfplotslist@TOK@b}/.try}% + \edef\pgfplotstable@loc@TMPa{\the\t@pgfplots@toka,columns/{\the\t@pgfplots@tokb}/.try}% \else - \edef\pgfplotstable@TMP{\the\pgfplotslist@TOK@a,columns/\the\pgfplotslist@TOK@b/.try}% + \edef\pgfplotstable@loc@TMPa{\the\t@pgfplots@toka,columns/\the\t@pgfplots@tokb/.try}% \fi - \expandafter\pgfplotstableset\expandafter{\pgfplotstable@TMP}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@loc@TMPa}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@displaycolkey}% + \edef\pgfplotstable@loc@TMPa{\the\t@pgfplots@toka,\the\t@pgfplots@tokb}% + \expandafter\pgfplotstableset\expandafter{\pgfplotstable@loc@TMPa}% % \pgfkeysgetvalue{/pgfplots/table/column name}{\pgfplotstable@colname@out}% \ifx\pgfplotstable@colname@out\pgfplotstabletypeset@nocolname @@ -803,16 +1536,35 @@ }% % \pgfplotslistnewempty\pgfplotstable@col@processed + \c@pgfplotstable@counta=0 \pgfplotslistforeachungrouped\pgfplotstable@col\as\pgfplotstable@entry{% \pgfplotstableuserowtrue - \edef\pgfplotstable@TMP{\noexpand\pgfkeysvalueof{/pgfplots/table/row predicate/.@cmd}\the\c@pgfplotstable@rowindex}% - \pgfplotstable@TMP\pgfeov + \edef\pgfplotstable@loc@TMPa{\noexpand\pgfkeysvalueof{/pgfplots/table/row predicate/.@cmd}\the\c@pgfplotstable@rowindex}% + \pgfplotstable@loc@TMPa\pgfeov \ifpgfplotstableuserow - \expandafter\pgfplotstabletypeset@getfinalentry\expandafter{\pgfplotstable@entry}{\pgfplotstable@entry}% - \expandafter\pgfplotslistpushback\pgfplotstable@entry\to\pgfplotstable@col@processed + \ifnum\pgfplotstable@firstnumrows=-1\relax + \else + \ifnum\c@pgfplotstable@counta=\pgfplotstable@firstnumrows + \t@pgfplots@toka=\expandafter{\pgfplotstable@entry}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@colname@out}% + \pgfplots@warning{Unbalanced cell with content '\the\t@pgfplots@toka' of column '\the\t@pgfplots@tokb' has been skipped: row count \the\c@pgfplotstable@counta+1 > \pgfplotstable@firstnumrows (which is the number of rows in the first column)}% + \pgfplotstableuserowfalse + \fi + \fi + \ifpgfplotstableuserow + \expandafter\pgfplotstabletypeset@getfinalentry\expandafter{\pgfplotstable@entry}{\pgfplotstable@entry}% + \expandafter\pgfplotslistpushback\pgfplotstable@entry\to\pgfplotstable@col@processed + \advance\c@pgfplotstable@counta by1\relax + \fi \fi \advance\c@pgfplotstable@rowindex by1\relax }% + \ifnum\pgfplotstable@firstnumrows=-1\relax + \xdef\pgfplotstable@firstnumrows{\the\c@pgfplotstable@counta}% + \else + % balance columns: + \pgfplotstable@insertemptycells@forbalance + \fi {\globaldefs=1 \expandafter\pgfplotslistpushback\expandafter{\pgfplotstable@col@processed}\to\pgfplotstabletypeset@final@cols }% @@ -834,25 +1586,25 @@ % STEP 1.1: collect column types: \def\pgfplotstable@resulttypes{}% \pgfplotslistforeachungrouped\pgfplotstabletypeset@final@coltypes\as\pgfplotstable@coltype{% - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@resulttypes}% - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@coltype}% - \edef\pgfplotstable@resulttypes{\the\pgfplotslist@TOK@a\the\pgfplotslist@TOK@b}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@resulttypes}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@coltype}% + \edef\pgfplotstable@resulttypes{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% }% \pgfkeysgetvalue{/pgfplots/table/begin table}{\pgfplotstable@entry}% - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@entry}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@entry}% \ifx\pgfplotstable@resulttypes\pgfutil@empty - \edef\pgfplotstable@result{\the\pgfplotslist@TOK@a}% + \edef\pgfplotstable@result{\the\t@pgfplots@toka}% \else - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@resulttypes}% - \edef\pgfplotstable@result{\the\pgfplotslist@TOK@a{\the\pgfplotslist@TOK@b}}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@resulttypes}% + \edef\pgfplotstable@result{\the\t@pgfplots@toka{\the\t@pgfplots@tokb}}% \fi % \pgfkeysgetvalue{/pgfplots/table/font}{\pgfplotstable@font}% \ifx\pgfplotstable@font\pgfutil@empty \else - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@font}% - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@result}% - \edef\pgfplotstable@result{\noexpand\begingroup\the\pgfplotslist@TOK@a\the\pgfplotslist@TOK@b}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@font}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@result}% + \edef\pgfplotstable@result{\noexpand\begingroup\the\t@pgfplots@toka\the\t@pgfplots@tokb}% \fi % @@ -861,33 +1613,33 @@ \pgfplotstableset{every head row}% \pgfkeysgetvalue{/pgfplots/table/before row}{\pgfplotstable@before}% \pgfkeysgetvalue{/pgfplots/table/after row}{\pgfplotstable@after}% - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@before}% - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@after}% - \xdef\pgfplotstable@TMP{% - \noexpand\def\noexpand\pgfplotstable@before{\the\pgfplotslist@TOK@a}% - \noexpand\def\noexpand\pgfplotstable@after{\the\pgfplotslist@TOK@b}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@before}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@after}% + \xdef\pgfplots@glob@TMPc{% + \noexpand\def\noexpand\pgfplotstable@before{\the\t@pgfplots@toka}% + \noexpand\def\noexpand\pgfplotstable@after{\the\t@pgfplots@tokb}% }% \endgroup - \pgfplotstable@TMP + \pgfplots@glob@TMPc % insert 'before row' here: - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@before}% - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@result}% - \edef\pgfplotstable@result{\the\pgfplotslist@TOK@b\the\pgfplotslist@TOK@a}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@before}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@result}% + \edef\pgfplotstable@result{\the\t@pgfplots@tokb\the\t@pgfplots@toka}% % \pgfplotslistforeachungrouped\pgfplotstabletypeset@final@colnames\as\pgfplotstable@colname@out{% \advance\c@pgfplotstable@colindex by1\relax - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@result}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@result}% \ifnum\c@pgfplotstable@colindex=\c@pgfplotstable@numcols\relax - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@colname@out \\}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@colname@out \\}% \else - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@colname@out &}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@colname@out &}% \fi - \edef\pgfplotstable@result{\the\pgfplotslist@TOK@a\the\pgfplotslist@TOK@b}% + \edef\pgfplotstable@result{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% }% % insert 'after row' here: - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@result}% - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@after}% - \edef\pgfplotstable@result{\the\pgfplotslist@TOK@a\the\pgfplotslist@TOK@b}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@result}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@after}% + \edef\pgfplotstable@result{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% % %\message{I have now \meaning\pgfplotstable@result.}% % Step 2: column contents. @@ -910,92 +1662,94 @@ \else \pgfplots@loop@CONTINUEfalse \fi - \loop + \pgfutil@loop \ifpgfplots@loop@CONTINUE \pgfplotsarrayselect\c@pgfplotstable@colindex\of\pgfplotstabletypeset@final@cols@array\to\pgfplotstable@col@processed \pgfplotslistcheckempty\pgfplotstable@col@processed \ifpgfplotslistempty + % assume that each column has the same number of entries + % (normalised tables): \pgfplots@loop@CONTINUEfalse \else \ifnum\c@pgfplotstable@colindex=0\relax % Install styles for the next row. \begingroup \ifodd\c@pgfplotstable@rowindex - \pgfplotslist@TOK@a={every odd row}% + \t@pgfplots@toka={every odd row}% \else - \pgfplotslist@TOK@a={every even row}% + \t@pgfplots@toka={every even row}% \fi \ifnum\c@pgfplotstable@rowindex=0\relax - \pgfplotslist@TOK@a=\expandafter{\the\pgfplotslist@TOK@a,every first row}% + \t@pgfplots@toka=\expandafter{\the\t@pgfplots@toka,every first row}% \fi % misuse as temporary variable: \c@pgfplotstable@colindex=\c@pgfplotstable@rowindex \advance\c@pgfplotstable@colindex by1\relax \ifnum\c@pgfplotstable@colindex=\c@pgfplotstable@numrows - \edef\pgfplotstable@TMP{\the\pgfplotslist@TOK@a,every row no \the\c@pgfplotstable@rowindex/.try,every last row}% + \edef\pgfplotstable@loc@TMPa{\the\t@pgfplots@toka,every row no \the\c@pgfplotstable@rowindex/.try,every last row}% \else - \edef\pgfplotstable@TMP{\the\pgfplotslist@TOK@a,every row no \the\c@pgfplotstable@rowindex/.try}% + \edef\pgfplotstable@loc@TMPa{\the\t@pgfplots@toka,every row no \the\c@pgfplotstable@rowindex/.try}% \fi - \expandafter\pgfplotstableset\expandafter{\pgfplotstable@TMP}% + \expandafter\pgfplotstableset\expandafter{\pgfplotstable@loc@TMPa}% \pgfkeysgetvalue{/pgfplots/table/before row}{\pgfplotstable@before}% \pgfkeysgetvalue{/pgfplots/table/after row}{\pgfplotstable@after}% - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@before}% - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@after}% - \xdef\pgfplotstable@TMP{% - \noexpand\def\noexpand\pgfplotstable@before{\the\pgfplotslist@TOK@a}% - \noexpand\def\noexpand\pgfplotstable@after{\the\pgfplotslist@TOK@b}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@before}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@after}% + \xdef\pgfplots@glob@TMPc{% + \noexpand\def\noexpand\pgfplotstable@before{\the\t@pgfplots@toka}% + \noexpand\def\noexpand\pgfplotstable@after{\the\t@pgfplots@tokb}% }% \endgroup - \pgfplotstable@TMP + \pgfplots@glob@TMPc % insert 'before row' here: - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@before}% - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@result}% - \edef\pgfplotstable@result{\the\pgfplotslist@TOK@b\the\pgfplotslist@TOK@a}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@before}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@result}% + \edef\pgfplotstable@result{\the\t@pgfplots@tokb\the\t@pgfplots@toka}% \fi % % \pgfplotslistpopfront\pgfplotstable@col@processed\to\pgfplotstable@entry \pgfplotsarrayletentry\c@pgfplotstable@colindex\of\pgfplotstabletypeset@final@cols@array=\pgfplotstable@col@processed \advance\c@pgfplotstable@colindex by1\relax - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@result}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@result}% \ifnum\c@pgfplotstable@colindex=\c@pgfplotstable@numcols\relax - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@entry \\}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@entry \\}% \else - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@entry &}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@entry &}% \fi - \edef\pgfplotstable@result{\the\pgfplotslist@TOK@a\the\pgfplotslist@TOK@b}% + \edef\pgfplotstable@result{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% \ifnum\c@pgfplotstable@colindex=\c@pgfplotstable@numcols\relax \c@pgfplotstable@colindex=0\relax % insert 'after row' here: - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@result}% - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@after}% - \edef\pgfplotstable@result{\the\pgfplotslist@TOK@a\the\pgfplotslist@TOK@b}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@result}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@after}% + \edef\pgfplotstable@result{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% \advance\c@pgfplotstable@rowindex by1\relax \fi %\message{I have now \meaning\pgfplotstable@result.}% \fi - \repeat - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@result}% + \pgfutil@repeat + \t@pgfplots@toka=\expandafter{\pgfplotstable@result}% \pgfkeysgetvalue{/pgfplots/table/end table}{\pgfplotstable@entry}% - \pgfplotslist@TOK@b=\expandafter{\pgfplotstable@entry}% - \edef\pgfplotstable@result{\the\pgfplotslist@TOK@a\the\pgfplotslist@TOK@b}% + \t@pgfplots@tokb=\expandafter{\pgfplotstable@entry}% + \edef\pgfplotstable@result{\the\t@pgfplots@toka\the\t@pgfplots@tokb}% \ifx\pgfplotstable@font\pgfutil@empty \else - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@result\endgroup}% - \edef\pgfplotstable@result{\the\pgfplotslist@TOK@a}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@result\endgroup}% + \edef\pgfplotstable@result{\the\t@pgfplots@toka}% \fi \ifpgfplotstabletypesetdebug - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@result}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@result}% \immediate\write16{------- PGFPLOTSTABLE DEBUG MODE: --------}% - \immediate\write16{{\the\pgfplotslist@TOK@a}}% + \immediate\write16{{\the\t@pgfplots@toka}}% \fi \pgfkeysgetvalue{/pgfplots/table/outfile}{\pgfplotstable@entry}% \ifx\pgfplotstable@entry\pgfutil@empty \else \begingroup \immediate\openout\pgfplotstable@outfile=\pgfplotstable@entry\relax - \pgfplotslist@TOK@a=\expandafter{\pgfplotstable@result}% - \immediate\write\pgfplotstable@outfile{\the\pgfplotslist@TOK@a}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@result}% + \immediate\write\pgfplotstable@outfile{\the\t@pgfplots@toka}% \immediate\closeout\pgfplotstable@outfile \endgroup \fi @@ -1003,5 +1757,130 @@ \endgroup }% +\newif\ifpgfplotstable@isfirstrow +\newif\ifpgfplotstable@islastrow +\newif\ifpgfplotstablecreatecol@isreallynew + +\def\pgfplotstablecreatecol@opt[#1]#2#3{% + \begingroup + \pgfplotstableset{columns=,#1}% + \pgfkeysgetvalue{/pgfplots/table/columns}{\pgfplotstable@colnames}% + \ifx\pgfplotstable@colnames\pgfutil@empty + \pgfplotstablegetcolumnlist#3\to\pgfplotstable@colnames + \else + \expandafter\pgfplotslistnew\expandafter\pgfplotstable@colnames\expandafter{\pgfplotstable@colnames}% + \fi + \pgfplotslistnewempty\pgfplotstable@colnames@real + \t@pgfplots@toka=\expandafter{#2}% this should handle macro names in '#2'. + \edef\pgfplotstable@newcolname{\the\t@pgfplots@toka}% + \global\pgfplotstablecreatecol@isreallynewtrue + \pgfplotslistforeachungrouped\pgfplotstable@colnames\as\pgfplotstable@colname{% + \pgfplotstable@is@colname\pgfplotstable@colname + \ifpgfplotstableread@foundcolnames + \expandafter\pgfplotslistpushback\expandafter{\pgfplotstable@colname}\to\pgfplotstable@colnames@real + \else + \pgfplotstablegetcolumnnamebyindex\pgfplotstable@colname\of#2\to\pgfplotstable@colname + \expandafter\pgfplotslistpushback\expandafter{\pgfplotstable@colname}\to\pgfplotstable@colnames@real + \fi + \ifx\pgfplotstable@colname\pgfplotstable@newcolname + \global\pgfplotstablecreatecol@isreallynewfalse + \fi + }% + \pgfplotstable@isfirstrowtrue + \pgfplotstable@islastrowfalse + \pgfplotslistnewempty\pgfplotstable@newcol + % + \let\c@pgfplotstable@numrows=\c@pgf@countd + \let\c@pgfplotstable@rowindex=\c@pgf@countc + \c@pgfplotstable@numrows=-1\relax + \c@pgfplotstable@rowindex=0\relax + \def\pgfplotstablerow{\the\c@pgfplotstable@rowindex}% + \def\pgfplotstablerows{\the\c@pgfplotstable@numrows}% + % + \def\prevrow##1{\csname pgfplotstablecreate@prev@##1\endcsname}% + \def\thisrow##1{\csname pgfplotstablecreate@cur@##1\endcsname}% + \def\nextrow##1{\csname pgfplotstablecreate@next@##1\endcsname}% + \def\getprevrow##1##2{\expandafter\let\expandafter##2\csname pgfplotstablecreate@prev@##1\endcsname}% + \def\getthisrow##1##2{\expandafter\let\expandafter##2\csname pgfplotstablecreate@cur@##1\endcsname}% + \def\getnextrow##1##2{\expandafter\let\expandafter##2\csname pgfplotstablecreate@next@##1\endcsname}% + % + \pgfplots@loop@CONTINUEtrue + % allow this here to accumulate something. + \let\pgfmathaccuma=\pgfutil@empty + \let\pgfmathaccumb=\pgfutil@empty + \pgfutil@loop% loop over each row until there are no more rows. + \ifpgfplots@loop@CONTINUE + \ifnum\c@pgfplotstable@numrows=-1\relax + \pgfplotslistfront\pgfplotstable@colnames\to\pgfplotstable@colname + \expandafter\pgfplotslistsize\csname\string#3@\pgfplotstable@colname\endcsname\to\c@pgfplotstable@numrows + \fi + \pgfplotslistforeachungrouped\pgfplotstable@colnames\as\pgfplotstable@colname{% + \expandafter\pgfplotstableresolvecolname\expandafter{\pgfplotstable@colname}\of#3\to\pgfplotstable@real@colname + \ifpgfplotstable@isfirstrow + \expandafter\pgfplotslistcheckempty\csname\string#3@\pgfplotstable@real@colname\endcsname + \ifpgfplotslistempty + % the table is completely empty. break. + \pgfplots@loop@CONTINUEfalse + \else + \expandafter\let\csname pgfplotstablecreate@prev@\pgfplotstable@colname\endcsname=\pgfutil@empty + \expandafter\pgfplotslistpopfront\csname\string#3@\pgfplotstable@real@colname\endcsname\to\pgfplotstable@entry + \expandafter\let\csname pgfplotstablecreate@cur@\pgfplotstable@colname\endcsname=\pgfplotstable@entry + \fi + \else + \expandafter\let\expandafter\pgfplotstable@prev\csname pgfplotstablecreate@cur@\pgfplotstable@colname\endcsname + \expandafter\let\csname pgfplotstablecreate@prev@\pgfplotstable@colname\endcsname=\pgfplotstable@prev + % + \expandafter\let\expandafter\pgfplotstable@next\csname pgfplotstablecreate@next@\pgfplotstable@colname\endcsname + \expandafter\let\csname pgfplotstablecreate@cur@\pgfplotstable@colname\endcsname=\pgfplotstable@next + \fi + \expandafter\pgfplotslistcheckempty\csname\string#3@\pgfplotstable@real@colname\endcsname + \ifpgfplotslistempty + \expandafter\let\csname pgfplotstablecreate@next@\pgfplotstable@colname\endcsname=\pgfutil@empty + \pgfplotstable@islastrowtrue + \else + \expandafter\pgfplotslistpopfront\csname\string#3@\pgfplotstable@real@colname\endcsname\to\pgfplotstable@entry + \expandafter\let\csname pgfplotstablecreate@next@\pgfplotstable@colname\endcsname=\pgfplotstable@entry + \fi + }% + \ifpgfplots@loop@CONTINUE + % Compute content: + % + \begingroup + \ifpgfplotstable@isfirstrow + \pgfkeysvalueof{/pgfplots/table/create col/assign first/.@cmd}\pgfeov + \else + \ifpgfplotstable@islastrow + \pgfkeysvalueof{/pgfplots/table/create col/assign last/.@cmd}\pgfeov + \else + \pgfkeysvalueof{/pgfplots/table/create col/assign/.@cmd}\pgfeov + \fi + \fi + \pgfkeysgetvalue{/pgfplots/table/create col/next content}{\pgfplotstable@entry}% + \t@pgfplots@toka=\expandafter{\pgfplotstable@entry}% + \t@pgfplots@tokb=\expandafter{\pgfmathaccuma}% + \xdef\pgfplots@glob@TMPc{% + \noexpand\def\noexpand\pgfplotstable@entry{\the\t@pgfplots@toka}% + \noexpand\def\noexpand\pgfmathaccuma{\the\t@pgfplots@tokb}% + }% + \pgfmath@smuggleone\pgfmathaccumb + \endgroup + \pgfplots@glob@TMPc + \expandafter\pgfplotslistpushback\expandafter{\pgfplotstable@entry}\to\pgfplotstable@newcol + % + \ifpgfplotstable@islastrow + \pgfplots@loop@CONTINUEfalse + \fi + \fi + \pgfplotstable@isfirstrowfalse + \advance\c@pgfplotstable@rowindex by1\relax + \pgfutil@repeat + \global\let\pgfplots@glob@TMPc=\pgfplotstable@newcol + \global\let\pgfplots@glob@TMPb=\pgfplotstable@newcolname + \endgroup + \ifpgfplotstablecreatecol@isreallynew + \expandafter\pgfplotslistpushback\expandafter{\pgfplots@glob@TMPb}\to#3 + \fi + \expandafter\let\csname\string#3@\pgfplots@glob@TMPb\endcsname=\pgfplots@glob@TMPc +}% \endinput diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex index 628fc7f374e..ce780e866b2 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex @@ -1,11 +1,11 @@ -\pgfkeysifdefined{/pgf/number format/1000 sep/.@cmd}{\endinput}{} %-------------------------------------------------- -% \pgfutil@ifundefined{pgfplothandlerybarinterval} +% \pgfutil@ifundefined{pgfmathfloattosci} % {}% % {\endinput}% %-------------------------------------------------- +\pgfkeysifdefined{/pgf/number format/@dec sep mark}{\endinput}{} -\immediate\write16{Package pgfplots: loading support code for older PGF versions...} +\immediate\write16{Package pgfplots: loading complementary code for your PGF version...} \input pgfplotsoldpgfsupp_misc.code.tex \input pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex \input pgfplotsoldpgfsupp_pgfmathfloat.code.tex diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex index 9e037470f6e..def32476da4 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex @@ -42,6 +42,41 @@ } % ====================================================== + +% pgfutil@loop (from plain.tex) + +\def\pgfutil@loop#1\pgfutil@repeat{\def\pgfutil@body{#1}\pgfutil@iterate} +\def\pgfutil@iterate{\pgfutil@body \let\pgfutil@next\pgfutil@iterate \else\let\pgfutil@next\relax\fi \pgfutil@next} +\let\pgfutil@repeat=\fi % this makes \loop...\if...\repeat skippable + +\def\pgfqpointxy#1#2{% + \pgf@x=#1\pgf@xx% + \advance\pgf@x by #2\pgf@yx% + \pgf@y=#1\pgf@xy% + \advance\pgf@y by #2\pgf@yy} +\def\pgfqpointxyz#1#2#3{% + \pgf@x=#1\pgf@xx% + \advance\pgf@x by #2\pgf@yx% + \advance\pgf@x by #3\pgf@zx% + \pgf@y=#1\pgf@xy% + \advance\pgf@y by #2\pgf@yy% + \advance\pgf@y by #3\pgf@zy} +\def\pgfcoordinate#1#2{% + \edef\pgf@temp{#1}% + \ifx\pgf@temp\pgfutil@empty% do nothing + \else% + \pgf@process{\pgfpointtransformed{#2}}% + \expandafter\gdef\csname pgf@sh@ns@#1\endcsname{coordinate}% + \expandafter\xdef\csname pgf@sh@np@#1\endcsname{% + \noexpand\def\noexpand\centerpoint{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + } + \expandafter\gdef\csname pgf@sh@nt@#1\endcsname{{1}{0}{0}{1}{0pt}{0pt}}% + \expandafter\global\expandafter\let\csname pgf@sh@ma@#1\endcsname\pgfutil@empty% + \expandafter\gdef\csname pgf@sh@pi@#1\endcsname{\pgfpictureid}% + \fi% +} +% ====================================================== + \def\pgfutilensuremath#1{% \ifmmode#1\else$#1$\fi } @@ -56,6 +91,49 @@ \tikzoption{jump mark right}[]{\let\tikz@plot@handler=\pgfplothandlerjumpmarkright} \tikzoption{jump mark left}[]{\let\tikz@plot@handler=\pgfplothandlerjumpmarkleft} +% the 'every mark' style is new: +\tikzset{ + every mark/.style={}, + mark options/.style={% + every mark/.style={#1}% + }} +\def\tikz@@@plot{% + \def\pgfplotlastpoint{\pgfpointorigin}% + \tikz@plot@handler% + \tikz@plot@data% + \global\let\tikz@@@temp=\pgfplotlastpoint% + \ifx\tikz@plot@mark\pgfutil@empty% + \else% + % Marks are drawn after the path. + \setbox\tikz@figbox=\hbox{% + \unhbox\tikz@figbox% + \hbox{{% + \pgfinterruptpath% + \pgfscope% + \let\tikz@options=\pgfutil@empty% + \let\tikz@transform=\pgfutil@empty% + \tikzset{every mark}% + \tikz@options% + \ifx\tikz@mark@list\pgfutil@empty% + \pgfplothandlermark{\tikz@transform\pgfuseplotmark{\tikz@plot@mark}}% + \else + \pgfplothandlermarklisted{\tikz@transform\pgfuseplotmark{\tikz@plot@mark}}{\tikz@mark@list}% + \fi + \tikz@plot@data% + \endpgfscope + \endpgfinterruptpath% + }}% + }% + \fi% + \global\setbox\tikz@tempbox=\copy\tikz@figbox% + %\global\let\tikz@after@path@smuggle=\tikz@after@path + \endgroup% + \setbox\tikz@figbox=\box\tikz@tempbox% + \tikz@make@last@position{\tikz@@@temp}% + %\expandafter\tikz@scan@next@command\tikz@after@path@smuggle% + \tikz@scan@next@command% +} + diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex index cd5c328c700..ed490784564 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex @@ -627,6 +627,7 @@ % /bar/foo/... /pgf/key filters/is descendant of/.code={% \ifnum\pgfkeyscasenumber=0 +%\message{'\pgfkeyscurrentkey' (case \pgfkeyscasenumber) is UNKNOWN. Calling unknown handler.}% % unknown options shall be processed with the % unknown-handlers. \pgfkeysfiltercontinuetrue diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex index 0d120a8b722..0d120a8b722 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex index cb479f8dc73..e199d44f811 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex @@ -34,6 +34,8 @@ % can be changed with options. \def\pgfmathfloat@round@precision{2} +\gdef\pgfmathfloat@glob@TMP{} + % Computes a normalised floating point representation for #1 of the % form @@ -87,7 +89,8 @@ % -> \pgfmathresult = 11.41212e2 \def\pgfmathfloatparsenumber#1{% \begingroup - \expandafter\pgfmathfloatparsenumber@impl#1\pgfmathfloat@EOI + \edef\pgfmathresult{#1}% + \expandafter\pgfmathfloatparsenumber@impl\pgfmathresult\pgfmathfloat@EOI \ifpgfmathfloatparsenumberpendingperiod \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok.0}% \fi @@ -101,7 +104,8 @@ \def\pgfmathfloatqparsenumber#1{% \begingroup \let\pgfmathfloatparsenumber@sanitize@digit=\relax - \expandafter\pgfmathfloatparsenumber@impl#1\pgfmathfloat@EOI + \edef\pgfmathresult{#1}% + \expandafter\pgfmathfloatparsenumber@impl\pgfmathresult\pgfmathfloat@EOI \ifpgfmathfloatparsenumberpendingperiod \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok.0}% \fi @@ -140,13 +144,13 @@ \def\pgfmathfloattomacro#1#2#3#4{% \begingroup \expandafter\pgfmathfloat@decompose@tok#1\relax\pgfmathfloat@a@S\pgfmathfloat@a@Mtok\pgfmathfloat@a@E - \xdef\pgfmathfloat@TMPB{% + \xdef\pgfmathfloat@glob@TMP{% \noexpand\def\noexpand#2{\the\pgfmathfloat@a@S}% \noexpand\def\noexpand#3{\the\pgfmathfloat@a@Mtok}% \noexpand\def\noexpand#4{\the\pgfmathfloat@a@E}% }% \endgroup - \pgfmathfloat@TMPB + \pgfmathfloat@glob@TMP } % Takes a floating point number #1 as input and writes flags to count @@ -174,7 +178,7 @@ \expandafter\pgfmathfloat@decompose@Mtok#1\relax{#2}% } % Extracts the exponent of #1 into the count register #2. -\def\pgfmathfloatgetmantisse#1#2{% +\def\pgfmathfloatgetexponent#1#2{% \expandafter\pgfmathfloat@decompose@E#1\relax{#2}% } @@ -291,28 +295,60 @@ \endgroup }% +\def\pgfmathfloattoextentedprecision@@zero#1\pgfmathfloat@EOI{% + \edef\pgfmathresult{#1}% +}% +\def\pgfmathfloattoextentedprecision@@one#1.#2#3\pgfmathfloat@EOI{% + \edef\pgfmathresult{#1#2.#3}% +}% +\def\pgfmathfloattoextentedprecision@@two#1.#2#3#4\pgfmathfloat@EOI{% + \edef\pgfmathresult{#1#2#3.#4}% +}% + +% Sets extended precision to 10^#1. +% +% The default is 10^2, which means mantissas in extended precision are +% normalised to 100 <= m < 1000. +% +% The case 10^1 means they are normalised to 10 <= m < 100 and 10^0 +% deactivates extended precision. +% +% #1 is the exponent, #1 = 0,1 or 2. +% +% This setting applies to \pgfmathfloattoextentedprecision. +\def\pgfmathfloatsetextprecision#1{% + \ifcase#1\relax + \let\pgfmathfloattoextentedprecision@@=\pgfmathfloattoextentedprecision@@zero + \def\pgfmathfloatextprec@shift{0}% + \or + \let\pgfmathfloattoextentedprecision@@=\pgfmathfloattoextentedprecision@@one + \def\pgfmathfloatextprec@shift{1}% + \else + \let\pgfmathfloattoextentedprecision@@=\pgfmathfloattoextentedprecision@@two + \def\pgfmathfloatextprec@shift{2}% + \fi +}% +\pgfmathfloatsetextprecision{2}% + % Does the same work as \pgfmathfloattoextentedprecision, but this one here fills the % registers \pgfmathfloat@a@S and \pgfmathfloat@a@E with the flags and (renormalized) exponent. % It destroys the content of \pgfmathfloat@a@Mtok. \def\pgfmathfloattoextentedprecision@a#1{% \expandafter\pgfmathfloat@decompose@tok#1\relax\pgfmathfloat@a@S\pgfmathfloat@a@Mtok\pgfmathfloat@a@E \ifnum\pgfmathfloat@a@S<3 - \advance\pgfmathfloat@a@E by-2\relax% compensate for shift above + \advance\pgfmathfloat@a@E by-\pgfmathfloatextprec@shift\relax% compensate for shift \expandafter\pgfmathfloattoextentedprecision@@\the\pgfmathfloat@a@Mtok 00\pgfmathfloat@EOI \else \edef\pgfmathresult{#1}% \fi }% -\def\pgfmathfloattoextentedprecision@@#1.#2#3#4\pgfmathfloat@EOI{% - \edef\pgfmathresult{#1#2#3.#4}% -}% % Similar to \pgfmathfloattoextentedprecision@a, this one here fills the '@b' registers. \def\pgfmathfloattoextentedprecision@b#1{% \expandafter\pgfmathfloat@decompose@tok#1\relax\pgfmathfloat@b@S\pgfmathfloat@a@Mtok\pgfmathfloat@b@E \ifnum\pgfmathfloat@b@S<3 - \advance\pgfmathfloat@b@E by-2\relax + \advance\pgfmathfloat@b@E by-\pgfmathfloatextprec@shift\relax \expandafter\pgfmathfloattoextentedprecision@@\the\pgfmathfloat@a@Mtok 00\pgfmathfloat@EOI \else \edef\pgfmathresult{#1}% @@ -375,9 +411,9 @@ % % ATTENTION: this helper method DESTROYS contents of \pgfmathfloat@a@S. \def\pgfmathfloatadd@shift#1#2#3{% - \pgf@xa=#1 pt - \pgfmathfloat@a@S=#3 - \advance\pgfmathfloat@a@S by-#2 + \pgf@xa=#1 pt% + \pgfmathfloat@a@S=#3\relax + \advance\pgfmathfloat@a@S by-#2\relax \ifcase\pgfmathfloat@a@S \or \divide\pgf@xa by10\relax @@ -400,9 +436,9 @@ \divide\pgf@xa by10000\relax \divide\pgf@xa by10000\relax \else - \pgf@xa=0pt + \pgf@xa=0pt% \fi - #2=#3 + #2=#3\relax \edef#1{\pgf@sys@tonumber\pgf@xa}% } @@ -465,6 +501,211 @@ \let\pgfmathfloatmultiplyfixed=\pgfmathfloatmultiplyfixed@ + +\def\pgfmathfloatmultiply@#1#2{% + \begingroup + \pgfmathfloatsetextprecision{1}% + \pgfmathfloattoextentedprecision@a{#1}% + \let\pgfmathfloat@arga=\pgfmathresult + % + \pgfmathfloattoextentedprecision@b{#2}% + \let\pgfmathfloat@argb=\pgfmathresult + % + \pgfmathfloatcomparisontrue% re-use this boolean here to handle special cases. + \ifcase\pgfmathfloat@a@S + % 0 + \pgfmathfloatcreate{0}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or% + + \ifcase\pgfmathfloat@b@S + \pgfmathfloatcreate{0}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \def\pgfmathresult@S{1}% + \or + \def\pgfmathresult@S{2}% + \else + \expandafter\pgfmathfloatcreate\the\pgfmathfloat@b@S{0.0}{0}% + \pgfmathfloatcomparisonfalse + \fi + \or% - + \ifcase\pgfmathfloat@b@S + \pgfmathfloatcreate{0}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \def\pgfmathresult@S{2}% + \or + \def\pgfmathresult@S{1}% + \or + \pgfmathfloatcreate{3}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{5}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{4}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \fi + \or% nan + \pgfmathfloatcreate{3}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or% +infty + \ifcase\pgfmathfloat@b@S + \pgfmathfloatcreate{0}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{4}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{5}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{3}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{4}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{5}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \fi + \or% -infty + \ifcase\pgfmathfloat@b@S + \pgfmathfloatcreate{0}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{5}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{4}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{3}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{5}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{4}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \fi + \fi + \ifpgfmathfloatcomparison + \pgfmathmultiply@{\pgfmathfloat@arga}{\pgfmathfloat@argb}% + \advance\pgfmathfloat@a@E by\pgfmathfloat@b@E + % renormalize sum. This is the only part were an expensive routine comes into play: + \edef\pgfmathresult{\pgfmathresult e\the\pgfmathfloat@a@E}% + \expandafter\pgfmathfloatqparsenumber\expandafter{\pgfmathresult}% + \expandafter\pgfmathfloat@decompose@tok\pgfmathresult\relax\pgfmathfloat@a@S\pgfmathfloat@a@Mtok\pgfmathfloat@a@E + \pgfmathfloatcreate{\pgfmathresult@S}{\the\pgfmathfloat@a@Mtok}{\the\pgfmathfloat@a@E}% + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup +}% +\let\pgfmathfloatmultiply=\pgfmathfloatmultiply@ + +\def\pgfmathfloatdivide@#1#2{% + \begingroup + \pgfmathfloatsetextprecision{1}% + \pgfmathfloattoextentedprecision@a{#1}% + \let\pgfmathfloat@arga=\pgfmathresult + % + \pgfmathfloattoextentedprecision@b{#2}% + \let\pgfmathfloat@argb=\pgfmathresult + % + \pgfmathfloatcomparisontrue% re-use this boolean here to handle special cases. + \ifcase\pgfmathfloat@a@S + % 0 + \pgfmathfloatcreate{0}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or% + + \ifcase\pgfmathfloat@b@S + \pgfmathfloatcreate{4}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \def\pgfmathresult@S{1}% + \or + \def\pgfmathresult@S{2}% + \or + \pgfmathfloatcreate{3}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \else + \pgfmathfloatcreate{0}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \fi + \or% - + \ifcase\pgfmathfloat@b@S + \pgfmathfloatcreate{5}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \def\pgfmathresult@S{2}% + \or + \def\pgfmathresult@S{1}% + \or + \pgfmathfloatcreate{3}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \else + \pgfmathfloatcreate{0}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \fi + \or% nan + \pgfmathfloatcreate{3}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or% +infty + \ifcase\pgfmathfloat@b@S + \pgfmathfloatcreate{4}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{4}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{5}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{3}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{4}{0.0}{0}% what is inf/inf ? + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{5}{0.0}{0}% or inf/-inf ? + \pgfmathfloatcomparisonfalse + \fi + \or% -infty + \ifcase\pgfmathfloat@b@S + \pgfmathfloatcreate{5}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{5}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{4}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{3}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{5}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \or + \pgfmathfloatcreate{4}{0.0}{0}% + \pgfmathfloatcomparisonfalse + \fi + \fi + \ifpgfmathfloatcomparison + \pgfmathdivide@{\pgfmathfloat@arga}{\pgfmathfloat@argb}% + \advance\pgfmathfloat@a@E by-\pgfmathfloat@b@E + % renormalize sum. This is the only part were an expensive routine comes into play: + \edef\pgfmathresult{\pgfmathresult e\the\pgfmathfloat@a@E}% + \expandafter\pgfmathfloatqparsenumber\expandafter{\pgfmathresult}% + \expandafter\pgfmathfloat@decompose@tok\pgfmathresult\relax\pgfmathfloat@a@S\pgfmathfloat@a@Mtok\pgfmathfloat@a@E + \pgfmathfloatcreate{\pgfmathresult@S}{\the\pgfmathfloat@a@Mtok}{\the\pgfmathfloat@a@E}% + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup +}% +\let\pgfmathfloatdivide=\pgfmathfloatdivide@ + % Converts a composed floating point representation to fixed point. % % Example: @@ -489,6 +730,27 @@ } \let\pgfmathfloattofixed=\pgfmathfloattofixed@ +% Converts a floating point number to scientific format 1.234e5. +% +% This operation is very fast. +\def\pgfmathfloattosci@#1{% + \begingroup + \expandafter\pgfmathfloat@decompose@tok#1\relax\pgfmathfloat@a@S\pgfmathfloat@a@Mtok\pgfmathfloat@a@E + \ifcase\pgfmathfloat@a@S + \def\pgfmathresult{0.0e0}% + \or + \edef\pgfmathresult{\the\pgfmathfloat@a@Mtok e\the\pgfmathfloat@a@E}% + \or + \edef\pgfmathresult{-\the\pgfmathfloat@a@Mtok e\the\pgfmathfloat@a@E}% + \or\def\pgfmathresult{nan}% + \or\def\pgfmathresult{inf}% + \or\def\pgfmathresult{-inf}% + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup +}% +\let\pgfmathfloattosci=\pgfmathfloattosci@ + % Divides or multiplies the input number by 10^#4 using an arithmetic % left/right shift. % @@ -567,7 +829,7 @@ % Now, compute log(#1) = log(M) + E*log(10) \expandafter\pgfmathlog@smaller@ten@newton@startval\the\pgfmathfloat@a@M.\to\pgfmathfloat@b@M \pgfmathlog@loopcount=0 - \loop + \pgfutil@loop \ifnum\pgfmathlog@loopcount<3 \pgfmathlog@invoke@expanded\pgfmathexp@{{\pgf@sys@tonumber{\pgfmathfloat@b@M}}}% \let\pgfmathlog@tmp=\pgfmathresult @@ -576,7 +838,7 @@ \advance\pgfmathfloat@b@M by\pgfmath@ya \advance\pgfmathfloat@b@M by-1pt \advance\pgfmathlog@loopcount by1 - \repeat + \pgfutil@repeat \pgfmathfloat@a@M=2.302585pt% = log(10) \multiply\expandafter\pgfmathfloat@a@M\pgfmathfloat@a@E \advance\pgfmathfloat@b@M by\pgfmathfloat@a@M @@ -663,9 +925,11 @@ \endgroup } +% see \pgfmathprintnumber@fixed@style for docs \def\pgfmathprintnumber@fixed@styleDEFAULT#1#2#3e#4\relax{% \begingroup \pgfkeysgetvalue{/pgf/number format/set decimal separator}\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP + \pgfkeysgetvalue{/pgf/number format/@dec sep mark}\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP@MARK \pgfkeysgetvalue{/pgf/number format/set thousands separator}\pgfmathprintnumber@fixed@styleDEFAULT@THOUSAND@SEP \c@pgf@counta=#4\relax \def\pgfmathresult{}% @@ -673,21 +937,27 @@ \expandafter\pgfmathprintnumber@fixed@styleDEFAULT@impl@period#1\pgfmathfloat@EOI \else \expandafter\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod#1\pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI% + \begingroup + \toks0=\expandafter{\pgfmathresult}% + \toks1=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP@MARK}% + \xdef\pgfmathfloat@glob@TMP{\the\toks0 \the\toks1 }% + \endgroup + \let\pgfmathresult=\pgfmathfloat@glob@TMP \fi \pgfmath@smuggleone\pgfmathresult \endgroup } \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@period#1.#2\pgfmathfloat@EOI{% \ifpgfmathprintnumberskipzeroperiod - \def\pgfmathfloat@TMPB{#1}% - \ifx\pgfmathfloatparsenumber@tok@ZERO\pgfmathfloat@TMPB + \def\pgfmathfloat@loc@TMPb{#1}% + \ifx\pgfmathfloatparsenumber@tok@ZERO\pgfmathfloat@loc@TMPb \else - \def\pgfmathfloat@TMPC{-0}% - \ifx\pgfmathfloat@TMPC\pgfmathfloat@TMPB + \def\pgfmathfloat@loc@TMPc{-0}% + \ifx\pgfmathfloat@loc@TMPc\pgfmathfloat@loc@TMPb \def\pgfmathresult{-}% \else - \def\pgfmathfloat@TMPC{+0}% - \ifx\pgfmathfloat@TMPC\pgfmathfloat@TMPB + \def\pgfmathfloat@loc@TMPc{+0}% + \ifx\pgfmathfloat@loc@TMPc\pgfmathfloat@loc@TMPb \def\pgfmathresult{+}% \else \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod#1\pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI @@ -699,10 +969,11 @@ \fi \begingroup \toks0=\expandafter{\pgfmathresult}% - \toks1=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP #2}% - \xdef\pgfmathfloat@TMPB{\the\toks0\the\toks1}% + \toks1=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP@MARK}% + \toks2=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@DEC@SEP #2}% + \xdef\pgfmathfloat@glob@TMP{\the\toks0 \the\toks1 \the\toks2 }% \endgroup - \let\pgfmathresult=\pgfmathfloat@TMPB + \let\pgfmathresult=\pgfmathfloat@glob@TMP }% \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod{% \ifx\pgfmathprintnumber@fixed@styleDEFAULT@THOUSAND@SEP\pgfutil@empty @@ -727,22 +998,27 @@ \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT } \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printsign#1{% - \def\pgfmathfloat@TMPB{#1}% - \ifx\pgfmathfloat@TMPB\pgfmathfloatparsenumber@tok@MINUS - \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult #1}% FIXME: '-' is enough!? - \let\pgfmathfloat@TMPB=\pgfutil@empty + \def\pgfmathfloat@loc@TMPb{#1}% + \ifx\pgfmathfloat@loc@TMPb\pgfmathfloatparsenumber@tok@MINUS + \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult #1}% + \let\pgfmathfloat@loc@TMPb=\pgfutil@empty \else - \ifx\pgfmathfloat@TMPB\pgfmathfloatparsenumber@tok@PLUS - \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult #1}% FIXME: '+' is enough? - \let\pgfmathfloat@TMPB=\pgfutil@empty - \fi\fi + \ifx\pgfmathfloat@loc@TMPb\pgfmathfloatparsenumber@tok@PLUS + \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult #1}% + \let\pgfmathfloat@loc@TMPb=\pgfutil@empty + \else + \ifpgfmathprintnumber@showpositive + \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult +}% + \fi + \fi + \fi \ifnum\c@pgf@counta>0 \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT{% - \expandafter\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printtrailingdigits\pgfmathfloat@TMPB + \expandafter\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printtrailingdigits\pgfmathfloat@loc@TMPb }% \else \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT{% - \expandafter\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@counteverythird\pgfmathfloat@TMPB + \expandafter\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@counteverythird\pgfmathfloat@loc@TMPb }% \fi \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT @@ -764,9 +1040,9 @@ \begingroup \toks0=\expandafter{\pgfmathresult}% \toks1=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@THOUSAND@SEP}% - \xdef\pgfmathfloat@TMPB{\the\toks0\the\toks1}% + \xdef\pgfmathfloat@glob@TMP{\the\toks0 \the\toks1 }% \endgroup - \let\pgfmathresult=\pgfmathfloat@TMPB + \let\pgfmathresult=\pgfmathfloat@glob@TMP \fi \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT } @@ -778,9 +1054,9 @@ \begingroup \toks0=\expandafter{\pgfmathresult}% \toks1=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@THOUSAND@SEP}% - \xdef\pgfmathfloat@TMPB{\the\toks0\the\toks1}% + \xdef\pgfmathfloat@glob@TMP{\the\toks0 \the\toks1 }% \endgroup - \let\pgfmathresult=\pgfmathfloat@TMPB + \let\pgfmathresult=\pgfmathfloat@glob@TMP \fi \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT{% \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@counteverythird% @@ -788,17 +1064,33 @@ \else % in thise case, #1#2#3 are expected to be % \pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI - \def\pgfmathfloat@TMPB{\pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI}% - \def\pgfmathfloat@TMPC{#1#2#3}% - \ifx\pgfmathfloat@TMPC\pgfmathfloat@TMPB - \else - \pgfmath@error{INTERNAL ERROR in fixed style - The input sequence did not terminate as expected; which indicates a wrong exponent argument provided to \string\pgfmathprintnumber@fixed@style}% - \fi + %-------------------------------------------------- + % \def\pgfmathfloat@loc@TMPb{\pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI}% + % \def\pgfmathfloat@loc@TMPc{#1#2#3}% + % \ifx\pgfmathfloat@loc@TMPc\pgfmathfloat@loc@TMPb + % \else + % \pgfmath@error{INTERNAL ERROR in fixed style - The input sequence did not terminate as expected; which indicates a wrong exponent argument provided to \string\pgfmathprintnumber@fixed@style}% + % \fi + %-------------------------------------------------- \let\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT=\relax \fi \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT } -\def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printall#1\pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI{% +\def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printall#1{% + \def\pgfmathfloat@loc@TMPb{#1}% + \let\pgfmathfloat@loc@TMPc=\pgfutil@empty + \ifx\pgfmathfloat@loc@TMPb\pgfmathfloatparsenumber@tok@MINUS + \else + \ifx\pgfmathfloat@loc@TMPb\pgfmathfloatparsenumber@tok@PLUS + \else + \ifpgfmathprintnumber@showpositive + \def\pgfmathfloat@loc@TMPc{+}% + \fi + \fi + \fi + \expandafter\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printall@\pgfmathfloat@loc@TMPc#1% +} +\def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printall@#1\pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI{% \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult #1}% }% @@ -878,22 +1170,40 @@ % #2: mantisse % #3: exponent % #4: CODE to display if the mantisse is drawn. -% #5: CODE to display if the mantisse is NOT draw. +% #5: CODE to display if the mantisse is NOT draw. (unused) % #6: CODE to display the exponent. \def\pgfmathfloatrounddisplaystyle@shared@impl#1#2e#3\relax#4#5#6{% - \expandafter\ifcase#1\relax + \pgfkeysgetvalue{/pgf/number format/@sci exponent mark}\pgfmathfloatrounddisplaystyle@e@mark + \ifcase#1\relax \pgfmathprintnumber@fixed@style{#2}#1#2e0\relax% - \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult #4#6}% + \expandafter\pgfmathfloatrounddisplaystyle@shared@impl@\expandafter{\pgfmathresult}{#4#6}% \or\pgfmathprintnumber@fixed@style{#2}#1#2e0\relax% - \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult #4#6}% - \or\pgfmathprintnumber@fixed@style{#2}#1#2e0\relax% - \expandafter\def\expandafter\pgfmathresult\expandafter{\expandafter-\pgfmathresult #4#6}% - \or\def\pgfmathresult{NaN}% - \or\def\pgfmathresult{\infty}% - \or\def\pgfmathresult{-\infty}% + \expandafter\pgfmathfloatrounddisplaystyle@shared@impl@\expandafter{\pgfmathresult}{#4#6}% + \or\pgfmathprintnumber@fixed@style{-#2}#1#2e0\relax% + \expandafter\pgfmathfloatrounddisplaystyle@shared@impl@\expandafter{\pgfmathresult}{#4#6}% + \or + \pgfmathfloatrounddisplaystyle@shared@impl@{NaN}{}% + \or + \ifpgfmathprintnumber@showpositive + \pgfmathfloatrounddisplaystyle@shared@impl@{+\infty}{}% + \else + \pgfmathfloatrounddisplaystyle@shared@impl@{\infty}{}% + \fi + \or + \pgfmathfloatrounddisplaystyle@shared@impl@{-\infty}{}% \fi } +% #1: the part before the exponent code +% #2: the part for the exponent code. +\def\pgfmathfloatrounddisplaystyle@shared@impl@#1#2{% + {\toks0={#1}% + \toks1=\expandafter{\pgfmathfloatrounddisplaystyle@e@mark #2}% + \xdef\pgfmathfloat@glob@TMP{\the\toks0 \the\toks1 }% + }% + \let\pgfmathresult=\pgfmathfloat@glob@TMP +}% + \def\pgfmathfloatrounddisplaystyle@std#1#2e#3\relax{% \pgfmathfloatrounddisplaystyle@shared@impl#1#2e#3\relax{\cdot}{}{10^{#3}}% } @@ -904,27 +1214,27 @@ \ifnum#3<0\relax {\count0=#3\relax \multiply\count0 by-1 - \xdef\pgfmathfloat@TMPB{e{-}\the\count0}% + \xdef\pgfmathfloat@glob@TMP{e{-}\the\count0}% }% - \let\pgfmathresult=\pgfmathfloat@TMPB + \let\pgfmathresult=\pgfmathfloat@glob@TMP \else \def\pgfmathresult{e{+}#3}% \fi - \def\pgfmathfloat@TMPB{\pgfmathfloatrounddisplaystyle@shared@impl#1#2e#3\relax{}{1}}% - \expandafter\pgfmathfloat@TMPB\expandafter{\pgfmathresult}% + \def\pgfmathfloat@loc@TMPb{\pgfmathfloatrounddisplaystyle@shared@impl#1#2e#3\relax{}{1}}% + \expandafter\pgfmathfloat@loc@TMPb\expandafter{\pgfmathresult}% } \def\pgfmathfloatrounddisplaystyle@E#1#2e#3\relax{% \ifnum#3<0\relax {\count0=#3\relax \multiply\count0 by-1 - \xdef\pgfmathfloat@TMPB{E{-}\the\count0}% + \xdef\pgfmathfloat@glob@TMP{E{-}\the\count0}% }% - \let\pgfmathresult=\pgfmathfloat@TMPB + \let\pgfmathresult=\pgfmathfloat@glob@TMP \else \def\pgfmathresult{E{+}#3}% \fi - \def\pgfmathfloat@TMPB{\pgfmathfloatrounddisplaystyle@shared@impl#1#2e#3\relax{}{1}}% - \expandafter\pgfmathfloat@TMPB\expandafter{\pgfmathresult}% + \def\pgfmathfloat@loc@TMPb{\pgfmathfloatrounddisplaystyle@shared@impl#1#2e#3\relax{}{1}}% + \expandafter\pgfmathfloat@loc@TMPb\expandafter{\pgfmathresult}% } % A macro which takes three arguments, sign, mantisse and exponent and @@ -942,13 +1252,12 @@ \newif\ifpgfmathfloat@usezerofill@sci \newif\ifpgfmathfloat@usezerofill@fixed \newif\ifpgfmathprintnumber@assumemathmode +\newif\ifpgfmathprintnumber@showpositive \pgfkeys{% /pgf/number format/.is family, /pgf/number format, fixed/.code= \pgfmath@set@number@printer{pgfmathprintnumber@FIXED}, - %fixed zerofill/.code= \pgfmath@set@number@printer{pgfmathprintnumber@FIXED@ZEROFILL}, - %sci zerofill/.code= \pgfmath@set@number@printer{pgfmathprintnumber@SCI@ZEROFILL}, sci/.code= \pgfmath@set@number@printer{pgfmathprintnumber@SCI}, std/.code= \pgfmath@set@number@printer{pgfmathprintnumber@STD}, int detect/.code= \pgfmath@set@number@printer{pgfmathprintnumber@INT@DETECT}, @@ -965,10 +1274,16 @@ fixed default/.code= {\let\pgfmathprintnumber@fixed@style=\pgfmathprintnumber@fixed@styleDEFAULT}, set decimal separator/.initial=, dec sep/.style={/pgf/number format/set decimal separator=#1}, + @dec sep mark/.initial=, + @sci exponent mark/.initial=, set thousands separator/.initial=, 1000 sep/.style={/pgf/number format/set thousands separator=#1}, use period/.style= {/pgf/number format/set decimal separator={.},/pgf/number format/set thousands separator={{{,}}}}, use comma/.style= {/pgf/number format/set decimal separator={{{,}}},/pgf/number format/set thousands separator={.}}, + showpos/.is if=pgfmathprintnumber@showpositive, + showpos/.default=true, + print sign/.is if=pgfmathprintnumber@showpositive, + print sign/.default=true, skip 0./.is if=pgfmathprintnumberskipzeroperiod, skip 0./.default=true, skip 0.= false, @@ -1071,8 +1386,8 @@ \ifpgfmathfloatroundmayneedrenormalize \pgfmathfloat@a@E=#3\relax \advance\pgfmathfloat@a@E by1 - \edef\pgfmathfloat@TMPB{\noexpand\pgfmathprintnumber@fixed@style{\pgfmathresult}#1#2e\the\pgfmathfloat@a@E}% - \pgfmathfloat@TMPB\relax% + \edef\pgfmathfloat@loc@TMPb{\noexpand\pgfmathprintnumber@fixed@style{\pgfmathresult}#1#2e\the\pgfmathfloat@a@E}% + \pgfmathfloat@loc@TMPb\relax% \else \expandafter\pgfmathprintnumber@fixed@style\expandafter{\pgfmathresult}#1#2e#3\relax% \fi @@ -1138,26 +1453,26 @@ \begingroup \pgfmathprintnumber@{#1}% \ifpgfmathprintnumber@assumemathmode - \global\let\pgfmathfloat@TMPB=\pgfmathresult + \global\let\pgfmathfloat@glob@TMP=\pgfmathresult \else \toks0=\expandafter{\pgfmathresult}% - \xdef\pgfmathfloat@TMPB{\noexpand\pgfutilensuremath{\the\toks0}}% + \xdef\pgfmathfloat@glob@TMP{\noexpand\pgfutilensuremath{\the\toks0 }}% \fi \endgroup - \let#2=\pgfmathfloat@TMPB + \let#2=\pgfmathfloat@glob@TMP }% \def\pgfmathprintnumberto@OPT[#1]#2#3{% \begingroup \pgfqkeys{/pgf/number format}{#1}% \pgfmathprintnumber@{#2}% \ifpgfmathprintnumber@assumemathmode - \global\let\pgfmathfloat@TMPB=\pgfmathresult + \global\let\pgfmathfloat@glob@TMP=\pgfmathresult \else \toks0=\expandafter{\pgfmathresult}% - \xdef\pgfmathfloat@TMPB{\noexpand\pgfutilensuremath{\the\toks0}}% + \xdef\pgfmathfloat@glob@TMP{\noexpand\pgfutilensuremath{\the\toks0 }}% \fi \endgroup - \let#3=\pgfmathfloat@TMPB + \let#3=\pgfmathfloat@glob@TMP }% @@ -1610,14 +1925,14 @@ \def\pgfmathfloattofixed@impl#1.#2\relax{% \ifnum\pgfmathfloat@a@E<0 \pgfmathfloat@a@Mtok={0.}% - \loop + \pgfutil@loop \ifnum\pgfmathfloat@a@E<-1 \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok 0}% \advance\pgfmathfloat@a@E by1 - \repeat - \def\pgfmathfloat@TMPB{#2}% - \def\pgfmathfloat@TMPC{0}% - \ifx\pgfmathfloat@TMPB\pgfmathfloat@TMPC + \pgfutil@repeat + \def\pgfmathfloat@loc@TMPb{#2}% + \def\pgfmathfloat@loc@TMPc{0}% + \ifx\pgfmathfloat@loc@TMPb\pgfmathfloat@loc@TMPc \edef\pgfmathresult{\the\pgfmathfloat@a@Mtok #1}% \else \edef\pgfmathresult{\the\pgfmathfloat@a@Mtok #1#2}% @@ -1636,13 +1951,13 @@ \def\pgfmathfloattofixed@impl@collectmantisse#1#2\count#3{% \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok #1}% \advance\pgfmathfloat@a@E by-1% - \def\pgfmathfloat@TMPB{#2}% - \ifx\pgfmathfloat@TMPB\pgfutil@empty - \loop + \def\pgfmathfloat@loc@TMPb{#2}% + \ifx\pgfmathfloat@loc@TMPb\pgfutil@empty + \pgfutil@loop \ifnum\pgfmathfloat@a@E>0% \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok 0}% \advance\pgfmathfloat@a@E by-1% - \repeat + \pgfutil@repeat \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok .0}% \else \ifnum\pgfmathfloat@a@E=0 @@ -1768,17 +2083,17 @@ \def\pgfmathfloatparsenumber@impl@readnan an{% \pgfmathfloat@a@S=3\relax% - \pgfmathfloat@a@Mtok={nan}% + \pgfmathfloat@a@Mtok={0.0}% \pgfmathfloat@a@E=0% \pgfmathfloatparsenumber@impl@finish } \def\pgfmathfloatparsenumber@impl@readinf nf{% \ifnum\pgfmathfloat@a@S=1 \pgfmathfloat@a@S=4\relax% - \pgfmathfloat@a@Mtok={inf}% + \pgfmathfloat@a@Mtok={0.0}% \else \pgfmathfloat@a@S=5\relax% - \pgfmathfloat@a@Mtok={-inf}% + \pgfmathfloat@a@Mtok={0.0}% \fi \pgfmathfloat@a@E=0% \pgfmathfloatparsenumber@impl@finish diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/pgfplots.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex index ed8e8e611ec..53b602b0d9a 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/pgfplots.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex @@ -24,18 +24,14 @@ % %-------------------------------------------- -\input pgfplotsliststructure.code.tex -\input pgfplotsarray.code.tex -\input pgfplotstable.code.tex +\input pgfplotsutil.code.tex \input pgfplotsoldpgfsupp_loader.code.tex \input pgfplots.stackedplots.code.tex \usetikzlibrary{decorations,decorations.pathmorphing,decorations.pathreplacing} % FIXME: reduce number of variables! -\newtoks\pgfplots@toka -\newcount\pgfplots@ticknum \newif\ifpgfplots@xislinear \newif\ifpgfplots@yislinear \newcount\pgfplots@numplots @@ -43,11 +39,8 @@ \newdimen\pgfplots@xcoordmaxTEX \newdimen\pgfplots@ycoordminTEX \newdimen\pgfplots@ycoordmaxTEX -\newdimen\pgfplots@tmpa -\newdimen\pgfplots@tmpb \newif\ifpgfplots@warn@for@filter@discards \newif\ifpgfplots@isuniformtick -\newif\ifpgfplots@addplot@table@from@macro \newif\ifpgfplots@clip@limits \newif\ifpgfplots@enlargelimits \newif\ifpgfplots@enlargelimits@rel@thresh @@ -61,11 +54,16 @@ \newif\ifpgfplots@xmajorgrids \newif\ifpgfplots@yminorgrids \newif\ifpgfplots@ymajorgrids -\newif\ifpgfplots@scaled@ticks +\newif\ifpgfplots@clip@marker@paths +\newif\ifpgfplots@axis@on@top +\newif\ifpgfplots@separate@axis@lines +\newif\ifpgfplots@scaled@ticks@x +\newif\ifpgfplots@scaled@ticks@y \newif\ifpgfplots@identify@log@minor@tick@pos \newif\ifpgfplots@disablelogfilter \newif\ifpgfplots@disabledatascaling -\newif\ifpgfplots@hide +\newif\ifpgfplots@hide@x +\newif\ifpgfplots@hide@y \newif\ifpgfplots@is@old@list@format \newif\ifpgfplots@errorbars@enabled \newif\ifpgfplots@scale@only@axis @@ -75,9 +73,7 @@ \newif\ifpgfplots@stackedmode \newif\ifpgfplots@stacked@reverse \newif\ifpgfplots@stacked@plus -\let\pgfplots@TMP=\pgfutil@empty -\let\pgfplots@TMPB=\pgfutil@empty -\let\pgfplots@TMPC=\pgfutil@empty +\newif\ifpgfplots@plot@file@skipfirst \let\pgfnodepartimagebox=\pgfnodeparttextbox \newif\ifpgfplots@collect@firstplot@astick @@ -85,58 +81,10 @@ \def\pgfplots@errorbars@xdirection{0}% pre-init, see below \def\pgfplots@errorbars@ydirection{0}% -\def\pgfplots@error#1{\PackageError{pgfplots}{#1}{}}% -\def\pgfplots@warning#1{\pgfplots@message{#1}}% -\def\pgfplots@message#1{% - \immediate\write16{#1}% -}% - -\def\pgfplots@leftover{} -\def\pgfplots@rightover{} \def\axisdefaultwidth{240pt} \def\axisdefaultheight{207pt} -% Assigns list contents #2 to a list macro #1. -% -% The list contents may be provided in one of two formats: -% a) in the (deprecated) list format 'first\\second\\thirst\\' -% or -% b) in the PGF foreach list format 'first,second,third'. -\def\pgfplots@assign@list#1#2{% - \def\pgfplots@TMP{#2}% - \ifx\pgfplots@TMP\pgfutil@empty - \pgfplotslistnewempty#1% - \else - \pgfplots@check@backwards@compatible@list@format #2\\\pgfplots@EOI - \ifpgfplots@is@old@list@format - \pgfplotslistnew#1{#2}% - \else - \pgfplots@foreach@to@list{#2}\to#1 - \fi - \fi -}% - -\def\pgfplots@EOI{\pgfplots@EOI}% - -% Sets the boolean \ifpgfplots@is@old@list@format to true if and only -% if the input is a list in the format '{first\\second\\}'. -% -% This format is deprecated, but is still provided for backwards -% compatibility. -% -% Usage: -% \pgfplots@check@backwards@compatible@list@format <argument>'\\'\pgfplots@EOI -% you NEED to append '\\\pgfplots@EOI' at the end. -\def\pgfplots@check@backwards@compatible@list@format#1\\#2\pgfplots@EOI{% - \def\pgfplots@TMP{#2}% - \ifx\pgfplots@TMP\pgfutil@empty - \pgfplots@is@old@list@formatfalse - \else - \pgfplots@is@old@list@formattrue - \fi -}% - % Creates a named plot cycle list. @@ -148,38 +96,38 @@ \def\pgfcreateplotcyclelist#1#2{\pgfplots@assign@list#1{#2}} \pgfcreateplotcyclelist{\blackwhiteplotspeclist}{% - mark options={fill=gray},mark=*\\% - mark options={fill=gray},mark=square*\\% - mark options={fill=gray},mark=otimes*\\% + every mark/.append style={fill=gray},mark=*\\% + every mark/.append style={fill=gray},mark=square*\\% + every mark/.append style={fill=gray},mark=otimes*\\% mark=star\\% - mark options={fill=gray},mark=diamond*\\% - densely dashed,mark options={solid,fill=gray},mark=*\\% - densely dashed,mark options={solid,fill=gray},mark=square*\\% - densely dashed,mark options={solid,fill=gray},mark=otimes*\\% - densely dashed,mark options={solid},mark=star\\% - densely dashed,mark options={solid,fill=gray},mark=diamond*\\% + every mark/.append style={fill=gray},mark=diamond*\\% + densely dashed,every mark/.append style={solid,fill=gray},mark=*\\% + densely dashed,every mark/.append style={solid,fill=gray},mark=square*\\% + densely dashed,every mark/.append style={solid,fill=gray},mark=otimes*\\% + densely dashed,every mark/.append style={solid},mark=star\\% + densely dashed,every mark/.append style={solid,fill=gray},mark=diamond*\\% } \pgfcreateplotcyclelist{\coloredplotspeclist}{% - blue,mark options={fill=blue!80!black},mark=*\\% - red,mark options={fill=red!80!black},mark=square*\\% - brown!60!black,mark options={fill=brown!80!black},mark=otimes*\\% + blue,every mark/.append style={fill=blue!80!black},mark=*\\% + red,every mark/.append style={fill=red!80!black},mark=square*\\% + brown!60!black,every mark/.append style={fill=brown!80!black},mark=otimes*\\% black,mark=star\\% - blue,mark options={fill=blue!80!black},mark=diamond*\\% - red,densely dashed,mark options={solid,fill=red!80!black},mark=*\\% - brown!60!black,densely dashed,mark options={solid,fill=brown!80!black},mark=square*\\% - black,densely dashed,mark options={solid,fill=gray},mark=otimes*\\% - blue,densely dashed,mark=star,mark options=solid\\% - red,densely dashed,mark options={solid,fill=red!80!black},mark=diamond*\\% + blue,every mark/.append style={fill=blue!80!black},mark=diamond*\\% + red,densely dashed,every mark/.append style={solid,fill=red!80!black},mark=*\\% + brown!60!black,densely dashed,every mark/.append style={solid,fill=brown!80!black},mark=square*\\% + black,densely dashed,every mark/.append style={solid,fill=gray},mark=otimes*\\% + blue,densely dashed,mark=star,every mark/.append style=solid\\% + red,densely dashed,every mark/.append style={solid,fill=red!80!black},mark=diamond*\\% } -\def\pgfplotsset{\pgfqkeys{/pgfplots}} +\def\pgfplotsset#{\pgfqkeys{/pgfplots}} \def\pgfplotsdeprecatedstylecheck#1{% \pgfkeysifdefined{#1/.@cmd}{% \begingroup \edef\pgfkeyscurrentkey{#1}% \pgfkeyssplitpath - \pgfplots@warning{Warning: Loading deprecated style option + \pgfplots@warning{Loading deprecated style option \pgfkeyscurrentpath/\pgfkeyscurrentname. Please replace '\string\tikzstyle{\pgfkeyscurrentname}' with '\string\pgfplotsset{\pgfkeyscurrentname/.style={}}' @@ -241,6 +189,32 @@ /pgfplots/every tick/.style={very thin,gray}, /pgfplots/every tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every tick}}, /pgfplots/every tick/.belongs to family=/pgfplots/style commands, + /pgfplots/every inner x axis line/.style={}, + /pgfplots/every inner y axis line/.style={}, + /pgfplots/every outer x axis line/.style={}, + /pgfplots/every outer y axis line/.style={}, + /pgfplots/x axis line style/.style={ + /pgfplots/every outer x axis line/.append style={#1}, + /pgfplots/every inner x axis line/.append style={#1}, + }, + /pgfplots/y axis line style/.style={ + /pgfplots/every outer y axis line/.append style={#1}, + /pgfplots/every inner y axis line/.append style={#1}, + }, + /pgfplots/outer axis line style/.style={ + /pgfplots/every outer x axis line/.append style={#1}, + /pgfplots/every outer y axis line/.append style={#1}% + }, + /pgfplots/inner axis line style/.style={ + /pgfplots/every inner x axis line/.append style={#1}, + /pgfplots/every inner y axis line/.append style={#1}% + }, + /pgfplots/axis line style/.style={ + /pgfplots/inner axis line style={#1}, + /pgfplots/outer axis line style={#1}% + }, + /pgfplots/separate axis lines/.is if=pgfplots@separate@axis@lines, + /pgfplots/separate axis lines/.default=true, /pgfplots/every minor tick/.style={}, /pgfplots/every minor tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor tick}}, /pgfplots/every minor tick/.belongs to family=/pgfplots/style commands, @@ -265,7 +239,8 @@ /pgfplots/every major y tick/.style={}, /pgfplots/every major y tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major y tick}}, /pgfplots/every major y tick/.belongs to family=/pgfplots/style commands, - /pgfplots/every axis grid/.style={help lines}, + %/pgfplots/every axis grid/.style={help lines}, + /pgfplots/every axis grid/.style={thin,black!25}, /pgfplots/every axis grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis grid}}, /pgfplots/every axis grid/.belongs to family=/pgfplots/style commands, /pgfplots/every minor grid/.style={}, @@ -298,7 +273,9 @@ /pgfplots/every x tick label/.style={}, /pgfplots/every x tick label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every x tick label}}, /pgfplots/every x tick label/.belongs to family=/pgfplots/style commands, - /pgfplots/every extra x tick/.style={}, + /pgfplots/every extra x tick/.style={ + /pgfplots/log identify minor tick positions=true, + }, /pgfplots/every extra x tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every extra x tick}}, /pgfplots/every extra x tick/.belongs to family=/pgfplots/style commands, /pgfplots/extra x tick style/.belongs to family=/pgfplots/style commands, @@ -311,7 +288,9 @@ /pgfplots/every y tick label/.style={}, /pgfplots/every y tick label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every y tick label}}, /pgfplots/every y tick label/.belongs to family=/pgfplots/style commands, - /pgfplots/every extra y tick/.style={}, + /pgfplots/every extra y tick/.style={ + /pgfplots/log identify minor tick positions=true, + }, /pgfplots/every extra y tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every extra y tick}}, /pgfplots/every extra y tick/.belongs to family=/pgfplots/style commands, /pgfplots/extra y tick style/.belongs to family=/pgfplots/style commands, @@ -390,10 +369,15 @@ /pgfplots/ytickten=, /pgfplots/tick scale label code/.code={$\cdot 10^{#1}$}, /pgfplots/tick scale label code/.belongs to family=/pgfplots/tick, - /pgfplots/scaled ticks/.is if=pgfplots@scaled@ticks, - /pgfplots/scaled ticks/.default=false, - /pgfplots/scaled ticks/.belongs to family=/pgfplots/tick, - /pgfplots/scaled ticks=true, + /pgfplots/scaled x ticks/.is if=pgfplots@scaled@ticks@x, + /pgfplots/scaled x ticks/.belongs to family=/pgfplots/tick, + /pgfplots/scaled x ticks=true, + /pgfplots/scaled y ticks/.is if=pgfplots@scaled@ticks@y, + /pgfplots/scaled y ticks/.belongs to family=/pgfplots/tick, + /pgfplots/scaled y ticks=true, + /pgfplots/scaled ticks/.style={% + /pgfplots/scaled x ticks=#1, + /pgfplots/scaled y ticks=#1}, /pgfplots/scale ticks above exponent/.store in= \pgfplots@scale@ticks@above@exponent, /pgfplots/scale ticks above exponent/.belongs to family=/pgfplots/tick, /pgfplots/scale ticks above exponent=3, @@ -429,7 +413,7 @@ /pgfplots/log plot exponent style/.belongs to family=/pgfplots/tick, /pgfplots/log identify minor tick positions/.is if=pgfplots@identify@log@minor@tick@pos, /pgfplots/log identify minor tick positions/.belongs to family=/pgfplots/tick, - /pgfplots/log identify minor tick positions=true, + /pgfplots/log identify minor tick positions=false, /pgfplots/log number format code/.code={{% \pgfmathlogtologten@{#1}% \ifpgfplots@identify@log@minor@tick@pos @@ -446,32 +430,78 @@ /pgfplots/log number format code/.belongs to family=/pgfplots/tick, /pgfplots/log base 10 number format code/.code={$10^{\pgfmathprintnumber{#1}}$}, /pgfplots/log base 10 number format code/.belongs to family=/pgfplots/tick, -% sets \pgfplots@tickposnum to -% left=0 -% right=1 -% both=2 - /pgfplots/tickpos/.is choice, +% sets \pgfplots@[xy]tickposnum to + /pgfplots/xtick pos/.is choice, + /pgfplots/xtick pos/.belongs to family=/pgfplots/tick, + /pgfplots/xtick pos/left/.code ={\def\pgfplots@xtickposnum{1}}, + /pgfplots/xtick pos/left/.belongs to family=/pgfplots/tick, + /pgfplots/xtick pos/right/.code ={\def\pgfplots@xtickposnum{3}}, + /pgfplots/xtick pos/right/.belongs to family=/pgfplots/tick, + /pgfplots/xtick pos/both/.code ={\def\pgfplots@xtickposnum{0}}, + /pgfplots/xtick pos/both/.belongs to family=/pgfplots/tick, + /pgfplots/xtick pos=both, + /pgfplots/ytick pos/.is choice, + /pgfplots/ytick pos/.belongs to family=/pgfplots/tick, + /pgfplots/ytick pos/left/.code ={\def\pgfplots@ytickposnum{1}}, + /pgfplots/ytick pos/left/.belongs to family=/pgfplots/tick, + /pgfplots/ytick pos/right/.code ={\def\pgfplots@ytickposnum{3}}, + /pgfplots/ytick pos/right/.belongs to family=/pgfplots/tick, + /pgfplots/ytick pos/both/.code ={\def\pgfplots@ytickposnum{0}}, + /pgfplots/ytick pos/both/.belongs to family=/pgfplots/tick, + /pgfplots/ytick pos/top/.style={/pgfplots/ytick pos/right}, + /pgfplots/ytick pos/bottom/.style={/pgfplots/ytick pos/left}, + /pgfplots/ytick pos=both, + /pgfplots/tickpos/.style={/pgfplots/xtick pos={#1},/pgfplots/ytick pos={#1}}, /pgfplots/tickpos/.belongs to family=/pgfplots/tick, - /pgfplots/tickpos/left/.code ={\def\pgfplots@xtickposnum{1}\def\pgfplots@ytickposnum{1}}, - /pgfplots/tickpos/left/.belongs to family=/pgfplots/tick, - /pgfplots/tickpos/right/.code ={\def\pgfplots@xtickposnum{3}\def\pgfplots@ytickposnum{3}}, - /pgfplots/tickpos/right/.belongs to family=/pgfplots/tick, - /pgfplots/tickpos/both/.code ={\def\pgfplots@xtickposnum{0}\def\pgfplots@ytickposnum{0}}, - /pgfplots/tickpos/both/.belongs to family=/pgfplots/tick, - /pgfplots/tickpos=both, +% sets the tick LABEL position, \pgfplots@[xy]ticklabelposnum + /pgfplots/xticklabel pos/.is choice, + /pgfplots/xticklabel pos/.belongs to family=/pgfplots/tick, + /pgfplots/xticklabel pos/default/.code ={\def\pgfplots@xticklabelposnum{0}}, + /pgfplots/xticklabel pos/default/.belongs to family=/pgfplots/tick, + /pgfplots/xticklabel pos/left/.code ={\def\pgfplots@xticklabelposnum{1}}, + /pgfplots/xticklabel pos/left/.belongs to family=/pgfplots/tick, + /pgfplots/xticklabel pos/right/.code ={\def\pgfplots@xticklabelposnum{3}}, + /pgfplots/xticklabel pos/right/.belongs to family=/pgfplots/tick, + /pgfplots/xticklabel pos=default, + /pgfplots/yticklabel pos/.is choice, + /pgfplots/yticklabel pos/.belongs to family=/pgfplots/tick, + /pgfplots/yticklabel pos/default/.code ={\def\pgfplots@yticklabelposnum{0}}, + /pgfplots/yticklabel pos/default/.belongs to family=/pgfplots/tick, + /pgfplots/yticklabel pos/left/.code ={\def\pgfplots@yticklabelposnum{1}}, + /pgfplots/yticklabel pos/left/.belongs to family=/pgfplots/tick, + /pgfplots/yticklabel pos/right/.code ={\def\pgfplots@yticklabelposnum{3}}, + /pgfplots/yticklabel pos/right/.belongs to family=/pgfplots/tick, + /pgfplots/yticklabel pos/top/.style={/pgfplots/yticklabel pos/right}, + /pgfplots/yticklabel pos/bottom/.style={/pgfplots/yticklabel pos/left}, + /pgfplots/yticklabel pos=default, + /pgfplots/ticklabelpos/.style={/pgfplots/xticklabel pos={#1},/pgfplots/yticklabel pos={#1}}, % sets \pgfplots@{x,y}tickalignnum to % inside=0 % outside=1 % center=2 - /pgfplots/tick align/.is choice, + /pgfplots/xtick align/.is choice, + /pgfplots/xtick align/.belongs to family=/pgfplots/tick, + /pgfplots/xtick align/inside/.code ={\def\pgfplots@xtickalignnum{0}}, + /pgfplots/xtick align/inside/.belongs to family=/pgfplots/tick, + /pgfplots/xtick align/outside/.code ={\def\pgfplots@xtickalignnum{1}}, + /pgfplots/xtick align/outside/.belongs to family=/pgfplots/tick, + /pgfplots/xtick align/center/.code ={\def\pgfplots@xtickalignnum{2}}, + /pgfplots/xtick align/center/.belongs to family=/pgfplots/tick, + /pgfplots/xtick align=inside, + /pgfplots/ytick align/.is choice, + /pgfplots/ytick align/.belongs to family=/pgfplots/tick, + /pgfplots/ytick align/inside/.code ={\def\pgfplots@ytickalignnum{0}}, + /pgfplots/ytick align/inside/.belongs to family=/pgfplots/tick, + /pgfplots/ytick align/outside/.code ={\def\pgfplots@ytickalignnum{1}}, + /pgfplots/ytick align/outside/.belongs to family=/pgfplots/tick, + /pgfplots/ytick align/center/.code ={\def\pgfplots@ytickalignnum{2}}, + /pgfplots/ytick align/center/.belongs to family=/pgfplots/tick, + /pgfplots/ytick align=inside, /pgfplots/tick align/.belongs to family=/pgfplots/tick, - /pgfplots/tick align/inside/.code ={\def\pgfplots@xtickalignnum{0}\def\pgfplots@ytickalignnum{0}}, - /pgfplots/tick align/inside/.belongs to family=/pgfplots/tick, - /pgfplots/tick align/outside/.code ={\def\pgfplots@xtickalignnum{1}\def\pgfplots@ytickalignnum{1}}, - /pgfplots/tick align/outside/.belongs to family=/pgfplots/tick, - /pgfplots/tick align/center/.code ={\def\pgfplots@xtickalignnum{2}\def\pgfplots@ytickalignnum{2}}, - /pgfplots/tick align/center/.belongs to family=/pgfplots/tick, - /pgfplots/tick align=inside, + /pgfplots/tick align/.style={% + /pgfplots/xtick align=#1, + /pgfplots/ytick align=#1, + },% % 'axis' options: /pgfplots/anchor/.belongs to family=/pgfplots, /pgfplots/anchor/.store in= \pgfplots@anchorname, @@ -565,6 +595,8 @@ /pgfplots/ymajorgrids/.default=true, /pgfplots/ymajorgrids/.belongs to family=/pgfplots/tick, % legend options: + /pgfplots/legend entries/.initial={}, + /pgfplots/legend entries/.belongs to family=/pgfplots/legend, /pgfplots/legend columns/.store in=\pgfplots@legend@columns, /pgfplots/legend columns/.belongs to family=/pgfplots/legend, /pgfplots/legend columns=1, @@ -587,21 +619,20 @@ }, /pgfplots/legend image code/.belongs to family=/pgfplots/legend, % axis description options: - /pgfplots/title/.store in= \pgfplots@title, + /pgfplots/title/.initial=, /pgfplots/title/.belongs to family=/pgfplots/descriptions, - /pgfplots/title=, - /pgfplots/xlabel/.store in= \pgfplots@xlabel, + /pgfplots/xlabel/.initial=, /pgfplots/xlabel/.belongs to family=/pgfplots/descriptions, - /pgfplots/xlabel=, - /pgfplots/ylabel/.store in= \pgfplots@ylabel, + /pgfplots/ylabel/.initial=, /pgfplots/ylabel/.belongs to family=/pgfplots/descriptions, - /pgfplots/ylabel=, /pgfplots/before end axis/.code=, /pgfplots/after end axis/.code=, /pgfplots/extra description/.code=, /pgfplots/extra description/.belongs to family=/pgfplots/descriptions, % axis options: - /pgfplots/at/.code={\tikz@scan@one@point\pgfplots@set@at#1}, + /pgfplots/at/.code={% + \pgfplots@assert@tikzinternal@exists{tikz@scan@one@point}% + \tikz@scan@one@point\pgfplots@set@at#1}, /pgfplots/at/.belongs to family=/pgfplots, /pgfplots/clip limits/.is if=pgfplots@clip@limits, /pgfplots/clip limits/.default=true, @@ -666,9 +697,14 @@ /pgfplots/execute at end plot/.store in= \pgfplots@execute@at@end@plot, /pgfplots/execute at end plot/.belongs to family=/pgfplots, /pgfplots/execute at end plot=, - /pgfplots/enlargelimits/.store in= \pgfplots@enlargelimits, - /pgfplots/enlargelimits/.belongs to family=/pgfplots, - /pgfplots/enlargelimits=auto, + /pgfplots/enlarge x limits/.initial=auto, + /pgfplots/enlarge x limits/.default=true, + /pgfplots/enlarge y limits/.initial=auto, + /pgfplots/enlarge y limits/.default=true, + /pgfplots/enlargelimits/.style={% + /pgfplots/enlarge x limits=#1,% + /pgfplots/enlarge y limits=#1,% + },% /pgfplots/enlargelimits/.default=true, /pgfplots/x/.store in= \pgfplots@x, /pgfplots/x/.belongs to family=/pgfplots, @@ -801,46 +837,122 @@ /pgfplots/disabledatascaling/.default=true, /pgfplots/disabledatascaling/.belongs to family=/pgfplots, /pgfplots/disabledatascaling=false, - /pgfplots/hide axis/.is if=pgfplots@hide, + /pgfplots/hide x axis/.is if=pgfplots@hide@x, + /pgfplots/hide x axis/.default=true, + /pgfplots/hide x axis=false, + /pgfplots/hide y axis/.is if=pgfplots@hide@y, + /pgfplots/hide y axis/.default=true, + /pgfplots/hide y axis=false, + /pgfplots/hide axis/.style={% + /pgfplots/hide x axis=#1, + /pgfplots/hide y axis=#1, + }, /pgfplots/hide axis/.default=true, - /pgfplots/hide axis/.belongs to family=/pgfplots, - /pgfplots/hide axis=false, + /pgfplots/every non boxed x axis/.style={% + xtick align=center, + enlarge x limits=false, + x axis line style={-stealth} + }, + /pgfplots/every non boxed y axis/.style={% + ytick align=center, + enlarge y limits=false, + y axis line style={-stealth} + }, + /pgfplots/every boxed x axis/.style={}, + /pgfplots/every boxed y axis/.style={}, +% /pgfplots/hide axis/.belongs to family=/pgfplots, % sets \pgfplots@xaxislinesnum to % box=0 % bottom=1 -% middle=2 +% middle=2 ( aliased with center ) % top=3 + /pgfplots/axis x line*/.is choice, + /pgfplots/axis x line*/box/.code ={\def\pgfplots@xaxislinesnum{0}\def\pgfplots@xtickposnum{0}}, + /pgfplots/axis x line*/bottom/.code ={\def\pgfplots@xaxislinesnum{1}\def\pgfplots@xtickposnum{1}}, + /pgfplots/axis x line*/middle/.code ={\def\pgfplots@xaxislinesnum{2}\def\pgfplots@xtickposnum{2}}, + /pgfplots/axis x line*/center/.style ={/pgfplots/axis x line*/middle}, + /pgfplots/axis x line*/top/.code ={\def\pgfplots@xaxislinesnum{3}\def\pgfplots@xtickposnum{3}}, + /pgfplots/axis x line*/none/.code ={\def\pgfplots@xaxislinesnum{4}\def\pgfplots@xtickposnum{4}}, + /pgfplots/axis x line*=box, + % /pgfplots/axis x line/.is choice, - /pgfplots/axis x line/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis x line/box/.code ={\def\pgfplots@xaxislinesnum{0}\def\pgfplots@xtickposnum{0}}, - /pgfplots/axis x line/box/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis x line/bottom/.code ={\def\pgfplots@xaxislinesnum{1}\def\pgfplots@xtickposnum{1}}, - /pgfplots/axis x line/bottom/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis x line/middle/.code ={\def\pgfplots@xaxislinesnum{2}\def\pgfplots@xtickposnum{2}}, - /pgfplots/axis x line/middle/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis x line/top/.code ={\def\pgfplots@xaxislinesnum{3}\def\pgfplots@xtickposnum{3}}, - /pgfplots/axis x line/top/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis x line/none/.code ={\def\pgfplots@xaxislinesnum{4}\def\pgfplots@xtickposnum{4}}, - /pgfplots/axis x line/none/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis x line=box, + /pgfplots/axis x line/box/.style ={ + /pgfplots/axis x line*/box, + /pgfplots/every boxed x axis + }, + /pgfplots/axis x line/bottom/.style ={ + /pgfplots/axis x line*/bottom, + /pgfplots/every non boxed x axis + }, + /pgfplots/axis x line/middle/.code ={% + \ifnum\pgfplots@yaxislinesnum=3 % if 'axis y line==right' then + \pgfkeysalso{/pgfplots/every axis x label/.style={at={(current axis.left of origin)},anchor=south west}}% + \else + \pgfkeysalso{/pgfplots/every axis x label/.style={at={(current axis.right of origin)},anchor=south east}}% + \fi + \pgfkeysalso{/pgfplots/axis x line*/middle, + /pgfplots/every non boxed x axis}% + }, + /pgfplots/axis x line/center/.style ={/pgfplots/axis x line/middle}, + /pgfplots/axis x line/top/.code ={ + \ifnum\pgfplots@yaxislinesnum=2 % if 'axis y line==center' then + \pgfkeysalso{ + /pgfplots/every axis y label/.style={at={(current axis.below origin)},anchor=south west}}% + \fi + \pgfkeysalso{% + /pgfplots/axis x line*/top, + /pgfplots/every axis x label/.style={at={(0.5,1)},anchor=south,yshift=15pt}, + /pgfplots/every non boxed x axis}% + }, + /pgfplots/axis x line/none/.style ={axis x line*/none,hide x axis}, % sets \pgfplots@yaxislinesnum to % box=0 % left=1 -% center=2 +% center=2 ( aliased with middle ) % right=3 + /pgfplots/axis y line*/.is choice, + /pgfplots/axis y line*/box/.code ={\def\pgfplots@yaxislinesnum{0}\def\pgfplots@ytickposnum{0}}, + /pgfplots/axis y line*/left/.code ={\def\pgfplots@yaxislinesnum{1}\def\pgfplots@ytickposnum{1}}, + /pgfplots/axis y line*/center/.code ={\def\pgfplots@yaxislinesnum{2}\def\pgfplots@ytickposnum{2}}, + /pgfplots/axis y line*/middle/.style ={/pgfplots/axis y line*/center}, + /pgfplots/axis y line*/right/.code ={\def\pgfplots@yaxislinesnum{3}\def\pgfplots@ytickposnum{3}}, + /pgfplots/axis y line*/none/.code ={\def\pgfplots@yaxislinesnum{4}\def\pgfplots@ytickposnum{4}}, + /pgfplots/axis y line*=box, + % /pgfplots/axis y line/.is choice, - /pgfplots/axis y line/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis y line/box/.code ={\def\pgfplots@yaxislinesnum{0}\def\pgfplots@ytickposnum{0}}, - /pgfplots/axis y line/box/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis y line/left/.code ={\def\pgfplots@yaxislinesnum{1}\def\pgfplots@ytickposnum{1}}, - /pgfplots/axis y line/left/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis y line/center/.code ={\def\pgfplots@yaxislinesnum{2}\def\pgfplots@ytickposnum{2}}, - /pgfplots/axis y line/center/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis y line/right/.code ={\def\pgfplots@yaxislinesnum{3}\def\pgfplots@ytickposnum{3}}, - /pgfplots/axis y line/right/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis y line/none/.code ={\def\pgfplots@yaxislinesnum{4}\def\pgfplots@ytickposnum{4}}, - /pgfplots/axis y line/none/.belongs to family=/pgfplots, %/axis, - /pgfplots/axis y line=box, + /pgfplots/axis y line/box/.style ={ + /pgfplots/axis y line*/box, + /pgfplots/every boxed y axis + }, + /pgfplots/axis y line/left/.style ={ + /pgfplots/axis y line*/left, + /pgfplots/every non boxed y axis + }, + /pgfplots/axis y line/center/.code ={ + \ifnum\pgfplots@xaxislinesnum=3 % if 'axis x line==top' then + \pgfkeysalso{% + /pgfplots/every axis y label/.style={at={(current axis.below origin)},anchor=south west}}% + \else + \pgfkeysalso{% + /pgfplots/every axis y label/.style={at={(current axis.above origin)},anchor=north west}}% + \fi + \pgfkeysalso{% + /pgfplots/axis y line*/center, + /pgfplots/every non boxed y axis}% + }, + /pgfplots/axis y line/middle/.style ={/pgfplots/axis y line/center}, + /pgfplots/axis y line/right/.code ={% + \ifnum\pgfplots@xaxislinesnum=2 + \pgfkeysalso{every axis x label/.style={at={(current axis.left of origin)},anchor=south west}}% + \fi + \pgfkeysalso{ + axis y line*/right, + %every axis y label/.style={at={(1,1)},anchor=north west,xshift=15pt}, + every axis y label/.style={at={(1,0.5)},xshift=33pt,rotate=90}, + /pgfplots/every non boxed y axis + }% + },% + /pgfplots/axis y line/none/.style ={axis y line*/none,hide y axis}, % set \pgfplots@xaxisdiscontnum % none = 0 % crunch = 1 @@ -951,9 +1063,19 @@ } }, /pgfplots/area cycle list/.style={bar cycle list}, + /pgfplots/area legend/.style={% + /pgfplots/legend image code/.code={% + \draw[##1] (0cm,-0.1cm) rectangle (0.6cm,0.1cm); + }% + }, + /pgfplots/area style/.style={% + area cycle list, + area legend, + axis on top, + }, /pgfplots/ybar/.style={ bar cycle list, - tick align=outside, + xtick align=outside, /pgfplots/legend image code/.code={\draw[##1,bar width=3pt,yshift=-0.2em,bar shift=0pt] plot coordinates {(0cm,0.8em) (2*\pgfplotbarwidth,0.6em)};}, /pgf/bar shift={% % total width = n*w + (n-1)*skip @@ -967,7 +1089,7 @@ /pgfplots/ybar/.belongs to family=/pgfplots, /pgfplots/xbar/.style={ bar cycle list, - tick align=outside, + ytick align=outside, /pgfplots/legend image code/.code={\draw[##1,bar width=3pt,yshift=-0.2em,bar shift=0pt] plot coordinates {(0cm,0.8em) (2*\pgfplotbarwidth,0.6em)};}, /pgf/bar shift={% % total width = n*w + (n-1)*skip @@ -983,6 +1105,7 @@ bar cycle list, x tick label as interval, xmajorgrids, + xtick align=outside, % xtick=data, /pgfplots/legend image code/.code={\draw[##1,yshift=-0.2em,bar interval width=0.7,bar interval shift=0.5] plot coordinates {(0cm,0.8em) (5pt,0.6em) (10pt,0.6em)};}, bar interval width={#1/\numplots}, @@ -996,6 +1119,7 @@ y tick label as interval, % ytick=data, ymajorgrids, + ytick align=outside, /pgfplots/legend image code/.code={\draw[##1,yshift=-0.2em,bar interval width=0.7,bar interval shift=0.5] plot coordinates {(0cm,0.8em) (5pt,0.6em) (10pt,0.6em)};}, bar interval width={#1/\numplots}, bar interval shift={(\plotnum+0.5)/\numplots}, @@ -1043,8 +1167,40 @@ x tick label as interval, xticklabel={$\pgfmathprintnumber{\tick}$ -- $\pgfmathprintnumber{\nexttick}$} }, + /pgfplots/plot file/skip first/.is if=pgfplots@plot@file@skipfirst, + /pgfplots/plot file/skip first/.default=true, + /pgfplots/clip marker paths/.is if=pgfplots@clip@marker@paths, + /pgfplots/clip marker paths/.default=true, + /pgfplots/axis on top/.is if=pgfplots@axis@on@top, + /pgfplots/axis on top/.default=true, + /pgfplots/every crossref picture/.style={% + baseline,yshift=0.3em + }, + /pgfplots/x coord trafo/.code={}, + /pgfplots/x coord inv trafo/.code={}, + /pgfplots/y coord trafo/.code={}, + /pgfplots/y coord inv trafo/.code={}, +} + +{ +\pgfkeysdef{/pgfplots/empty command key}{}% +\pgfkeysgetvalue{/pgfplots/empty command key/.@cmd}\pgfplots@loc@TMPa +\global\let\pgfplots@empty@command@key=\pgfplots@loc@TMPa } +\def\pgfplots@cmdkey@alias#1=#2;{% + \pgfkeysgetvalue{/pgfplots/#2/.@cmd}\pgfplots@glob@TMPa + \pgfkeyslet{/pgfplots/#1/.@cmd}\pgfplots@glob@TMPa +}% +\pgfplots@cmdkey@alias xlabel style=x label style; +\pgfplots@cmdkey@alias ylabel style=y label style; +\pgfplots@cmdkey@alias xticklabel style=x tick label style; +\pgfplots@cmdkey@alias yticklabel style=y tick label style; +%\pgfplots@cmdkey@alias xtick scale label style=x tick scale label style; +%\pgfplots@cmdkey@alias ytick scale label style=y tick scale label style; +\pgfplots@cmdkey@alias xtick style=x tick style; +\pgfplots@cmdkey@alias ytick style=y tick style; + \newif\ifpgfplots@log@tick@isminor@tick@pos % Checks whether the tick position given as #1.#2=log10(T) belongs to % T=i*10^j with an integer i>1. @@ -1161,15 +1317,13 @@ % converts a comma-separated list (PGF foreach) to my internal list % structure. \long\def\pgfplots@foreach@to@list#1\to#2{% - \pgfplotslistnewempty\pgfplots@TMP + \global\pgfplotslistnewempty\pgfplots@glob@TMPa \begingroup - \foreach \i in {#1} {% - \globaldefs=1 - \expandafter\pgfplotslistpushback\i\to\pgfplots@TMP - \globaldefs=0 + \foreach \pgfplots@i in {#1} {% + \expandafter\pgfplotslistpushbackglobal\pgfplots@i\to\pgfplots@glob@TMPa }% \endgroup - \pgfplotslistcopy\pgfplots@TMP\to#2\relax + \pgfplotslistcopy\pgfplots@glob@TMPa\to#2\relax } % Several tick options: @@ -1204,11 +1358,11 @@ \expandafter\let\expandafter\pgfplots@cur@max@unscaled\csname pgfplots@#1max@unscaled@as@float\endcsname % \ifx\pgfplots@cur@min@unscaled\pgfutil@empty - \xdef\pgfplots@TMP{\csname pgfplots@#1min\endcsname}% - \expandafter\pgfmathfloatparsenumber\expandafter{\pgfplots@TMP}% + \edef\pgfplots@loc@TMPa{\csname pgfplots@#1min\endcsname}% + \expandafter\pgfmathfloatparsenumber\expandafter{\pgfplots@loc@TMPa}% \let\pgfplots@cur@min@unscaled=\pgfmathresult - \xdef\pgfplots@TMP{\csname pgfplots@#1max\endcsname}% - \expandafter\pgfmathfloatparsenumber\expandafter{\pgfplots@TMP}% + \edef\pgfplots@loc@TMPa{\csname pgfplots@#1max\endcsname}% + \expandafter\pgfmathfloatparsenumber\expandafter{\pgfplots@loc@TMPa}% \let\pgfplots@cur@max@unscaled=\pgfmathresult \fi % @@ -1217,40 +1371,39 @@ \ifnum\pgfmathfloat@b@E<\pgfmathfloat@a@E \pgfmathfloat@b@E=\pgfmathfloat@a@E \fi - \xdef\pgfplots@TMP{\pgfplots@scale@ticks@above@exponent}% - \expandafter\ifnum\pgfplots@TMP<\pgfmathfloat@b@E + \xdef\pgfplots@glob@TMPa{\pgfplots@scale@ticks@above@exponent}% + \expandafter\ifnum\pgfplots@glob@TMPa<\pgfmathfloat@b@E % ok, scale it: \multiply\pgfmathfloat@b@E by-1 - \xdef\pgfplots@TMP{\the\pgfmathfloat@b@E}% + \xdef\pgfplots@glob@TMPa{\the\pgfmathfloat@b@E}% \else - \xdef\pgfplots@TMP{\pgfplots@scale@ticks@below@exponent}% - \expandafter\ifnum\pgfplots@TMP>\pgfmathfloat@b@E + \xdef\pgfplots@glob@TMPa{\pgfplots@scale@ticks@below@exponent}% + \expandafter\ifnum\pgfplots@glob@TMPa>\pgfmathfloat@b@E % ok, scale it: \multiply\pgfmathfloat@b@E by-1 - \xdef\pgfplots@TMP{\the\pgfmathfloat@b@E}% + \xdef\pgfplots@glob@TMPa{\the\pgfmathfloat@b@E}% \else % no scaling necessary: - \xdef\pgfplots@TMP{0}% + \xdef\pgfplots@glob@TMPa{0}% \fi \fi \endgroup - \expandafter\let\csname pgfplots@tick@scale@#1\endcsname=\pgfplots@TMP% + \expandafter\let\csname pgfplots@tick@scale@#1\endcsname=\pgfplots@glob@TMPa% } % x-axis tick labels for #1th tick -% #1: options -% #2: the axis (x or y) -% #3: the value -% #4,#5: coordinates for tikz -% #6: ticknumber -\def\pgfplots@show@ticklabel[#1]#2#3(#4,#5)#6{{% - \csname ifpgfplots@#2ticklabel@interval\endcsname - \pgfmathparse{#4}% +% #1: the axis (x or y) +% #2: the value +% #3,#4: coordinates for tikz +% #5: ticknumber +\def\pgfplots@show@ticklabel#1#2(#3,#4)#5{{% + \csname ifpgfplots@#1ticklabel@interval\endcsname + \pgfmathparse{#3}% \edef\pgfplots@show@ticklabel@coord@x@new{\pgfmathresult pt}% - \pgfmathparse{#5}% + \pgfmathparse{#4}% \edef\pgfplots@show@ticklabel@coord@y@new{\pgfmathresult pt}% % - \pgfplots@show@ticklabel@{#2}{#3}% + \pgfplots@show@ticklabel@{#1}{#2}% \let\nexttick=\tick \ifx\pgfplots@show@ticklabel@LASTTICK\pgfutil@empty % its the first call. Simply remember arguments and wait @@ -1259,26 +1412,24 @@ % acquire options of first interval boundary: \pgfplots@show@ticklabel@LASTTICK % compute new node position: - \pgfmathparse{0.5*(\csname pgfplots@show@ticklabel@coord@#2\endcsname + \csname pgfplots@show@ticklabel@coord@#2@new\endcsname)}% - \expandafter\edef\csname pgfplots@show@ticklabel@coord@#2\endcsname{\pgfmathresult pt}% + \pgfmathparse{0.5*(\csname pgfplots@show@ticklabel@coord@#1\endcsname + \csname pgfplots@show@ticklabel@coord@#1@new\endcsname)}% + \expandafter\edef\csname pgfplots@show@ticklabel@coord@#1\endcsname{\pgfmathresult pt}% \let\ticknum=\pgfplots@show@ticklabel@num\relax% \let\tick=\pgfplots@show@ticklabel@tick% - \pgfplots@toka=\expandafter{\pgfplots@show@ticklabel@opts}% - \xdef\pgfplots@TMP{at (\pgfplots@show@ticklabel@coord@x,\pgfplots@show@ticklabel@coord@y) [\the\pgfplots@toka]}% - \expandafter\node\pgfplots@TMP - {\csname pgfplots@#2ticklabel\endcsname};% + \edef\pgfplots@loc@TMPa{at (\pgfplots@show@ticklabel@coord@x,\pgfplots@show@ticklabel@coord@y)}% + \expandafter\node\pgfplots@loc@TMPa + {\csname pgfplots@#1ticklabel\endcsname};% \fi \xdef\pgfplots@show@ticklabel@LASTTICK{% - \noexpand\def\noexpand\pgfplots@show@ticklabel@opts{#1}% \noexpand\def\noexpand\pgfplots@show@ticklabel@tick{\nexttick}% \noexpand\def\noexpand\pgfplots@show@ticklabel@coord@x{\pgfplots@show@ticklabel@coord@x@new}% \noexpand\def\noexpand\pgfplots@show@ticklabel@coord@y{\pgfplots@show@ticklabel@coord@y@new}% - \noexpand\def\noexpand\pgfplots@show@ticklabel@num{\the#6}% + \noexpand\edef\noexpand\pgfplots@show@ticklabel@num{#5}% }% \else - \let\ticknum=#6\relax% - \pgfplots@show@ticklabel@{#2}{#3}% - \node at (#4,#5) [#1] {\csname pgfplots@#2ticklabel\endcsname};% + \let\ticknum=#5\relax% + \pgfplots@show@ticklabel@{#1}{#2}% + \node at (#3,#4) {\csname pgfplots@#1ticklabel\endcsname};% \fi }} @@ -1290,57 +1441,63 @@ \def\pgfplots@show@ticklabel@#1#2{% \csname ifpgfplots@apply@datatrafo@#1\endcsname \csname pgfplots@inverse@datascaletrafo@#1\endcsname{#2}% - % FIXME: do that for any linear axis, also if no datascale is - % applied! - \ifpgfplots@scaled@ticks + \pgfplots@if{pgfplots@scaled@ticks@#1}{% \expandafter\pgfmathfloatshift@\expandafter{\pgfmathresult}{\csname pgfplots@tick@scale@#1\endcsname}% - \fi + }\relax % .. and this here provides \tick as fixed point repr: \expandafter\pgfmathfloattofixed\expandafter{\pgfmathresult}% \let\tick=\pgfmathresult \else \edef\tick{#2}% + \pgfplots@if{pgfplots@#1islinear}{% + \pgfplots@if{pgfplots@scaled@ticks@#1}{% + \pgfmathfloatparsenumber{#2}% + \expandafter\pgfmathfloatshift@\expandafter{\pgfmathresult}{\csname pgfplots@tick@scale@#1\endcsname}% + \expandafter\pgfmathfloattofixed\expandafter{\pgfmathresult}% + \let\tick=\pgfmathresult + }{}% + }{}% + \fi + \pgfkeysgetvalue{/pgfplots/#1 coord inv trafo/.@cmd}\pgfplots@loc@TMPa + \ifx\pgfplots@loc@TMPa\pgfplots@empty@command@key + \else + \let\pgfmathresult=\tick% + \expandafter\pgfplots@loc@TMPa\expandafter{\tick}\pgfeov + \let\tick=\pgfmathresult \fi }% \def\pgfplots@user@ticklabel@list@x{% - \pgfplotslistselect\ticknum\of\pgfplots@xticklabels\to\tick + \pgfplotslistselectorempty\ticknum\of\pgfplots@xticklabels\to\tick \tick } \def\pgfplots@user@ticklabel@list@y{% - \pgfplotslistselect\ticknum\of\pgfplots@yticklabels\to\tick + \pgfplotslistselectorempty\ticknum\of\pgfplots@yticklabels\to\tick \tick } \def\pgfplots@user@extra@ticklabel@list@x{% - \pgfplotslistselect\ticknum\of\pgfplots@extra@xticklabels\to\tick + \pgfplotslistselectorempty\ticknum\of\pgfplots@extra@xticklabels\to\tick \tick } \def\pgfplots@user@extra@ticklabel@list@y{% - \pgfplotslistselect\ticknum\of\pgfplots@extra@yticklabels\to\tick + \pgfplotslistselectorempty\ticknum\of\pgfplots@extra@yticklabels\to\tick \tick } -\def\axisdefaultticklabel{% - $\pgfmathprintnumber{\tick}$% -} - -\def\axisdefaultticklabellog{% - \pgfkeysgetvalue{/pgfplots/log number format code/.@cmd}\pgfplots@log@label@style - \expandafter\pgfplots@log@label@style\tick\pgfeov -} - -\def\pgfplots@show@label#1{% +% #1 axis (x or y) +% #2 the label +\def\pgfplots@show@label#1#2{% \node [/pgfplots/every axis label,% /pgfplots/every axis #1 label] - {\csname pgfplots@#1label\endcsname}; + {#2}; } -\def\pgfplots@show@title{% +\def\pgfplots@show@title#1{% \node% [/pgfplots/every axis title] - {\pgfplots@title}; + {#1}; } % Check if a label does not cross the x-axis @@ -1370,187 +1527,95 @@ \fi } -\def\pgfplots@drawyaxis@placecomputedtick#1[#2]{% - \ifcase\pgfplots@ytickalignnum\relax - \def\pgfplots@ytick@offset{0pt} +% Fills the macros +% \pgfplots@tick@beg@a \pgfplots@tick@end@a +% \pgfplots@tick@beg@b \pgfplots@tick@end@b +% with coordinates such that +% (\pgfplots@tick@beg@a,\pgfplots@tmpa) -- (\pgfplots@tick@end@a,\pgfplots@tmpa) +% produces a correct tick line. +% +% The '@b' variant is only used in case of \pgfplots@ytickposnum = 0 +% +% #1 : the current axis (x or y). +% #2 : the axis which is NOT fixed. For x tick lines, this is the y +% axis and for y tick lines, this is the x axis (#1 = x or y) +% #3 : the current tick width +\def\pgfplots@prepare@tick@offsets@for@#1#2#3{% + \ifcase\csname pgfplots@#1tickposnum\endcsname\relax + %(\pgfplots@xcoordminTEX-\pgfplots@tick@offset, \pgfplots@tmpa) -- ++( #3, 0pt) + \edef\pgfplots@tick@beg@a{\pgf@sys@tonumber{\csname pgfplots@#2coordminTEX\endcsname}}% + \pgfmathsubtract@{\pgfplots@tick@beg@a}{\pgfplots@tick@offset}% + \let\pgfplots@tick@beg@a=\pgfmathresult + \pgfmathadd@{\pgfplots@tick@beg@a}{#3}% + \edef\pgfplots@tick@beg@a{\pgfplots@tick@beg@a pt}% + \edef\pgfplots@tick@end@a{\pgfmathresult pt}% + % + %(\pgfplots@xcoordmaxTEX+\pgfplots@tick@offset, \pgfplots@tmpa) -- ++(-#3, 0pt) + \edef\pgfplots@tick@beg@b{\pgf@sys@tonumber{\csname pgfplots@#2coordmaxTEX\endcsname}}% + \pgfmathadd@{\pgfplots@tick@beg@b}{\pgfplots@tick@offset}% + \let\pgfplots@tick@beg@b=\pgfmathresult + \pgfmathsubtract@{\pgfplots@tick@beg@b}{#3}% + \edef\pgfplots@tick@beg@b{\pgfplots@tick@beg@b pt}% + \edef\pgfplots@tick@end@b{\pgfmathresult pt}% + \or + % (\pgfplots@xcoordminTEX-\pgfplots@tick@offset, \pgfplots@tmpa) -- ++( #3, 0pt); + \edef\pgfplots@tick@beg@a{\pgf@sys@tonumber{\csname pgfplots@#2coordminTEX\endcsname}}% + \pgfmathsubtract@{\pgfplots@tick@beg@a}{\pgfplots@tick@offset}% + \let\pgfplots@tick@beg@a=\pgfmathresult + \pgfmathadd@{\pgfplots@tick@beg@a}{#3}% + \edef\pgfplots@tick@beg@a{\pgfplots@tick@beg@a pt}% + \edef\pgfplots@tick@end@a{\pgfmathresult pt}% \or - \def\pgfplots@ytick@offset{#1} + % (\pgfplots@ZERO@x -\pgfplots@tick@offset, \pgfplots@tmpa) -- ++( #3, 0pt); + \pgf@xa=\csname pgfplots@ZERO@#2\endcsname + \edef\pgfplots@loc@TMPa{\pgf@sys@tonumber{\pgf@xa}}% + \pgfmathsubtract@{\pgfplots@loc@TMPa}{\pgfplots@tick@offset}% + \let\pgfplots@tick@beg@a=\pgfmathresult + \pgfmathadd@{\pgfplots@tick@beg@a}{#3}% + \edef\pgfplots@tick@beg@a{\pgfplots@tick@beg@a pt}% + \edef\pgfplots@tick@end@a{\pgfmathresult pt}% \or - \def\pgfplots@ytick@offset{.5*#1} + % (\pgfplots@xcoordmaxTEX+\pgfplots@tick@offset, \pgfplots@tmpa) -- ++(-#3, 0pt); + \edef\pgfplots@tick@beg@a{\pgf@sys@tonumber{\csname pgfplots@#2coordmaxTEX\endcsname}}% + \pgfmathadd@{\pgfplots@tick@beg@a}{\pgfplots@tick@offset}% + \let\pgfplots@tick@beg@a=\pgfmathresult + \pgfmathsubtract@{\pgfplots@tick@beg@a}{#3}% + \edef\pgfplots@tick@beg@a{\pgfplots@tick@beg@a pt}% + \edef\pgfplots@tick@end@a{\pgfmathresult pt}% \fi - %\pgfplots@ytick@check@tickshow - %\ifpgfplots@tickshow - \draw[#2] - \ifcase\pgfplots@ytickposnum - (\pgfplots@xcoordminTEX-\pgfplots@ytick@offset, \pgfplots@tmpa) -- ++( #1, 0pt) +}% - (\pgfplots@xcoordmaxTEX+\pgfplots@ytick@offset, \pgfplots@tmpa) -- ++(-#1, 0pt) - \or - (\pgfplots@xcoordminTEX-\pgfplots@ytick@offset, \pgfplots@tmpa) -- ++( #1, 0pt) - \or - (\pgfplots@ZERO@x -\pgfplots@ytick@offset, \pgfplots@tmpa) -- ++( #1, 0pt) - \or - (\pgfplots@xcoordmaxTEX+\pgfplots@ytick@offset, \pgfplots@tmpa) -- ++(-#1, 0pt) - \fi - ; - %\fi +\def\pgfplots@drawyaxis@placecomputedtick{% + \pgfpathmoveto{\pgfqpoint{\pgfplots@tick@beg@a}{\pgfplots@tmpa}}% + \pgfpathlineto{\pgfqpoint{\pgfplots@tick@end@a}{\pgfplots@tmpa}}% + \ifnum\pgfplots@ytickposnum=0\relax + \pgfpathmoveto{\pgfqpoint{\pgfplots@tick@beg@b}{\pgfplots@tmpa}}% + \pgfpathlineto{\pgfqpoint{\pgfplots@tick@end@b}{\pgfplots@tmpa}}% + \fi }% -\def\pgfplots@drawyaxis@placecomputedgridline[#1]{% - \draw[#1] - (\pgfplots@xcoordminTEX\pgfplots@leftover, \pgfplots@tmpa) - -- (\pgfplots@xcoordmaxTEX\pgfplots@rightover, \pgfplots@tmpa) - ; +\def\pgfplots@drawyaxis@placecomputedgridline{% + \pgfpathmoveto{\pgfqpoint{\pgfplots@xcoordminTEX}{\pgfplots@tmpa}}% + \pgfpathlineto{\pgfqpoint{\pgfplots@xcoordmaxTEX}{\pgfplots@tmpa}}% }% -% Y-Achsen und Achsenbeschriftung LOG: -% 1: Ticks \newif\ifpgfplots@needsminorloop -\def\pgfplots@drawyaxis#1{% - \ifpgfplots@yislinear - \ifpgfplots@scaled@ticks - \pgfplots@init@scaled@tick@for y% - \fi - \fi - \begingroup - \global\pgfplots@ticknum=0 - \edef\pgfplots@TMP{#1}% - \ifx\pgfplots@TMP\pgfutil@empty - \else - \ifpgfplots@yminorticks - \pgfplots@needsminorlooptrue - \fi - \ifpgfplots@yminorgrids - \pgfplots@needsminorlooptrue - \fi - \ifpgfplots@needsminorloop - \ifpgfplots@yislinear - \begingroup - \c@pgf@counta=\pgfplots@minor@ytick@num\relax - \advance\c@pgf@counta by1\relax - \pgfplots@tmpb=\pgfplots@tick@distance@y pt - \divide\pgfplots@tmpb by\c@pgf@counta - \edef\pgfmathresult{\pgf@sys@tonumber{\pgfplots@tmpb}}% - \pgfmath@smuggleone\pgfmathresult - \endgroup - \let\pgfplots@minor@tick@dist=\pgfmathresult - \else - \def\pgfplots@minor@ytick@num{9}% - \fi - \fi - \xdef\pgfplots@show@ticklabel@LASTTICK{}% - \foreach \y in {#1} { - \pgfextracty{\pgfplots@tmpa}{\pgfpointxy{0}{\y}}% - \pgfplots@ytick@check@tickshow - % - \ifpgfplots@tickshow - \ifdim\pgfplots@tmpa<\pgfplots@ycoordminTEX - \else - \ifdim\pgfplots@tmpa>\pgfplots@ycoordmaxTEX - \else - \ifcase\pgfplots@ytickalignnum\relax - \def\pgfplots@ytick@offset{0pt}% - \or - \def\pgfplots@ytick@offset{\pgfplots@tickwidth}% - \or - \def\pgfplots@ytick@offset{.5*\pgfplots@tickwidth}% - \fi - \ifcase\pgfplots@ytickposnum - \def\pgfplots@ytick@origin{\pgfplots@xcoordminTEX}% - \or - \def\pgfplots@ytick@origin{\pgfplots@xcoordminTEX}% - \or - \def\pgfplots@ytick@origin{\pgfplots@ZERO@x}% - \or - \def\pgfplots@ytick@origin{\pgfplots@xcoordmaxTEX}% - \fi - % Axis tick labels:` - \ifnum\pgfplots@ytickposnum=3\relax - \pgfplots@show@ticklabel - [right,/pgfplots/every tick label,/pgfplots/every y tick label]% - {y}{\y}% - (\pgfplots@ytick@origin+\pgfplots@ytick@offset,\pgfplots@tmpa)% - {\pgfplots@ticknum}% - \else - \pgfplots@show@ticklabel - [left,/pgfplots/every tick label,/pgfplots/every y tick label]% - {y}{\y}% - (\pgfplots@ytick@origin-\pgfplots@ytick@offset,\pgfplots@tmpa)% - {\pgfplots@ticknum}% - \fi - \fi - \fi - \fi - \global\advance\pgfplots@ticknum by1 - \scope - %\clip (\pgfplots@xcoordminTEX\pgfplots@leftover, \pgfplots@ycoordminTEX\pgfplots@leftover) - % rectangle (\pgfplots@xcoordmaxTEX\pgfplots@rightover, \pgfplots@ycoordmaxTEX\pgfplots@rightover); - \pgfinterruptboundingbox% - \clip (\pgfplots@xcoordminTEX-5cm, \pgfplots@ycoordminTEX) - rectangle (\pgfplots@xcoordmaxTEX+5cm, \pgfplots@ycoordmaxTEX); - \endpgfinterruptboundingbox% - % Y-ticks left and/or right - % in log: - % log( i*10^k ) = log\i + k\log10 -> draw ticks for i=1..9 - \ifpgfplots@needsminorloop - \foreach \i in {1,...,\pgfplots@minor@ytick@num} { - % this code here is scoped inside of \foreach. - \ifpgfplots@yislinear - \pgfextracty{\pgfplots@tmpb}{\pgfpointxy{0}{\i*\pgfplots@minor@tick@dist}}% - \else - \pgfextracty{\pgfplots@tmpb}{\pgfpointxy{0}{\logi\i}}% - \fi - \advance\pgfplots@tmpa by\pgfplots@tmpb - \ifdim\pgfplots@tmpa<\pgfplots@ycoordminTEX - \else - \ifdim\pgfplots@tmpa>\pgfplots@ycoordmaxTEX - \else - \ifpgfplots@yminorgrids - \pgfplots@drawyaxis@placecomputedgridline[/pgfplots/every axis grid,/pgfplots/every minor grid,/pgfplots/every axis y grid,/pgfplots/every minor y grid]% - \fi - \ifpgfplots@yminorticks - \pgfplots@drawyaxis@placecomputedtick\pgfplots@subtickwidth[/pgfplots/every tick,/pgfplots/every minor tick,/pgfplots/every tick,/pgfplots/every minor y tick]% - \fi - \fi - \fi - }% - \fi - \ifdim\pgfplots@tmpa<\pgfplots@ycoordminTEX - \else - \ifdim\pgfplots@tmpa>\pgfplots@ycoordmaxTEX - \else - \ifpgfplots@ymajorgrids - \pgfplots@drawyaxis@placecomputedgridline[/pgfplots/every axis grid,/pgfplots/every major grid, /pgfplots/every axis y grid,/pgfplots/every major y grid]% - \fi - \ifpgfplots@tickshow - \ifpgfplots@ymajorticks - \pgfplots@drawyaxis@placecomputedtick\pgfplots@tickwidth[/pgfplots/every tick,/pgfplots/every major tick,/pgfplots/every y tick,/pgfplots/every major y tick]% - \fi - \fi - \fi - \fi - \endscope - }% - \fi - \pgfplots@draw@tick@scale@label@for y% - \endgroup -} \def\pgfplots@draw@tick@scale@label@for#1{% \csname ifpgfplots@#1islinear\endcsname - \ifpgfplots@scaled@ticks + \pgfplots@if{pgfplots@scaled@ticks@#1}{% \begingroup - \xdef\pgfplots@TMP{\csname pgfplots@tick@scale@#1\endcsname}% - \expandafter\c@pgf@counta\pgfplots@TMP\relax + \xdef\pgfplots@glob@TMPa{\csname pgfplots@tick@scale@#1\endcsname}% + \expandafter\c@pgf@counta\pgfplots@glob@TMPa\relax \multiply\c@pgf@counta by-1 \ifnum\c@pgf@counta=0\relax - \global\let\pgfplots@TMP=\pgfutil@empty + \global\let\pgfplots@glob@TMPa=\pgfutil@empty \else - \xdef\pgfplots@TMP{\the\c@pgf@counta}% + \xdef\pgfplots@glob@TMPa{\the\c@pgf@counta}% \fi \endgroup - \ifx\pgfplots@TMP\pgfutil@empty + \ifx\pgfplots@glob@TMPa\pgfutil@empty \else - \edef\pgfplots@tick@scale@labels{\noexpand\pgfplots@invoke@pgfkeyscode{/pgfplots/tick scale label code/.@cmd}{\pgfplots@TMP}}% + \edef\pgfplots@tick@scale@labels{\noexpand\pgfplots@invoke@pgfkeyscode{/pgfplots/tick scale label code/.@cmd}{\pgfplots@glob@TMPa}}% \node [% xshift=\pgfplots@xcoordminTEX,% @@ -1562,7 +1627,7 @@ /pgfplots/every #1 tick scale label] {\pgfplots@tick@scale@labels}; \fi - \fi + }{\relax}% \fi } @@ -1573,7 +1638,10 @@ \pgfplots@invoke@pgfkeyscode@CODE#2\pgfeov } -% Check if it does not cross the y-axis +% Check if the current tick position, stored in \pgfplots@tmpa, +% does not cross the y-axis. +% +% This is just a special case for centered axis lines. \def\pgfplots@xtick@check@tickshow{% \pgfplots@tickshowtrue \ifnum\pgfplots@xaxislinesnum=2\relax @@ -1600,100 +1668,183 @@ \fi } -\def\pgfplots@drawxaxis@placecomputedtick#1[#2]{% - \ifcase\pgfplots@xtickalignnum\relax - \def\pgfplots@xtick@offset{0pt} - \or - \def\pgfplots@xtick@offset{#1} - \or - \def\pgfplots@xtick@offset{.5*#1} - \fi - %\pgfplots@xtick@check@tickshow - %\ifpgfplots@tickshow - \draw[#2] - \ifcase\pgfplots@xtickposnum - (\pgfplots@tmpa, \pgfplots@ycoordminTEX-\pgfplots@xtick@offset) -- ++(0pt, #1) - - (\pgfplots@tmpa, \pgfplots@ycoordmaxTEX+\pgfplots@xtick@offset) -- ++(0pt,-#1) - \or - (\pgfplots@tmpa, \pgfplots@ycoordminTEX-\pgfplots@xtick@offset) -- ++(0pt, #1) - \or - (\pgfplots@tmpa, \pgfplots@ZERO@y -\pgfplots@xtick@offset) -- ++(0pt, #1) - \or - (\pgfplots@tmpa, \pgfplots@ycoordmaxTEX+\pgfplots@xtick@offset) -- ++(0pt,-#1) - \fi - ; - %\fi +\def\pgfplots@drawxaxis@placecomputedtick{% + \pgfpathmoveto{\pgfqpoint{\pgfplots@tmpa}{\pgfplots@tick@beg@a}}% + \pgfpathlineto{\pgfqpoint{\pgfplots@tmpa}{\pgfplots@tick@end@a}}% + \ifnum\pgfplots@xtickposnum=0\relax + \pgfpathmoveto{\pgfqpoint{\pgfplots@tmpa}{\pgfplots@tick@beg@b}}% + \pgfpathlineto{\pgfqpoint{\pgfplots@tmpa}{\pgfplots@tick@end@b}}% + \fi }% -\def\pgfplots@drawxaxis@placecomputedgridline[#1]{% - \draw[#1] - (\pgfplots@tmpa, \pgfplots@ycoordminTEX\pgfplots@leftover) - -- (\pgfplots@tmpa, \pgfplots@ycoordmaxTEX\pgfplots@rightover) - ; +\def\pgfplots@drawxaxis@placecomputedgridline{% + \pgfpathmoveto{\pgfqpoint{\pgfplots@tmpa}{\pgfplots@ycoordminTEX}}% + \pgfpathlineto{\pgfqpoint{\pgfplots@tmpa}{\pgfplots@ycoordmaxTEX}}% }% % #1: axis (x or y) -% #2: tick position list -\def\pgfplots@draw@extra@ticks@for#1#2{% +% #2: axis index (0 or 1) +% #3: tick position list +\def\pgfplots@draw@extra@ticks@for#1#2#3{% \begingroup - \edef\pgfplots@TMP{#2}% - \ifx\pgfplots@TMP\pgfutil@empty - \else - \pgfplots@scaled@ticksfalse - \csname pgfplots@#1minorticksfalse\endcsname - \csname pgfplots@#1minorgridsfalse\endcsname - \expandafter\let\expandafter\axis@TMP\csname pgfplots@extra@#1ticklabel\endcsname - \expandafter\let\csname pgfplots@#1ticklabel\endcsname=\axis@TMP - % FIXME: that search path - thing is far from perfect. - % In fact, it doesn't even work for choice keys... with - % unexpected results. - % I have fixed that in PGF CVS - but PGF 2.0 does not yet work - % here! - \pgfqkeys{/pgfplots/search path for tikz}{/pgfplots/every extra #1 tick}% - \csname pgfplots@draw#1axis\endcsname{#2}% - \fi + \pgfplots@scaled@ticks@xfalse + \pgfplots@scaled@ticks@yfalse + \csname pgfplots@#1minorticksfalse\endcsname + \csname pgfplots@#1minorgridsfalse\endcsname + \expandafter\let\expandafter\axis@TMP\csname pgfplots@extra@#1ticklabel\endcsname + \expandafter\let\csname pgfplots@#1ticklabel\endcsname=\axis@TMP + \pgfplotsset{/pgfplots/every extra #1 tick}% FIXME : used 'search path for tikz' before... + \pgfplots@prepare@ticks@for{#3}{#1}{#2}% + \pgfplots@drawgridlines@for{#1}{#2}% + \pgfplots@drawticklines@for{#1}{#2}% + \pgfplots@drawticklabels@for{#1}{#2}% \endgroup } \def\pgfplots@drawaxis@innerlines{% - \ifnum\pgfplots@yaxislinesnum=2 - \draw[decorate,ydiscont,decoration={pre length=\ydisstart, post length=\ydisend}] (\pgfplots@ZERO@x, \pgfplots@ycoordminTEX) -- (\pgfplots@ZERO@x, \pgfplots@ycoordmaxTEX); + \ifpgfplots@hide@y\else + \ifnum\pgfplots@yaxislinesnum=2 + \draw[/pgfplots/every inner y axis line,% + decorate,% + ydiscont,% + decoration={pre length=\ydisstart, post length=\ydisend}] + (\pgfplots@ZERO@x, \pgfplots@ycoordminTEX) -- (\pgfplots@ZERO@x, \pgfplots@ycoordmaxTEX); + \fi \fi - \ifnum\pgfplots@xaxislinesnum=2 - \draw[decorate,xdiscont,decoration={pre length=\xdisstart, post length=\xdisend}] (\pgfplots@xcoordminTEX, \pgfplots@ZERO@y) -- (\pgfplots@xcoordmaxTEX, \pgfplots@ZERO@y); + \ifpgfplots@hide@x\else + \ifnum\pgfplots@xaxislinesnum=2 + \draw[/pgfplots/every inner x axis line,% + decorate,% + xdiscont,% + decoration={pre length=\xdisstart, post length=\xdisend}] + (\pgfplots@xcoordminTEX, \pgfplots@ZERO@y) -- (\pgfplots@xcoordmaxTEX, \pgfplots@ZERO@y); + \fi \fi }% -\def\pgfplots@drawaxis@outerlines{% - \draw +% Ok, we don't mind whether edges with thick lines look ugly. We just +% draw separate lines. This here is necessary if we want arrow heads. +\def\pgfplots@drawaxis@outerlines@separate{% + \ifpgfplots@hide@x + \else + \scope[/pgfplots/every outer x axis line, + xdiscont,decoration={pre length=\xdisstart, post length=\xdisend}] + \ifcase\pgfplots@xaxislinesnum + \draw decorate { + (\pgfplots@xcoordminTEX,\pgfplots@ycoordminTEX) + -- (\pgfplots@xcoordmaxTEX,\pgfplots@ycoordminTEX) }; + \draw decorate { + (\pgfplots@xcoordminTEX,\pgfplots@ycoordmaxTEX) + -- (\pgfplots@xcoordmaxTEX,\pgfplots@ycoordmaxTEX) }; + + \or + \draw decorate { + (\pgfplots@xcoordminTEX,\pgfplots@ycoordminTEX) + -- (\pgfplots@xcoordmaxTEX,\pgfplots@ycoordminTEX) }; + \or + \or + \draw decorate { + (\pgfplots@xcoordminTEX,\pgfplots@ycoordmaxTEX) + -- (\pgfplots@xcoordmaxTEX,\pgfplots@ycoordmaxTEX) }; + + \fi + \endscope + \fi + \ifpgfplots@hide@y + \else + \scope[/pgfplots/every outer y axis line, + ydiscont,decoration={pre length=\ydisstart, post length=\ydisend}] + \ifcase\pgfplots@yaxislinesnum + \draw decorate { + (\pgfplots@xcoordminTEX,\pgfplots@ycoordminTEX) + -- (\pgfplots@xcoordminTEX,\pgfplots@ycoordmaxTEX) }; + \draw decorate { + (\pgfplots@xcoordmaxTEX,\pgfplots@ycoordminTEX) + -- (\pgfplots@xcoordmaxTEX,\pgfplots@ycoordmaxTEX) }; + + \or + \draw decorate { + (\pgfplots@xcoordminTEX,\pgfplots@ycoordminTEX) + -- (\pgfplots@xcoordminTEX,\pgfplots@ycoordmaxTEX) }; + \or + \or + \draw decorate { + (\pgfplots@xcoordmaxTEX,\pgfplots@ycoordminTEX) + -- (\pgfplots@xcoordmaxTEX,\pgfplots@ycoordmaxTEX) }; + + \fi + \endscope + \fi +}% + +% This here is complicated: we try to create good edges and draw a +% SINGLE path for the partial or complete rectangle +% +% ----- +% | | +% | | +% ----- +\def\pgfplots@drawaxis@outerlines@cycledpath{% + \draw[ + /pgfplots/every outer x axis line, % FIXME! these outer styles need much more attention :-( + /pgfplots/every outer y axis line] (\pgfplots@xcoordminTEX, \pgfplots@ycoordminTEX) +\ifpgfplots@hide@y + { (\pgfplots@xcoordminTEX, \pgfplots@ycoordmaxTEX) } +\else \ifcase\pgfplots@yaxislinesnum decorate [ydiscont,decoration={pre length=\ydisstart, post length=\ydisend}] { -- (\pgfplots@xcoordminTEX, \pgfplots@ycoordmaxTEX) } \or decorate [ydiscont,decoration={pre length=\ydisstart, post length=\ydisend}] { -- (\pgfplots@xcoordminTEX, \pgfplots@ycoordmaxTEX) } \or { (\pgfplots@xcoordminTEX, \pgfplots@ycoordmaxTEX) } \or { (\pgfplots@xcoordminTEX, \pgfplots@ycoordmaxTEX) } \fi +\fi +\ifpgfplots@hide@x + { (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordmaxTEX) } +\else \ifcase\pgfplots@xaxislinesnum decorate [xdiscont,decoration={pre length=\xdisstart, post length=\xdisend}] { -- (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordmaxTEX) } \or { (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordmaxTEX) } \or { (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordmaxTEX) } \or decorate [xdiscont,decoration={pre length=\xdisstart, post length=\xdisend}] { -- (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordmaxTEX) } \fi +\fi +\ifpgfplots@hide@y + { (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordminTEX) } +\else \ifcase\pgfplots@yaxislinesnum decorate [ydiscont,decoration={pre length=\ydisend, post length=\ydisstart}] { -- (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordminTEX) } \or { (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordminTEX) } \or { (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordminTEX) } \or decorate [ydiscont,decoration={pre length=\ydisend, post length=\ydisstart}] { -- (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordminTEX) } \fi +\fi +\ifpgfplots@hide@x + { (\pgfplots@xcoordminTEX, \pgfplots@ycoordminTEX) } +\else \ifcase\pgfplots@xaxislinesnum decorate [xdiscont,decoration={pre length=\xdisend, post length=\xdisstart}] { -- (\pgfplots@xcoordminTEX, \pgfplots@ycoordminTEX) } \or decorate [xdiscont,decoration={pre length=\xdisend, post length=\xdisstart}] { -- (\pgfplots@xcoordminTEX, \pgfplots@ycoordminTEX) } \or { (\pgfplots@xcoordminTEX, \pgfplots@ycoordminTEX) } \or { (\pgfplots@xcoordminTEX, \pgfplots@ycoordminTEX) } - \fi + \fi% can't use cycle here! +\fi ; % -- cycle; }% +\def\pgfplots@drawaxis@outerlines{% + \ifnum\pgfplots@xaxislinesnum>0 + \pgfplots@separate@axis@linestrue + \fi + \ifnum\pgfplots@yaxislinesnum>0 + \pgfplots@separate@axis@linestrue + \fi + \ifpgfplots@separate@axis@lines + \pgfplots@drawaxis@outerlines@separate + \else + \pgfplots@drawaxis@outerlines@cycledpath + \fi +}% + \def\pgfplots@drawaxis@lines{% \begingroup \begingroup @@ -1750,7 +1901,7 @@ \advance \pgfplots@xcoordmaxTEX by-\pgfplots@data@scale@trafo@SHIFT@x pt \fi % carry local computations outside of group: - \xdef\pgfplots@TMP{% + \xdef\pgfplots@glob@TMPa{% \noexpand\def\noexpand\xdisstart{\the\xdisstart}% \noexpand\def\noexpand\xdisend{\the\xdisend}% \noexpand\def\noexpand\ydisstart{\the\ydisstart}% @@ -1760,150 +1911,371 @@ /tikz/ydiscont/.style={\ydiscontstyle}}% }% \endgroup - \pgfplots@TMP + \pgfplots@glob@TMPa \pgfplots@drawaxis@outerlines% \pgfplots@drawaxis@innerlines% \endgroup }% -% X-Achsen und Achsenbeschriftung -% 1: Ticks -\def\pgfplots@drawxaxis#1{% - \ifpgfplots@xislinear - \ifpgfplots@scaled@ticks - \pgfplots@init@scaled@tick@for{x}% - \fi - \fi +% Computes final major and minor tick positions into global lists +% \pgfplots@prepared@tick@positions@major@x +% and +% \pgfplots@prepared@tick@positions@minor@x. +% +% The major tick list contains tuples (canvas position,logical position) +% while the minor tick list contains just the canvas position. +% +% #1: the tick list. +% #2: the axis name as character, i.e. 'x' or 'y' +% #3: the axis name as integer, i.e. 0 or 1 +\def\pgfplots@prepare@ticks@for#1#2#3{% \begingroup - \global\pgfplots@ticknum=0 - \edef\pgfplots@TMP{#1}% - \ifx\pgfplots@TMP\pgfutil@empty + \expandafter\let\expandafter\ifpgfplots@islinear\csname ifpgfplots@#2islinear\endcsname + \expandafter\let\expandafter\ifpgfplots@minorticks\csname ifpgfplots@#2minorticks\endcsname + \expandafter\let\expandafter\ifpgfplots@minorgrids\csname ifpgfplots@#2minorgrids\endcsname + % these lists need to be global such that I can fill them inside + % of \foreach statements. And, yes: I have also added a TeX group + % on my own (but that's not the problem). + \global\pgfplotslistnewempty\pgfplots@prepared@tick@positions@major + \global\pgfplotslistnewempty\pgfplots@prepared@tick@positions@minor + \edef\pgfplots@loc@TMPa{#1}% + \ifx\pgfplots@loc@TMPa\pgfutil@empty \else - \ifpgfplots@xminorticks - \pgfplots@needsminorlooptrue - \fi - \ifpgfplots@xminorgrids + \ifpgfplots@minorticks \pgfplots@needsminorlooptrue + \else + \ifpgfplots@minorgrids + \pgfplots@needsminorlooptrue + \else + \pgfplots@needsminorloopfalse + \fi \fi \ifpgfplots@needsminorloop - \ifpgfplots@xislinear + \ifpgfplots@islinear + \expandafter\let\expandafter\pgfplots@minor@tick@num\csname pgfplots@minor@#2tick@num\endcsname \begingroup - \c@pgf@counta=\pgfplots@minor@xtick@num\relax + \c@pgf@counta=\pgfplots@minor@tick@num\relax \advance\c@pgf@counta by1\relax - \pgfplots@tmpb=\pgfplots@tick@distance@x pt - \divide\pgfplots@tmpb by\c@pgf@counta - \edef\pgfmathresult{\pgf@sys@tonumber{\pgfplots@tmpb}}% + \pgfplots@tmpa=\csname pgfplots@tick@distance@#2\endcsname pt + \divide\pgfplots@tmpa by\c@pgf@counta + \edef\pgfmathresult{\pgf@sys@tonumber{\pgfplots@tmpa}}% \pgfmath@smuggleone\pgfmathresult \endgroup \let\pgfplots@minor@tick@dist=\pgfmathresult \else - \def\pgfplots@minor@xtick@num{9}% + \def\pgfplots@minor@tick@num{9}% \fi \fi - \xdef\pgfplots@show@ticklabel@LASTTICK{}% - \foreach \x in {#1} { - \pgfextractx{\pgfplots@tmpa}{\pgfpointxy{\x}{0}}% - \pgfplots@xtick@check@tickshow + \foreach \x in {#1} {% + \ifcase#3\relax + \pgfextractx{\pgfplots@tmpa}{\pgfpointxy{\x}{0}}% + \or + \pgfextracty{\pgfplots@tmpa}{\pgfpointxy{0}{\x}}% + \fi + \csname pgfplots@#2tick@check@tickshow\endcsname % \ifpgfplots@tickshow - \ifdim\pgfplots@tmpa<\pgfplots@xcoordminTEX + \ifdim\pgfplots@tmpa<\csname pgfplots@#2coordminTEX\endcsname \else - \ifdim\pgfplots@tmpa>\pgfplots@xcoordmaxTEX + \ifdim\pgfplots@tmpa>\csname pgfplots@#2coordmaxTEX\endcsname \else - \ifcase\pgfplots@xtickalignnum\relax - \def\pgfplots@xtick@offset{0pt} - \or - \def\pgfplots@xtick@offset{\pgfplots@tickwidth} - \or - \def\pgfplots@xtick@offset{.5*\pgfplots@tickwidth} - \fi - \ifcase\pgfplots@xtickposnum - \def\pgfplots@xtick@origin{\pgfplots@ycoordminTEX} - \or - \def\pgfplots@xtick@origin{\pgfplots@ycoordminTEX} - \or - \def\pgfplots@xtick@origin{\pgfplots@ZERO@y} - \or - \def\pgfplots@xtick@origin{\pgfplots@ycoordmaxTEX} - \fi - % Axis tick labels: - \ifnum\pgfplots@xtickposnum=3 - \pgfplots@show@ticklabel - [above,/pgfplots/every tick label,/pgfplots/every x tick label]% - {x}{\x}(\pgfplots@tmpa,\pgfplots@xtick@origin+\pgfplots@xtick@offset)% - {\pgfplots@ticknum}% - \else - \pgfplots@show@ticklabel - [below,/pgfplots/every tick label,/pgfplots/every x tick label]% - {x}{\x}(\pgfplots@tmpa,\pgfplots@xtick@origin-\pgfplots@xtick@offset)% - {\pgfplots@ticknum}% - \fi + \edef\pgfplots@loc@TMPa{{\the\pgfplots@tmpa}{\x}}% + \expandafter\pgfplotslistpushbackglobal\pgfplots@loc@TMPa\to\pgfplots@prepared@tick@positions@major \fi \fi \fi - \global\advance\pgfplots@ticknum by1 - % - \scope - %\clip (\pgfplots@xcoordminTEX\pgfplots@leftover, \pgfplots@ycoordminTEX\pgfplots@leftover) - % rectangle (\pgfplots@xcoordmaxTEX\pgfplots@rightover, \pgfplots@ycoordmaxTEX\pgfplots@rightover); - \pgfinterruptboundingbox% - \clip (\pgfplots@xcoordminTEX, \pgfplots@ycoordminTEX-5cm) - rectangle (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordmaxTEX+5cm); - \endpgfinterruptboundingbox% % X-Axis ticks bottom and top % in log: - % log( i*10^k ) = log\i + k\log10 -> draw ticks for i=1..9 + % log( i*10^k ) = log\pgfplots@i + k\log10 -> draw ticks for i=1..9 \ifpgfplots@needsminorloop - \foreach \i in {1,...,\pgfplots@minor@xtick@num} { - % \pgfextractx{\pgfplots@tmpb}{\pgfpointxy{\logi\i}{0}}% - \ifpgfplots@xislinear - \pgfextractx{\pgfplots@tmpb}{\pgfpointxy{\i*\pgfplots@minor@tick@dist}{0}}% - \else - \pgfextractx{\pgfplots@tmpb}{\pgfpointxy{\logi\i}{0}}% + \foreach \pgfplots@i in {1,...,\pgfplots@minor@tick@num} {% + \begingroup + \ifcase#3\relax + \ifpgfplots@islinear + \pgfextractx{\pgfplots@tmpa}{\pgfpointxy{\pgfplots@i*\pgfplots@minor@tick@dist}{0}}% + \else + \pgfextractx{\pgfplots@tmpa}{\pgfpointxy{\logi\pgfplots@i}{0}}% + \fi + \or + \ifpgfplots@islinear + \pgfextracty{\pgfplots@tmpa}{\pgfpointxy{0}{\pgfplots@i*\pgfplots@minor@tick@dist}}% + \else + \pgfextracty{\pgfplots@tmpa}{\pgfpointxy{0}{\logi\pgfplots@i}}% + \fi \fi - \advance\pgfplots@tmpa by\pgfplots@tmpb - \ifdim\pgfplots@tmpa<\pgfplots@xcoordminTEX + \edef\pgfmathresult{\the\pgfplots@tmpa}% + \pgfmath@smuggleone\pgfmathresult + \endgroup + \advance\pgfplots@tmpa by\pgfmathresult\relax + \ifdim\pgfplots@tmpa<\csname pgfplots@#2coordminTEX\endcsname \else - \ifdim\pgfplots@tmpa>\pgfplots@xcoordmaxTEX + \ifdim\pgfplots@tmpa>\csname pgfplots@#2coordmaxTEX\endcsname \else - \ifpgfplots@xminorgrids - \pgfplots@drawxaxis@placecomputedgridline[/pgfplots/every axis grid,/pgfplots/every minor grid]% - \fi - \ifpgfplots@xminorticks - \pgfplots@drawxaxis@placecomputedtick\pgfplots@subtickwidth[/pgfplots/every tick,/pgfplots/every minor tick,/pgfplots/every x tick,/pgfplots/every minor x tick]% - \fi + \expandafter\pgfplotslistpushbackglobal\the\pgfplots@tmpa\to\pgfplots@prepared@tick@positions@minor \fi \fi }% \fi - \ifdim\pgfplots@tmpa<\pgfplots@xcoordminTEX - \else - \ifdim\pgfplots@tmpa>\pgfplots@xcoordmaxTEX - \else - \ifpgfplots@xmajorgrids - \pgfplots@drawxaxis@placecomputedgridline[/pgfplots/every axis grid,/pgfplots/every major grid,/pgfplots/every axis x grid,/pgfplots/every major x grid]% - \fi - \ifpgfplots@tickshow - \ifpgfplots@xmajorticks - \pgfplots@drawxaxis@placecomputedtick\pgfplots@tickwidth[/pgfplots/every tick,/pgfplots/every major tick, /pgfplots/every x tick,/pgfplots/every major x tick]% - \fi - \fi - \fi - \fi - \endscope }% \fi - \pgfplots@draw@tick@scale@label@for x% + \endgroup + \expandafter\let\csname pgfplots@prepared@tick@positions@minor@#2\endcsname=\pgfplots@prepared@tick@positions@minor + \expandafter\let\csname pgfplots@prepared@tick@positions@major@#2\endcsname=\pgfplots@prepared@tick@positions@major + \global\let\pgfplots@prepared@tick@positions@major=\relax + \global\let\pgfplots@prepared@tick@positions@minor=\relax +}% + +% Converts the tuples in major tick lists into two separate variables. +% +% Usage: +% \pgfplotslistforeach\pgfplots@prepared@tick@positions@major@x\as\curelement{% +% \expandafter\pgfplots@parse@prepared@major@tickpos\curelement\canvas\logical +% } +% +% #1#2 : the tuples as they are found in the prepared major tick list, +% #3 : a dimen register which will be filled with #1 +% #4 : a macro which will be assigned with #2 +\def\pgfplots@parse@prepared@major@tickpos#1#2#3#4{% + #3=#1\relax% + \def#4{#2}% +}% + + +% #1 : the verbatim axis name (either 'x' or 'y') +% #2 : the index of the axis (either 0 or 1) +\def\pgfplots@drawgridlines@for#1#2{% + \begingroup + \expandafter\let\expandafter\ifpgfplots@major\csname ifpgfplots@#1majorgrids\endcsname + \expandafter\let\expandafter\ifpgfplots@minor\csname ifpgfplots@#1minorgrids\endcsname + \expandafter\let\expandafter\pgfplots@prepared@tick@positions@major@\csname pgfplots@prepared@tick@positions@major@#1\endcsname + \expandafter\let\expandafter\pgfplots@prepared@tick@positions@minor@\csname pgfplots@prepared@tick@positions@minor@#1\endcsname + \pgfplots@loop@CONTINUEfalse + \ifpgfplots@major + \pgfplots@loop@CONTINUEtrue + \fi + \ifpgfplots@minor + \pgfplots@loop@CONTINUEtrue + \fi + \ifpgfplots@loop@CONTINUE + \scope + %\clip (\pgfplots@xcoordminTEX\pgfplots@leftover, \pgfplots@ycoordminTEX\pgfplots@leftover) + % rectangle (\pgfplots@xcoordmaxTEX\pgfplots@rightover, \pgfplots@ycoordmaxTEX\pgfplots@rightover); + \pgfinterruptboundingbox% + \ifcase#2\relax + \clip (\pgfplots@xcoordminTEX, \pgfplots@ycoordminTEX-5cm) + rectangle (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordmaxTEX+5cm); + \or + \clip (\pgfplots@xcoordminTEX-5cm, \pgfplots@ycoordminTEX) + rectangle (\pgfplots@xcoordmaxTEX+5cm, \pgfplots@ycoordmaxTEX); + \fi + \endpgfinterruptboundingbox% + \ifpgfplots@major + \draw[% + /pgfplots/every axis grid, + /pgfplots/every major grid, + /pgfplots/every axis #1 grid, + /pgfplots/every major #1 grid]% + \pgfextra + \pgfplotslistforeach\pgfplots@prepared@tick@positions@major@\as\pgfplots@curgridpos{% + \expandafter\pgfplots@parse@prepared@major@tickpos\pgfplots@curgridpos\pgfplots@tmpa\pgfplots@curgridpos + \csname pgfplots@draw#1axis@placecomputedgridline\endcsname + }% + \endpgfextra; + \fi + % + \ifpgfplots@minor + \draw[% + /pgfplots/every axis grid, + /pgfplots/every minor grid, + /pgfplots/every axis #1 grid, + /pgfplots/every minor #1 grid]% + \pgfextra + \pgfplotslistforeach\pgfplots@prepared@tick@positions@minor@\as\pgfplots@curgridpos{% + \pgfplots@tmpa=\pgfplots@curgridpos + \csname pgfplots@draw#1axis@placecomputedgridline\endcsname + }% + \endpgfextra; + \fi + \endscope + \fi \endgroup } -\def\pgfplots@rememberplotspec#1{% +% #1 : the verbatim axis name (either 'x' or 'y') +% #2 : the index of the axis (either 0 or 1) +\def\pgfplots@drawticklines@for#1#2{% + \scope + \expandafter\let\expandafter\ifpgfplots@major\csname ifpgfplots@#1majorticks\endcsname + \expandafter\let\expandafter\ifpgfplots@minor\csname ifpgfplots@#1minorticks\endcsname + \expandafter\let\expandafter\pgfplots@prepared@tick@positions@major@\csname pgfplots@prepared@tick@positions@major@#1\endcsname + \expandafter\let\expandafter\pgfplots@prepared@tick@positions@minor@\csname pgfplots@prepared@tick@positions@minor@#1\endcsname + %\clip (\pgfplots@xcoordminTEX\pgfplots@leftover, \pgfplots@ycoordminTEX\pgfplots@leftover) + % rectangle (\pgfplots@xcoordmaxTEX\pgfplots@rightover, \pgfplots@ycoordmaxTEX\pgfplots@rightover); + \pgfinterruptboundingbox% + \ifcase#2\relax + \clip (\pgfplots@xcoordminTEX, \pgfplots@ycoordminTEX-5cm) + rectangle (\pgfplots@xcoordmaxTEX, \pgfplots@ycoordmaxTEX+5cm); + \or + \clip (\pgfplots@xcoordminTEX-5cm, \pgfplots@ycoordminTEX) + rectangle (\pgfplots@xcoordmaxTEX+5cm, \pgfplots@ycoordmaxTEX); + \fi + \endpgfinterruptboundingbox% + \ifpgfplots@major + \draw[% + /pgfplots/every tick, + /pgfplots/every major tick, + /pgfplots/every #1 tick, + /pgfplots/every major #1 tick]% + \pgfextra + \pgfmathparse{\pgfplots@tickwidth}% + \let\pgfplots@tickwidth@=\pgfmathresult + \edef\pgfplots@tickwidth{\pgfplots@tickwidth@ pt}% + \ifcase\csname pgfplots@#1tickalignnum\endcsname\relax + \def\pgfplots@tick@offset{0} + \or + \let\pgfplots@tick@offset=\pgfplots@tickwidth@% + \or + \pgfmathmultiply@{0.5}{\pgfplots@tickwidth@}% + \let\pgfplots@tick@offset=\pgfmathresult% + \fi + \ifcase#2\relax + \pgfplots@prepare@tick@offsets@for@{#1}{y}{\pgfplots@tickwidth@}% + \else + \pgfplots@prepare@tick@offsets@for@{#1}{x}{\pgfplots@tickwidth@}% + \fi + \pgfplotslistforeach\pgfplots@prepared@tick@positions@major@\as\pgfplots@curtickpos{% + \expandafter\pgfplots@parse@prepared@major@tickpos\pgfplots@curtickpos\pgfplots@tmpa\pgfplots@curtickpos + \csname pgfplots@draw#1axis@placecomputedtick\endcsname + }% + \endpgfextra; + \fi + % + \ifpgfplots@minor + \draw[% + /pgfplots/every tick, + /pgfplots/every minor tick, + /pgfplots/every #1 tick, + /pgfplots/every minor #1 tick]% + \pgfextra + \pgfmathparse{\pgfplots@subtickwidth}% + \let\pgfplots@subtickwidth@=\pgfmathresult + \edef\pgfplots@subtickwidth{\pgfplots@subtickwidth@ pt}% + \ifcase\csname pgfplots@#1tickalignnum\endcsname\relax + \def\pgfplots@tick@offset{0}% + \or + \let\pgfplots@tick@offset=\pgfplots@subtickwidth@% + \or + \pgfmathmultiply@{0.5}{\pgfplots@subtickwidth@}% + \let\pgfplots@tick@offset=\pgfmathresult% + \fi + \ifcase#2\relax + \pgfplots@prepare@tick@offsets@for@{#1}{y}{\pgfplots@subtickwidth@}% + \else + \pgfplots@prepare@tick@offsets@for@{#1}{x}{\pgfplots@subtickwidth@}% + \fi + \pgfplotslistforeach\pgfplots@prepared@tick@positions@minor@\as\pgfplots@curtickpos{% + \pgfplots@tmpa=\pgfplots@curtickpos + \csname pgfplots@draw#1axis@placecomputedtick\endcsname + }% + \endpgfextra; + \fi + \endscope +} + +% #1 : the verbatim axis name (either 'x' or 'y') +% #2 : the index of the axis (either 0 or 1) +\def\pgfplots@drawticklabels@for#1#2{% \begingroup - \globaldefs=1 - \pgfplotslistpushback#1\to\pgfplots@plotspeclist + \expandafter\let\expandafter\ifpgfplots@major\csname ifpgfplots@#1majorticks\endcsname + \expandafter\let\expandafter\ifpgfplots@islinear\csname ifpgfplots@#1islinear\endcsname + \expandafter\let\expandafter\pgfplots@prepared@tick@positions@major@\csname pgfplots@prepared@tick@positions@major@#1\endcsname + \ifpgfplots@major + \ifpgfplots@islinear + \pgfplots@if{pgfplots@scaled@ticks@#1}{% + \pgfplots@init@scaled@tick@for{#1}% + }\relax% + \fi + \begingroup + \pgfkeys{/tikz/every node/.append style={/pgfplots/every tick label,/pgfplots/every #1 tick label}}% + \ifcase\csname pgfplots@#1tickalignnum\endcsname\relax + \def\pgfmathresult{0}% + \or + \pgfmathparse{\pgfplots@tickwidth}% + \or + \pgfmathmultiply{0.5}{\pgfplots@tickwidth}% + \fi + \let\pgfplots@tick@offset=\pgfmathresult + \ifnum\csname pgfplots@#1ticklabelposnum\endcsname=0 + % the choice '[xy]ticklabel pos=default': + \expandafter\let\expandafter\pgfplots@tmpposnum\csname pgfplots@#1tickposnum\endcsname + \else + \expandafter\let\expandafter\pgfplots@tmpposnum\csname pgfplots@#1ticklabelposnum\endcsname + \fi + \ifcase#2\relax + \ifcase\pgfplots@tmpposnum\relax + \edef\pgfplots@tick@origin{\pgf@sys@tonumber{\pgfplots@ycoordminTEX}}% + \or + \edef\pgfplots@tick@origin{\pgf@sys@tonumber{\pgfplots@ycoordminTEX}}% + \or + \pgf@xa=\pgfplots@ZERO@y + \edef\pgfplots@tick@origin{\pgf@sys@tonumber{\pgf@xa}}% + \or + \edef\pgfplots@tick@origin{\pgf@sys@tonumber{\pgfplots@ycoordmaxTEX}}% + \fi + \def\pgfplots@tickposchoicea{\tikzset{above}}% + \def\pgfplots@tickposchoiceb{\tikzset{below}}% + \or + \ifcase\pgfplots@tmpposnum\relax + \edef\pgfplots@tick@origin{\pgf@sys@tonumber{\pgfplots@xcoordminTEX}}% + \or + \edef\pgfplots@tick@origin{\pgf@sys@tonumber{\pgfplots@xcoordminTEX}}% + \or + \pgf@xa=\pgfplots@ZERO@x + \edef\pgfplots@tick@origin{\pgf@sys@tonumber{\pgf@xa}}% + \or + \edef\pgfplots@tick@origin{\pgf@sys@tonumber{\pgfplots@xcoordmaxTEX}}% + \fi + \def\pgfplots@tickposchoicea{\tikzset{right}}% + \def\pgfplots@tickposchoiceb{\tikzset{left}}% + \fi + \ifnum\pgfplots@tmpposnum=3 + \pgfplots@tickposchoicea + \pgfmathadd@{\pgfplots@tick@origin}{\pgfplots@tick@offset}% + \else + \pgfplots@tickposchoiceb + \pgfmathsubtract@{\pgfplots@tick@origin}{\pgfplots@tick@offset}% + \fi + \edef\pgfplots@tick@origin{\pgfmathresult pt}% + \def\pgfplots@ticknum{0}% + \xdef\pgfplots@show@ticklabel@LASTTICK{}% + \pgfplotslistforeachungrouped\pgfplots@prepared@tick@positions@major@\as\pgfplots@curtickpos{% + \expandafter\pgfplots@parse@prepared@major@tickpos\pgfplots@curtickpos\pgfplots@tmpa\pgfplots@curtickpos + \ifcase#2\relax + \pgfplots@show@ticklabel + {#1}{\pgfplots@curtickpos}(\pgfplots@tmpa,\pgfplots@tick@origin)% + {\pgfplots@ticknum}% + \or + \pgfplots@show@ticklabel + {#1}{\pgfplots@curtickpos}(\pgfplots@tick@origin,\pgfplots@tmpa)% + {\pgfplots@ticknum}% + \fi + \begingroup + \c@pgf@counta=\pgfplots@ticknum\relax + \advance\c@pgf@counta by1 + \edef\pgfplots@ticknum{\the\c@pgf@counta}% + \pgfmath@smuggleone\pgfplots@ticknum + \endgroup + }% + \endgroup + \pgfplots@draw@tick@scale@label@for #1% + \fi \endgroup } +\def\pgfplots@rememberplotspec#1{% + \pgfplotslistpushbackglobal{#1}\to\pgfplots@plotspeclist +} + \def\pgfplots@getautoplotspec into#1{% \pgfplotslistsize\autoplotspeclist\to\c@pgf@counta \ifnum\c@pgf@counta=0 @@ -1946,13 +2318,16 @@ % \autoplotspeclist % and the first will use blue color and * markers. % +% \addplot[<style options>] plot[<behavior options>] <input type and args> <post plot path> ; +% +% % The linespec. will be used in the legend. % % Low-level implementation: % % \pgfplots@addplot % \pgfplots@addplotimpl -% \pgfplots@start@plot@with@options <--- \begingroup +% \pgfplots@start@plot@with@behavioroptions <--- \begingroup % ... % ... remember options GLOBALLY % ... update limits GLOBALLY @@ -1971,7 +2346,7 @@ % the space after ']' is required here: % FIXME: % - \addplot[]plot coordinates is NOT allowed!? - \expandafter\pgfplots@addplotimpl\expandafter[\nextplotspec] + \expandafter\pgfplots@addplotimpl\expandafter[\nextplotspec]% }% }% } @@ -1997,7 +2372,7 @@ } \def\pgfplots@addplotimpl@plot@withoptions#1[#2]{ - \pgfplots@start@plot@with@options{#1}{#2}% + \pgfplots@start@plot@with@behavioroptions{#2}% \pgfutil@ifnextchar c{% \pgfplots@addplotimpl@coordinates{#1}plot }{% @@ -2010,13 +2385,16 @@ \pgfutil@ifnextchar ({% \pgfplots@addplotimpl@expression{#1}% }{% - \pgfplots@error{Sorry, the supplied plot command is unknown or unsupported by pgfplots!}% + \pgfplots@error{Sorry, the supplied plot command is unknown or unsupported by pgfplots! Ignoring it.}% + \pgfplots@gobble@until@semicolon }% }% }% }% } +\def\pgfplots@gobble@until@semicolon#1;{} + % Currently, plot expression is really inefficient: % % 1. it invokes the math parser to get all coordinates. Ok, that's @@ -2030,93 +2408,76 @@ % parser routines - it does NOT know that any numbers are already in % TeX-precision! % -% FIXME : configure pgfplots to finish the data scaling trafo! It's -% perfectly ok if it is simply the identity! \long\def\pgfplots@addplotimpl@expression#1(#2,#3)#4;{% \pgfplots@PREPARE@COORD@STREAM{#1}{#4}% + % + \pgfplots@gettikzinternal@keyval{variable}{tikz@plot@var}{\x}% + \pgfplots@gettikzinternal@keyval{samples at}{tikz@plot@samplesat}{-5,-4.6,...,5}% + % \edef\pgfplots@plot@data{\noexpand\foreach\expandafter\noexpand\tikz@plot@var in {\tikz@plot@samplesat}}% - \global\let\pgfplots@TMP=\pgfutil@empty + \pgfplotsapplistXXglobalnewempty \pgfplots@plot@data{% \pgfmathparse{#2}% \let\pgfplots@current@point@x=\pgfmathresult \pgfmathparse{#3}% \let\pgfplots@current@point@y=\pgfmathresult - \pgfplots@toka=\expandafter{\pgfplots@TMP}% - \xdef\pgfplots@TMP{\the\pgfplots@toka(\pgfplots@current@point@x,\pgfplots@current@point@y)}% + \edef\pgfplots@loc@TMPa{(\pgfplots@current@point@x,\pgfplots@current@point@y)}% + \expandafter\pgfplotsapplistXXglobalpushback\expandafter{\pgfplots@loc@TMPa}% }% - \expandafter\pgfplots@coord@stream@foreach\expandafter{\pgfplots@TMP}% + \pgfplotsapplistXXgloballet\pgfplots@loc@TMPa + \pgfplotsapplistXXglobalclear + \expandafter\pgfplots@coord@stream@foreach\expandafter{\pgfplots@loc@TMPa}% }% -\def\pgfplots@addplotimpl@expression@limits#1{% - %-------------------------------------------------- - %FIXME - % \pgfkeysinstallkeyfilter{/pgf/key filters/equals}{/tikz/domain}% - % \pgfkeysinstallkeyfilterhandler{/pgf/key filter handlers/ignore}% - % \pgfqkeysfiltered - % {/tikz}% - % {#1}% - %-------------------------------------------------- - \expandafter\pgfplots@addplotimpl@expression@limits@domain\tikz@plot@domain\relax -}% - -\def\pgfplots@addplotimpl@expression@limits@domain#1:#2\relax{% - \ifpgfplots@autocompute@xlim - \ifpgfplots@float@numerics@mode@x - \pgfmathfloatparsenumber{#1}% - \let\pgfplots@current@point@x=\pgfmathresult - \pgfmathfloatmin{\pgfplots@xmin}{\pgfplots@current@point@x}% - \global\let\pgfplots@xmin=\pgfmathresult - \pgfmathfloatmax{\pgfplots@xmax}{\pgfplots@current@point@x}% - \global\let\pgfplots@xmax=\pgfmathresult - % - \pgfmathfloatparsenumber{#2}% - \let\pgfplots@current@point@x=\pgfmathresult - \pgfmathfloatmin{\pgfplots@xmin}{\pgfplots@current@point@x}% - \global\let\pgfplots@xmin=\pgfmathresult - \pgfmathfloatmax{\pgfplots@xmax}{\pgfplots@current@point@x}% - \global\let\pgfplots@xmax=\pgfmathresult - \else - \pgfmathmin{\pgfplots@xmin}{#1}% - \global\let\pgfplots@xmin=\pgfmathresult - \pgfmathmax{\pgfplots@xmax}{#1}% - \global\let\pgfplots@xmax=\pgfmathresult - \pgfmathmin{\pgfplots@xmin}{#2}% - \global\let\pgfplots@xmin=\pgfmathresult - \pgfmathmax{\pgfplots@xmax}{#2}% - \global\let\pgfplots@xmax=\pgfmathresult - \fi - \fi -} - \def\pgfplots@addplotimpl@f#1f{% \pgfutil@ifnextchar i{\pgfplots@addplotimpl@file{#1}}{\pgfplots@addplotimpl@function{#1}}% }% \let\pgfplots@backupof@pgfplotxyfile=\pgfplotxyfile +% the following code +% results finally in +% +% set format "%.7e";; set samples <...>; plot ... +% +% The windows port of gnuplot doesn't run without the second semicolon +% - for whatever reason. +{ + \catcode`\%=12 + \catcode`\"=12 + \xdef\pgfplots@gnuplot@format{set format "%.7e";} +} + % #1: args of \addplot[...] % #2: file name % #3: trailing path commands until ';' \def\pgfplots@addplotimpl@function#1unction#2#3;{% - \def\tikz@plot@filename{\tikz@plot@prefix\tikz@plot@id}% + \pgfplots@gettikzinternal@keyval{prefix}{tikz@plot@prefix}{\jobname.}% + \pgfplots@gettikzinternal@keyval{id}{tikz@plot@id}{pgf-plot}% + \pgfplots@gettikzinternal@keyval{samples}{tikz@plot@samples}{25}% + \pgfplots@gettikzinternal@keyval{domain}{tikz@plot@domain}{-5:5}% + \pgfplots@gettikzinternal@keyval{raw gnuplot}{iftikz@plot@raw@gnuplot}{\iffalse}% + \pgfplots@gettikzinternal@keyval{parametric}{iftikz@plot@parametric}{\iffalse}% + % + \def\pgfplots@plot@filename{\tikz@plot@prefix\tikz@plot@id}% \iftikz@plot@raw@gnuplot% - \def\tikz@plot@data{\pgfplotgnuplot[\tikz@plot@filename]{#2}}% + \def\pgfplots@plot@data{\pgfplotgnuplot[\pgfplots@plot@filename]{#2}}% \else% \iftikz@plot@parametric% - \def\tikz@plot@data{\pgfplotgnuplot[\tikz@plot@filename]{% - set format "\%.7e"; + \def\pgfplots@plot@data{\pgfplotgnuplot[\pgfplots@plot@filename]{% + \pgfplots@gnuplot@format; set samples \tikz@plot@samples; set parametric; plot [t=\tikz@plot@domain] #2}}% \else% - \def\tikz@plot@data{\pgfplotgnuplot[\tikz@plot@filename]{% - set format "\%.7e"; + \def\pgfplots@plot@data{\pgfplotgnuplot[\pgfplots@plot@filename]{% + \pgfplots@gnuplot@format; set samples \tikz@plot@samples; plot [x=\tikz@plot@domain] #2}}% \fi% \fi% \def\pgfplotxyfile{\pgfplots@addplotimpl@gnuplotresult{#1}{#3}}% - \tikz@plot@data + \pgfplots@plot@data \let\pgfplotxyfile=\pgfplots@backupof@pgfplotxyfile }% @@ -2136,8 +2497,57 @@ \fi } +% #1: arguments to \addplot[...] +% #2: the file name +% #3: any additional path arguments \def\pgfplots@addplotimpl@file#1ile{% - \pgfplots@addplotimpl@table{#1}table[x index=0,y index=1,header=false]% + \pgfutil@ifnextchar[{% + \pgfplots@addplotimpl@file@opt{#1}% + }{% + \pgfplots@addplotimpl@file@opt{#1}[]% + }% +} + +% \addplot[#1] file[#2] {#3} #4; +\def\pgfplots@addplotimpl@file@opt#1[#2]#3#4;{% + \begingroup + \def\pgfplots@loc@TMPa{#2}% + \ifx\pgfplots@loc@TMPa\pgfutil@empty + \else + \pgfqkeys{/pgfplots/plot file}{#2}% + \fi + \pgfplots@PREPARE@COORD@STREAM{#1}{#4}% + \pgfplots@coord@stream@start + \openin1=#3 + \ifeof1 + \pgfplots@warning{sorry, plot file{#3} could not be opened!?}% + \else + \pgfplots@addplotimpl@file@readall + \fi + \pgfplots@coord@stream@end + \endgroup +}% +\def\pgfplots@addplotimpl@file@readall{% + \read1 to\pgfplots@file@LINE + \expandafter\pgfplotstableread@checkspecial@line\pgfplots@file@LINE\pgfplotstable@EOI + \ifpgfplotstableread@skipline + \else + \ifpgfplots@plot@file@skipfirst + % Silently skip first data row, assuming it is a header. + \pgfplots@plot@file@skipfirstfalse + \else + \expandafter\pgfplots@addplotimpl@file@parsesingle\pgfplots@file@LINE\pgfplots@EOI + \fi + \fi + \ifeof1 + \else + \expandafter + \pgfplots@addplotimpl@file@readall + \fi +}% + +\def\pgfplots@addplotimpl@file@parsesingle#1 #2 #3\pgfplots@EOI{% + \pgfplots@coord@stream@coord{#1}{#2}{}{}% }% \def\pgfplots@addplotimpl@table#1table{% @@ -2148,17 +2558,11 @@ }% }% -\def\pgfplots@addplotimpl@table@f#1#2from{% - \pgfplots@addplot@table@from@macrotrue - \pgfplots@addplotimpl@table@START{#1}{#2}% -} - \def\pgfplots@addplotimpl@table@getopts#1[#2]{% \pgfutil@ifnextchar f{% - \pgfplots@addplotimpl@table@f{#1}{#2}% + \pgfplots@addplotimpl@table@fromstructure{#1}{#2}% }{% - \pgfplots@addplot@table@from@macrofalse - \pgfplots@addplotimpl@table@START{#1}{#2}% + \pgfplots@addplotimpl@table@fromfile{#1}{#2}% }% } @@ -2166,14 +2570,15 @@ % #2: arguments to table[...] % #3: the argument of plot table{...} % #4: trailing path arguments after plot table{...}#4; -\long\def\pgfplots@addplotimpl@table@START#1#2#3#4;{% +\long\def\pgfplots@addplotimpl@table@fromstructure#1#2from#3#4;{% \begingroup + % FIXME : this thing here has runtime O(N^2) ! + % I fear it is faster to simply reload the data .... !? + % + % well, for a lot of columns which are used in different contexts + % and few rows, this here IS more efficient. \pgfplotstableset{#2}% - \ifpgfplots@addplot@table@from@macro - \pgfplotstablecopy#3\to\pgfplots@table - \else - \pgfplotstableread{#3} to \pgfplots@table - \fi + \pgfplotstablecopy#3\to\pgfplots@table \ifx\pgfplots@plot@tbl@x\pgfutil@empty \pgfplotstablegetcolumnbyindex\pgfplots@plot@tbl@xindex\of\pgfplots@table\to\addplot@tbl@x \else @@ -2217,7 +2622,15 @@ \ifpgfplotslistempty \pgfplots@loop@CONTINUEfalse \else - \pgfplots@loop@CONTINUEtrue + % This here is just for sanity checking: if the 'y' column is + % - for whatever reasons - invalid; provide good error + % recovery. + \pgfplotslistcheckempty\addplot@tbl@y + \ifpgfplotslistempty + \pgfplots@loop@CONTINUEfalse + \else + \pgfplots@loop@CONTINUEtrue + \fi \fi \ifpgfplots@loop@CONTINUE \pgfplotslistpopfront\addplot@tbl@x\to\addplot@tbl@cur@x @@ -2233,20 +2646,117 @@ \else \pgfplotslistpopfront\addplot@tbl@error@y\to\addplot@tbl@error@cur@y \fi - \edef\pgfplots@TMP{{\addplot@tbl@cur@x}{\addplot@tbl@cur@y}{\addplot@tbl@error@cur@x}{\addplot@tbl@error@cur@y}}% - \expandafter\pgfplots@coord@stream@coord\pgfplots@TMP + \edef\pgfplots@loc@TMPa{{\addplot@tbl@cur@x}{\addplot@tbl@cur@y}{\addplot@tbl@error@cur@x}{\addplot@tbl@error@cur@y}}% + \expandafter\pgfplots@coord@stream@coord\pgfplots@loc@TMPa \else - \edef\pgfplots@TMP{{\addplot@tbl@cur@x}{\addplot@tbl@cur@y}{}{}}% - \expandafter\pgfplots@coord@stream@coord\pgfplots@TMP + \edef\pgfplots@loc@TMPa{{\addplot@tbl@cur@x}{\addplot@tbl@cur@y}{}{}}% + \expandafter\pgfplots@coord@stream@coord\pgfplots@loc@TMPa \fi \repeat \pgfplots@coord@stream@end \endgroup } -% #1: arguments to \addplot[] (these are used for legend images as well) -% #2: arguments to \addplot plot[] (these are set directly in \addplot) -\def\pgfplots@start@plot@with@options#1#2{% + +% #1: arguments to \addplot[...] +% #2: arguments to table[...] +% #3: the argument of plot table{...} +% #4: trailing path arguments after plot table{...}#4; +\long\def\pgfplots@addplotimpl@table@fromfile#1#2#3#4;{% + %-------------------------------------------------- + % \begingroup + % \pgfplotstableset{#2}% + % \pgfplotstableread{#3}\pgfplots@table + % \pgfplots@addplotimpl@table@fromstructure{#1}{}from{\pgfplots@table}{#4};% + % \endgroup + %-------------------------------------------------- + \pgfplotsapplistXXglobalnewempty + \begingroup + \pgfplotstableset{#2}% + \let\pgfplots@table@PTR@x=\pgfutil@empty + \let\pgfplots@table@PTR@y=\pgfutil@empty + \ifpgfplots@errorbars@enabled + \let\pgfplots@table@ERRPTR@x=\pgfutil@empty + \let\pgfplots@table@ERRPTR@y=\pgfutil@empty + \pgfkeysgetvalue{/pgfplots/table/x error index}\pgfplots@plot@tbl@error@xindex + \pgfkeysgetvalue{/pgfplots/table/x error}\pgfplots@plot@tbl@error@x + \pgfkeysgetvalue{/pgfplots/table/y error index}\pgfplots@plot@tbl@error@yindex + \pgfkeysgetvalue{/pgfplots/table/y error}\pgfplots@plot@tbl@error@y + \pgfplotstableread{#3} to listener\pgfplots@addplotimpl@table@fromfile@listener@witherrors + \else + \pgfplotstableread{#3} to listener\pgfplots@addplotimpl@table@fromfile@listener + \fi + \endgroup + % + \pgfplots@PREPARE@COORD@STREAM{#1}{#4}% + \pgfplotsapplistXXgloballet\pgfplots@coordlist + \pgfplotsapplistXXglobalclear + \expandafter\pgfplots@coord@stream@foreach\expandafter{\pgfplots@coordlist}%% +} +\def\pgfplots@addplotimpl@table@fromfile@listener{% + \pgfplots@addplotimpl@table@fromfile@listener@ + \edef\pgfplots@current@point{(\pgfplots@current@point@x,\pgfplots@current@point@y)}% + \expandafter\pgfplotsapplistXXglobalpushback\expandafter{\pgfplots@current@point}% +} +\def\pgfplots@addplotimpl@table@fromfile@listener@{% + \ifx\pgfplots@table@PTR@x\pgfutil@empty + % this here is only evaluated ONCE. + \ifx\pgfplots@plot@tbl@x\pgfutil@empty + \pgfplotstablereadgetptrtocolindex{\pgfplots@plot@tbl@xindex}{\pgfplots@table@PTR@x}% + \else + \pgfplotstablereadgetptrtocolname{\pgfplots@plot@tbl@x}{\pgfplots@table@PTR@x}% + \fi + \ifx\pgfplots@plot@tbl@y\pgfutil@empty + \pgfplotstablereadgetptrtocolindex{\pgfplots@plot@tbl@yindex}{\pgfplots@table@PTR@y}% + \else + \pgfplotstablereadgetptrtocolname{\pgfplots@plot@tbl@y}{\pgfplots@table@PTR@y}% + \fi + \fi + \pgfplotstablereadevalptr\pgfplots@table@PTR@x\pgfplots@current@point@x + \pgfplotstablereadevalptr\pgfplots@table@PTR@y\pgfplots@current@point@y +}% +\def\pgfplots@addplotimpl@table@fromfile@listener@witherrors{% + \pgfplots@addplotimpl@table@fromfile@listener@ + % + \ifx\pgfplots@table@ERRPTR@x\pgfutil@empty + % this here is only evaluated ONCE. + \ifx\pgfplots@plot@tbl@error@x\pgfutil@empty + \ifx\pgfplots@plot@tbl@error@xindex\pgfutil@empty + \let\pgfplots@table@ERRPTR@x=\relax% + \else + \pgfplotstablereadgetptrtocolindex{\pgfplots@plot@tbl@error@xindex}{\pgfplots@table@ERRPTR@x}% + \fi + \else + \pgfplotstablereadgetptrtocolname{\pgfplots@plot@tbl@error@x}{\pgfplots@table@ERRPTR@x}% + \fi + \ifx\pgfplots@plot@tbl@error@y\pgfutil@empty + \ifx\pgfplots@plot@tbl@error@yindex\pgfutil@empty + \let\pgfplots@table@ERRPTR@y=\relax% + \else + \pgfplotstablereadgetptrtocolindex{\pgfplots@plot@tbl@error@yindex}{\pgfplots@table@ERRPTR@y}% + \fi + \else + \pgfplotstablereadgetptrtocolname{\pgfplots@plot@tbl@error@y}{\pgfplots@table@ERRPTR@y}% + \fi + \fi + \ifx\relax\pgfplots@table@ERRPTR@x + \let\addplot@tbl@error@cur@x=\pgfutil@empty + \else + \pgfplotstablereadevalptr\pgfplots@table@ERRPTR@x\addplot@tbl@error@cur@x + \fi + \ifx\relax\pgfplots@table@ERRPTR@y + \let\addplot@tbl@error@cur@y=\pgfutil@empty + \else + \pgfplotstablereadevalptr\pgfplots@table@ERRPTR@y\addplot@tbl@error@cur@y + \fi + \edef\pgfplots@current@point{(\pgfplots@current@point@x,\pgfplots@current@point@y)+-(\addplot@tbl@error@cur@x,\addplot@tbl@error@cur@y)}% + \expandafter\pgfplotsapplistXXglobalpushback\expandafter{\pgfplots@current@point}% +}% + +% #1: arguments to \addplot plot[#1] +% -> these are called 'behavior' options in the manual; they are set +% immediately. +\def\pgfplots@start@plot@with@behavioroptions#1{% \begingroup \def\pgfplots@current@point@coordindex{0}% can be used inside of coordinate filters. \def\coordindex{\pgfplots@current@point@coordindex}% valid inside of \addplot @@ -2254,15 +2764,14 @@ \else \pgfplots@execute@at@begin@plot \fi - \ifpgfplots@stackedmode - \pgfplots@stacked@beginplot - \fi - \pgfplots@rememberplotspec{#1}% - \def\pgfplots@addplot@nonlegend@options{#2}% + \def\pgfplots@addplot@nonlegend@options{#1}% \ifx\pgfplots@addplot@nonlegend@options\pgfutil@empty \else - \pgfqkeys{/tikz}{#2}% + \pgfplotsset{#1}% \fi + % these styles may contain behavior options (error bars, + % samples,... ) activate them! + \pgfplotsset{/pgfplots/every axis plot,/pgfplots/every axis plot no \the\pgfplots@numplots/.try}% } % Initialises @@ -2279,92 +2788,117 @@ % would yield #2 =' -- (0,0)' % \long\def\pgfplots@PREPARE@COORD@STREAM#1#2{% - \ifpgfplots@errorbars@enabled - \pgfplots@streamerrorbar@recordto{\pgfplots@recordederrorbar}% - \pgfplots@streamerrorbarstart - \else - \let\pgfplots@recordederrorbar=\pgfutil@empty - \fi - \pgfplots@coord@stream@INIT\pgfplots@coord@stream@recorded - % - % make sure that \pgfplots@coord@stream@end@@ is called at the end - % of the lately prepare end-stream method. - \expandafter\def\expandafter\pgfplots@coord@stream@end@\expandafter{% - \pgfplots@coord@stream@end@ - \pgfplots@coord@stream@end@@ - \pgfplots@end@plot + \def\pgfplots@coord@stream@start@{% + \pgfplotsapplistXXnewempty + \ifpgfplots@errorbars@enabled + \pgfplots@streamerrorbar@recordto{\pgfplots@recordederrorbar}% + \pgfplots@streamerrorbarstart + \else + \let\pgfplots@recordederrorbar=\pgfutil@empty + \fi + \ifpgfplots@stackedmode + \pgfplots@stacked@beginplot + \fi + % + %\let\pgfplots@coord@stream@recorded=\pgfutil@empty + % }% - \def\pgfplots@coord@stream@end@@{% + \let\pgfplots@coord@stream@coord@=\pgfplots@process@one@point + \def\pgfplots@coord@stream@end@{% \ifpgfplots@errorbars@enabled \pgfplots@streamerrorbarend \fi - % Idea: use - % \scope[plot specification] - % <any paths for error bars> - % \endscope - % \draw plot coordinates {...}; - % to share plot specifications between error bars and plot - % coordinates. Unfortunately, it is NOT sufficient to use - % \tikzset{#1} - \edef\pgfplots@TMP{/pgfplots/every axis plot,/pgfplots/every axis plot no \the\pgfplots@numplots/.try}% - \pgfplotslist@TOK@a=\expandafter{\pgfplots@TMP,#1,/pgfplots/every axis plot post}% - % Assemble a - % \pgfplots@addplot@enqueue@coords{}{}...{} - % statement with correct arguments: - \ifx\pgfplots@recordederrorbar\pgfutil@empty - \let\pgfplots@TMPB=\pgfutil@empty% + \ifpgfplots@coord@stream@isfirst + \pgfplots@warning{Empty plot silently dropped.}% \else - \pgfplotslist@TOK@b=\expandafter{\pgfplots@recordederrorbar}% - \def\pgfplots@TMPB{% - \noexpand\pgfplots@errorbars@finishwithstyleoptions[\the\pgfplotslist@TOK@a]{\the\pgfplotslist@TOK@b}% - }% - \fi - \ifpgfplots@datascaletrafo@initialised - \pgfplots@addplot@get@named@startendpoints@command\pgfplots@TMP - \pgfplots@toka=\expandafter{\pgfplots@TMP}% - \else - \pgfplots@toka={}% - \fi - \edef\pgfplots@TMP{% - \noexpand\pgfplots@addplot@enqueue@coords - { - \noexpand\def\noexpand\plotnum{\the\pgfplots@numplots}% - \noexpand\pgfplots@initzerolevelhandler - \the\pgfplots@toka% named start/end points - \noexpand\tikzstyle{current plot style}=[\the\pgfplotslist@TOK@a]% - \pgfplots@TMPB% error bar commands + \ifpgfplots@stackedmode + \pgfplots@stacked@endplot + \fi + % Idea: use + % \scope[plot specification] + % <any paths for error bars> + % \endscope + % \draw plot coordinates {...}; + % to share plot specifications between error bars and plot + % coordinates. Unfortunately, it is NOT sufficient to use + % \tikzset{#1} + \edef\pgfplots@addplot@preoptionsTMP{/pgfplots/every axis plot,/pgfplots/every axis plot no \the\pgfplots@numplots/.try}% + \expandafter\pgfplots@rememberplotspec\expandafter{\pgfplots@addplot@preoptionsTMP,#1,/pgfplots/every axis plot post}% + % warning: rememberplotspec calls list macros which + % overwrite \t@pgfplots@toka + \t@pgfplots@toka=\expandafter{\pgfplots@addplot@preoptionsTMP,#1,/pgfplots/every axis plot post}% + \xdef\pgfplots@last@plot@style{\the\t@pgfplots@toka}% store it for \label commands. + % ATTENTION: do NOT call list macros from here on! + % + \ifpgfplots@datascaletrafo@initialised + \pgfplots@addplot@get@named@startendpoints@command\pgfplots@loc@TMPa + \t@pgfplots@tokc=\expandafter{\pgfplots@loc@TMPa}% + \else + \t@pgfplots@tokc={}% + \fi + \ifx\pgfplots@recordederrorbar\pgfutil@empty + \let\pgfplots@loc@TMPb=\pgfutil@empty% + \else + \t@pgfplots@tokb=\expandafter{\pgfplots@recordederrorbar}% + \def\pgfplots@loc@TMPb{% + \noexpand\pgfplots@errorbars@finishwithstyleoptions[current plot style]{\the\t@pgfplots@tokb}% + }% + \fi + % assembe a \pgfplots@addplot@enqueue@coords command ... + % BEGIN HERE ... + % vvvvvvvvvv + \xdef\pgfplots@glob@TMPa{% + \noexpand\pgfplots@addplot@enqueue@coords + {% precommand: + \noexpand\def\noexpand\plotnum{\the\pgfplots@numplots}% + \noexpand\pgfplots@initzerolevelhandler + \the\t@pgfplots@tokc% named start/end points (if already available) + \noexpand\pgfkeysdef{/tikz/current plot style}{\noexpand\pgfkeysalso{\the\t@pgfplots@toka}}% + \pgfplots@loc@TMPb% error bar commands + }% + {% draw command: + \noexpand\draw% + }% }% - {% - \noexpand\draw[current plot style]% + \pgfplotsapplistXXlet\pgfplots@coord@stream@recorded + \pgfplotsapplistXXclear + \t@pgfplots@tokc=\expandafter{\pgfplots@coord@stream@recorded}% + \t@pgfplots@tokb={#2;}% + \t@pgfplots@toka=\expandafter{\pgfplots@glob@TMPa}% + \xdef\pgfplots@glob@TMPa{% + \the\t@pgfplots@toka + {% coordinates which need to be processed in \endaxis: + plot coordinates {\the\t@pgfplots@tokc}\the\t@pgfplots@tokb + }% + {% postcommand + }% }% - }% - \expandafter\pgfplots@TMP\expandafter{\pgfplots@coord@stream@recorded #2;}% - {}% + \pgfplots@glob@TMPa + %^^^^^^^^^^^^ ... END of \pgfplots@addplot@enqueue@coords HERE + \pgfplots@end@plot + \fi }% }% \def\pgfplots@end@plot{% \global\advance\pgfplots@numplots by1\relax% - \ifpgfplots@stackedmode - \pgfplots@stacked@endplot - \fi \ifx\pgfplots@execute@at@end@plot\pgfutil@empty \else \pgfplots@execute@at@end@plot \fi - \global\let\pgfplots@TMP=\relax + \global\let\pgfplots@glob@TMPa=\relax \ifpgfplots@collect@firstplot@astick \ifnum\pgfplots@numplots=1\relax - \pgfplotslist@TOK@a=\expandafter{\pgfplots@firstplot@coords@x}% - \pgfplotslist@TOK@b=\expandafter{\pgfplots@firstplot@coords@y}% - \xdef\pgfplots@TMP{% - \noexpand\def\noexpand\pgfplots@firstplot@coords@x{\the\pgfplotslist@TOK@a}% - \noexpand\def\noexpand\pgfplots@firstplot@coords@y{\the\pgfplotslist@TOK@b}% + \t@pgfplots@toka=\expandafter{\pgfplots@firstplot@coords@x}% + \t@pgfplots@tokb=\expandafter{\pgfplots@firstplot@coords@y}% + \xdef\pgfplots@glob@TMPa{% + \noexpand\def\noexpand\pgfplots@firstplot@coords@x{\the\t@pgfplots@toka}% + \noexpand\def\noexpand\pgfplots@firstplot@coords@y{\the\t@pgfplots@tokb}% }% \fi \fi \endgroup - \pgfplots@TMP% see above + \pgfplots@glob@TMPa% see above } % #1: arguments to \addplot[...] @@ -2388,12 +2922,15 @@ }% \def\pgfplots@streamerrorbar@recordto#1{% - \def\pgfplots@streamerrorbarstart{\let#1=\pgfutil@empty}% - \def\pgfplots@streamerrorbarend{}% + \def\pgfplots@streamerrorbarstart{% + \pgfplotsapplistXnewempty\pgfplots@streamerrorbar@recordto@@ + }% + \def\pgfplots@streamerrorbarend{% + \pgfplotsapplistXlet#1=\pgfplots@streamerrorbar@recordto@@ + \pgfplotsapplistXnewempty\pgfplots@streamerrorbar@recordto@@% clear + }% \def\pgfplots@streamerrorbarcoords##1##2{% - \expandafter\def\expandafter#1\expandafter{#1% - \pgfplots@errorbar@draw{##1}{##2}% - }% + \pgfplotsapplistXpushback{\pgfplots@errorbar@draw{##1}{##2}}\to\pgfplots@streamerrorbar@recordto@@ }% } \def\pgfplots@streamerrorbar@directdraw{% @@ -2416,97 +2953,148 @@ % clipping region. % % PRECONDITIONS: -% - 'floating point numerics active' -% => coordinate filtering is active -% => #1 and/or #2 are in floating point format -% - no coordinate filters active -% => #1 and #2 MAY be macros, but they must be valid TeX -% length (without unit). +% - the input coordinates have been parsed correctly (floating point +% format for linear axis, log applied for logarithmic ones) +% % #3= error for x coord (or empty) % #4= error for y coord (or empty) \long\def\pgfplots@update@limits@for@one@point#1#2#3#4{% %\tracingmacros=2\tracingcommands=2 %\pgfplots@message{Updating limits for (#1,#2) ...}% - \pgfplots@update@limits@for@one@point@ISCLIPPEDfalse - \ifpgfplots@clip@limits - \ifpgfplots@autocompute@xlim + \ifpgfplots@autocomputeanylimits + \pgfplots@update@limits@for@one@point@ISCLIPPEDfalse + \ifpgfplots@autocompute@all@limits \else - \ifpgfplots@float@numerics@mode@x - \pgfmathfloatlessthan@{#1}{\pgfplots@xmin}% - \ifpgfmathfloatcomparison - \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + % check whether we need to clip limits: + \ifpgfplots@clip@limits + \ifpgfplots@autocompute@xmin + \else + \ifpgfplots@xislinear + \pgfmathfloatlessthan@{#1}{\pgfplots@xmin}% + \ifpgfmathfloatcomparison + \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \fi + \else + \pgfmathlessthan@{#1}{\pgfplots@xmin}% + \ifx\pgfmathresult\pgfplots@math@ONE + \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \fi + \fi \fi - \pgfmathfloatlessthan@{\pgfplots@xmax}{#1}% - \ifpgfmathfloatcomparison - \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \ifpgfplots@autocompute@xmax + \else + \ifpgfplots@xislinear + \pgfmathfloatlessthan@{\pgfplots@xmax}{#1}% + \ifpgfmathfloatcomparison + \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \fi + \else + \pgfmathlessthan@{\pgfplots@xmax}{#1}% + \ifx\pgfmathresult\pgfplots@math@ONE + \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \fi + \fi \fi - \else - \pgfmathlessthan@{#1}{\pgfplots@xmin}% - \ifx\pgfmathresult\pgfplots@math@ONE - \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \ifpgfplots@autocompute@ymin + \else + \ifpgfplots@yislinear + \pgfmathfloatlessthan@{#2}{\pgfplots@ymin}% + \ifpgfmathfloatcomparison + \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \fi + \else + \pgfmathlessthan@{#2}{\pgfplots@ymin}% + \ifx\pgfmathresult\pgfplots@math@ONE + \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \fi + \fi \fi - \pgfmathlessthan@{\pgfplots@xmax}{#1}% - \ifx\pgfmathresult\pgfplots@math@ONE - \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \ifpgfplots@autocompute@ymax + \else + \ifpgfplots@yislinear + \pgfmathfloatlessthan@{\pgfplots@ymax}{#2}% + \ifpgfmathfloatcomparison + \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \fi + \else + \pgfmathlessthan@{\pgfplots@ymax}{#2}% + \ifx\pgfmathresult\pgfplots@math@ONE + \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \fi + \fi \fi \fi \fi - \ifpgfplots@autocompute@ylim + % + % + % + % Update limits: + \ifpgfplots@update@limits@for@one@point@ISCLIPPED \else - \ifpgfplots@float@numerics@mode@y - \pgfmathfloatlessthan@{#2}{\pgfplots@ymin}% - \ifpgfmathfloatcomparison - \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \ifpgfplots@autocompute@xmin + \ifpgfplots@xislinear + \pgfmathfloatmin@{\pgfplots@xmin}{#1}% + \global\let\pgfplots@xmin=\pgfmathresult + \else + \pgfmathmin@{\pgfplots@xmin}{#1}% + \global\let\pgfplots@xmin=\pgfmathresult \fi - \pgfmathfloatlessthan@{\pgfplots@ymax}{#2}% - \ifpgfmathfloatcomparison - \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \fi + \ifpgfplots@autocompute@xmax + \ifpgfplots@xislinear + \pgfmathfloatmax@{\pgfplots@xmax}{#1}% + \global\let\pgfplots@xmax=\pgfmathresult + \else + \pgfmathmax@{\pgfplots@xmax}{#1}% + \global\let\pgfplots@xmax=\pgfmathresult \fi - \else - \pgfmathlessthan@{#2}{\pgfplots@ymin}% - \ifx\pgfmathresult\pgfplots@math@ONE - \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \fi + \ifpgfplots@autocompute@ymin + \ifpgfplots@yislinear + \pgfmathfloatmin@{\pgfplots@ymin}{#2}% + \global\let\pgfplots@ymin=\pgfmathresult + \else + \pgfmathmin@{\pgfplots@ymin}{#2}% + \global\let\pgfplots@ymin=\pgfmathresult \fi - \pgfmathlessthan@{\pgfplots@ymax}{#2}% - \ifx\pgfmathresult\pgfplots@math@ONE - \pgfplots@update@limits@for@one@point@ISCLIPPEDtrue + \fi + \ifpgfplots@autocompute@ymax + \ifpgfplots@yislinear + \pgfmathfloatmax@{\pgfplots@ymax}{#2}% + \global\let\pgfplots@ymax=\pgfmathresult + \else + \pgfmathmax@{\pgfplots@ymax}{#2}% + \global\let\pgfplots@ymax=\pgfmathresult \fi \fi \fi \fi - \ifpgfplots@update@limits@for@one@point@ISCLIPPED + % + % Compute data range: + \ifpgfplots@autocompute@all@limits + \global\let\pgfplots@data@xmin=\pgfplots@xmin + \global\let\pgfplots@data@xmax=\pgfplots@xmax + \global\let\pgfplots@data@ymin=\pgfplots@ymin + \global\let\pgfplots@data@ymax=\pgfplots@ymax \else - \ifpgfplots@autocompute@xlim - \ifpgfplots@float@numerics@mode@x - \pgfmathfloatmin@{\pgfplots@xmin}{#1}% - \global\let\pgfplots@xmin=\pgfmathresult - \pgfmathfloatmax@{\pgfplots@xmax}{#1}% - \global\let\pgfplots@xmax=\pgfmathresult - \else - \pgfmathmin@{\pgfplots@xmin}{#1}% - \global\let\pgfplots@xmin=\pgfmathresult - \pgfmathmax@{\pgfplots@xmax}{#1}% - \global\let\pgfplots@xmax=\pgfmathresult - \fi + % Attention: it is only done for linear axis! + \ifpgfplots@xislinear + \pgfmathfloatmin@{\pgfplots@data@xmin}{#1}% + \global\let\pgfplots@data@xmin=\pgfmathresult + \pgfmathfloatmax@{\pgfplots@data@xmax}{#1}% + \global\let\pgfplots@data@xmax=\pgfmathresult \fi - \ifpgfplots@autocompute@ylim - \ifpgfplots@float@numerics@mode@y - \pgfmathfloatmin@{\pgfplots@ymin}{#2}% - \global\let\pgfplots@ymin=\pgfmathresult - \pgfmathfloatmax@{\pgfplots@ymax}{#2}% - \global\let\pgfplots@ymax=\pgfmathresult - \else - \pgfmathmin@{\pgfplots@ymin}{#2}% - \global\let\pgfplots@ymin=\pgfmathresult - \pgfmathmax@{\pgfplots@ymax}{#2}% - \global\let\pgfplots@ymax=\pgfmathresult - \fi + \ifpgfplots@yislinear + \pgfmathfloatmin@{\pgfplots@data@ymin}{#2}% + \global\let\pgfplots@data@ymin=\pgfmathresult + \pgfmathfloatmax@{\pgfplots@data@ymax}{#2}% + \global\let\pgfplots@data@ymax=\pgfmathresult \fi - \global\pgfplots@limits@are@computedtrue \fi %\pgfplots@message{Updated limits: (\pgfplots@xmin,\pgfplots@ymin) rectangle (\pgfplots@xmax,\pgfplots@ymax).}% %\tracingmacros=0\tracingcommands=0 } +\let\pgfplots@update@limits@for@one@point@orig=\pgfplots@update@limits@for@one@point \def\pgfplots@invoke@filter#1#2{% \pgfkeysvalueof{/pgfplots/#2 filter/.@cmd}#1\pgfeov% @@ -2523,6 +3111,32 @@ \expandafter\pgfplots@invoke@filter\expandafter{\pgfmathresult}{y}% \let\pgfplots@current@point@y=\pgfmathresult % + \ifpgfplots@xislinear + \ifx\pgfplots@current@point@x\pgfutil@empty + \else + \pgfmathfloatparsenumber{\pgfplots@current@point@x}% + \expandafter\pgfmathfloat@decompose@F\pgfmathresult\relax\c@pgf@counta + \ifnum\c@pgf@counta>2 + \let\pgfplots@current@point@x=\pgfutil@empty + \else + \let\pgfplots@current@point@x=\pgfmathresult + \fi + \fi + \fi + % + \ifpgfplots@yislinear + \ifx\pgfplots@current@point@y\pgfutil@empty + \else + \pgfmathfloatparsenumber{\pgfplots@current@point@y}% + \expandafter\pgfmathfloat@decompose@F\pgfmathresult\relax\c@pgf@counta + \ifnum\c@pgf@counta>2 + \let\pgfplots@current@point@y=\pgfutil@empty + \else + \let\pgfplots@current@point@y=\pgfmathresult + \fi + \fi + \fi + % \ifx\pgfplots@current@point@x\pgfutil@empty \ifpgfplots@warn@for@filter@discards \pgfplots@message{NOTE: coordinate (#1,#2) has been dropped because of the x-coordinate filter.}% @@ -2533,15 +3147,8 @@ \pgfplots@message{NOTE: coordinate (#1,#2) has been dropped because of the y-coordinate filter.}% \fi \else + % \ifpgfplots@apply@datatrafo - \ifpgfplots@apply@datatrafo@x - \pgfmathfloatparsenumber{\pgfplots@current@point@x}% - \let\pgfplots@current@point@x=\pgfmathresult - \fi - \ifpgfplots@apply@datatrafo@y - \pgfmathfloatparsenumber{\pgfplots@current@point@y}% - \let\pgfplots@current@point@y=\pgfmathresult - \fi \ifpgfplots@datascaletrafo@initialised % apply data transformation directly. \ifpgfplots@apply@datatrafo@x @@ -2561,34 +3168,38 @@ \pgfplots@stacked@preparepoint@inmacro{\pgfplots@current@point@x}{\pgfplots@current@point@y}% \ifpgfplots@datascaletrafo@initialised% is also true if there is no scale trafo. \pgfplots@stacked@finishpoint{\pgfplots@current@point@x}{\pgfplots@current@point@y}% + \else + % the finishpoint routine will be invoked at + % \endaxis. \fi \fi - \ifpgfplots@autocomputelimits - % update also axis limits: - \pgfplots@update@limits@for@one@point{\pgfplots@current@point@x}{\pgfplots@current@point@y}{}{}% - \fi + % update also axis / data limits: + \pgfplots@update@limits@for@one@point{\pgfplots@current@point@x}{\pgfplots@current@point@y}{}{}% \ifpgfplots@errorbars@enabled \pgfplots@process@errorbar@for{\pgfplots@current@point@x}{\pgfplots@current@point@y}{#3}{#4}{#1}{#2}% \fi - \pgfplots@toka=\expandafter{\pgfplots@coord@stream@recorded}% - \edef\pgfplots@coord@stream@recorded{\the\pgfplots@toka (\pgfplots@current@point@x,\pgfplots@current@point@y)}% + % + \edef\pgfplots@loc@TMPa{(\pgfplots@current@point@x,\pgfplots@current@point@y)}% + \expandafter\pgfplotsapplistXXpushback\expandafter{\pgfplots@loc@TMPa}% + %\t@pgfplots@tokc=\expandafter{\pgfplots@coord@stream@recorded}% + %\edef\pgfplots@coord@stream@recorded{\the\t@pgfplots@tokc (\pgfplots@current@point@x,\pgfplots@current@point@y)}% + % \ifpgfplots@collect@firstplot@astick \ifnum\pgfplots@numplots=0 \ifx\pgfplots@firstplot@coords@x\pgfutil@empty - \pgfplots@toka=\expandafter{}% + \t@pgfplots@tokc=\expandafter{}% \else - \pgfplots@toka=\expandafter{\pgfplots@firstplot@coords@x,}% + \t@pgfplots@tokc=\expandafter{\pgfplots@firstplot@coords@x,}% \fi - \edef\pgfplots@firstplot@coords@x{\the\pgfplots@toka\pgfplots@current@point@x}% + \edef\pgfplots@firstplot@coords@x{\the\t@pgfplots@tokc\pgfplots@current@point@x}% \ifx\pgfplots@firstplot@coords@y\pgfutil@empty - \pgfplots@toka=\expandafter{}% + \t@pgfplots@tokc=\expandafter{}% \else - \pgfplots@toka=\expandafter{\pgfplots@firstplot@coords@y,}% + \t@pgfplots@tokc=\expandafter{\pgfplots@firstplot@coords@y,}% \fi - \edef\pgfplots@firstplot@coords@y{\the\pgfplots@toka\pgfplots@current@point@y}% + \edef\pgfplots@firstplot@coords@y{\the\t@pgfplots@tokc\pgfplots@current@point@y}% \fi \fi -%\pgfplots@message{FILTERING: appended \pgfplots@current@point@x,\pgfplots@current@point@y}% -> results in \pgfplots@coord@stream@recorded}% \fi \fi % @@ -2610,9 +3221,9 @@ % % FIXME: REPLACE THIS HERE WITH METHODS OF THE VISUALIZATION FRAMEWORK \newif\ifpgfplots@coord@stream@isfirst -\def\pgfplots@coord@stream@start{ +\def\pgfplots@coord@stream@start{% \pgfplots@coord@stream@isfirsttrue - \pgfplots@coord@stream@start@} + \pgfplots@coord@stream@start@}% \def\pgfplots@coord@stream@end{\pgfplots@coord@stream@end@} % Will be invoked for every point coordinate. @@ -2627,12 +3238,24 @@ \def\pgfplots@coord@stream@coord#1#2#3#4{% \pgfplots@coord@stream@coord@{#1}{#2}{#3}{#4}% \ifpgfplots@coord@stream@isfirst - \let\pgfplots@currentplot@firstcoord@x=\pgfplots@current@point@x - \let\pgfplots@currentplot@firstcoord@y=\pgfplots@current@point@y - \pgfplots@coord@stream@isfirstfalse + \ifx\pgfplots@currentplot@firstcoord@x\pgfutil@empty + \else + \ifx\pgfplots@currentplot@firstcoord@y\pgfutil@empty + \else + \let\pgfplots@currentplot@firstcoord@x=\pgfplots@current@point@x + \let\pgfplots@currentplot@firstcoord@y=\pgfplots@current@point@y + \pgfplots@coord@stream@isfirstfalse + \fi + \fi + \fi + \ifx\pgfplots@current@point@x\pgfutil@empty + \else + \ifx\pgfplots@current@point@y\pgfutil@empty + \else + \let\pgfplots@currentplot@lastcoord@x=\pgfplots@current@point@x + \let\pgfplots@currentplot@lastcoord@y=\pgfplots@current@point@y + \fi \fi - \let\pgfplots@currentplot@lastcoord@x=\pgfplots@current@point@x - \let\pgfplots@currentplot@lastcoord@y=\pgfplots@current@point@y }% % A looping method which applies @@ -2656,114 +3279,202 @@ \pgfplots@coord@stream@end }% -% Processes coordinates and writes a new, modified 'plot coordinates' -% command to macro #1. -% #1: macro name for processed coordinates. -% -% Please note that it may be necessary to process the same coordinates -% once more at the end of an axis - see -% pgfplots@coord@stream@finalize@storedcoords@START -\def\pgfplots@coord@stream@INIT#1{% - \def\pgfplots@coord@stream@start@{% - \let\pgfplots@coord@stream@recorded=\pgfutil@empty - }% - \def\pgfplots@coord@stream@end@{% - \pgfplots@toka=\expandafter{\pgfplots@coord@stream@recorded}% - \edef#1{plot coordinates {\the\pgfplots@toka}}% - }% - \let\pgfplots@coord@stream@coord@=\pgfplots@process@one@point -} +% this is a convenience macro to save storage in the long coordinate +% lists. +\def\pgfplots@stream#1#2{\pgfplotstreampoint{\pgfqpoint{#1}{#2}}} +\newif\ifpgfplots@record@marker@stream % Takes a sequence of PREPARED coordinates which are given in floating -% point representation and applies the data scaling trafo. +% point representation and applies the data scaling trafo (if +% necessary). +% +% Any coordinate will be plotted with the selected PGF plot handler. % % This stream is designed to be done at the end of an axis. % See \pgfplots@coord@stream@finalize@storedcoords@START +% +% #1 : a macro which will be filled with a pgf plot stream for the +% marker points. \def\pgfplots@coord@stream@INIT@finalize@storedcoords#1{% + % + % Init the plot handlers: + \pgfplots@getcurrent@plothandler\pgfplots@basiclevel@plothandler + \pgfplots@gettikzinternal@keyval{mark}{tikz@plot@mark}{}% + % + \ifx\tikz@plot@mark\pgfutil@empty + % mark=none : no need to waste time collecting marker + % positions. + \pgfplots@record@marker@streamfalse + \else + \ifx\pgfplots@basiclevel@plothandler\pgfplothandlerdiscard + \ifpgfplots@clip@marker@paths + % only marks: draw markers directly; no need for the + % two-pass-approach. + \let\pgfplots@basiclevel@plothandler=\relax + \pgfplots@install@plotmark@handler + \pgfplots@record@marker@streamfalse + \else + % collect mark positions... they will be drawn after + % the clipped axis range. Clipping will only be + % applied to their *positions*, not their paths. + \pgfplots@record@marker@streamtrue + \fi + \else + % ok, mark!=none and we also have a plot handler. + % So, collect mark positions! + \pgfplots@record@marker@streamtrue + \fi + \fi + \gdef#1{}% + % + % Now, set up coordinate streams. \def\pgfplots@coord@stream@start@{% + \ifpgfplots@apply@datatrafo + \ifpgfplots@stackedmode + \pgfplots@stacked@beginplot + \fi + \fi + \pgfplots@basiclevel@plothandler + \pgfplotstreamstart \let\pgfplots@data@scaletrafo@result=\pgfutil@empty + \ifpgfplots@record@marker@stream + \pgfplotsapplistXXnewempty + \pgfplotsapplistXXpushback{\pgfplotstreamstart}% + %\gdef#1{\pgfplotstreamstart}% + \fi }% \def\pgfplots@coord@stream@end@{% - \let#1=\pgfplots@data@scaletrafo@result + \ifpgfplots@apply@datatrafo + \ifpgfplots@stackedmode + \pgfplots@stacked@endplot + \fi + \pgfplots@addplot@get@named@startendpoints@command\pgfplots@loc@TMPa + \pgfplots@loc@TMPa + \fi + \pgfplotstreamend + \ifpgfplots@record@marker@stream + \pgfplotsapplistXXpushback{\pgfplotstreamend}% + \pgfplotsapplistXXflushbuffers% + \global\let#1=\pgfplotsapplistXX + \pgfplotsapplistXXclear + %\expandafter\gdef\expandafter#1\expandafter{#1\pgfplotstreamend}% + \fi + }% + \ifpgfplots@apply@datatrafo + \def\pgfplots@coord@stream@coord@##1##2##3##4{% + \pgfplots@apply@data@scaletrafo@to@one@point{##1}{##2}{##3}{##4}% + \pgfplots@coord@stream@finalize@currentpt + }% + \else + \def\pgfplots@coord@stream@coord@##1##2##3##4{% + \def\pgfplots@current@point@x{##1}% + \def\pgfplots@current@point@y{##2}% + \pgfplots@coord@stream@finalize@currentpt + }% + \fi + % + \def\pgfplots@coord@stream@finalize@currentpt{% + \pgfqpointxy{\pgfplots@current@point@x}{\pgfplots@current@point@y}% + \ifpgfplots@record@marker@stream + \ifdim\pgf@x<\pgfplots@xcoordminTEX + \else + \ifdim\pgf@x>\pgfplots@xcoordmaxTEX + \else + \ifdim\pgf@y<\pgfplots@ycoordminTEX + \else + \ifdim\pgf@y>\pgfplots@ycoordmaxTEX + \else + \edef\pgfmathresult{\noexpand\pgfplots@stream{\the\pgf@x}{\the\pgf@y}}% + \expandafter\pgfplotsapplistXXpushback\expandafter{\pgfmathresult}% + \fi + \fi + \fi + \fi + \fi + \pgfplotstreampoint{}% it will simply take \pgf@x and \pgf@y! }% - \let\pgfplots@coord@stream@coord@=\pgfplots@apply@data@scaletrafo@to@one@point } - \def\pgfplots@addplot@get@named@startendpoints@command#1{% \edef#1{% - \noexpand\path - (\pgfplots@currentplot@firstcoord@x,\pgfplots@currentplot@firstcoord@y) coordinate (current plot begin) - (\pgfplots@currentplot@lastcoord@x,\pgfplots@currentplot@lastcoord@y) coordinate (current plot end) - ; + \noexpand\pgfcoordinate{current plot begin}{\noexpand\pgfqpointxy{\pgfplots@currentplot@firstcoord@x}{\pgfplots@currentplot@firstcoord@y}}% + \noexpand\pgfcoordinate{current plot end}{\noexpand\pgfqpointxy{\pgfplots@currentplot@lastcoord@x}{\pgfplots@currentplot@lastcoord@y}}% }% }% % INPUT: -% a sequence of points (SMeE,SMeE) (terminated with ';') -% where S=sign, M=mantisse, E = exponent. -% Such input is generated in the case pgfplots@apply@datatrafotrue -% by the coordinate filters. -% OUTPUT: -% proper sequence of fixed point coordinates which are the result of the -% data scaling transformation (\pgfplots@datascaletrafo@x). +% either floating point or fixed point coordinates (depending on the +% state of the \ifpgfplots@apply@datatrafo boolean) % -% The output will be written into the macro #3 -\long\def\pgfplots@coord@stream@finalize@storedcoords@START plot coordinates #1#2;\to#3{% - \pgfplots@coord@stream@finalize@storedcoords@START@ plot coordinates {#1}#2;\to#3 - \ifpgfplots@errorbars@enabled - \pgfplots@errorbars@finishwithstyleoptions[current plot style]{\pgfplots@recordederrorbar}% - \fi - \pgfplots@addplot@get@named@startendpoints@command\pgfplots@TMP - \pgfplots@TMP -}% -\long\def\pgfplots@coord@stream@finalize@storedcoords@START@ plot coordinates #1#2;\to#3{% - \ifpgfplots@stackedmode - \pgfplots@stacked@beginplot - \fi - \pgfplots@coord@stream@INIT@finalize@storedcoords#3 - \ifpgfplots@errorbars@enabled - \pgfplots@streamerrorbar@recordto{\pgfplots@recordederrorbar}% - \pgfplots@streamerrorbarstart - \fi +\long\def\pgfplots@coord@stream@finalize@storedcoords@START plot coordinates #1#2;\pgfplots@EOI{% + \pgfplots@assert@tikzinternal@exists{tikz@make@last@position}% + \pgfplots@stored@current@cmd[current plot style] + \pgfextra + \tikzset{every plot/.try}% + \pgfplots@coord@stream@INIT@finalize@storedcoords\pgfplots@recorded@marker@stream% \pgfplots@coord@stream@foreach{#1}% - \ifpgfplots@stackedmode - \pgfplots@stacked@endplot - \fi - \pgfplots@toka=\expandafter{#3}% - \pgfplotslist@TOK@a={#2}% - \edef#3{plot coordinates {\the\pgfplots@toka}\the\pgfplotslist@TOK@a;}% - \ifpgfplots@errorbars@enabled - \pgfplots@streamerrorbarend + \tikz@make@last@position{\pgfplotlastpoint}% + \endpgfextra + #2; + \ifx\pgfplots@recorded@marker@stream\pgfutil@empty + \else + \ifpgfplots@clip@marker@paths + % Draw markers on top of the plot lines: + % + % FIXME: inefficient! Use \scope to set variables of 'current plot style' !? + \pgfplots@stored@current@cmd[current plot style] + \pgfextra + \pgfplots@install@plotmark@handler + \pgfplots@recorded@marker@stream + \endpgfextra + ; + \else + % sigh... ok, store the marker list (once more again). + % They need to be drawn after the clipped area. + \pgfplots@stored@REMEMBER@MARK@COMMAND + \fi \fi + \gdef\pgfplots@recorded@marker@stream{}% clear }% -% does the same job, but it does not execute any drawing commands. -% -% Instead, it generates a macro #4 which - if used as "precommand" -% befor a draw operation - restores all required options and performs -% pre-drawing. -\long\def\pgfplots@coord@stream@finalize@storedcoords@START@dryrun plot coordinates #1#2;\to#3#4{% - \pgfplots@coord@stream@finalize@storedcoords@START@ plot coordinates {#1}#2;\to#3 - \ifpgfplots@stackedmode - \pgfplots@stacked@savestateto\pgfplots@TMP - \pgfplotslist@TOK@a=\expandafter{\pgfplots@TMP}% - \else - \pgfplotslist@TOK@a={}% - \fi - \pgfplots@addplot@get@named@startendpoints@command\pgfplots@TMP - \pgfplots@toka=\expandafter{\pgfplots@TMP}% - \ifpgfplots@errorbars@enabled - \pgfplotslist@TOK@b=\expandafter{\pgfplots@recordederrorbar}% - \edef#4{% - \the\pgfplots@toka - \the\pgfplotslist@TOK@a - \noexpand\pgfplots@errorbars@finishwithstyleoptions[current plot style]{\the\pgfplotslist@TOK@b}% - }% +% This method MUST be called while \pgfplots@stored@plotlist is +% evaluated, that means +% - \pgfplots@stored@* commands need to be valid, +% - the precommand has already been invoked. +% - pgfplots@recorded@marker@stream exists +% - current plot style is valid +\def\pgfplots@stored@REMEMBER@MARK@COMMAND{% + \pgfkeysgetvalue{/tikz/current plot style/.@cmd}{\pgfplots@loc@TMPa}% + \t@pgfplots@toka=\expandafter{\pgfplots@loc@TMPa\pgfeov}% + \t@pgfplots@tokb=\expandafter{\pgfplots@stored@current@cmd[current plot style]}% + \t@pgfplots@tokc=\expandafter{\pgfplots@recorded@marker@stream}% + \edef\pgfplots@loc@TMPa{% + \noexpand\pgfkeysdef{/tikz/current plot style}{\the\t@pgfplots@toka}% + \the\t@pgfplots@tokb + \noexpand\pgfextra + \noexpand\pgfplots@install@plotmark@handler + \the\t@pgfplots@tokc + \noexpand\endpgfextra + ;}% + \expandafter\pgfplotslistpushbackglobal\expandafter{\pgfplots@loc@TMPa}\to\pgfplots@stored@markerlist +}% + +\def\pgfplots@install@plotmark@handler{% + \pgfplots@assert@tikzinternal@exists{tikz@options}% + % note: I can't check on tikz@transform because it can be + % '\relax'. + \pgfplots@gettikzinternal@keyval{mark indices}{tikz@mark@list}{}% + \pgfplots@gettikzinternal@keyval{mark}{tikz@plot@mark}{}% + % + % do not reset \tikz@options: draw color may be acquired + % from 'current plot style' + %\let\tikz@options=\pgfutil@empty% + \let\tikz@transform=\pgfutil@empty% + \tikzset{every plot/.try,every mark}% + \tikz@options + \ifx\tikz@mark@list\pgfutil@empty% + \pgfplothandlermark{\tikz@transform\pgfuseplotmark{\tikz@plot@mark}}% \else - \edef#4{% - \the\pgfplots@toka - \the\pgfplotslist@TOK@a - }% + \pgfplothandlermarklisted{\tikz@transform\pgfuseplotmark{\tikz@plot@mark}}{\tikz@mark@list}% \fi }% @@ -2805,9 +3516,6 @@ \def\pgfplots@foreach@plot@coord@FINISH\pgfplots@EOI{} - -% for use in \ifx: -\def\pgfplots@EOI{\pgfplots@EOI}% % #1= x coord % #2= y coord @@ -2833,8 +3541,8 @@ \pgfplots@stacked@finishpoint{\pgfplots@current@point@x}{\pgfplots@current@point@y}% \pgfplots@stacked@rememberzerolevelpoint@for@next@plot{(\pgfplots@current@point@x,\pgfplots@current@point@y)}% \fi - \pgfplots@toka=\expandafter{\pgfplots@data@scaletrafo@result}% - \edef\pgfplots@data@scaletrafo@result{\the\pgfplots@toka(\pgfplots@current@point@x,\pgfplots@current@point@y)}% +% \t@pgfplots@tokc=\expandafter{\pgfplots@data@scaletrafo@result}% +% \edef\pgfplots@data@scaletrafo@result{\the\t@pgfplots@tokc(\pgfplots@current@point@x,\pgfplots@current@point@y)}% } % This thing here shall draw all error bar commands listed in '#2'. @@ -2843,8 +3551,7 @@ % means all limits are computed; the axis has been drawn, % transformations are set up...) \def\pgfplots@errorbars@finishwithstyleoptions[#1]#2{% - \scope[%/pgfplots/search path for tikz/.cd, - #1,/pgfplots/every error bar]% + \scope[/pgfplots/.cd,#1,/pgfplots/every error bar]% it used the /pgfplots/.unknown #2% \endscope } @@ -2868,9 +3575,9 @@ \def\pgfplots@yarg{#2}% \def\pgfplots@error@yarg{#4}% \fi - \edef\pgfplots@TMP{{(\pgfplots@xarg,\pgfplots@yarg)}{(\pgfplots@error@xarg,\pgfplots@error@yarg)}}% - \def\pgfplots@TMPB{\pgfkeysvalueof{/pgfplots/error bars/draw error bar/.@cmd}}% - \expandafter\pgfplots@TMPB\pgfplots@TMP\pgfeov + \edef\pgfplots@loc@TMPa{{(\pgfplots@xarg,\pgfplots@yarg)}{(\pgfplots@error@xarg,\pgfplots@error@yarg)}}% + \def\pgfplots@loc@TMPb{\pgfkeysvalueof{/pgfplots/error bars/draw error bar/.@cmd}}% + \expandafter\pgfplots@loc@TMPb\pgfplots@loc@TMPa\pgfeov } \def\pgfplots@errorbar@draw#1#2{% @@ -2894,11 +3601,11 @@ \def\pgfplots@yarg@unfiltered{#6}% \edef\pgfplots@error@xarg{#3}% \edef\pgfplots@error@yarg{#4}% - \def\pgfplots@TMP{0}% - \ifx\pgfplots@TMP\pgfplots@error@xarg + \def\pgfplots@loc@TMPa{0}% + \ifx\pgfplots@loc@TMPa\pgfplots@error@xarg \let\pgfplots@error@xarg=\pgfutil@empty \fi - \ifx\pgfplots@TMP\pgfplots@error@yarg + \ifx\pgfplots@loc@TMPa\pgfplots@error@yarg \let\pgfplots@error@yarg=\pgfutil@empty \fi % FIXME : INEFFICIENT! This code here does every computation @@ -2929,48 +3636,34 @@ % #3: an integer representing the argument #2. It is '1' if #2='+' % and '2' is #2 = '-'. \def\pgfplots@process@errorbar@@for#1#2#3{% - \expandafter\let\expandafter\ifpgfplots@is@datascaled\csname ifpgfplots@float@numerics@mode@#1\endcsname \csname ifpgfplots@#1islinear\endcsname \edef\pgfplots@error@src{\csname pgfplots@#1arg\endcsname}% \ifcase\csname pgfplots@errorbars@#1mode\endcsname % fixed absolute error. - \ifpgfplots@is@datascaled - \edef\pgfplots@error@coord{\csname pgfplots@errorbars@#1fixed\endcsname}% - \pgfmathfloatparsenumber{\pgfplots@error@coord}% - \let\pgfplots@error@coord=\pgfmathresult - \ifnum#3=1 - \pgfmathfloatadd@{\pgfplots@error@src}{\pgfplots@error@coord}% - \else - \pgfmathfloatsubtract@{\pgfplots@error@src}{\pgfplots@error@coord}% - \fi + \edef\pgfplots@error@coord{\csname pgfplots@errorbars@#1fixed\endcsname}% + \pgfmathfloatparsenumber{\pgfplots@error@coord}% + \let\pgfplots@error@coord=\pgfmathresult + \ifnum#3=1 + \pgfmathfloatadd@{\pgfplots@error@src}{\pgfplots@error@coord}% \else - \edef\pgfplots@error@coord{\csname pgfplots@errorbars@#1fixed\endcsname}% - \pgfmathparse{\pgfplots@error@src#2 \pgfplots@error@coord}% + \pgfmathfloatsubtract@{\pgfplots@error@src}{\pgfplots@error@coord}% \fi \let\pgfplots@error@coord=\pgfmathresult \or% fixed relative error: - \ifpgfplots@is@datascaled - \pgfmathparse{(1#2\csname pgfplots@errorbars@#1rel\endcsname)}% - \let\pgfplots@error@coord=\pgfmathresult - \pgfmathfloatmultiplyfixed@{\pgfplots@error@src}{\pgfplots@error@coord}% - \else - \pgfmathparse{\pgfplots@error@src*(1#2\csname pgfplots@errorbars@#1rel\endcsname)}% - \fi + \pgfmathparse{(1#2\csname pgfplots@errorbars@#1rel\endcsname)}% + \let\pgfplots@error@coord=\pgfmathresult + \pgfmathfloatmultiplyfixed@{\pgfplots@error@src}{\pgfplots@error@coord}% \let\pgfplots@error@coord=\pgfmathresult \or% explicit absolute: \edef\pgfplots@error@coord{\csname pgfplots@error@#1arg\endcsname}% \ifx\pgfplots@error@coord\pgfutil@empty \else - \ifpgfplots@is@datascaled - \pgfmathfloatparsenumber{\pgfplots@error@coord}% - \let\pgfplots@error@coord=\pgfmathresult - \ifnum#3=1 - \pgfmathfloatadd@{\pgfplots@error@src}{\pgfplots@error@coord}% - \else - \pgfmathfloatsubtract@{\pgfplots@error@src}{\pgfplots@error@coord}% - \fi + \pgfmathfloatparsenumber{\pgfplots@error@coord}% + \let\pgfplots@error@coord=\pgfmathresult + \ifnum#3=1 + \pgfmathfloatadd@{\pgfplots@error@src}{\pgfplots@error@coord}% \else - \pgfmathparse{\pgfplots@error@src#2 \pgfplots@error@coord}% + \pgfmathfloatsubtract@{\pgfplots@error@src}{\pgfplots@error@coord}% \fi \let\pgfplots@error@coord=\pgfmathresult \fi @@ -2978,13 +3671,9 @@ \edef\pgfplots@error@coord{\csname pgfplots@error@#1arg\endcsname}% \ifx\pgfplots@error@coord\pgfutil@empty \else - \ifpgfplots@is@datascaled - \pgfmathparse{(1#2\pgfplots@error@coord)}% - \let\pgfplots@error@coord=\pgfmathresult - \pgfmathfloatmultiplyfixed@{\pgfplots@error@src}{\pgfplots@error@coord}% - \else - \pgfmathparse{\pgfplots@error@src*(1#2\pgfplots@error@coord)}% - \fi + \pgfmathparse{(1#2\pgfplots@error@coord)}% + \let\pgfplots@error@coord=\pgfmathresult + \pgfmathfloatmultiplyfixed@{\pgfplots@error@src}{\pgfplots@error@coord}% \let\pgfplots@error@coord=\pgfmathresult \fi \fi @@ -3041,26 +3730,22 @@ \fi \ifx\pgfplots@error@coord\pgfutil@empty \else - \def\pgfplots@TMP{#1}% - \def\pgfplots@TMPB{x}% - \ifx\pgfplots@TMP\pgfplots@TMPB - \ifpgfplots@autocomputelimits - \pgfplots@update@limits@for@one@point{\pgfplots@error@coord}{\pgfplots@yarg}{}{}% - \fi - \edef\pgfplots@TMP{% + \def\pgfplots@loc@TMPa{#1}% + \def\pgfplots@loc@TMPb{x}% + \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb + \pgfplots@update@limits@for@one@point{\pgfplots@error@coord}{\pgfplots@yarg}{}{}% + \edef\pgfplots@loc@TMPa{% {(\pgfplots@xarg,\pgfplots@yarg)}% {(\pgfplots@error@coord,\pgfplots@yarg)}% }% \else - \ifpgfplots@autocomputelimits - \pgfplots@update@limits@for@one@point{\pgfplots@xarg}{\pgfplots@error@coord}{}{}% - \fi - \edef\pgfplots@TMP{% + \pgfplots@update@limits@for@one@point{\pgfplots@xarg}{\pgfplots@error@coord}{}{}% + \edef\pgfplots@loc@TMPa{% {(\pgfplots@xarg,\pgfplots@yarg)}% {(\pgfplots@xarg,\pgfplots@error@coord)}% }% \fi - \expandafter\pgfplots@streamerrorbarcoords\pgfplots@TMP + \expandafter\pgfplots@streamerrorbarcoords\pgfplots@loc@TMPa \fi } @@ -3121,10 +3806,7 @@ % \long\def\pgfplots@path@enqueue@coords#1#2#3#4{% \ifpgfplots@draw@at@end - \begingroup - \globaldefs=1 - \pgfplotslistpushback{#1}{#2}{#3}{#4}\to\pgfplots@stored@plotlist - \endgroup + \pgfplotslistpushbackglobal{#1}{#2}{#3}{#4}\to\pgfplots@stored@plotlist \else \begingroup #1#2#3#4% @@ -3142,7 +3824,7 @@ \expandafter \pgfplots@path@enqueue@coords \expandafter{% - \expandafter\tikzset\expandafter{\pgfplots@addplot@nonlegend@options}% + \expandafter\pgfplotsset\expandafter{\pgfplots@addplot@nonlegend@options}% #1}{#2}{#3}{#4}% \fi \else @@ -3163,14 +3845,15 @@ \def\pgfplots@command@legend{ \pgfutil@ifnextchar[{% \pgfplots@error{Sorry, legend options are now deprecated. Legends are now TikZ-matrizes which provide better alignment and can be placed horizontally. See the manual for details.}% + \pgfplots@command@legend@impl }{% \pgfplots@command@legend@impl }% } \def\pgfplots@command@legend@impl#1{% - \pgfplots@assign@list\pgfplots@TMPC{#1}% - \global\let\pgfplots@legend=\pgfplots@TMPC + \pgfplots@assign@list\pgfplots@loc@TMPc{#1}% + \global\let\pgfplots@legend=\pgfplots@loc@TMPc } @@ -3182,10 +3865,7 @@ }% } \def\pgfplots@addlegendentry@opts[#1]#2{% - {% - \globaldefs=1% this will ONLY store the options and the legend into global variables - \pgfplotslistpushback[#1]#2\to\pgfplots@legend - }% + \pgfplotslistpushbackglobal[#1]#2\to\pgfplots@legend } \def\pgfplots@pop@next@legend{{% @@ -3231,21 +3911,22 @@ } \def\pgfplots@try@mirror@plot@handler{% - \pgfutil@ifundefined{tikz@plot@handler}{}{% - \ifx\tikz@plot@handler\pgfplothandlerconstantlineto - \let\tikz@plot@handler=\pgfplothandlerconstantlinetomarkright - \else - \ifx\tikz@plot@handler\pgfplothandlerconstantlinetomarkright - \let\tikz@plot@handler=\pgfplothandlerconstantlineto - \fi + \pgfplots@getcurrent@plothandler\pgfplots@basiclevel@plothandler + % this method assigns '\tikz@plot@handler'. + % That's ok and does not introduce incompatibilities. + \ifx\pgfplots@basiclevel@plothandler\pgfplothandlerconstantlineto + \let\tikz@plot@handler=\pgfplothandlerconstantlinetomarkright + \else + \ifx\pgfplots@basiclevel@plothandler\pgfplothandlerconstantlinetomarkright + \let\tikz@plot@handler=\pgfplothandlerconstantlineto \fi - }% + \fi } \long\def\pgfplots@show@small@legendplots#1#2{ \begingroup - \def\pgfplots@TMPB{#1}% - \ifx\pgfplots@TMPB\pgfutil@empty + \def\pgfplots@loc@TMPb{#1}% + \ifx\pgfplots@loc@TMPb\pgfutil@empty \else \pgfqkeys{/pgfplots/search path for tikz}{#1}% \fi @@ -3276,6 +3957,13 @@ \ifx\pgfplots@already@computed@legend@node\pgfutil@empty \pgfplotslistcheckempty\pgfplots@legend \ifpgfplotslistempty + % No legend commands appeared in the document. So, + % consider the key: + \pgfkeysgetvalue{/pgfplots/legend entries}\pgfplots@legend + \expandafter\pgfplots@assign@list\expandafter\pgfplots@legend\expandafter{\pgfplots@legend}% + \pgfplotslistcheckempty\pgfplots@legend + \fi + \ifpgfplotslistempty \else % % @@ -3288,7 +3976,7 @@ % }; % command [and using the 'legend columns' option] % - % \pgfplotslist@TOK@a={ + % \t@pgfplots@toka={ % small plot & legend1\\ % small plot & legend2\\ % ... @@ -3296,13 +3984,13 @@ % ( I have allocated the token registers in my % liststructure.sty) % - % \global\def\pgfplots@TMP{ + % \global\def\pgfplots@glob@TMPa{ % \matrix { % \TOKL@TA % }; % } - % -> finally, \pgfplots@TMP will contain the complete command. - \pgfplotslist@TOK@a={}% + % -> finally, \pgfplots@glob@TMPa will contain the complete command. + \t@pgfplots@toka={}% \let\curcolumnNum=\c@pgf@counta \let\maxcolumnCount=\c@pgf@countb \let\legendplotpos=\c@pgf@countc @@ -3320,56 +4008,56 @@ \expandafter\pgfplots@split@opts\pgfplots@curlegend\pgfplots@result@to{\pgfplots@curlegend}{\pgfplots@curlegend@opts}% \ifcase\legendplotpos % legend plot pos=left - \pgfplotslist@TOK@b=\expandafter{% + \t@pgfplots@tokb=\expandafter{% \expandafter\pgfplots@show@small@legendplots \expandafter{\pgfplots@curlegend@opts}}% - \pgfplotslist@TOK@b=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\pgfplotslist@TOK@b\expandafter{\pgfplots@curplotlist}% + \t@pgfplots@tokb=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\t@pgfplots@tokb\expandafter{\pgfplots@curplotlist}% \pgfmatrixnextcell\node}% - \pgfplotslist@TOK@b=\expandafter\expandafter\expandafter{% - \expandafter\the\expandafter\pgfplotslist@TOK@b + \t@pgfplots@tokb=\expandafter\expandafter\expandafter{% + \expandafter\the\expandafter\t@pgfplots@tokb \expandafter{\pgfplots@curlegend};}% \or % legend plot pos=right - \pgfplotslist@TOK@b=\expandafter{% + \t@pgfplots@tokb=\expandafter{% \expandafter\node \expandafter{\pgfplots@curlegend};% \pgfmatrixnextcell \pgfplots@show@small@legendplots}% - \pgfplotslist@TOK@b=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\pgfplotslist@TOK@b\expandafter{\pgfplots@curlegend@opts}}% - \pgfplotslist@TOK@b=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\pgfplotslist@TOK@b\expandafter{\pgfplots@curplotlist}}% + \t@pgfplots@tokb=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\t@pgfplots@tokb\expandafter{\pgfplots@curlegend@opts}}% + \t@pgfplots@tokb=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\t@pgfplots@tokb\expandafter{\pgfplots@curplotlist}}% \or % legend plot pos=none - \pgfplotslist@TOK@b=\expandafter{\expandafter\node\expandafter{\pgfplots@curlegend};}% + \t@pgfplots@tokb=\expandafter{\expandafter\node\expandafter{\pgfplots@curlegend};}% \fi \ifnum\curcolumnNum=\maxcolumnCount - \pgfplotslist@TOK@b=\expandafter{\the\pgfplotslist@TOK@b\\}% + \t@pgfplots@tokb=\expandafter{\the\t@pgfplots@tokb\\}% \else \ifnum\pgfplots@numplots=0 - \pgfplotslist@TOK@b=\expandafter{\the\pgfplotslist@TOK@b\\}% + \t@pgfplots@tokb=\expandafter{\the\t@pgfplots@tokb\\}% \else - \pgfplotslist@TOK@b=\expandafter{\the\pgfplotslist@TOK@b\pgfmatrixnextcell}% + \t@pgfplots@tokb=\expandafter{\the\t@pgfplots@tokb\pgfmatrixnextcell}% \fi \fi - \xdef\pgfplots@TMP{% - \the\pgfplotslist@TOK@a - \the\pgfplotslist@TOK@b + \xdef\pgfplots@glob@TMPa{% + \the\t@pgfplots@toka + \the\t@pgfplots@tokb }% \endgroup \ifnum\curcolumnNum=\maxcolumnCount \curcolumnNum=0 \fi - \expandafter\pgfplotslist@TOK@a\expandafter{\pgfplots@TMP}% + \expandafter\t@pgfplots@toka\expandafter{\pgfplots@glob@TMPa}% \fi \repeat - \pgfplotslist@TOK@b={\matrix[/pgfplots/every axis legend]}% - \xdef\pgfplots@TMP{% + \t@pgfplots@tokb={\matrix[/pgfplots/every axis legend]}% + \xdef\pgfplots@glob@TMPa{% \noexpand\def\noexpand\plotnum{0}% - \the\pgfplotslist@TOK@b {% - \the\pgfplotslist@TOK@a + \the\t@pgfplots@tokb {% + \the\t@pgfplots@toka };% }% \endgroup - \let\pgfplots@already@computed@legend@node=\pgfplots@TMP + \let\pgfplots@already@computed@legend@node=\pgfplots@glob@TMPa \fi \fi %\pgfplots@message{Vor legende: \meaning\pgfplots@already@computed@legend@node}% @@ -3404,11 +4092,11 @@ \pgfmathmultiply@\x\reciproclogten \let\cur=\pgfmathresult % check whether - % \cur - last == 1 (last = \pgfplots@TMPB) + % \cur - last == 1 (last = \pgfplots@glob@TMPb) \ifpgfplots@checkuniform@isfirst \global\pgfplots@checkuniform@isfirstfalse \else - \pgfmathsubtract@\cur\pgfplots@TMPB% + \pgfmathsubtract@\cur\pgfplots@glob@TMPb% \pgfmathapproxequalto@\pgfmathresult{1.0}% \ifpgfmathcomparison \else @@ -3416,7 +4104,7 @@ \breakforeach \fi \fi - \global\let\pgfplots@TMPB=\cur + \global\let\pgfplots@glob@TMPb=\cur }% \endgroup } @@ -3426,23 +4114,27 @@ % It also assigns pgfplots@tick@distance@#1 as the distance. % % see \pgfplots@checkisuniformLOGtick for details. -\def\pgfplots@checkisuniformLINEARtick#1{% +% +% #1: a tick sequence (expanded) +% #2: a macro which will be filled with the tick distance. This is +% only valid if \pgfplots@isuniformticktrue. +\def\pgfplots@checkisuniformLINEARtick#1#2{% \begingroup \global\pgfplots@isuniformticktrue \pgfplots@checkuniform@isfirsttrue - \global\let\pgfplots@TMPB=\pgfutil@empty - \global\let\pgfplots@TMP=\relax + \global\let\pgfplots@glob@TMPb=\pgfutil@empty + \global\def\pgfplots@glob@TMPa{1}% \foreach \x in {#1}{% - \ifx\pgfplots@TMPB\pgfutil@empty + \ifx\pgfplots@glob@TMPb\pgfutil@empty \else - \pgfmathsubtract@\x\pgfplots@TMPB + \pgfmathsubtract@\x\pgfplots@glob@TMPb \ifpgfplots@checkuniform@isfirst % remember first distance h = x_1 - x_0 - \global\let\pgfplots@TMP=\pgfmathresult + \global\let\pgfplots@glob@TMPa=\pgfmathresult \global\pgfplots@checkuniform@isfirstfalse \else % check whether x_i - x_{i-1} = h - \pgfmathapproxequalto@\pgfmathresult\pgfplots@TMP% + \pgfmathapproxequalto@\pgfmathresult\pgfplots@glob@TMPa% \ifpgfmathcomparison \else \global\pgfplots@isuniformtickfalse @@ -3450,17 +4142,17 @@ \fi \fi \fi - \global\let\pgfplots@TMPB=\x% + \global\let\pgfplots@glob@TMPb=\x% }% \endgroup - \expandafter\let\csname pgfplots@tick@distance@#1\endcsname=\pgfplots@TMP + \let#2=\pgfplots@glob@TMPa } \def\skipsuffixzero#1.#2|{ {% - \def\pgfplots@TMP{#2}% - \def\pgfplots@TMPB{0}% - \ifx\pgfplots@TMP\pgfplots@TMPB + \def\pgfplots@loc@TMPa{#2}% + \def\pgfplots@loc@TMPb{0}% + \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \global\def\pgfmathresult{#1}% \else \global\def\pgfmathresult{#1.#2}% @@ -3496,8 +4188,8 @@ % The result will be \xdef'ed into #2. \def\pgfplots@compute@tick@times@logten#1\to#2{% \global\let#2=\pgfutil@empty - \foreach \pgfplots@TMPB in {#1} {% - \pgfmathmultiply@\pgfplots@TMPB\logten% + \foreach \pgfplots@loc@TMPb in {#1} {% + \pgfmathmultiply@\pgfplots@loc@TMPb\logten% \ifx#2\pgfutil@empty \xdef#2{\pgfmathresult}% \else @@ -3506,64 +4198,103 @@ }% } -\def\pgfplots@init@enlarge@limit@booleans{% +\def\pgfplots@enlarge@limit@ifconfigured#1{% \pgfplots@enlargelimits@autofalse \pgfplots@enlargelimitsfalse \pgfplots@enlargelimits@rel@threshfalse - \edef\pgfplots@TMP{\pgfplots@enlargelimits}% + \pgfkeysgetvalue{/pgfplots/enlarge #1 limits}{\pgfplots@loc@TMPa}% % - \def\pgfplots@TMPB{true}% - \ifx\pgfplots@TMP\pgfplots@TMPB + \def\pgfplots@loc@TMPb{true}% + \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \pgfplots@enlargelimitstrue \else - \def\pgfplots@TMPB{false}% - \ifx\pgfplots@TMP\pgfplots@TMPB + \def\pgfplots@loc@TMPb{false}% + \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \else - \def\pgfplots@TMPB{auto}% - \ifx\pgfplots@TMP\pgfplots@TMPB + \def\pgfplots@loc@TMPb{auto}% + \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \pgfplots@enlargelimits@autotrue \else \begingroup % try to read it as number: - \expandafter\pgf@xa\pgfplots@enlargelimits pt\relax + \pgf@xa\pgfplots@loc@TMPa pt\relax \endgroup \pgfplots@enlargelimitstrue \pgfplots@enlargelimits@rel@threshtrue \fi \fi \fi + \expandafter\let\expandafter\ifpgfplots@autocompute@@@min\csname ifpgfplots@autocompute@#1min\endcsname + \expandafter\let\expandafter\ifpgfplots@autocompute@@@max\csname ifpgfplots@autocompute@#1max\endcsname + \ifpgfplots@enlargelimits + % relax the sizes. + % + % Idea: if the user chose his xmin,xmax tight to his data, + % this here will look better. + \pgfplots@enlarge@limit@for{#1}% + \else + \ifpgfplots@enlargelimits@auto + %\ifpgfplots@hide@x + % there is no axis, so skip this enlargement (unless + % the user explizitly requests it) + % WHY!? + %\else + % FIXME : this here should be user-configurable! + \ifpgfplots@autocompute@@@min + \pgfplots@enlarge@limit@for{#1}% + \else + \ifpgfplots@autocompute@@@max + \pgfplots@enlarge@limit@for{#1}% + \fi + \fi + %\fi + \fi + \fi } \def\pgfplots@enlarge@limit@for#1{% \begingroup - \expandafter\let\expandafter\min\expandafter=\csname pgfplots@#1min\endcsname - \expandafter\let\expandafter\max\expandafter=\csname pgfplots@#1max\endcsname + \expandafter\let\expandafter\pgfplots@@min\expandafter=\csname pgfplots@#1min\endcsname + \expandafter\let\expandafter\pgfplots@@max\expandafter=\csname pgfplots@#1max\endcsname + \expandafter\let\expandafter\ifpgfplots@autocompute@@@min\csname ifpgfplots@autocompute@#1min\endcsname + \expandafter\let\expandafter\ifpgfplots@autocompute@@@max\csname ifpgfplots@autocompute@#1max\endcsname \ifpgfplots@enlargelimits@rel@thresh - \edef\enlargepercent{\pgfplots@enlargelimits}% + \pgfkeysgetvalue{/pgfplots/enlarge #1 limits}{\enlargepercent}% \else \def\enlargepercent{0.1}% FIXME : pack 10% as default into option 'enlargelimits' or so \fi - \pgfmathsubtract@\max\min% + \pgfmathsubtract@\pgfplots@@max\pgfplots@@min% \pgf@xa\pgfmathresult pt \pgf@xb\enlargepercent\pgf@xa \ifdim\pgf@xb>0.001pt % the case with % enlargeabsolute ~= 0 - % means that \min ~= \max. + % means that \pgfplots@@min ~= \pgfplots@@max. % It is handled in another method. \edef\enlargeabsolute{\pgf@sys@tonumber{\pgf@xb}}% % - % compute xmin := xmin - enlargeabsolute - \pgfmathsubtract@\min\enlargeabsolute% - \let\min=\pgfmathresult - \pgfmathadd@\max\enlargeabsolute% - \let\max=\pgfmathresult - \fi - \xdef\pgfplots@TMP{\min}% - \xdef\pgfplots@TMPB{\max}% + \ifpgfplots@enlargelimits@auto + \ifpgfplots@autocompute@@@min + \pgfmathsubtract@\pgfplots@@min\enlargeabsolute% + \let\pgfplots@@min=\pgfmathresult + \fi + \ifpgfplots@autocompute@@@max + \pgfmathadd@\pgfplots@@max\enlargeabsolute% + \let\pgfplots@@max=\pgfmathresult + \fi + \else + % compute xmin := xmin - enlargeabsolute + \pgfmathsubtract@\pgfplots@@min\enlargeabsolute% + \let\pgfplots@@min=\pgfmathresult + \pgfmathadd@\pgfplots@@max\enlargeabsolute% + \let\pgfplots@@max=\pgfmathresult + \fi + \fi + \xdef\pgfplots@glob@TMPa{\pgfplots@@min}% + \xdef\pgfplots@glob@TMPb{\pgfplots@@max}% \endgroup - \expandafter\global\expandafter\let\csname pgfplots@#1min\endcsname=\pgfplots@TMP - \expandafter\global\expandafter\let\csname pgfplots@#1max\endcsname=\pgfplots@TMPB + \expandafter\global\expandafter\let\csname pgfplots@#1min\endcsname=\pgfplots@glob@TMPa + \expandafter\global\expandafter\let\csname pgfplots@#1max\endcsname=\pgfplots@glob@TMPb } % Computes tick positions using the current axis limits. @@ -3642,19 +4373,18 @@ \advance\desirednumticks by1 \csname ifpgfplots@#1islinear\endcsname \expandafter\ifnum\axisdefaulttryminticks>\desirednumticks - \expandafter\desirednumticks\axisdefaulttryminticks + \desirednumticks=\axisdefaulttryminticks \fi \else \expandafter\ifnum\pgfplots@default@try@minticks@log>\desirednumticks - \expandafter\desirednumticks\pgfplots@default@try@minticks@log\relax + \desirednumticks=\pgfplots@default@try@minticks@log\relax \fi \expandafter\ifx\csname pgfplots@#1tickten\endcsname\pgfutil@empty \else % log plot and tickten-option: provide special processing. - \edef\pgfplots@TMP{\csname pgfplots@#1tickten\endcsname}% - \expandafter\pgfplots@compute@tick@times@logten\pgfplots@TMP\to\pgfplots@TMP - \expandafter\let\csname pgfplots@#1tick\endcsname=\pgfplots@TMP - \aftergroup\pgfplots@determinedefaultvalues@needs@check@uniformticktrue + \edef\pgfplots@loc@TMPa{\csname pgfplots@#1tickten\endcsname}% + \expandafter\pgfplots@compute@tick@times@logten\pgfplots@loc@TMPa\to\pgfplots@glob@TMPa + \expandafter\let\csname pgfplots@#1tick\endcsname=\pgfplots@glob@TMPa \fi \fi % @@ -3663,8 +4393,8 @@ % ticks MIN,MIN+H,...,MAX. \let\MINH=\pgf@xa \let\H=\pgf@xb - \let\MAX=\pgfplots@tmpa - \let\MIN=\pgfplots@tmpb + \let\MAX=\pgf@ya + \let\MIN=\pgf@yb % compute step size 'H': \expandafter\MAX\csname pgfplots@#1max\endcsname pt \advance\MAX by0.001pt% avoid round errors @@ -3672,6 +4402,7 @@ \expandafter\MIN\csname pgfplots@#1min\endcsname pt \H=\MAX \advance\H by-\MIN +%\message{Axis limit #1: [\the\MIN:\the\MAX], diff = \the\H.}% \c@pgf@counta=\desirednumticks \advance\c@pgf@counta by-1 \divide\H by\c@pgf@counta @@ -3759,8 +4490,9 @@ % And prefer j=1 if that is possible (otherwise minor % ticks are not useful). \pgfmathmultiply@{\Hmacro}{\reciproclogten}% + \let\Hmacrobaseten=\pgfmathresult \expandafter\H\pgfmathresult pt -%\message{ [ H / log(10) = \pgfmathresult}% +%\message{ [ H / log(10) = \pgfmathresult ]}% \ifdim\H<2pt \H=1pt \else @@ -3835,15 +4567,113 @@ \fi \MINH=\MIN \advance\MINH by\H -%\pgfplots@message{final H=\the\H}% - \xdef\pgfplots@TMP{\pgf@sys@tonumber{\MIN},\pgf@sys@tonumber{\MINH},...,\pgf@sys@tonumber{\MAX}}% - \xdef\pgfplots@TMPB{\pgf@sys@tonumber{\H}}% + % Ok, now it can happen that only ONE tick label is placed in + % this range. + % That's useless, so check for it. + % + % That's the case if + % MIN < ORIGMIN && MAX < MIN+2 H + % MIN < ORIGMIN by construction (ok, MIN <= ORIGMIN by + % construction, but I don't care about this case). + % So: check only the second condition. + \pgfplots@tmpa=\MINH + \advance\pgfplots@tmpa by\H + \ifdim\MAX<\pgfplots@tmpa + \expandafter\aftergroup\csname pgfplots@determinedefaultvalues@#1isuniformfalse\endcsname + % ok, do something special. + % + % The idea is now to place ticks at + % 10^{i*h} with properly choosen 'h'. + % + % So: apply basically the SAME code as above for linear + % axis, just everything log 10! And keep in mind that all + % coordinates are actually given as natural logarithms. + \expandafter\MIN\csname pgfplots@#1min\endcsname pt + \H=\MAX + \advance\H by-\MIN + \H=\reciproclogten\H +%\message{Axis limit #1: [\the\MIN:\the\MAX], diff/log(10) = \the\H.}% + \c@pgf@counta=\desirednumticks\relax + \advance\c@pgf@counta by-1 + \ifnum\c@pgf@counta>2 + % subtract one more. This algorithm here produces more + % ticks than the normal one which is designed for 10^i + \advance\c@pgf@counta by-1 + \fi + \divide\H by\c@pgf@counta\relax +%\message{determining ticks for #1-axis: Wr := (width/max space between ticks) = \the\Wr, desirednumticks=max(\axisdefaulttryminticks, trunc(Wr)) = \the\desirednumticks, H#1=(axis range/(desirednumticks-1)) = \the\H}% + % + % SEARCH for the NEXT FEASABLE H. + \edef\Hmacro{\pgf@sys@tonumber\H}% + \pgfmathfloatparsenumber{\Hmacro}% + \expandafter\pgfmathfloat@decompose\pgfmathresult\relax\pgfmathfloat@a@S\H\pgfmathfloat@a@E + % Determine properly snapped mantisse... + \ifdim\H<2pt + \ifdim\H<1.5pt + \H=1.0pt + \else + \H=2.0pt + \fi + \else + \ifdim\H<4.9999pt + \ifdim\H<3.5pt + \H=2.0pt\relax + \else + \H=5.0pt\relax + \fi + \else + \ifdim\H<7.5pt + \H=5.0pt\relax + \else + \H=1.0pt\relax + \advance\pgfmathfloat@a@E by1 + \fi + \fi + \fi + \pgfmathfloatcreate{\the\pgfmathfloat@a@S}{\pgf@sys@tonumber{\H}}{\the\pgfmathfloat@a@E}% + \expandafter\pgfmathfloattofixed\expandafter{\pgfmathresult}% + \let\Hmacro=\pgfmathresult + \H=\Hmacro pt% + % Ok, our step size h for 10^{i*h} is ready! +%\message{determined step size 10^{\Hmacro}}% + % Now, we want to activate the Tick set {10^{i*H}, i in \Z} + % compute I such that + % 10^{min} = 10^{I * H + rest}; |rest| < H + % -> I = round(xmin/H) + % -> MIN = I * H + % BUT EVERYTHING to log(10) basis! + \MIN=\reciproclogten\MIN\relax + \pgfmathlog@invoke@expanded\pgfmathdivide@{% + {\pgf@sys@tonumber\MIN}% + {\Hmacro}% + }% + \pgfmathsetcount{\c@pgf@counta}{\pgfmathresult}% + \ifdim\MIN<0pt + % the truncation rounds TOWARDS 0 which is not what I want. + \advance\c@pgf@counta by-1 + \fi + \MIN=\H\relax + \multiply\MIN by\c@pgf@counta\relax + % + % convert back to basis 'e': + \MIN=\logten\MIN\relax + \H=\logten\H\relax + \MINH=\MIN\relax + \advance\MINH by\H\relax + \fi +%\pgfplots@message{final H=\the\H.}% + \xdef\pgfplots@glob@TMPa{\pgf@sys@tonumber{\MIN},\pgf@sys@tonumber{\MINH},...,\pgf@sys@tonumber{\MAX}}% + \xdef\pgfplots@glob@TMPb{\pgf@sys@tonumber{\H}}% \aftergroup\pgfplots@determinedefaultvalues@needs@check@uniformtickfalse + \else + \expandafter\global\expandafter\let\expandafter\pgfplots@glob@TMPa\csname pgfplots@#1tick\endcsname + \gdef\pgfplots@glob@TMPb{}% will be computed later, in 'check uniform tick' + \aftergroup\pgfplots@determinedefaultvalues@needs@check@uniformticktrue \fi \endgroup - \expandafter\let\csname pgfplots@#1tick\endcsname=\pgfplots@TMP - \expandafter\let\csname pgfplots@tick@distance@#1\endcsname=\pgfplots@TMPB -%\pgfplots@message{pgfplots.sty: #1tick set to \csname pgfplots@#1tick\endcsname [#1mode=\the\csname pgfplots@#1mode\endcsname, #1min=\csname pgfplots@#1min\endcsname, #1max=\csname pgfplots@#1max\endcsname].}% + \expandafter\let\csname pgfplots@#1tick\endcsname=\pgfplots@glob@TMPa + \expandafter\let\csname pgfplots@tick@distance@#1\endcsname=\pgfplots@glob@TMPb +%\pgfplots@message{pgfplots.sty: #1tick set to \csname pgfplots@#1tick\endcsname [#1min=\csname pgfplots@#1min\endcsname, #1max=\csname pgfplots@#1max\endcsname].}% } % Helper method for @@ -3853,8 +4683,8 @@ % #3: the output macro name \long\def\pgfplots@apply@data@scale@trafo@to@user@ticks#1#2\to#3{% \let#3=\pgfutil@empty - \foreach \pgfplots@TMPB in {#1} {% - \pgfmathfloatparsenumber{\pgfplots@TMPB}% + \foreach \pgfplots@loc@TMPb in {#1} {% + \pgfmathfloatparsenumber{\pgfplots@loc@TMPb}% \expandafter#2\expandafter{\pgfmathresult}% \ifx#3\pgfutil@empty \xdef#3{\pgfmathresult}% @@ -3872,8 +4702,8 @@ % #3: the output macro name \long\def\pgfplots@apply@data@scale@trafo@to@user@ticks@isfloat#1#2\to#3{% \let#3=\pgfutil@empty - \foreach \pgfplots@TMPB in {#1} {% - #2{\pgfplots@TMPB}% + \foreach \pgfplots@loc@TMPb in {#1} {% + #2{\pgfplots@loc@TMPb}% \ifx#3\pgfutil@empty \xdef#3{\pgfmathresult}% \else @@ -3885,17 +4715,17 @@ % helper for \pgfplots@apply@data@scale@trafo@to@options@for. \def\pgfplots@compute@number@order@for@trafo@isdimen#1\tocount#2{% - \edef\pgfplots@TMP{\pgf@sys@tonumber{#1}}% - \pgfmathfloatparsenumber{\pgfplots@TMP}% + \edef\pgfplots@loc@TMPa{\pgf@sys@tonumber{#1}}% + \pgfmathfloatparsenumber{\pgfplots@loc@TMPa}% \expandafter\pgfmathfloat@decompose@E\pgfmathresult\relax#2 - \advance#2 by1 + \advance#2 by1\relax } % helper for \pgfplots@apply@data@scale@trafo@to@options@for. % \def\pgfplots@compute@number@order@for@trafo@isfloat#1\tocount#2{% - \expandafter\pgfmathfloat@decompose@E#1\relax#2 - \advance#2 by1 + \expandafter\pgfmathfloat@decompose@E#1\relax#2\relax + \advance#2 by1\relax } % Initialises the data scale transformation and applies it to any @@ -3920,19 +4750,28 @@ \let\data@tmp=\pgf@xb \let\data@dimen@order=\c@pgf@countc \let\data@EXPONENT=\c@pgf@countd - \expandafter\let\expandafter\pgfplots@min@float\csname pgfplots@#1min\endcsname - \expandafter\let\expandafter\pgfplots@max@float\csname pgfplots@#1max\endcsname + \expandafter\let\expandafter\pgfplots@display@min@float\csname pgfplots@#1min\endcsname + \expandafter\let\expandafter\pgfplots@display@max@float\csname pgfplots@#1max\endcsname + \expandafter\let\expandafter\pgfplots@data@min@float\csname pgfplots@data@#1min\endcsname + \expandafter\let\expandafter\pgfplots@data@max@float\csname pgfplots@data@#1max\endcsname \expandafter\let\expandafter\pgfplots@actual@trafo\csname pgfplots@datascaletrafo@#1\endcsname + \ifpgfplots@autocompute@all@limits + \else + \pgfmathfloatmax@{\pgfplots@display@max@float}{\pgfplots@data@max@float}% + \let\pgfplots@data@max@float=\pgfmathresult + \pgfmathfloatmin@{\pgfplots@display@min@float}{\pgfplots@data@min@float}% + \let\pgfplots@data@min@float=\pgfmathresult + \fi % % Step 1: compute 'm', the data order \pgfplots@compute@number@order@for@trafo@isfloat - \pgfplots@min@float + \pgfplots@data@min@float \tocount\data@cur@order % \data@max@order=\data@cur@order % \pgfplots@compute@number@order@for@trafo@isfloat - \pgfplots@max@float + \pgfplots@data@max@float \tocount\data@cur@order % \ifnum\data@cur@order>\data@max@order @@ -3944,14 +4783,14 @@ % We have 'width' or 'height'. % % Use the order of these parameters. - \def\pgfplots@TMP{#1}% - \def\pgfplots@TMPB{x}% - \ifx\pgfplots@TMP\pgfplots@TMPB - \expandafter\data@dimen\pgfplots@width\relax + \def\pgfplots@loc@TMPa{#1}% + \def\pgfplots@loc@TMPb{x}% + \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb + \data@dimen=\pgfplots@width\relax \else - \def\pgfplots@TMPB{y}% - \ifx\pgfplots@TMP\pgfplots@TMPB - \expandafter\data@dimen\pgfplots@height\relax + \def\pgfplots@loc@TMPb{y}% + \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb + \data@dimen=\pgfplots@height\relax \fi \fi \pgfplots@compute@number@order@for@trafo@isdimen @@ -3994,21 +4833,21 @@ \expandafter\edef\csname pgfplots@data@scale@trafo@SHIFT@#1\endcsname{0}% \loop \expandafter\edef\csname pgfplots@data@scale@trafo@EXPONENT@#1\endcsname{\the\data@EXPONENT}% - \pgfplots@actual@trafo{\pgfplots@min@float}% + \pgfplots@actual@trafo{\pgfplots@data@min@float}% \let\pgfplots@min@fixed=\pgfmathresult \ifpgfplots@loop@CONTINUE - \pgfplots@actual@trafo{\pgfplots@max@float}% + \pgfplots@actual@trafo{\pgfplots@data@max@float}% \let\pgfplots@max@fixed=\pgfmathresult \expandafter\data@tmp\pgfplots@max@fixed pt -%\message{Current trafo SHIFT for #1 direction: \the\data@EXPONENT; original #1 limits: [\pgfplots@min@float:\pgfplots@max@float]; current transformed #1 limits: [\pgfplots@min@fixed:\pgfplots@max@fixed]; cancellation check max-min running...}% +%\message{Current trafo EXPONENT for #1 direction: \the\data@EXPONENT; original #1 data limits: [\pgfplots@data@min@float:\pgfplots@data@max@float]; current transformed #1 limits: [\pgfplots@min@fixed:\pgfplots@max@fixed]; cancellation check max-min running...}% \ifdim\data@tmp<0pt % I need absolute values here: \multiply\data@tmp by-1\relax \fi + \pgfmathsubtract@{\pgfplots@max@fixed}{\pgfplots@min@fixed}% + \expandafter\data@dimen\pgfmathresult pt \pgfplots@loop@CONTINUEfalse \ifdim\data@tmp<1500pt% a multiplication with '10' results in max = 15000 which is the upper limit. - \pgfmathsubtract@{\pgfplots@max@fixed}{\pgfplots@min@fixed}% - \expandafter\data@dimen\pgfmathresult pt \ifdim\data@dimen<100pt% I guess if max-min = O(100), we have quite good accuracy \ifdim\data@dimen<0.0001pt \else @@ -4017,64 +4856,77 @@ \fi \fi \fi + %-------------------------------------------------- + % \ifdim\data@dimen>1200pt% FIXME : is this here ok!? CHECK IT! + % \ifdim\data@dimen>7999pt + % \advance\data@EXPONENT by-2 + % \else + % \advance\data@EXPONENT by-1 + % \fi + % \pgfplots@loop@CONTINUEfalse + % \fi + %-------------------------------------------------- \repeat - \xdef\pgfplots@TMP{\csname pgfplots@data@scale@trafo@EXPONENT@#1\endcsname}% - \xdef\pgfplots@TMPB{\pgfplots@min@fixed}% + \xdef\pgfplots@glob@TMPa{\csname pgfplots@data@scale@trafo@EXPONENT@#1\endcsname}% + \xdef\pgfplots@glob@TMPb{\pgfplots@min@fixed}% \endgroup -%\message{Initialising the data scale transformation in direction #1 to 10^\pgfplots@TMP*#1 - \pgfplots@TMPB...}% +%\message{Initialising the data scale transformation in direction #1 to 10^\pgfplots@glob@TMPa*#1 - \pgfplots@glob@TMPb...}% % COMPLETE INITIALISATION: - \ifpgfplots@EMERGENCY@FORCE@DATA@TRAFO@TO@IDENTITY - \pgfplots@warning{WARNING: the automatic scaling of input data has been DISABLED to allow unscalable commands. DISABLING THE DATA SCALING LIMITS THE DATA RANGE! I hope I can fix this issue as soon as possible. Please take a look at the manual for more information. If you get 'OVERFLOW' or 'UNDERFLOW' errors, you may need to disable the axispath.}% - \def\pgfplots@TMP{0}% - \def\pgfplots@TMPB{0}% - \fi - \expandafter\let\csname pgfplots@data@scale@trafo@EXPONENT@#1\endcsname\pgfplots@TMP - \expandafter\let\csname pgfplots@data@scale@trafo@SHIFT@#1\endcsname\pgfplots@TMPB% + \ifpgfplots@disabledatascaling + % this here is a waste of time, I know it. One could really + % safe a lot of CPU time when disabledatascaling is enabled... + % but it requires so much extra cases; I really don't want + % that! + \gdef\pgfplots@glob@TMPa{0}% + \gdef\pgfplots@glob@TMPb{0}% + \fi + \expandafter\let\csname pgfplots@data@scale@trafo@EXPONENT@#1\endcsname\pgfplots@glob@TMPa + \expandafter\let\csname pgfplots@data@scale@trafo@SHIFT@#1\endcsname\pgfplots@glob@TMPb% % % ... and apply transformation to any user input % % Transform axis limits: -%\message{#1-limits BEFORE data transformation: [\csname pgfplots@#1min\endcsname:\csname pgfplots@#1max\endcsname]}% +%\message{#1- display limits BEFORE data transformation: [\csname pgfplots@#1min\endcsname:\csname pgfplots@#1max\endcsname]}% \expandafter\expandafter\csname pgfplots@datascaletrafo@#1\endcsname\expandafter{\csname pgfplots@#1min\endcsname}% \expandafter\global\expandafter\let\csname pgfplots@#1min\endcsname=\pgfmathresult % \expandafter\expandafter\csname pgfplots@datascaletrafo@#1\endcsname\expandafter{\csname pgfplots@#1max\endcsname}% \expandafter\global\expandafter\let\csname pgfplots@#1max\endcsname=\pgfmathresult -%\message{#1-limits after data transformation: [\csname pgfplots@#1min\endcsname:\csname pgfplots@#1max\endcsname]}% +%\message{#1- display limits after data transformation: [\csname pgfplots@#1min\endcsname:\csname pgfplots@#1max\endcsname]}% % % Convert any user-specified ticks: - \edef\pgfplots@TMP{\csname pgfplots@#1tick\endcsname}% + \edef\pgfplots@loc@TMPa{\csname pgfplots@#1tick\endcsname}% % this here should also work with 'xtick=\pgfutil@empty', the "No tick" command. - \ifx\pgfplots@TMP\pgfutil@empty + \ifx\pgfplots@loc@TMPa\pgfutil@empty \else - \pgfplots@toka=\expandafter{\csname pgfplots@datascaletrafo@#1\endcsname}% - \def\pgfplots@TMPB{data}% - \ifx\pgfplots@TMP\pgfplots@TMPB + \t@pgfplots@tokc=\expandafter{\csname pgfplots@datascaletrafo@#1\endcsname}% + \def\pgfplots@loc@TMPb{data}% + \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb % we have #1tick = data % % Since we have entered this method, we know that these % coordinate ARE ALREADY in floating point representation. - \expandafter\let\expandafter\pgfplots@TMP\csname pgfplots@firstplot@coords@#1\endcsname - \pgfplotslist@TOK@a=\expandafter{\pgfplots@TMP}% - \edef\pgfplots@TMP{{\the\pgfplotslist@TOK@a}\the\pgfplots@toka}% - \expandafter\pgfplots@apply@data@scale@trafo@to@user@ticks@isfloat\pgfplots@TMP\to\pgfplots@TMPC + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfplots@firstplot@coords@#1\endcsname + \t@pgfplots@toka=\expandafter{\pgfplots@loc@TMPa}% + \edef\pgfplots@loc@TMPa{{\the\t@pgfplots@toka}\the\t@pgfplots@tokc}% + \expandafter\pgfplots@apply@data@scale@trafo@to@user@ticks@isfloat\pgfplots@loc@TMPa\to\pgfplots@loc@TMPc \else - \pgfplotslist@TOK@a=\expandafter{\pgfplots@TMP}% + \t@pgfplots@toka=\expandafter{\pgfplots@loc@TMPa}% %\message{Converting #1tick='\csname pgfplots@#1tick\endcsname'}% - \edef\pgfplots@TMP{{\the\pgfplotslist@TOK@a}\the\pgfplots@toka}% - \expandafter\pgfplots@apply@data@scale@trafo@to@user@ticks\pgfplots@TMP\to\pgfplots@TMPC + \edef\pgfplots@loc@TMPa{{\the\t@pgfplots@toka}\the\t@pgfplots@tokc}% + \expandafter\pgfplots@apply@data@scale@trafo@to@user@ticks\pgfplots@loc@TMPa\to\pgfplots@loc@TMPc \fi - \expandafter\let\csname pgfplots@#1tick\endcsname=\pgfplots@TMPC + \expandafter\let\csname pgfplots@#1tick\endcsname=\pgfplots@loc@TMPc \fi % % Convert any extra-ticks, see above. - \edef\pgfplots@TMP{\csname pgfplots@extra@#1tick\endcsname}% - \ifx\pgfplots@TMP\pgfutil@empty + \edef\pgfplots@loc@TMPa{\csname pgfplots@extra@#1tick\endcsname}% + \ifx\pgfplots@loc@TMPa\pgfutil@empty \else - \pgfplots@toka=\expandafter{\csname pgfplots@datascaletrafo@#1\endcsname}% - \edef\pgfplots@TMP{{\csname pgfplots@extra@#1tick\endcsname}\the\pgfplots@toka}% - \expandafter\pgfplots@apply@data@scale@trafo@to@user@ticks\pgfplots@TMP\to\pgfplots@TMPC - \expandafter\let\csname pgfplots@extra@#1tick\endcsname=\pgfplots@TMPC + \t@pgfplots@tokc=\expandafter{\csname pgfplots@datascaletrafo@#1\endcsname}% + \edef\pgfplots@loc@TMPa{{\csname pgfplots@extra@#1tick\endcsname}\the\t@pgfplots@tokc}% + \expandafter\pgfplots@apply@data@scale@trafo@to@user@ticks\pgfplots@loc@TMPa\to\pgfplots@loc@TMPc + \expandafter\let\csname pgfplots@extra@#1tick\endcsname=\pgfplots@loc@TMPc \fi % % Transform any explicit axis unit scalings: @@ -4091,23 +4943,130 @@ \newif\ifpgfplots@determinedefaultvalues@xisuniform \newif\ifpgfplots@determinedefaultvalues@yisuniform \newif\ifpgfplots@determinedefaultvalues@needs@check@uniformtick +\newif\ifpgfplots@limits@are@computed -\def\pgfplots@determinedefaultvalues{% +\def\pgfplots@handle@invalid@range{% + % COMPLETELY EMPTY AXIS: + \pgfplots@warning{You have a plot with empty range. Replacing it with default and clearing plots.}% + \ifpgfplots@xislinear + \pgfmathfloatcreate{0}{0.0}{0}% + \global\let\pgfplots@xmin=\pgfmathresult + \pgfmathfloatcreate{1}{1.0}{0}% + \global\let\pgfplots@xmax=\pgfmathresult + \global\let\pgfplots@data@xmin=\pgfplots@xmin + \global\let\pgfplots@data@xmax=\pgfplots@xmax + \else + \gdef\pgfplots@xmin{0}% + \gdef\pgfplots@xmax{1}% + \fi + \ifpgfplots@yislinear + \pgfmathfloatcreate{0}{0.0}{0}% + \global\let\pgfplots@ymin=\pgfmathresult + \pgfmathfloatcreate{1}{1.0}{0}% + \global\let\pgfplots@ymax=\pgfmathresult + \global\let\pgfplots@data@ymin=\pgfplots@ymin + \global\let\pgfplots@data@ymax=\pgfplots@ymax + \else + \gdef\pgfplots@ymin{0}% + \gdef\pgfplots@ymax{1}% + \fi + \def\pgfplots@xtick{}% + \def\pgfplots@ytick{}% + \def\pgfplots@extra@xtick{}% + \def\pgfplots@extra@ytick{}% + \def\pgfplots@xtickten{}% + \def\pgfplots@ytickten{}% + % clear all plots! + \pgfplots@init@cleared@structures +} +\def\pgfplots@check@invalid@range{% + \pgfplots@limits@are@computedtrue + \ifx\pgfplots@xmin\pgfplots@invalidrange@xmin + \pgfplots@limits@are@computedfalse + \fi + \ifx\pgfplots@xmin\pgfplots@invalidrange@xmax + \pgfplots@limits@are@computedfalse + \fi + \ifx\pgfplots@ymin\pgfplots@invalidrange@ymin + \pgfplots@limits@are@computedfalse + \fi + \ifx\pgfplots@ymin\pgfplots@invalidrange@ymax + \pgfplots@limits@are@computedfalse + \fi \ifpgfplots@limits@are@computed + \ifx\pgfplots@data@xmin\pgfplots@invalidrange@xmin + \global\let\pgfplots@data@xmin=\pgfplots@xmin + \fi + \ifx\pgfplots@data@xmin\pgfplots@invalidrange@xmax + \global\let\pgfplots@data@xmax=\pgfplots@xmax + \fi + \ifx\pgfplots@data@ymin\pgfplots@invalidrange@ymin + \global\let\pgfplots@data@ymin=\pgfplots@ymin + \fi + \ifx\pgfplots@data@ymin\pgfplots@invalidrange@ymax + \global\let\pgfplots@data@ymax=\pgfplots@ymax + \fi + \ifpgfplots@clip@limits + \else + % there is a rare change that min > max. + % Handle that ... + \pgfmathfloatmin@{\pgfplots@xmin}{\pgfplots@xmax}% + \global\let\pgfplots@xmin=\pgfmathresult + \pgfmathfloatmax@{\pgfplots@xmin}{\pgfplots@xmax}% + \global\let\pgfplots@xmax=\pgfmathresult + % + \pgfmathfloatmin@{\pgfplots@ymin}{\pgfplots@ymax}% + \global\let\pgfplots@ymin=\pgfmathresult + \pgfmathfloatmax@{\pgfplots@ymin}{\pgfplots@ymax}% + \global\let\pgfplots@ymax=\pgfmathresult + \fi \else - % EMPTY AXIS: - \pgfplots@warning{WARNING: You have a plot with empty range. This may produce errors!}% + \pgfplots@handle@invalid@range \fi +}% + + +\def\pgfplots@determinedefaultvalues{% + \pgfplots@check@invalid@range + % + %-------------------------------------------------- + %FIXME + % \ifpgfplots@float@numerics@mode@x + % \pgfmathfloatmin@{\pgfplots@xmin}{\pgfplots@xmax}% + % \let\pgfplots@xmin=\pgfmathresult + % \pgfmathfloatmax@{\pgfplots@xmin}{\pgfplots@xmax}% + % \let\pgfplots@xmax=\pgfmathresult + % \else + % \pgfmathmin@{\pgfplots@xmin}{\pgfplots@xmax}% + % \let\pgfplots@xmin=\pgfmathresult + % \pgfmathmax@{\pgfplots@xmin}{\pgfplots@xmax}% + % \let\pgfplots@xmax=\pgfmathresult + % \fi + % \ifpgfplots@float@numerics@mode@y + % \pgfmathfloatmin@{\pgfplots@ymin}{\pgfplots@ymax}% + % \let\pgfplots@ymin=\pgfmathresult + % \pgfmathfloatmax@{\pgfplots@ymin}{\pgfplots@ymax}% + % \let\pgfplots@ymax=\pgfmathresult + % \else + % \pgfmathmin@{\pgfplots@ymin}{\pgfplots@ymax}% + % \let\pgfplots@ymin=\pgfmathresult + % \pgfmathmax@{\pgfplots@ymin}{\pgfplots@ymax}% + % \let\pgfplots@ymax=\pgfmathresult + % \fi + %-------------------------------------------------- +%\message{x = [\pgfplots@xmin:\pgfplots@xmax] y = [\pgfplots@ymin:\pgfplots@ymax]}% + % % \pgfplots@set@default@size@options % + % \ifpgfplots@apply@datatrafo@x \let\pgfplots@xmin@unscaled@as@float=\pgfplots@xmin \let\pgfplots@xmax@unscaled@as@float=\pgfplots@xmax \pgfplots@apply@data@scale@trafo@to@options@for x% \else - \def\pgfplots@TMPB{data}% - \ifx\pgfplots@xtick\pgfplots@TMPB + \def\pgfplots@loc@TMPb{data}% + \ifx\pgfplots@xtick\pgfplots@loc@TMPb \let\pgfplots@xtick=\pgfplots@firstplot@coords@x \fi \let\pgfplots@xmin@unscaled@as@float=\pgfutil@empty @@ -4118,8 +5077,8 @@ \let\pgfplots@ymax@unscaled@as@float=\pgfplots@ymax \pgfplots@apply@data@scale@trafo@to@options@for y% \else - \def\pgfplots@TMPB{data}% - \ifx\pgfplots@ytick\pgfplots@TMPB + \def\pgfplots@loc@TMPb{data}% + \ifx\pgfplots@ytick\pgfplots@loc@TMPb \let\pgfplots@ytick=\pgfplots@firstplot@coords@y \fi \let\pgfplots@ymin@unscaled@as@float=\pgfutil@empty @@ -4129,9 +5088,6 @@ % % From now on, we can always work with pgfmath. % We simply need to apply the data scaling trafo before doing so. - \pgfplots@float@numerics@mode@xfalse - \pgfplots@float@numerics@mode@yfalse - % \pgfkeysgetvalue{/pgfplots/minor x tick num}\pgfplots@minor@xtick@num \pgfkeysgetvalue{/pgfplots/minor y tick num}\pgfplots@minor@ytick@num \ifpgfplots@xislinear @@ -4151,30 +5107,8 @@ \fi \fi % - \pgfplots@init@enlarge@limit@booleans - \ifpgfplots@enlargelimits - % relax the sizes. - % - % Idea: if the user chose his xmin,xmax tight to his data, - % this here will look better. - \pgfplots@enlarge@limit@for x - \pgfplots@enlarge@limit@for y - \else - \ifpgfplots@enlargelimits@auto - \ifpgfplots@hide - % there is no axis, so skip this enlargement (unless - % the user explizitly requests it) - \else - % FIXME : this here should be user-configurable! - \ifpgfplots@autocompute@xlim - \pgfplots@enlarge@limit@for x - \fi - \ifpgfplots@autocompute@ylim - \pgfplots@enlarge@limit@for y - \fi - \fi - \fi - \fi + \pgfplots@enlarge@limit@ifconfigured x + \pgfplots@enlarge@limit@ifconfigured y % \pgfplots@avoid@empty@axis@range@for x% \pgfplots@avoid@empty@axis@range@for y% @@ -4189,7 +5123,7 @@ \fi \ifpgfplots@determinedefaultvalues@needs@check@uniformtick \ifpgfplots@xislinear - \expandafter\pgfplots@checkisuniformLINEARtick\expandafter{\pgfplots@xtick}% + \expandafter\pgfplots@checkisuniformLINEARtick\expandafter{\pgfplots@xtick}{\pgfplots@tick@distance@x}% \ifpgfplots@isuniformtick \pgfplots@determinedefaultvalues@xisuniformtrue \else @@ -4217,7 +5151,7 @@ \fi \ifpgfplots@determinedefaultvalues@needs@check@uniformtick \ifpgfplots@yislinear - \expandafter\pgfplots@checkisuniformLINEARtick\expandafter{\pgfplots@ytick}% + \expandafter\pgfplots@checkisuniformLINEARtick\expandafter{\pgfplots@ytick}{\pgfplots@tick@distance@y}% \ifpgfplots@isuniformtick \pgfplots@determinedefaultvalues@yisuniformtrue \else @@ -4269,23 +5203,32 @@ % coordinate clipping to the resulting values and multiplies them % with x- and y scale vectors. \def\pgfplots@prepare@ZERO@coordinates{% - \ifpgfplots@apply@datatrafo@x - \pgfplots@datascaletrafo@fromfixed@x{0}% + \ifpgfplots@xislinear + \ifpgfplots@apply@datatrafo@x + \pgfplots@datascaletrafo@fromfixed@x{0}% + \global\let\pgfplots@ZERO@x=\pgfmathresult + \else + \gdef\pgfplots@ZERO@x{0}% + \fi + \pgfmathmax@{\pgfplots@ZERO@x}{\pgfplots@xmin}% \global\let\pgfplots@ZERO@x=\pgfmathresult \else - \gdef\pgfplots@ZERO@x{0}% + \global\let\pgfplots@ZERO@x=\pgfplots@xmin% \fi - \pgfmathmax@{\pgfplots@ZERO@x}{\pgfplots@xmin}% - \global\let\pgfplots@ZERO@x=\pgfmathresult % - \ifpgfplots@apply@datatrafo@y - \pgfplots@datascaletrafo@fromfixed@y{0}% + \ifpgfplots@yislinear + \ifpgfplots@apply@datatrafo@y + \pgfplots@datascaletrafo@fromfixed@y{0}% + \global\let\pgfplots@ZERO@y=\pgfmathresult + \else + \gdef\pgfplots@ZERO@y{0}% + \fi + \pgfmathmax@{\pgfplots@ZERO@y}{\pgfplots@ymin}% \global\let\pgfplots@ZERO@y=\pgfmathresult \else - \gdef\pgfplots@ZERO@y{0}% + \global\let\pgfplots@ZERO@y=\pgfplots@ymin% \fi - \pgfmathmax@{\pgfplots@ZERO@y}{\pgfplots@ymin}% - \global\let\pgfplots@ZERO@y=\pgfmathresult + % \pgfinterruptboundingbox% \pgfpointxy{\pgfplots@ZERO@x}{\pgfplots@ZERO@y}% \xdef\pgfplots@ZERO@x{\the\pgf@x}% @@ -4308,67 +5251,73 @@ % Arguments: % #1: the output argument for the SCALE. \def\pgfplots@initsizes@getXscale\into#1{% - \expandafter\pgfplots@tmpa\pgfplots@width\relax + \begingroup + \pgf@xa=\pgfplots@width\relax % EXPECTED WIDTH = X = \pgfplots@width % ACTUAL WIDTH = c + x * (xmax-xmin) % where c is a CONSTANT (for the axis labels/tick labels). % -> \pgfplots@tmpXscale = (X - c) / (x *(xmax-xmin)) % - % \pgfplots@tmpa := X-c: + % \pgf@xa := X-c: \ifpgfplots@scale@only@axis \else - \advance\pgfplots@tmpa by-45pt% FIXME determine 'c' correctly! + \advance\pgf@xa by-45pt% FIXME determine 'c' correctly! \fi - \ifdim\pgfplots@tmpa<0pt + \ifdim\pgf@xa<0pt \pgfplots@error{Error: Plot width `\pgfplots@width' is too small. This can't be realised while maintaining constant width for y-labels. Sorry, label width are only approximate. You will need to adjust your width.}% - \pgfplots@tmpa=0pt + \pgf@xa=0pt \fi - % \pgfplots@tmpb := x*(xmax-xmin): - \pgfplots@tmpb=\pgfplots@xcoordmaxTEX - \advance\pgfplots@tmpb by-\pgfplots@xcoordminTEX + % \pgf@xb := x*(xmax-xmin): + \pgf@xb=\pgfplots@xcoordmaxTEX + \advance\pgf@xb by-\pgfplots@xcoordminTEX \pgfmathlog@invoke@expanded\pgfmathdivide@{% - {\pgf@sys@tonumber\pgfplots@tmpa}% - {\pgf@sys@tonumber\pgfplots@tmpb}% + {\pgf@sys@tonumber\pgf@xa}% + {\pgf@sys@tonumber\pgf@xb}% }% - \let#1=\pgfmathresult %\pgfplots@message{pgfplots.sty: Computing 'x' such that 'width = c + x*(xmax-xmin)'; % c=estimated, -% width-c =\the\pgfplots@tmpa, -% x*(xmax[=\the\pgfplots@xcoordmaxTEX] - xmin[=\the\pgfplots@xcoordminTEX)]) = \the\pgfplots@tmpb +% width-c =\the\pgf@xa, +% x*(xmax[=\the\pgfplots@xcoordmaxTEX] - xmin[=\the\pgfplots@xcoordminTEX)]) = \the\pgf@xb % -> x-scale =#1 }% + \pgfmath@smuggleone\pgfmathresult + \endgroup + \let#1=\pgfmathresult } % The same as \pgfplots@initsizes@getXscale, just for the height. \def\pgfplots@initsizes@getYscale\into#1{% - \expandafter\pgfplots@tmpa\pgfplots@height\relax + \begingroup + \expandafter\pgf@xa\pgfplots@height\relax % EXPECTED WIDTH = X = \pgfplots@width % ACTUAL WIDTH = c + x * (xmax-xmin) % where c is a CONSTANT (for the axis labels/tick labels). % -> \pgfplots@tmpXscale = (X - c) / (x *(xmax-xmin)) % - % \pgfplots@tmpa := X-c: + % \pgf@xa := X-c: \ifpgfplots@scale@only@axis \else - \advance\pgfplots@tmpa by-45pt\relax% FIXME determine 'c' correctly! + \advance\pgf@xa by-45pt\relax% FIXME determine 'c' correctly! \fi - \ifdim\pgfplots@tmpa<0pt + \ifdim\pgf@xa<0pt \pgfplots@error{Error: Plot height `\pgfplots@height' is too small. This can't be realised while maintaining constant height for x-labels. Sorry, label heights are only approximate. You will need to adjust your height.}% - \pgfplots@tmpa=0pt + \pgf@xa=0pt \fi - % \pgfplots@tmpb := x*(xmax-xmin): - \pgfplots@tmpb=\pgfplots@ycoordmaxTEX - \advance\pgfplots@tmpb by-\pgfplots@ycoordminTEX + % \pgf@xb := x*(xmax-xmin): + \pgf@xb=\pgfplots@ycoordmaxTEX + \advance\pgf@xb by-\pgfplots@ycoordminTEX \pgfmathlog@invoke@expanded\pgfmathdivide@{% - {\pgf@sys@tonumber\pgfplots@tmpa}% - {\pgf@sys@tonumber\pgfplots@tmpb}% + {\pgf@sys@tonumber\pgf@xa}% + {\pgf@sys@tonumber\pgf@xb}% }% - \let#1=\pgfmathresult %\pgfplots@message{pgfplots.sty: Computing 'y' such that 'height = c + y*(ymax-ymin)'; % height=\pgfplots@height, % c=estimated, -% height-c =\the\pgfplots@tmpa, -% y*(ymax[=\the\pgfplots@ycoordmaxTEX] - ymin[=\the\pgfplots@ycoordminTEX)]) = \the\pgfplots@tmpb +% height-c =\the\pgf@xa, +% y*(ymax[=\the\pgfplots@ycoordmaxTEX] - ymin[=\the\pgfplots@ycoordminTEX)]) = \the\pgf@xb % -> y-scale =#1 }% + \pgfmath@smuggleone\pgfmathresult + \endgroup + \let#1=\pgfmathresult } @@ -4381,13 +5330,13 @@ % Check if axis limits are empty: \begingroup \expandafter\let\expandafter\if@cur@is@scaled\csname ifpgfplots@apply@datatrafo@#1\endcsname - \expandafter\let\expandafter\min\csname pgfplots@#1min\endcsname - \expandafter\let\expandafter\max\csname pgfplots@#1max\endcsname + \expandafter\let\expandafter\pgfplots@@min\csname pgfplots@#1min\endcsname + \expandafter\let\expandafter\pgfplots@@max\csname pgfplots@#1max\endcsname \let\min@d=\pgf@xa \let\max@d=\pgf@xb \let\diff=\pgf@xc - \expandafter\min@d\min pt - \expandafter\max@d\max pt + \expandafter\min@d\pgfplots@@min pt + \expandafter\max@d\pgfplots@@max pt \diff=\max@d \advance\diff by-\min@d % FIXME : I need a RELATIVE check here! @@ -4395,21 +5344,21 @@ \if@cur@is@scaled % this here should be sufficient because the axis % has absolute values of order O( 10^3 ) or so. - \ifdim\diff<0.01pt + \ifdim\diff<0.0001pt \pgfplots@avoid@emptyrange@@range@is@approx@equaltrue \fi \else % there is no data scaling, so I should be much more defensive % with absolute thresholds... - \ifdim\diff<0.01pt + \ifdim\diff<0.0001pt \pgfplots@avoid@emptyrange@@range@is@approx@equaltrue \fi \fi \ifpgfplots@avoid@emptyrange@@range@is@approx@equal - \pgfplots@warning{WARNING: Axis range for axis #1 (transformed: [\min:\max]) is approximately equal; enlargeing it.}% - % the case \min ~= \max + \pgfplots@warning{Axis range for axis #1 is approximately equal; enlargeing it.}% + % the case \pgfplots@@min ~= \pgfplots@@max % - % enlarge \max and shrink \min: + % enlarge \pgfplots@@max and shrink \min: \ifdim\max@d<0pt \ifdim\max@d<-1pt \max@d=0.8\max@d @@ -4425,19 +5374,53 @@ \else \ifdim\max@d=0pt \if@cur@is@scaled - % we can't simply add a constant in the - % transformed range. + \expandafter\let\expandafter\min@unscaled\csname pgfplots@#1min@unscaled@as@float\endcsname + \expandafter\let\expandafter\max@unscaled\csname pgfplots@#1max@unscaled@as@float\endcsname + % **sigh**. That's really work. % - % So: set limits to [-1,1] = [-1.0e0,+1.0e0] - \pgfmathfloatcreate{2}{1.0}{0}% - \csname pgfplots@datascaletrafo@#1\endcsname{\pgfmathresult}% - \let\min=\pgfmathresult - \pgfmathfloatcreate{1}{1.0}{0}% - \csname pgfplots@datascaletrafo@#1\endcsname{\pgfmathresult}% - \let\max=\pgfmathresult -%\pgfplots@message{[trafo shift = \csname pgfplots@data@scale@trafo@EXPONENT@#1\endcsname; setting limits -1:1]}% - \expandafter\min@d\min pt - \expandafter\max@d\max pt + % This here happens ALWAYS if min == max for + % linear axis because the scaling + % transformation will result in T(min) = T(max) = 0 + % + % -> we need to enlarge limits in floating + % point arithmetics. + % + \pgfmathfloatcreate{0}{0.0}{0}% + \let\pgfplotsmath@zero=\pgfmathresult + % + \ifx\max@unscaled\pgfplotsmath@zero + % max == 0 + \pgfmathfloatcreate{1}{1.0}{0}% + \let\max@unscaled=\pgfmathresult + \pgfmathfloatcreate{2}{1.0}{0}% + \let\min@unscaled=\pgfmathresult + \else + % + \pgfmathfloatcreate{1}{1.2}{0}% + \let\pgfplotsmath@scalea=\pgfmathresult + \pgfmathfloatcreate{1}{8.0}{-1}% + \let\pgfplotsmath@scaleb=\pgfmathresult + % + \pgfmathfloatlessthan@{\pgfplotsmath@zero}{\max@unscaled}% + \ifpgfmathfloatcomparison + % 0 < max + \pgfmathfloatmultiply@{\max@unscaled}{\pgfplotsmath@scalea}% + \let\max@unscaled=\pgfmathresult + \pgfmathfloatmultiply@{\min@unscaled}{\pgfplotsmath@scaleb}% + \let\min@unscaled=\pgfmathresult + \else + \pgfmathfloatmultiply@{\max@unscaled}{\pgfplotsmath@scaleb}% + \let\max@unscaled=\pgfmathresult + \pgfmathfloatmultiply@{\min@unscaled}{\pgfplotsmath@scalea}% + \let\min@unscaled=\pgfmathresult + \fi + \fi + \csname pgfplots@datascaletrafo@#1\endcsname{\min@unscaled}% + \let\pgfplots@@min=\pgfmathresult + \csname pgfplots@datascaletrafo@#1\endcsname{\max@unscaled}% + \let\pgfplots@@max=\pgfmathresult + \min@d=\pgfplots@@min pt + \max@d=\pgfplots@@max pt \else \advance\max@d by1pt \advance\min@d by-1pt @@ -4448,16 +5431,16 @@ \fi \fi \fi - \xdef\pgfplots@TMP{\pgf@sys@tonumber{\min@d}}% - \xdef\pgfplots@TMPB{\pgf@sys@tonumber{\max@d}}% -%\pgfplots@message{ -> #1 = \pgfplots@TMP : \pgfplots@TMPB;}% + \xdef\pgfplots@glob@TMPa{\pgf@sys@tonumber{\min@d}}% + \xdef\pgfplots@glob@TMPb{\pgf@sys@tonumber{\max@d}}% +%\pgfplots@message{ -> #1 = \pgfplots@glob@TMPa : \pgfplots@glob@TMPb;}% \else - \global\let\pgfplots@TMP=\min% - \global\let\pgfplots@TMPB=\max% + \global\let\pgfplots@glob@TMPa=\pgfplots@@min% + \global\let\pgfplots@glob@TMPb=\pgfplots@@max% \fi \endgroup - \expandafter\global\expandafter\let\csname pgfplots@#1min\endcsname=\pgfplots@TMP - \expandafter\global\expandafter\let\csname pgfplots@#1max\endcsname=\pgfplots@TMPB + \expandafter\global\expandafter\let\csname pgfplots@#1min\endcsname=\pgfplots@glob@TMPa + \expandafter\global\expandafter\let\csname pgfplots@#1max\endcsname=\pgfplots@glob@TMPb } % PRECONDITION: @@ -4563,10 +5546,10 @@ % INIT. % % - \pgfpointxy{\pgfplots@xmin}{\pgfplots@ymin}% + \pgfqpointxy{\pgfplots@xmin}{\pgfplots@ymin}% \pgfplots@xcoordminTEX=\pgf@x \pgfplots@ycoordminTEX=\pgf@y - \pgfpointxy{\pgfplots@xmax}{\pgfplots@ymax}% + \pgfqpointxy{\pgfplots@xmax}{\pgfplots@ymax}% \pgfplots@xcoordmaxTEX=\pgf@x \pgfplots@ycoordmaxTEX=\pgf@y % @@ -4609,16 +5592,15 @@ % % Apply scaling: \pgfpointxy{\pgfplots@tmpXscale}{\pgfplots@tmpYscale}% - \pgfplots@tmpa=\pgf@x - \pgfplots@tmpb=\pgf@y -%\message{initscaling: got x-scaling \the\pgfplots@tmpa, and y-scaling \the\pgfplots@tmpb}% + \edef\pgfplots@tmpscale@x{\the\pgf@x}% + \edef\pgfplots@tmpscale@y{\the\pgf@y}% \ifx\pgfplots@x\pgfutil@empty - \pgfsetxvec{\pgfqpoint{\pgfplots@tmpa}{0pt}}% + \pgfsetxvec{\pgfqpoint{\pgfplots@tmpscale@x}{0pt}}% \else \pgfsetxvec{\pgfpoint{\pgfplots@x}{0pt}}% \fi \ifx\pgfplots@y\pgfutil@empty - \pgfsetyvec{\pgfqpoint{0pt}{\pgfplots@tmpb}}% + \pgfsetyvec{\pgfqpoint{0pt}{\pgfplots@tmpscale@y}}% \else \pgfsetyvec{\pgfpoint{0pt}{\pgfplots@y}}% \fi @@ -4643,10 +5625,10 @@ % 3. The user supplied 'x' and or 'y'. Simply use them, its % accurate. % - \pgfpointxy{\pgfplots@xmin}{\pgfplots@ymin}% + \pgfqpointxy{\pgfplots@xmin}{\pgfplots@ymin}% \pgfplots@xcoordminTEX=\pgf@x \pgfplots@ycoordminTEX=\pgf@y - \pgfpointxy{\pgfplots@xmax}{\pgfplots@ymax}% + \pgfqpointxy{\pgfplots@xmax}{\pgfplots@ymax}% \ifx\pgfplots@rectangle@width\pgfutil@empty \pgfplots@xcoordmaxTEX=\pgf@x \else @@ -4674,6 +5656,45 @@ %-------------------------------------------------- } +% This here is a low-weight node. It can ONLY be used during axis +% descriptions and is completely useless otherwise. +% +% See pgfplots@low@level@shape below. +\pgfdeclareshape{pgfplots@low@level@shape@INNER}{% + \nodeparts{image}% + \anchor{image}{% + \pgf@x=0pt + \pgf@y=0pt + }% + % + % + \anchor{center}{\pgfqpointxy{0.5}{0.5}}% + \anchor{north}{\pgfqpointxy{0.5}{1}}% + \anchor{north east}{\pgfqpointxy{1}{1}}% + \anchor{east}{\pgfqpointxy{1}{0.5}} + \anchor{south east}{\pgfqpointxy{1}{0}}% + \anchor{south}{\pgfqpointxy{0.5}{0}}% + \anchor{south west}{\pgfqpointxy{0}{0}}% + \anchor{west}{\pgfqpointxy{0}{0.5}}% + \anchor{north west}{\pgfqpointxy{0}{1}}% + %% + \anchor{origin}{\pgfqpoint{\pgfplots@ZERO@x\relax}{\pgfplots@ZERO@y\relax}}% + \anchor{above origin}{\pgfqpoint{\pgfplots@ZERO@x\relax}{\pgfplots@ycoordmaxTEX}}% + \anchor{left of origin}{\pgfqpoint{\pgfplots@xcoordminTEX}{\pgfplots@ZERO@y\relax}}% + \anchor{right of origin}{\pgfqpoint{\pgfplots@xcoordmaxTEX}{\pgfplots@ZERO@y\relax}}% + \anchor{below origin}{\pgfqpoint{\pgfplots@ZERO@x\relax}{\pgfplots@ycoordminTEX}}% + %% + %% + %% + %% + \anchorborder{}% + \backgroundpath{}%\pgfpathrectangle{\pgfpointorigin}{\upperrightinnercorner}}% + \foregroundpath{}% + \behindbackgroundpath{}% + \beforebackgroundpath{}% + \behindforegroundpath{}% + \beforeforegroundpath{}% +} % This is the main axis shape. % @@ -4685,10 +5706,13 @@ \pgf@y=\ht\pgfnodepartimagebox }% \savedanchor\lowerleftinnercorner{% - \pgfpoint{\pgfplots@savedanchor@inner@lowerleft@x}{\pgfplots@savedanchor@inner@lowerleft@y}% + \pgfqpoint{\pgfplots@savedanchor@inner@lowerleft@x\relax}{\pgfplots@savedanchor@inner@lowerleft@y\relax}% }% \savedanchor\upperrightinnercorner{% - \pgfpoint{\pgfplots@savedanchor@inner@upperright@x}{\pgfplots@savedanchor@inner@upperright@y}% + \pgfqpoint{\pgfplots@savedanchor@inner@upperright@x\relax}{\pgfplots@savedanchor@inner@upperright@y\relax}% + }% + \savedanchor\origin{% + \pgfqpoint{\pgfplots@ZERO@x\relax}{\pgfplots@ZERO@y\relax}% }% % \nodeparts{image}% @@ -4697,43 +5721,6 @@ \pgf@y=0pt }% % - \anchor{outer north}{% - \upperrightcorner - \pgf@x=.5\pgf@x - }% - \anchor{outer north east}{\upperrightcorner}% - \anchor{outer east}{% - \upperrightcorner - \pgf@y=.5\pgf@y - }% - \anchor{outer south east}{% - \upperrightcorner - \pgf@y=0pt - }% - \anchor{outer south}{% - \upperrightcorner - \pgf@x=.5\pgf@x - \pgf@y=0pt - }% - \anchor{outer south west}{% - \pgf@x=0pt - \pgf@y=0pt - }% - \anchor{outer west}{% - \upperrightcorner - \pgf@x=0pt - \pgf@y=.5\pgf@y - }% - \anchor{outer north west}{% - \upperrightcorner - \pgf@x=0pt - }% - \anchor{outer center}{% - \upperrightcorner - \pgf@x=.5\pgf@x - \pgf@y=.5\pgf@y - }% - % % \anchor{center}{% \lowerleftinnercorner @@ -4796,6 +5783,75 @@ \pgf@x=\pgf@xa }% %% + \anchor{origin}{% + \origin + }% + \anchor{above origin}{% + \origin + \pgf@xa=\pgf@x + \upperrightinnercorner + \pgf@x=\pgf@xa + }% + \anchor{left of origin}{% + \origin + \pgf@xa=\pgf@y + \lowerleftinnercorner + \pgf@y=\pgf@xa + }% + \anchor{right of origin}{% + \origin + \pgf@xa=\pgf@y + \upperrightinnercorner + \pgf@y=\pgf@xa + }% + \anchor{below origin}{% + \origin + \pgf@xa=\pgf@x + \lowerleftinnercorner + \pgf@x=\pgf@xa + }% + % + %% + % + \anchor{outer north}{% + \upperrightcorner + \pgf@x=.5\pgf@x + }% + \anchor{outer north east}{\upperrightcorner}% + \anchor{outer east}{% + \upperrightcorner + \pgf@y=.5\pgf@y + }% + \anchor{outer south east}{% + \upperrightcorner + \pgf@y=0pt + }% + \anchor{outer south}{% + \upperrightcorner + \pgf@x=.5\pgf@x + \pgf@y=0pt + }% + \anchor{outer south west}{% + \pgf@x=0pt + \pgf@y=0pt + }% + \anchor{outer west}{% + \upperrightcorner + \pgf@x=0pt + \pgf@y=.5\pgf@y + }% + \anchor{outer north west}{% + \upperrightcorner + \pgf@x=0pt + }% + \anchor{outer center}{% + \upperrightcorner + \pgf@x=.5\pgf@x + \pgf@y=.5\pgf@y + }% + % + % + %% %% \anchor{above north}{% \upperrightcorner @@ -4875,7 +5931,6 @@ }% %% %% - %% \anchorborder{% % Call a function that computes a border point. Since this % function will modify dimensions like \pgf@x, we must move them to @@ -4894,6 +5949,50 @@ \beforeforegroundpath{}% } +\def\pgfplots@draw@axis{% + \ifpgfplots@hide@x\else + % compute tick position lists + % \pgfplots@prepared@tick@positions@minor@x + % and + % \pgfplots@prepared@tick@positions@major@x + \expandafter\pgfplots@prepare@ticks@for\expandafter{\pgfplots@xtick}{x}{0}% + \pgfplots@drawgridlines@for{x}{0}% + \fi + \ifpgfplots@hide@y\else + \expandafter\pgfplots@prepare@ticks@for\expandafter{\pgfplots@ytick}{y}{1}% + \pgfplots@drawgridlines@for{y}{1}% + \fi + % + \ifpgfplots@hide@x\else + \pgfplots@drawticklines@for{x}{0}% + \fi + \ifpgfplots@hide@y\else + \pgfplots@drawticklines@for{y}{1}% + \fi + % + \pgfplots@drawaxis@lines + % + \ifpgfplots@hide@x\else + \pgfplots@drawticklabels@for{x}{0}% + \fi + \ifpgfplots@hide@y\else + \pgfplots@drawticklabels@for{y}{1}% + \fi + % + \ifpgfplots@hide@x\else + \ifx\pgfplots@extra@xtick\pgfutil@empty + \else + \expandafter\pgfplots@draw@extra@ticks@for\expandafter x\expandafter0\expandafter{\pgfplots@extra@xtick}% + \fi + \fi + \ifpgfplots@hide@y\else + \ifx\pgfplots@extra@ytick\pgfutil@empty + \else + \expandafter\pgfplots@draw@extra@ticks@for\expandafter y\expandafter1\expandafter{\pgfplots@extra@ytick}% + \fi + \fi +}% + \def\pgfplots@BEGIN@init@and@draw@axis{% \pgfplots@determinedefaultvalues \setbox\pgfnodepartimagebox=\hbox\bgroup\bgroup @@ -4905,13 +6004,9 @@ \pgfsetbaseline{\pgf@picminy}% % \scope - \ifpgfplots@hide + \ifpgfplots@axis@on@top \else - \pgfplots@drawaxis@lines - \expandafter\pgfplots@drawxaxis\expandafter{\pgfplots@xtick}% - \expandafter\pgfplots@draw@extra@ticks@for\expandafter x\expandafter{\pgfplots@extra@xtick}% - \expandafter\pgfplots@drawyaxis\expandafter{\pgfplots@ytick}% - \expandafter\pgfplots@draw@extra@ticks@for\expandafter y\expandafter{\pgfplots@extra@ytick}% + \pgfplots@draw@axis \fi \clip (\pgfplots@xcoordminTEX, \pgfplots@ycoordminTEX) @@ -4921,19 +6016,56 @@ \def\pgfplots@END@init@and@draw@axis{% \endscope% + % + \ifpgfplots@axis@on@top + \pgfplots@draw@axis + \else + \fi + % + % whats the better sequence for \ifpgfplots@axis@on@top and \ifpgfplots@clip@marker@paths !? + % This here looks better, I think... markers should not be obscured by descriptions. + \ifpgfplots@clip@marker@paths + \else + \pgfplotslistforeach\pgfplots@stored@markerlist\as\pgfplots@loc@TMPa{% + \pgfplots@loc@TMPa + }% + \global\pgfplotslistnewempty\pgfplots@stored@markerlist% clear. + \fi + % + \begingroup + \pgfkeysvalueof{/pgfplots/after end axis/.@cmd}\pgfeov% + \endgroup + % } -% Writes output to \pgfplots@TMP +% Writes output to \pgfmathresult \def\pgfplots@filter@input@ticks@with@log#1{% - \let\pgfplots@TMP=\pgfutil@empty - \foreach \pgfplots@TMPB in {#1} {% - \expandafter\pgfmathlog@\expandafter{\pgfplots@TMPB}% - \ifx\pgfplots@TMP\pgfutil@empty - \xdef\pgfplots@TMP{\pgfmathresult}% + \let\pgfplots@glob@TMPa=\pgfutil@empty + \foreach \pgfplots@loc@TMPb in {#1} {% + \expandafter\pgfmathlog@\expandafter{\pgfplots@loc@TMPb}% + \ifx\pgfplots@glob@TMPa\pgfutil@empty + \xdef\pgfplots@glob@TMPa{\pgfmathresult}% \else - \xdef\pgfplots@TMP{\pgfplots@TMP,\pgfmathresult}% + \xdef\pgfplots@glob@TMPa{\pgfplots@glob@TMPa,\pgfmathresult}% \fi }% + \let\pgfmathresult=\pgfplots@glob@TMPa +} + +% Writes output to \pgfmathresult +% #1: the input ticks +% #2: the transformation command key as macro +\def\pgfplots@filter@input@ticks@with@highleveltrafo#1#2{% + \let\pgfplots@glob@TMPa=\pgfutil@empty + \foreach \pgfplots@loc@TMPb in {#1} {% + \expandafter#2\expandafter{\pgfplots@loc@TMPb}\pgfeov% + \ifx\pgfplots@glob@TMPa\pgfutil@empty + \xdef\pgfplots@glob@TMPa{\pgfmathresult}% + \else + \xdef\pgfplots@glob@TMPa{\pgfplots@glob@TMPa,\pgfmathresult}% + \fi + }% + \let\pgfmathresult=\pgfplots@glob@TMPa } \tikzdeclarecoordinatesystem{axis}{\pgfplots@evalute@tikz@coord@system@interface#1\pgfplots@coord@end} @@ -4941,15 +6073,20 @@ % Assigns \pgfmathresult := canvas coordinate (#2) for axis #1. \long\def\pgfplots@evalute@tikz@coord@system@interface@for#1#2{% + \pgfkeysgetvalue{/pgfplots/#1 coord trafo/.@cmd}\pgfplots@loc@TMPc + \def\pgfmathresult{#2}% + \ifx\pgfplots@loc@TMPc\pgfplots@empty@command@key + \else + \expandafter\pgfplots@loc@TMPc\expandafter{\pgfmathresult}\pgfeov + \fi + \let\pgfplots@loc@TMPc=\pgfmathresult% FIXME: is that necessary? I doubt it... but just to make sure... \expandafter\let\expandafter\if@datascaled@cur\csname ifpgfplots@apply@datatrafo@#1\endcsname \csname ifpgfplots@#1islinear\endcsname \if@datascaled@cur - \csname pgfplots@datascaletrafo@fromfixed@#1\endcsname{#2}% - \else - \def\pgfmathresult{#2}% + \csname pgfplots@datascaletrafo@fromfixed@#1\endcsname{\pgfplots@loc@TMPc}% \fi \else - \pgfmathlog@{#2}% + \pgfmathlog@{\pgfplots@loc@TMPc}% \fi } @@ -4958,10 +6095,10 @@ \pgfplots@evalute@tikz@coord@system@interface@for{x}{#1}% \let\pgfplots@evaluate@tikz@coord@x=\pgfmathresult \pgfplots@evalute@tikz@coord@system@interface@for{y}{#2}% - \xdef\pgfplots@TMP{\pgfplots@evaluate@tikz@coord@x pt}% - \xdef\pgfplots@TMPB{\pgfmathresult pt}% + \xdef\pgfplots@glob@TMPa{\pgfplots@evaluate@tikz@coord@x}% + \xdef\pgfplots@glob@TMPb{\pgfmathresult}% \endgroup - \pgfpointxy{\pgfplots@TMP}{\pgfplots@TMPB}% + \pgfqpointxy{\pgfplots@glob@TMPa}{\pgfplots@glob@TMPb}% } % In case of (semi-) logplots, this command will @@ -4970,11 +6107,9 @@ % % All subsequent commands will then work with logarithmic coordinates. % -% @see pgfmathlog.sty for details about the implementation of log(). -% % PRECONDITION: % - The user input options have been set correctly, -% - the option processing has not yet begun +% - the options have been set, but are not applied % % POSTCONDITION: % - any user input for log-axis has been replaced by its log @@ -4983,120 +6118,161 @@ % See also: % \pgfplots@apply@data@scale@trafo@to@options@for \def\pgfplots@prepare@coord@filtering@for#1{% - \expandafter\def\csname pgfplots@prepare@#1coord\endcsname##1{% - \def\pgfmathresult{##1}% - }% - \pgfkeysgetvalue{/pgfplots/#1filter}\pgfplots@TMP - \ifx\pgfplots@TMP\pgfutil@empty + \pgfkeysgetvalue{/pgfplots/#1 coord trafo/.@cmd}\pgfplots@loc@TMPc + \expandafter\let\csname pgfplots@highlevel@trafo@#1\endcsname=\pgfplots@loc@TMPc + \ifx\pgfplots@loc@TMPc\pgfplots@empty@command@key + % no high-level external coord trafos. + % Simply use identity: + \expandafter\def\csname pgfplots@prepare@#1coord\endcsname##1{% + \def\pgfmathresult{##1}% + }% \else - \expandafter\let\csname pgfplots@#1filter@backwcompat\endcsname=\pgfplots@TMP - \pgfplots@toka={WARNING: /pgfplots/#1filter is deprecated. Please use /pgfplots/#1 filter/.code={\def\pgfmathresult{\#1}}}% - \pgfplots@warning{\the\pgfplots@toka}% + % Apply external coordinate trafo to all input values: + \expandafter\edef\csname pgfplots@prepare@#1coord\endcsname##1{% + \noexpand\def\noexpand\pgfmathresult{##1}% + \expandafter\noexpand\csname pgfplots@highlevel@trafo@#1\endcsname{##1}\noexpand\pgfeov + }% + % + % The transformation is now \pgfplots@loc@TMPc + % + % any user-specified axis limits: + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfplots@#1min\endcsname + \ifx\pgfplots@loc@TMPa\pgfutil@empty + \else + \expandafter\pgfplots@loc@TMPc\expandafter{\pgfplots@loc@TMPa}\pgfeov% + \expandafter\global\expandafter\let\csname pgfplots@#1min\endcsname=\pgfmathresult + \fi + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfplots@#1max\endcsname + \ifx\pgfplots@loc@TMPa\pgfutil@empty + \else + \expandafter\pgfplots@loc@TMPc\expandafter{\pgfplots@loc@TMPa}\pgfeov% + \expandafter\global\expandafter\let\csname pgfplots@#1max\endcsname=\pgfmathresult + \fi + % + % any user specified axis ticks: + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfplots@#1tick\endcsname + \ifx\pgfplots@loc@TMPa\pgfutil@empty + \else + \def\pgfplots@loc@TMPb{data}% + \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb + \else + \expandafter\pgfplots@filter@input@ticks@with@highleveltrafo\expandafter{\pgfplots@loc@TMPa}{\pgfplots@loc@TMPc}% + \expandafter\edef\csname pgfplots@#1tick\endcsname{\pgfmathresult}% + \fi + \fi + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfplots@extra@#1tick\endcsname + \ifx\pgfplots@loc@TMPa\pgfutil@empty + \else + \expandafter\pgfplots@filter@input@ticks@with@highleveltrafo\expandafter{\pgfplots@loc@TMPa}{\pgfplots@loc@TMPc}% + \expandafter\edef\csname pgfplots@extra@#1tick\endcsname{\pgfmathresult}% + \fi + % + \fi + % + \pgfkeysgetvalue{/pgfplots/#1filter}\pgfplots@loc@TMPa + \ifx\pgfplots@loc@TMPa\pgfutil@empty + \else + \expandafter\let\csname pgfplots@#1filter@backwcompat\endcsname=\pgfplots@loc@TMPa + \t@pgfplots@tokc={/pgfplots/#1filter is deprecated. Please use /pgfplots/#1 filter/.code={\def\pgfmathresult{\#1}}}% + \pgfplots@warning{\the\t@pgfplots@tokc}% \pgfkeys{/pgfplots/#1 filter/.code={\csname pgfplots@#1filter@backwcompat\endcsname{##1}\to\pgfmathresult}}% \fi - \csname pgfplots@float@numerics@mode@#1false\endcsname \csname ifpgfplots@#1islinear\endcsname - \ifpgfplots@disabledatascaling - \csname pgfplots@apply@datatrafo@#1false\endcsname - \pgfplots@apply@datatrafofalse - \else - \csname pgfplots@apply@datatrafo@#1true\endcsname - \csname pgfplots@float@numerics@mode@#1true\endcsname - \pgfplots@apply@datatrafotrue - \fi + \csname pgfplots@apply@datatrafo@#1true\endcsname + \pgfplots@apply@datatrafotrue \ifpgfplots@apply@datatrafo % Check for any existing axis limits: - \expandafter\let\expandafter\pgfplots@TMP\csname pgfplots@#1min\endcsname - \ifx\pgfplots@TMP\pgfutil@empty + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfplots@#1min\endcsname + \ifx\pgfplots@loc@TMPa\pgfutil@empty \else - \expandafter\pgfmathfloatparsenumber\expandafter{\pgfplots@TMP}% + \expandafter\pgfmathfloatparsenumber\expandafter{\pgfplots@loc@TMPa}% \expandafter\global\expandafter\let\csname pgfplots@#1min\endcsname=\pgfmathresult \fi - \expandafter\let\expandafter\pgfplots@TMP\csname pgfplots@#1max\endcsname - \ifx\pgfplots@TMP\pgfutil@empty + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfplots@#1max\endcsname + \ifx\pgfplots@loc@TMPa\pgfutil@empty \else - \expandafter\pgfmathfloatparsenumber\expandafter{\pgfplots@TMP}% + \expandafter\pgfmathfloatparsenumber\expandafter{\pgfplots@loc@TMPa}% \expandafter\global\expandafter\let\csname pgfplots@#1max\endcsname=\pgfmathresult \fi \fi \else + % This here could be done using a high level coord trafo as + % well! However, I don't want to risk accidentally overwritten + % keys, so I replicate it here. \ifpgfplots@disablelogfilter \else % any user-specified axis limits: - \expandafter\let\expandafter\pgfplots@TMP\csname pgfplots@#1min\endcsname - \ifx\pgfplots@TMP\pgfutil@empty + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfplots@#1min\endcsname + \ifx\pgfplots@loc@TMPa\pgfutil@empty \else - \expandafter\pgfmathlog@\expandafter{\pgfplots@TMP}% + \expandafter\pgfmathlog@\expandafter{\pgfplots@loc@TMPa}% \expandafter\global\expandafter\let\csname pgfplots@#1min\endcsname=\pgfmathresult \fi - \expandafter\let\expandafter\pgfplots@TMP\csname pgfplots@#1max\endcsname - \ifx\pgfplots@TMP\pgfutil@empty + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfplots@#1max\endcsname + \ifx\pgfplots@loc@TMPa\pgfutil@empty \else - \expandafter\pgfmathlog@\expandafter{\pgfplots@TMP}% + \expandafter\pgfmathlog@\expandafter{\pgfplots@loc@TMPa}% \expandafter\global\expandafter\let\csname pgfplots@#1max\endcsname=\pgfmathresult \fi % % any user specified axis ticks: - \expandafter\let\expandafter\pgfplots@TMP\csname pgfplots@#1tick\endcsname - \ifx\pgfplots@TMP\pgfutil@empty + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfplots@#1tick\endcsname + \ifx\pgfplots@loc@TMPa\pgfutil@empty \else - \def\pgfplots@TMPB{data}% - \ifx\pgfplots@TMP\pgfplots@TMPB + \def\pgfplots@loc@TMPb{data}% + \ifx\pgfplots@loc@TMPa\pgfplots@loc@TMPb \else - \expandafter\pgfplots@filter@input@ticks@with@log\expandafter{\pgfplots@TMP}% - \expandafter\edef\csname pgfplots@#1tick\endcsname{\pgfplots@TMP}% + \expandafter\pgfplots@filter@input@ticks@with@log\expandafter{\pgfplots@loc@TMPa}% + \expandafter\edef\csname pgfplots@#1tick\endcsname{\pgfmathresult}% \fi \fi - \expandafter\let\expandafter\pgfplots@TMP\csname pgfplots@extra@#1tick\endcsname - \ifx\pgfplots@TMP\pgfutil@empty + \expandafter\let\expandafter\pgfplots@loc@TMPa\csname pgfplots@extra@#1tick\endcsname + \ifx\pgfplots@loc@TMPa\pgfutil@empty \else - \expandafter\pgfplots@filter@input@ticks@with@log\expandafter{\pgfplots@TMP}% - \expandafter\edef\csname pgfplots@extra@#1tick\endcsname{\pgfplots@TMP}% + \expandafter\pgfplots@filter@input@ticks@with@log\expandafter{\pgfplots@loc@TMPa}% + \expandafter\edef\csname pgfplots@extra@#1tick\endcsname{\pgfmathresult}% \fi % - \expandafter\def\csname pgfplots@prepare@#1coord\endcsname##1{% - \pgfmathlog@{##1}% - }% - %-------------------------------------------------- - % \expandafter\let\expandafter\pgfplots@TMP\csname pgfplots@#1filter\endcsname - % \ifx\pgfplots@TMP\pgfutil@empty - % \expandafter\def\csname addplot@log@compute@#1filter\endcsname##1\to##2{% - % \pgfmathlog@{##1}% - % \let##2=\pgfmathresult - % }% - % \else - % \expandafter\let\csname pgfplots@#1filter@orig\endcsname=\pgfplots@TMP - % \expandafter\def\csname addplot@log@compute@#1filter\endcsname##1\to##2{% - % \pgfmathlog@{##1}% - % \ifx\pgfmathresult\pgfutil@empty - % \let##2=\pgfutil@empty - % \else - % \expandafter\expandafter\csname pgfplots@#1filter@orig\endcsname\pgfmathresult\to##2\relax - % \fi - % }% - % \fi - % \expandafter\let\expandafter\pgfplots@TMP\csname addplot@log@compute@#1filter\endcsname - % \expandafter\let\csname pgfplots@#1filter\endcsname\pgfplots@TMP - %-------------------------------------------------- + % append logarithm to prepare coord. + % + \pgfkeysgetvalue{/pgfplots/#1 coord trafo/.@cmd}\pgfplots@loc@TMPc + \ifx\pgfplots@loc@TMPc\pgfplots@empty@command@key + \expandafter\def\csname pgfplots@prepare@#1coord\endcsname##1{% + \pgfmathlog@{##1}% + }% + \else + % This is a bit complicated... but it works. + \t@pgfplots@toka=\expandafter\expandafter\expandafter{\csname pgfplots@prepare@#1coord\endcsname{##1}\expandafter\pgfmathlog@\expandafter{\pgfmathresult}}% + \edef\pgfplots@loc@TMPa{\the\t@pgfplots@toka}% + \expandafter\def\expandafter\pgfplots@loc@TMPa\expandafter##\expandafter1\expandafter{\pgfplots@loc@TMPa}% + \expandafter\let\csname pgfplots@prepare@#1coord\endcsname=\pgfplots@loc@TMPa + \fi \fi \fi } \def\pgfplots@create@axis@descriptions{% - \ifpgfplots@hide + \ifpgfplots@hide@x \else - \ifx\pgfplots@xlabel\pgfutil@empty + \pgfkeysgetvalue{/pgfplots/xlabel}{\pgfplots@label@}% + \ifx\pgfplots@label@\pgfutil@empty \else - \pgfplots@show@label{x}% + \pgfplots@show@label{x}{\pgfplots@label@}% \fi - \ifx\pgfplots@ylabel\pgfutil@empty + \fi + \ifpgfplots@hide@y + \else + \pgfkeysgetvalue{/pgfplots/ylabel}{\pgfplots@label@}% + \ifx\pgfplots@label@\pgfutil@empty \else - \pgfplots@show@label{y}% + \pgfplots@show@label{y}{\pgfplots@label@}% \fi \fi - \ifx\pgfplots@title\pgfutil@empty + % + \pgfkeysgetvalue{/pgfplots/title}\pgfplots@loc@TMPa + \ifx\pgfplots@loc@TMPa\pgfutil@empty \else - \pgfplots@show@title + \expandafter\pgfplots@show@title\expandafter{\pgfplots@loc@TMPa}% \fi \pgfplots@createlegend } @@ -5124,12 +6300,12 @@ % @see % \pgfplots@datascaletrafo@fromfixed@x \def\pgfplots@datascaletrafo@x#1{% - \pgfmathfloatshift{#1}{\pgfplots@data@scale@trafo@EXPONENT@x}% + \pgfmathfloatshift@{#1}{\pgfplots@data@scale@trafo@EXPONENT@x}% \expandafter\pgfmathfloattofixed\expandafter{\pgfmathresult}% \expandafter\pgfmathsubtract@\expandafter{\pgfmathresult}{\pgfplots@data@scale@trafo@SHIFT@x}% } \def\pgfplots@datascaletrafo@x@noshift#1{% - \pgfmathfloatshift{#1}{\pgfplots@data@scale@trafo@EXPONENT@x}% + \pgfmathfloatshift@{#1}{\pgfplots@data@scale@trafo@EXPONENT@x}% \expandafter\pgfmathfloattofixed\expandafter{\pgfmathresult}% } @@ -5143,7 +6319,7 @@ } \def\pgfplots@datascaletrafo@y#1{% - \pgfmathfloatshift{#1}{\pgfplots@data@scale@trafo@EXPONENT@y}% + \pgfmathfloatshift@{#1}{\pgfplots@data@scale@trafo@EXPONENT@y}% \expandafter\pgfmathfloattofixed\expandafter{\pgfmathresult}% \expandafter\pgfmathsubtract@\expandafter{\pgfmathresult}{\pgfplots@data@scale@trafo@SHIFT@y}% } @@ -5152,7 +6328,7 @@ \expandafter\pgfplots@datascaletrafo@y\expandafter{\pgfmathresult}% } \def\pgfplots@datascaletrafo@y@noshift#1{% - \pgfmathfloatshift{#1}{\pgfplots@data@scale@trafo@EXPONENT@y}% + \pgfmathfloatshift@{#1}{\pgfplots@data@scale@trafo@EXPONENT@y}% \expandafter\pgfmathfloattofixed\expandafter{\pgfmathresult}% } @@ -5178,7 +6354,7 @@ \else \pgfmathfloatparsenumber{\pgfplots@inverse@datascaletrafo@@shifted}% \edef\pgfplots@data@scale@trafo@EXPONENT@x{-\pgfplots@data@scale@trafo@EXPONENT@x}% - \expandafter\pgfmathfloatshift\expandafter{\pgfmathresult}{\pgfplots@data@scale@trafo@EXPONENT@x}% + \expandafter\pgfmathfloatshift@\expandafter{\pgfmathresult}{\pgfplots@data@scale@trafo@EXPONENT@x}% \fi \pgfmath@smuggleone\pgfmathresult \endgroup @@ -5191,7 +6367,7 @@ \else \pgfmathfloatparsenumber{#1}% \edef\pgfplots@data@scale@trafo@EXPONENT@x{-\pgfplots@data@scale@trafo@EXPONENT@x}% - \expandafter\pgfmathfloatshift\expandafter{\pgfmathresult}{\pgfplots@data@scale@trafo@EXPONENT@x}% + \expandafter\pgfmathfloatshift@\expandafter{\pgfmathresult}{\pgfplots@data@scale@trafo@EXPONENT@x}% \fi \pgfmath@smuggleone\pgfmathresult \endgroup @@ -5207,7 +6383,7 @@ \else \pgfmathfloatparsenumber{\pgfplots@inverse@datascaletrafo@@shifted}% \edef\pgfplots@data@scale@trafo@EXPONENT@y{-\pgfplots@data@scale@trafo@EXPONENT@y}% - \expandafter\pgfmathfloatshift\expandafter{\pgfmathresult}{\pgfplots@data@scale@trafo@EXPONENT@y}% + \expandafter\pgfmathfloatshift@\expandafter{\pgfmathresult}{\pgfplots@data@scale@trafo@EXPONENT@y}% \fi \pgfmath@smuggleone\pgfmathresult \endgroup @@ -5221,7 +6397,7 @@ \else \pgfmathfloatparsenumber{#1}% \edef\pgfplots@data@scale@trafo@EXPONENT@y{-\pgfplots@data@scale@trafo@EXPONENT@y}% - \expandafter\pgfmathfloatshift\expandafter{\pgfmathresult}{\pgfplots@data@scale@trafo@EXPONENT@y}% + \expandafter\pgfmathfloatshift@\expandafter{\pgfmathresult}{\pgfplots@data@scale@trafo@EXPONENT@y}% \fi \pgfmath@smuggleone\pgfmathresult \endgroup @@ -5297,16 +6473,16 @@ % #1: input macro \def\pgfplots@setkeys@from@macro#1{% \let\pgfplots@rmopts=\pgfutil@empty - \def\pgfplots@TMP{\pgfqkeysfiltered{/pgfplots}}% - \expandafter\pgfplots@TMP\expandafter{#1}% + \def\pgfplots@loc@TMPa{\pgfqkeysfiltered{/pgfplots}}% + \expandafter\pgfplots@loc@TMPa\expandafter{#1}% } % #1: macro % #2: style name \long\def\pgfplots@append@keymacro@to@style#1#2{% - \pgfplotslist@TOK@a={#2/.append style=}% - \pgfplotslist@TOK@b=\expandafter{#1}% - \edef\pgfplots@setkeys@TMP{\the\pgfplotslist@TOK@a{\the\pgfplotslist@TOK@b}}% + \t@pgfplots@toka={#2/.append style=}% + \t@pgfplots@tokb=\expandafter{#1}% + \edef\pgfplots@setkeys@TMP{\the\t@pgfplots@toka{\the\t@pgfplots@tokb}}% \expandafter\pgfplotsset\expandafter{\pgfplots@setkeys@TMP}% %\pgfplots@message{tikzstyle{#2}+=[#1]}% } @@ -5314,22 +6490,23 @@ % #1: macro % #2: style name \long\def\pgfplots@set@keymacro@to@style#1#2{% - \pgfplotslist@TOK@a={#2/.style=}% - \pgfplotslist@TOK@b=\expandafter{#1}% - \edef\pgfplots@setkeys@TMP{\the\pgfplotslist@TOK@a{\the\pgfplotslist@TOK@b}}% + \t@pgfplots@toka={#2/.style=}% + \t@pgfplots@tokb=\expandafter{#1}% + \edef\pgfplots@setkeys@TMP{\the\t@pgfplots@toka{\the\t@pgfplots@tokb}}% \expandafter\pgfplotsset\expandafter{\pgfplots@setkeys@TMP}% %\pgfplots@message{tikzstyle{#2}=[#1]}% } -\def\pgfplots@preset@keys{% - \def\pgfplots@at{\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% -} - % backwards compatibility: \let\prettyprintnumber=\pgfmathprintnumber% \def\pgfplots@set@options#1{% - \pgfplots@preset@keys + \pgfutil@ifundefined{tikz@lastx}{% + % no warning. Its not that important anyway, I think. + \def\pgfplots@at{\pgfpointorigin}% + }{% + \def\pgfplots@at{\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + }% % % Temporarily assign families to 'name' and 'alias' options. % This allows to get the names - they should not be appended to @@ -5452,9 +6629,11 @@ \pgfplots@set@keys@from@tikz@style{every major grid}% \pgfkeysdeactivatefamily{/pgfplots/tick}% % - \pgfkeysactivatefamily{/pgfplots}% - \pgfplots@set@keys@from@tikz@style{every axis plot}% - \pgfkeysdeactivatefamily{/pgfplots}% + %-------------------------------------------------- + % \pgfkeysactivatefamily{/pgfplots}% + % \pgfplots@set@keys@from@tikz@style{every axis plot}% + % \pgfkeysdeactivatefamily{/pgfplots}% + %-------------------------------------------------- % \pgfkeysactivatefamily{/pgfplots/descriptions}% \pgfkeysactivatefamily{/pgfplots/tick}% @@ -5475,8 +6654,8 @@ {\pgfplots@remaining@input}% {every axis}% \pgfplots@deactivefamiliescmd -%\pgfkeysgetvalue{/tikz/every axis/.@cmd}\pgfplots@TMP -%\message{every axis is now '\meaning\pgfplots@TMP'}% +%\pgfkeysgetvalue{/tikz/every axis/.@cmd}\pgfplots@loc@TMPa +%\message{every axis is now '\meaning\pgfplots@loc@TMPa'}% % \pgfkeysdeactivatefamily{/pgfplots/style commands}% \global\pgfkeysgetvalue{/pgfplots/xmin}{\pgfplots@xmin}% @@ -5484,18 +6663,22 @@ \global\pgfkeysgetvalue{/pgfplots/ymin}{\pgfplots@ymin}% \global\pgfkeysgetvalue{/pgfplots/ymax}{\pgfplots@ymax}% % - \def\pgfplots@TMP{data}% + \def\pgfplots@loc@TMPa{data}% \pgfplots@collect@firstplot@astickfalse - \ifx\pgfplots@xtick\pgfplots@TMP + \ifx\pgfplots@xtick\pgfplots@loc@TMPa \pgfplots@collect@firstplot@asticktrue \fi - \ifx\pgfplots@ytick\pgfplots@TMP + \ifx\pgfplots@ytick\pgfplots@loc@TMPa \pgfplots@collect@firstplot@asticktrue \fi \ifpgfplots@collect@firstplot@astick \let\pgfplots@firstplot@coords@x=\pgfutil@empty \let\pgfplots@firstplot@coords@y=\pgfutil@empty \fi + \pgfkeysdef{/pgfplots/.unknown}{% + \let\pgfplots@searchname=\pgfkeyscurrentname + \pgfkeysalso{/tikz/\pgfplots@searchname=##1}% + }% } \def\pgfplots@install@abbrev@commands{ @@ -5503,6 +6686,8 @@ \let\pgfplots@orig@plot=\plot % \let\axispath=\pgfplots@path + \let\pgfplotsinterruptdatabb=\pgfplots@interruptdatabb + \let\endpgfplotsinterruptdatabb=\endpgfplots@interruptdatabb % \let\addplot=\pgfplots@addplot \let\plot=\addplot @@ -5523,6 +6708,11 @@ \or2.197224 \fi }% + \def\axisdefaultticklabel{$\pgfmathprintnumber{\tick}$}% + \def\axisdefaultticklabellog{% + \pgfkeysgetvalue{/pgfplots/log number format code/.@cmd}\pgfplots@log@label@style + \expandafter\pgfplots@log@label@style\tick\pgfeov + }% % \let\legend=\pgfplots@command@legend \let\addlegendentry=\pgfplots@addlegendentry @@ -5537,18 +6727,17 @@ }% % temporary (local) variables inside of axis -\newif\ifpgfplots@autocomputelimits -\newif\ifpgfplots@autocompute@xlim -\newif\ifpgfplots@autocompute@ylim +\newif\ifpgfplots@autocomputeanylimits +\newif\ifpgfplots@autocompute@all@limits +\newif\ifpgfplots@autocompute@xmin +\newif\ifpgfplots@autocompute@xmax +\newif\ifpgfplots@autocompute@ymin +\newif\ifpgfplots@autocompute@ymax \newif\ifpgfplots@apply@datatrafo@x \newif\ifpgfplots@apply@datatrafo@y \newif\ifpgfplots@apply@datatrafo -\newif\ifpgfplots@float@numerics@mode@x -\newif\ifpgfplots@float@numerics@mode@y \newif\ifpgfplots@datascaletrafo@initialised \newif\ifpgfplots@draw@at@end -\newif\ifpgfplots@limits@are@computed -\newif\ifpgfplots@EMERGENCY@FORCE@DATA@TRAFO@TO@IDENTITY % Extracts single components of an entry of % \pgfplots@stored@plotlist @@ -5565,6 +6754,67 @@ \def\pgfplots@stored@current@postcmd{#4}% } +\def\pgfplots@init@cleared@structures{% + \global\pgfplotslistnewempty\pgfplots@plotspeclist + \global\pgfplotslistnewempty\pgfplots@legend + \global\pgfplotslistnewempty\pgfplots@stored@plotlist + \global\pgfplots@numplots=0 + \let\pgfplots@already@computed@legend@node=\pgfutil@empty +} + +% The implementation for \label{foo} after \addplot. It allows to +% \ref{foo} (it inserts the 'legend image code'). +% +% I only need to overwrite '\label'; the rest is done by LaTeX. +% +% THIS IS INCOMPATIBLE WITH plain TeX and ConTeXt! Don't use it, it +% doesn't hurt. +\def\pgfplots@plot@label#1{% + \ifx\pgfplots@last@plot@style\pgfutil@empty + \pgfplots@error{Can't create \string\label{#1}: it needs to be called after \string\addplot.}% + \else + \begingroup + % I'd like to get all options which are INDEPENDENT of + % pgfplots. Idea: expand all /pgfplots-keys and collect + % everything which belongs NOT to /pgfplots. This is the + % completely expanded rest. At least, I hope so and it appears + % to work. + \pgfkeysinstallkeyfilter + {/pgf/key filters/and} + {{/pgf/key filters/is descendant of=/pgfplots}% + {/pgf/key filters/defined}}% + \def\pgfplots@label@tikzopts{}% + \pgfkeysinstallkeyfilterhandler{/pgf/key filter handlers/append filtered to}{\pgfplots@label@tikzopts}% + \def\pgfplots@loc@TMPa{\pgfqkeysfiltered{/tikz}}% + \expandafter\pgfplots@loc@TMPa\expandafter{\pgfplots@last@plot@style}% + % + \pgfkeysgetvalue{/pgfplots/every crossref picture/.@cmd}{\pgfplots@crossref@pic}% + \pgfkeysgetvalue{/pgfplots/legend image code/.@cmd}{\pgfplots@curlegendcode}% + \t@pgfplots@toka=\expandafter{\pgfplots@curlegendcode current plot style\pgfeov}% + \t@pgfplots@tokb=\expandafter{\pgfplots@label@tikzopts}% + \t@pgfplots@tokc=\expandafter{\pgfplots@crossref@pic\pgfeov}% + \edef\pgfplots@loc@TMPa{% + \noexpand\begingroup + \noexpand\pgfkeysdef{/tikz/current plot style}{\noexpand\pgfkeysalso{\the\t@pgfplots@tokb}}% + \noexpand\pgfkeysdef{/pgfplots/every crossref picture}{\the\t@pgfplots@tokc}% + \noexpand\tikz[/pgfplots/every crossref picture]{\the\t@pgfplots@toka}% + \noexpand\endgroup% + }% + \pgfplots@command@to@string{\pgfplots@loc@TMPa}{\pgfplots@loc@TMPa}% + \global\let\pgfplots@glob@TMPb=\pgfplots@loc@TMPa + \endgroup + \let\@currentlabel=\pgfplots@glob@TMPb + \pgfplots@original@LaTeX@label{#1}% + \fi +}% + +\def\pgfplots@interruptdatabb{% + \def\pgfplots@update@limits@for@one@point##1##2##3##4{}% +}% +\def\endpgfplots@interruptdatabb{% + \let\pgfplots@update@limits@for@one@point=\pgfplots@update@limits@for@one@point@orig +}% + \def\pgfplots@environment@opt[#1]{% \begingroup \pgfplots@install@abbrev@commands @@ -5586,12 +6836,7 @@ % -------------------- % Allocations: % -------------------- - \global\pgfplots@EMERGENCY@FORCE@DATA@TRAFO@TO@IDENTITYfalse - \global\pgfplotslistnewempty\pgfplots@plotspeclist - \global\pgfplotslistnewempty\pgfplots@legend - \global\pgfplotslistnewempty\pgfplots@stored@plotlist - \global\pgfplots@numplots=0 - \let\pgfplots@already@computed@legend@node=\pgfutil@empty + \pgfplots@init@cleared@structures % % -------------------- % Option preprocessing @@ -5604,49 +6849,64 @@ \pgfplots@datascaletrafo@initialisedtrue% there is no trafo. \fi % + \ifpgfplots@xislinear + \pgfmathfloatcreate{1}{1.0}{2147483645}% + \let\pgfplots@invalidrange@xmin=\pgfmathresult + \pgfmathfloatcreate{2}{1.0}{2147483645}% + \let\pgfplots@invalidrange@xmax=\pgfmathresult + \else + \def\pgfplots@invalidrange@xmin{16300}% + \def\pgfplots@invalidrange@xmax{-16300}% + \fi + \ifpgfplots@yislinear + \pgfmathfloatcreate{1}{1.0}{2147483645}% + \let\pgfplots@invalidrange@ymin=\pgfmathresult + \pgfmathfloatcreate{2}{1.0}{2147483645}% + \let\pgfplots@invalidrange@ymax=\pgfmathresult + \else + \def\pgfplots@invalidrange@ymin{16300}% + \def\pgfplots@invalidrange@ymax{-16300}% + \fi + % + % These numbers will ONLY be filled for linear axis! + \global\let\pgfplots@data@xmin=\pgfplots@invalidrange@xmin + \global\let\pgfplots@data@xmax=\pgfplots@invalidrange@xmax + \global\let\pgfplots@data@ymin=\pgfplots@invalidrange@ymin + \global\let\pgfplots@data@ymax=\pgfplots@invalidrange@ymax + % + \pgfplots@autocompute@all@limitstrue \ifx\pgfplots@xmin\pgfutil@empty - \pgfplots@autocompute@xlimtrue - \gdef\pgfplots@xmin{16300}% - \ifpgfplots@float@numerics@mode@x - \pgfmathfloatcreate{1}{1.0}{324}% - \global\let\pgfplots@xmin=\pgfmathresult - \fi + \pgfplots@autocompute@xmintrue + \global\let\pgfplots@xmin=\pgfplots@invalidrange@xmin + \pgfplots@autocomputeanylimitstrue + \else + \pgfplots@autocompute@all@limitsfalse \fi \ifx\pgfplots@xmax\pgfutil@empty - \pgfplots@autocompute@xlimtrue - \gdef\pgfplots@xmax{-16300}% - \ifpgfplots@float@numerics@mode@x - \pgfmathfloatcreate{2}{1.0}{324}% - \global\let\pgfplots@xmax=\pgfmathresult - \fi + \pgfplots@autocompute@xmaxtrue + \global\let\pgfplots@xmax=\pgfplots@invalidrange@xmax + \pgfplots@autocomputeanylimitstrue + \else + \pgfplots@autocompute@all@limitsfalse \fi \ifx\pgfplots@ymin\pgfutil@empty - \pgfplots@autocompute@ylimtrue - \gdef\pgfplots@ymin{16300}% - \ifpgfplots@float@numerics@mode@y - \pgfmathfloatcreate{1}{1.0}{324}% - \global\let\pgfplots@ymin=\pgfmathresult - \fi + \pgfplots@autocompute@ymintrue + \global\let\pgfplots@ymin=\pgfplots@invalidrange@ymin + \pgfplots@autocomputeanylimitstrue + \else + \pgfplots@autocompute@all@limitsfalse \fi \ifx\pgfplots@ymax\pgfutil@empty - \pgfplots@autocompute@ylimtrue - \gdef\pgfplots@ymax{-16300}% - \ifpgfplots@float@numerics@mode@y - \pgfmathfloatcreate{2}{1.0}{324}% - \global\let\pgfplots@ymax=\pgfmathresult - \fi + \pgfplots@autocompute@ymaxtrue + \global\let\pgfplots@ymax=\pgfplots@invalidrange@ymax + \pgfplots@autocomputeanylimitstrue + \else + \pgfplots@autocompute@all@limitsfalse \fi % - \global\pgfplots@limits@are@computedtrue - \ifpgfplots@autocompute@xlim + % autocomputelimits := at least one limit needs to be updated. + \ifpgfplots@autocomputeanylimits \pgfplots@draw@at@endtrue - \pgfplots@autocomputelimitstrue - \global\pgfplots@limits@are@computedfalse - \fi - \ifpgfplots@autocompute@ylim - \pgfplots@draw@at@endtrue - \pgfplots@autocomputelimitstrue - \global\pgfplots@limits@are@computedfalse \fi % % @@ -5677,6 +6937,12 @@ \pgfplots@stacked@reversefalse \fi % + \pgfutil@ifundefined{label}{\relax}{% + \let\pgfplots@original@LaTeX@label=\label + \let\label=\pgfplots@plot@label + }% + \global\let\pgfplots@last@plot@style=\pgfutil@empty + % % any \path command is invalid inside of an axis. % Use \axispath instead: \def\numplots{\the\pgfplots@numplots}% @@ -5690,8 +6956,8 @@ \pgfplots@nextcommand } \def\endpgfplots@environment@opt{% - \pgfkeysvalueof{/pgfplots/before end axis/.@cmd}\pgfeov% \xdef\numplots{\the\pgfplots@numplots}% + \pgfkeysvalueof{/pgfplots/before end axis/.@cmd}\pgfeov% % % restore old \path command: \let\path=\pgfplots@orig@path @@ -5702,18 +6968,20 @@ % All plotting commands have been read. % -> apply postponed drawing commands! % -------------------- - \ifpgfplots@draw@at@end + \ifpgfplots@draw@at@end% ALWAYS TRUE - this is obsolete \def\pgfplots@nextcommand{% \pgfplots@BEGIN@init@and@draw@axis \pgfplots@stacked@initialise + \global\pgfplotslistnewempty\pgfplots@stored@markerlist \ifpgfplots@stacked@reverse % This here applies any scaling trafos and assembles a % NEW \pgfplots@stored@plotlist! \pgfplots@stacked@finalize@stored@plots \fi - \pgfplotslistforeach\pgfplots@stored@plotlist\as\pgfplots@TMP{% - \expandafter\pgfplots@stored@plotlist@EXTRACTENTRY\pgfplots@TMP + \pgfplotslistforeach\pgfplots@stored@plotlist\as\pgfplots@loc@TMPa{% + \expandafter\pgfplots@stored@plotlist@EXTRACTENTRY\pgfplots@loc@TMPa %\message{Processing stored plot with precommand '\meaning\pgfplots@stored@current@precmd'; pgfplots@plotcmd '\meaning\pgfplots@stored@current@cmd' postcommand '\meaning\pgfplots@stored@current@postcmd'}% + % The precmd processed any error bars. \pgfplots@stored@current@precmd \ifx\pgfplots@stored@current@cmd\pgfutil@empty \pgfplots@stored@current@data% @@ -5722,14 +6990,11 @@ % command! \ifpgfplots@stacked@reverse % has already been processed above, in \pgfplots@stacked@finalize@stored@plots. + \pgfplots@stacked@draw@reversed@plot \else - \ifpgfplots@apply@datatrafo - % Apply the data scaling transformation - \expandafter\pgfplots@coord@stream@finalize@storedcoords@START\pgfplots@stored@current@data\to\pgfplots@stored@current@data% - \fi + % modifies \pgfplots@stored@markerlist if necessary. + \expandafter\pgfplots@coord@stream@finalize@storedcoords@START\pgfplots@stored@current@data\pgfplots@EOI \fi -%\message{calling plotcmd and plotdata: pgfplots@plotcmd '\meaning\pgfplots@stored@current@cmd' data '\meaning\pgfplots@stored@current@data'}% - \expandafter\pgfplots@stored@current@cmd\pgfplots@stored@current@data \fi \pgfplots@stored@current@postcmd }% @@ -5741,15 +7006,15 @@ \pgfplots@nextcommand \pgfplots@END@init@and@draw@axis % - \begingroup - \pgfkeysvalueof{/pgfplots/after end axis/.@cmd}\pgfeov% - \endgroup % \begingroup % set coordinate system to (0,0) rectangle (1,1) for descriptions: \pgftransformxshift{\pgfplots@xcoordminTEX}% \pgftransformyshift{\pgfplots@ycoordminTEX}% % + % create a 'current axis' node for anchor references. + \pgfmultipartnode{pgfplots@low@level@shape@INNER}{south west}{current axis}{\pgfusepath{discard}}% + % \pgfplots@tmpa=\pgfplots@xcoordmaxTEX \advance\pgfplots@tmpa by-\pgfplots@xcoordminTEX \pgfsetxvec{\pgfqpoint{\pgfplots@tmpa}{0cm}}% @@ -5791,6 +7056,14 @@ \pgf@xa=\pgfplots@ycoordminTEX \advance\pgf@xa by-\pgf@picminy \xdef\pgfplots@savedanchor@inner@lowerleft@y{\the\pgf@xa}% + % + \pgf@xa=\pgfplots@ZERO@x + \advance\pgf@xa by-\pgf@picminx + \xdef\pgfplots@ZERO@x{\the\pgf@xa}% + % + \pgf@xa=\pgfplots@ZERO@y + \advance\pgf@xa by-\pgf@picminy + \xdef\pgfplots@ZERO@y{\the\pgf@xa}% \endgroup \endpgfinterruptpicture \egroup\egroup% end of pgfnodepartimagebox @@ -5800,6 +7073,7 @@ \pgftransformshift{\pgfplots@at}% \pgfmultipartnode{pgfplots@low@level@shape}{\pgfplots@anchorname}{\tikz@fig@name}{\pgfusepath{discard}}% \pgfplots@fig@alias + \pgfnodealias{current axis}{\tikz@fig@name}% % \pgfplots@finally@correct@child@node@positions \pgfplots@stacked@finalize @@ -5852,7 +7126,7 @@ \else \expandafter\ifx\csname pgfplots@child@node@visited@\pgfplots@child@node@name\endcsname\relax% \pgfutil@ifundefined{pgf@sh@nt@\pgfplots@child@node@name}{% - \pgfplots@warning{Package pgfplots WARNING: could not adjust coordinates of named node '\pgfplots@child@node@name' for reasons I do not understand! After finishing the image, it did no longer exist!? Sorry.}% + \pgfplots@warning{could not adjust coordinates of named node '\pgfplots@child@node@name' for reasons I do not understand! After finishing the image, it did no longer exist!? Sorry.}% }{% \pgf@shift@node{\pgfplots@child@node@name}{\pgfplots@offset}% \expandafter\let\csname pgfplots@child@node@visited@\pgfplots@child@node@name\endcsname=\pgfutil@empty% diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/pgfplots.stackedplots.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.stackedplots.code.tex index 1612ca8c7f5..90ca205c835 100644 --- a/Master/texmf-dist/tex/generic/pgfplots/pgfplots/pgfplots.stackedplots.code.tex +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.stackedplots.code.tex @@ -115,17 +115,16 @@ \global\pgfplotslistnewempty\pgfplots@stacked@zerolevellist \def\pgfplots@stacked@zerolevelpoint@x{0}% \def\pgfplots@stacked@zerolevelpoint@y{0}% + % only work with float if its really necessary - for + % example if the scaling trafo which maps to pgfmath is + % not yet initialised. \ifpgfplots@datascaletrafo@initialised - % work with pgfmath if possible - its faster. \else - % only work with float if its really necessary - for - % example if the scaling trafo which maps to pgfmath is - % not yet initialised. - \ifpgfplots@float@numerics@mode@x + \ifpgfplots@xislinear \pgfmathfloatcreate{0}{0.0}{0}% \let\pgfplots@stacked@zerolevelpoint@x=\pgfmathresult \fi - \ifpgfplots@float@numerics@mode@y + \ifpgfplots@yislinear \pgfmathfloatcreate{0}{0.0}{0}% \let\pgfplots@stacked@zerolevelpoint@y=\pgfmathresult \fi @@ -154,10 +153,10 @@ \ifpgfplots@stacked@isfirstplot \let\pgfplots@stacked@closedcycle@impl=\pgfplots@path@closed@cycle@std \else - \pgfplots@toka=\expandafter{\pgfplots@stacked@closedcycle@impl}% + \t@pgfplots@tokc=\expandafter{\pgfplots@stacked@closedcycle@impl}% \edef\pgfplots@stacked@closedcycle@impl{% [mark=none,/utils/exec=\noexpand\pgfplots@try@mirror@plot@handler] - --plot coordinates{\the\pgfplots@toka} + --plot coordinates{\the\t@pgfplots@tokc} --cycle }% \fi @@ -179,10 +178,8 @@ }% \def\pgfplots@stacked@rememberzerolevelpoint@for@next@plot#1{% - \edef\pgfplots@TMP{#1}% - {\globaldefs=1 - \expandafter\pgfplotslistpushback\pgfplots@TMP\to\pgfplots@stacked@nextzerolevellist - }% + \edef\pgfplots@loc@TMPa{#1}% + \expandafter\pgfplotslistpushbackglobal\pgfplots@loc@TMPa\to\pgfplots@stacked@nextzerolevellist } \def\pgfplots@stacked@finishpoint#1#2{% @@ -190,17 +187,15 @@ \else \pgfpointxy{\pgfplots@stacked@zerolevelpoint@x}{\pgfplots@stacked@zerolevelpoint@y}% \ifpgfplots@stacked@x - \edef\pgfplots@TMP{\the\pgf@x}% + \edef\pgfplots@loc@TMPa{\the\pgf@x}% \else - \edef\pgfplots@TMP{\the\pgf@y}% + \edef\pgfplots@loc@TMPa{\the\pgf@y}% \fi - {\globaldefs=1 - \expandafter\pgfplotslistpushback\pgfplots@TMP\to\pgfplots@stacked@PGFzerolevels - }% - \pgfplotslist@TOK@a=\expandafter{\pgfplots@stacked@closedcycle@impl}% + \expandafter\pgfplotslistpushbackglobal\pgfplots@loc@TMPa\to\pgfplots@stacked@PGFzerolevels + \t@pgfplots@toka=\expandafter{\pgfplots@stacked@closedcycle@impl}% \edef\pgfplots@stacked@closedcycle@impl{% (\pgfplots@stacked@zerolevelpoint@x,\pgfplots@stacked@zerolevelpoint@y)% - \the\pgfplotslist@TOK@a}% + \the\t@pgfplots@toka}% \fi }% @@ -212,7 +207,7 @@ \else \let\pgfplots@stacked@op=\pgfmathsubtract@ \fi - \ifpgfplots@float@numerics@mode@x + \ifpgfplots@xislinear \ifpgfplots@datascaletrafo@initialised \else \ifpgfplots@stacked@plus @@ -230,7 +225,7 @@ \else \let\pgfplots@stacked@op=\pgfmathsubtract@ \fi - \ifpgfplots@float@numerics@mode@y + \ifpgfplots@yislinear \ifpgfplots@datascaletrafo@initialised \else \ifpgfplots@stacked@plus @@ -248,7 +243,7 @@ % This here is a re-implementation of the stored plot processing. % -% The idea is simply, although it requires quite some work: +% The idea is simple, although it requires quite some work: % % If we stack plots on top of each other, early drawing commands % (early plots) will be OVERDRAWN by later drawing commands (later @@ -264,41 +259,168 @@ \def\pgfplots@stacked@finalize@stored@plots{% \pgfplotslistnewempty\pgfplots@stored@plotlist@reversed \begingroup - \pgfplotslistforeachungrouped\pgfplots@stored@plotlist\as\pgfplots@TMP{% - \expandafter\pgfplots@stored@plotlist@EXTRACTENTRY\pgfplots@TMP + \pgfplotslistforeachungrouped\pgfplots@stored@plotlist\as\pgfplots@loc@TMPa{% + \expandafter\pgfplots@stored@plotlist@EXTRACTENTRY\pgfplots@loc@TMPa \ifx\pgfplots@stored@current@cmd\pgfutil@empty \else - \ifpgfplots@apply@datatrafo - % Apply the data scaling transformation, but do NOT - % issue any drawing commands (-> use the ...@dryrun - % version) - \expandafter\pgfplots@coord@stream@finalize@storedcoords@START@dryrun\pgfplots@stored@current@data\to\pgfplots@stored@current@data\pgfplots@stored@current@precmdapp% - % save any intermediate results as "precmd": - \pgfplotslist@TOK@b=\expandafter{\pgfplots@stored@current@precmd}% - \pgfplotslist@TOK@a=\expandafter{\pgfplots@stored@current@precmdapp}% - \edef\pgfplots@stored@current@precmd{\the\pgfplotslist@TOK@b\the\pgfplotslist@TOK@a}% - \fi + % Apply the data scaling transformation and compute + % stacked coordinates, but do NOT + % issue any drawing commands: + \expandafter\pgfplots@stacked@finalize@stored@coords@START\pgfplots@stored@current@data + \to + {\pgfplots@stored@current@data}% + {\pgfplots@stored@current@precmdappend}% + % store preparation commands into "precmd": + \t@pgfplots@tokb=\expandafter{\pgfplots@stored@current@precmd}% + \t@pgfplots@toka=\expandafter{\pgfplots@stored@current@precmdappend}% + \edef\pgfplots@stored@current@precmd{\the\t@pgfplots@tokb\the\t@pgfplots@toka}% \fi % Now, we need to insert all stored entities into the new, % reversed list. We only expand them ONCE. - \pgfplotslist@TOK@a=\expandafter{\pgfplots@stored@current@precmd}% - \pgfplotslist@TOK@b=\expandafter{\pgfplots@stored@current@cmd}% - \edef\pgfplots@TMP{% - {\the\pgfplotslist@TOK@a}{\the\pgfplotslist@TOK@b}}% - \pgfplots@toka=\expandafter{\pgfplots@TMP}% - \pgfplotslist@TOK@a=\expandafter{\pgfplots@stored@current@data}% - \pgfplotslist@TOK@b=\expandafter{\pgfplots@stored@current@postcmd}% - \edef\pgfplots@TMP{% - \the\pgfplots@toka - {\the\pgfplotslist@TOK@a}{\the\pgfplotslist@TOK@b}}% + \t@pgfplots@toka=\expandafter{\pgfplots@stored@current@precmd}% + \t@pgfplots@tokb=\expandafter{\pgfplots@stored@current@cmd}% + \edef\pgfplots@loc@TMPa{% + {\the\t@pgfplots@toka}{\the\t@pgfplots@tokb}}% + \t@pgfplots@tokc=\expandafter{\pgfplots@loc@TMPa}% + \t@pgfplots@toka=\expandafter{\pgfplots@stored@current@data}% + \t@pgfplots@tokb=\expandafter{\pgfplots@stored@current@postcmd}% + \edef\pgfplots@loc@TMPa{% + \the\t@pgfplots@tokc + {\the\t@pgfplots@toka}{\the\t@pgfplots@tokb}}% % Reverse sequence: - \expandafter\pgfplotslistpushfront\pgfplots@TMP\to\pgfplots@stored@plotlist@reversed + \expandafter\pgfplotslistpushfront\pgfplots@loc@TMPa\to\pgfplots@stored@plotlist@reversed }% % Now, overwrite the original list: \global\let\pgfplots@stored@plotlist=\pgfplots@stored@plotlist@reversed + \global\let\pgfplots@stored@plotlist@reversed=\relax \endgroup }% +% This command finalizes the stored plot data. It records a coordinate +% stream into '#3' and assembles a macro '#4' which contains all +% preparation commands to ensure the functionality of +% \pgfplots@stacked@finalize@stored@plots +% +% Instead, it generates a macro #4 which - if used as "precommand" +% befor a draw operation - restores all required options and performs +% pre-drawing. +\long\def\pgfplots@stacked@finalize@stored@coords@START plot coordinates #1#2;\to#3#4{% + \pgfplots@stacked@beginplot + \pgfplots@coord@stream@INIT@finalize@stackedcoords@recordto{#3}{\pgfplots@recorded@marker@stream}% + \pgfplots@coord@stream@foreach{#1}% + \pgfplots@stacked@endplot + \pgfplots@stacked@savestateto\pgfplots@loc@TMPa + \t@pgfplots@toka=\expandafter{\pgfplots@loc@TMPa\def\pgfplots@stacked@stored@postpath{#2}}% + \pgfplots@addplot@get@named@startendpoints@command\pgfplots@loc@TMPa + \t@pgfplots@tokc=\expandafter{\pgfplots@loc@TMPa}% + \ifpgfplots@record@marker@stream + \t@pgfplots@tokb=\expandafter{\pgfplots@recorded@marker@stream}% + \else + \t@pgfplots@tokb={}% + \fi + \edef#4{% + \the\t@pgfplots@tokc + \noexpand\gdef\noexpand\pgfplots@recorded@marker@stream{\the\t@pgfplots@tokb}% + \the\t@pgfplots@toka + }% +}% + +% #1: for coordinates +% #2: for markers +\def\pgfplots@coord@stream@INIT@finalize@stackedcoords@recordto#1#2{% + \pgfplots@record@marker@streamtrue + % + \def\pgfplots@coord@stream@start@{% + \gdef#1{\pgfplotstreamstart}% + \ifpgfplots@record@marker@stream + \pgfplotsapplistXnewempty\pgfplots@stacked@record@mark@cmds + \pgfplotsapplistXpushback\pgfplotstreamstart\to\pgfplots@stacked@record@mark@cmds + \fi + }% + \def\pgfplots@coord@stream@end@{% + \expandafter\gdef\expandafter#1\expandafter{#1\pgfplotstreamend}% + \ifpgfplots@record@marker@stream + \pgfplotsapplistXpushback\pgfplotstreamend\to\pgfplots@stacked@record@mark@cmds + \pgfplotsapplistXlet\pgfplots@loc@TMPa=\pgfplots@stacked@record@mark@cmds + \global\let#2=\pgfplots@loc@TMPa + \fi + }% + \ifpgfplots@apply@datatrafo + \def\pgfplots@coord@stream@coord@##1##2##3##4{% + \pgfplots@apply@data@scaletrafo@to@one@point{##1}{##2}{##3}{##4}% + \pgfplots@coord@stream@finalize@currentpt + }% + \else + \def\pgfplots@coord@stream@coord@##1##2##3##4{% + \def\pgfplots@current@point@x{##1}% + \def\pgfplots@current@point@y{##2}% + \pgfplots@coord@stream@finalize@currentpt + }% + \fi + \def\pgfplots@coord@stream@finalize@currentpt{% + \pgfqpointxy{\pgfplots@current@point@x}{\pgfplots@current@point@y}% + \edef\pgfmathresult{{\the\pgf@x}{\the\pgf@y}}% + \t@pgfplots@toka=\expandafter{#1}% + \t@pgfplots@tokb=\expandafter{\pgfmathresult}% + \xdef#1{\the\t@pgfplots@toka + \noexpand\pgfplots@stream\the\t@pgfplots@tokb}% + % + \ifpgfplots@record@marker@stream + \ifdim\pgf@x<\pgfplots@xcoordminTEX + \else + \ifdim\pgf@x>\pgfplots@xcoordmaxTEX + \else + \ifdim\pgf@y<\pgfplots@ycoordminTEX + \else + \ifdim\pgf@y>\pgfplots@ycoordmaxTEX + \else + \edef\pgfmathresult{\noexpand\pgfplots@stream{\the\pgf@x}{\the\pgf@y}}% + \expandafter\pgfplotsapplistXpushback\expandafter{\pgfmathresult}\to\pgfplots@stacked@record@mark@cmds% + \fi + \fi + \fi + \fi + \fi + }% +} + +% This command gets called after the sequence reversal has been done. +% It unpacks everything prepared by +% \pgfplots@stacked@finalize@stored@coords@START +% and draws the plot (and markers). +\def\pgfplots@stacked@draw@reversed@plot{% + \pgfplots@stored@current@cmd[current plot style] + \pgfextra + \tikzset{every plot/.try}% + \pgfplots@getcurrent@plothandler\pgfplots@basiclevel@plothandler + \pgfplots@basiclevel@plothandler + % this here contains a recorded plot stream, see above. + \pgfplots@stored@current@data + % + \pgfplots@assert@tikzinternal@exists{tikz@make@last@position}% + \tikz@make@last@position{\pgfplotlastpoint}% + \expandafter + \endpgfextra + \pgfplots@stacked@stored@postpath + ; + % this here has been assigned by the precommand as well. + \ifx\pgfplots@recorded@marker@stream\pgfutil@empty + \else + \ifpgfplots@clip@marker@paths + \pgfplots@stored@current@cmd[current plot style] + \pgfextra + \pgfplots@install@plotmark@handler + \pgfplots@recorded@marker@stream + \endpgfextra + ; + \else + \pgfplots@stored@REMEMBER@MARK@COMMAND + \fi + \fi + \gdef\pgfplots@recorded@marker@stream{}% clear +}% + + \def\pgfplots@stacked@path@closed@cycle{% \pgfplots@stacked@closedcycle@impl } @@ -309,17 +431,17 @@ % This affects pgf zero level handlers and whether this here is the % first plot or not.. \def\pgfplots@stacked@savestateto#1{% - \pgfplotslist@TOK@a=\expandafter{\pgfplots@stacked@PGFzerolevels}% + \t@pgfplots@toka=\expandafter{\pgfplots@stacked@PGFzerolevels}% \ifpgfplots@stacked@isfirstplot - \pgfplotslist@TOK@b={\pgfplots@stacked@isfirstplottrue}% + \t@pgfplots@tokb={\pgfplots@stacked@isfirstplottrue}% \else - \pgfplotslist@TOK@b={\pgfplots@stacked@isfirstplotfalse}% + \t@pgfplots@tokb={\pgfplots@stacked@isfirstplotfalse}% \fi - \pgfplots@toka=\expandafter{\pgfplots@stacked@closedcycle@impl}% + \t@pgfplots@tokc=\expandafter{\pgfplots@stacked@closedcycle@impl}% \edef#1{% - \noexpand\gdef\noexpand\pgfplots@stacked@PGFzerolevels{\the\pgfplotslist@TOK@a}% - \the\pgfplotslist@TOK@b - \noexpand\def\noexpand\pgfplots@stacked@closedcycle@impl{\the\pgfplots@toka}% + \noexpand\gdef\noexpand\pgfplots@stacked@PGFzerolevels{\the\t@pgfplots@toka}% + \the\t@pgfplots@tokb + \noexpand\def\noexpand\pgfplots@stacked@closedcycle@impl{\the\t@pgfplots@tokc}% }% } diff --git a/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex b/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex new file mode 100644 index 00000000000..e3094554af6 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex @@ -0,0 +1,206 @@ +%-------------------------------------------- +% +% Package pgfplots +% +% Provides a user-friendly interface to create function plots (normal +% plots, semi-logplots and double-logplots). +% +% It is based on Till Tantau's PGF package. +% +% Copyright 2007/2008 by Christian Feuersänger. +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +%-------------------------------------------- + +\def\pgfplots@EOI{\pgfplots@EOI}% + +\newtoks\t@pgfplots@toka +\newtoks\t@pgfplots@tokb +\newtoks\t@pgfplots@tokc +\newdimen\pgfplots@tmpa + +% use these macros for GLOBAL temporary assignments. +% you can NEVER rely on their values unless you know exactly what you are doing. +\gdef\pgfplots@glob@TMPa{}% +\gdef\pgfplots@glob@TMPb{}% +\gdef\pgfplots@glob@TMPc{}% + +% use these macros for LOCAL temporary assigments. +% you can NEVER rely on their values unless you know exactly what you are doing. +\def\pgfplots@loc@TMPa{}% +\def\pgfplots@loc@TMPb{}% +\def\pgfplots@loc@TMPc{}% + +\input pgfplotsliststructure.code.tex +\input pgfplotsliststructureext.code.tex +\input pgfplotsarray.code.tex +\input pgfplotstable.code.tex + +% Produces an \aftergroup statement for each single token in #1. +% +% ATTENTION: you *can't* use braces inside of '#1'! +\def\pgfplotsqaftergroupeach#1{% + \pgfplotsqaftergroupeach@#1\pgfplots@EOI +} +\def\pgfplotsqaftergroupeach@#1{% + \gdef\pgfplots@TMP{#1}% + \ifx\pgfplots@TMP\pgfplots@EOI + \else + \aftergroup#1% + \expandafter\pgfplotsqaftergroupeach@ + \fi +} + +\def\pgfplotsaftergroupcollectinto#1#2\pgfplots@EOI{% + \def#1{#2}% +}% + +% Assigns list contents #2 to a list macro #1. +% +% The list contents may be provided in one of two formats: +% a) in the (deprecated) list format 'first\\second\\thirst\\' +% or +% b) in the PGF foreach list format 'first,second,third'. +\def\pgfplots@assign@list#1#2{% + \def\pgfplots@TMP{#2}% + \ifx\pgfplots@TMP\pgfutil@empty + \pgfplotslistnewempty#1% + \else + \pgfplots@check@backwards@compatible@list@format #2\\\pgfplots@EOI + \ifpgfplots@is@old@list@format + \pgfplotslistnew#1{#2}% + \else + \pgfplots@foreach@to@list{#2}\to#1 + \fi + \fi +}% + +% Sets the boolean \ifpgfplots@is@old@list@format to true if and only +% if the input is a list in the format '{first\\second\\}'. +% +% This format is deprecated, but is still provided for backwards +% compatibility. +% +% Usage: +% \pgfplots@check@backwards@compatible@list@format <argument>'\\'\pgfplots@EOI +% you NEED to append '\\\pgfplots@EOI' at the end. +\def\pgfplots@check@backwards@compatible@list@format#1\\#2\pgfplots@EOI{% + \def\pgfplots@TMP{#2}% + \ifx\pgfplots@TMP\pgfutil@empty + \pgfplots@is@old@list@formatfalse + \else + \pgfplots@is@old@list@formattrue + \fi +}% + +\def\pgfplots@error#1{\PackageError{pgfplots}{#1}{}}% +\def\pgfplots@warning#1{\pgfplots@message{! Package pgfplots Warning: #1}}% +\def\pgfplots@message#1{% + \immediate\write16{#1}% +}% +\def\pgfplots@assert@tikzinternal@exists#1{% + \pgfutil@ifundefined{#1}{% + \pgfplots@error{Sorry, pgfplots relies on the existance of the tikz internal macro '#1'. + Unfortunately, this does no longer exist ... you will need to get an updated version of pgfplots to fix this problem.}% + \expandafter\let\csname #1\endcsname=\pgfutil@empty + }{}% +}% + + +% A future-version compatibility method which checks whether the +% macro '#2' exists. +% +% We assume that '#2' usually contains the value of the tikz key '#1'. +% Example: +% /tikz/variable is usually stored into '\tikz@plot@var'. +% +% However, this may change in future versions. +% +% So, we do the following: +% 1. check whether '#2' exists, if yet: ok. +% 2. if not, check whether the value is stored directly into '/tikz/#1'. +% 3. if not, check whether the value is stored directly into '/pgf/#1'. +% 4. If everything fails, provide an error message. +% +% #1: a tikz key without key prefix (/tikz/ and /pgf/ will be prepended). +% #2: a macro name WITHOUT backslash. +% #3: the default value if everything fails. +\def\pgfplots@gettikzinternal@keyval#1#2#3{% + \pgfutil@ifundefined{#2}{% + \pgfkeysifdefined{/tikz/#1}{% + \pgfkeysgetvalue{/tikz/#1}\pgfplots@TMP + \expandafter\let\csname #1\endcsname=\pgfplots@TMP + }{% + \pgfkeysifdefined{/pgf/#1}{% + \pgfkeysgetvalue{/pgf/#1}\pgfplots@TMP + \expandafter\let\csname #1\endcsname=\pgfplots@TMP + }{% + \expandafter\def\csname #1\endcsname{#3}% + {\t@pgfplots@tokc={#3}% + \pgfplots@warning{Sorry, could not find value of '/tikz/#1'. Assuming '\the\t@pgfplots@tokc'.}% + }% + }% + }% + }{}% +}% + +\def\pgfplots@getcurrent@plothandler#1{% + \pgfutil@ifundefined{tikz@plot@handler}{% + \pgfplots@error{Sorry, can't get the current plot handler. It appears that tikz and pgfplots is no longer compatible!? You will need to get a newer version of pgfplots.}% + \let#1=\pgfplothandlerlineto + }{% + \let#1=\tikz@plot@handler + }% +}% + + +% Converts an arbitrary command to a string in which all characters +% have category 12. +% +% #1: a macro name (which takes no arguments) +% #2: a macro name which will be assigned to '#1' converted to string. +% +% This uses '\meaning#1' hackery. +\def\pgfplots@command@to@string#1#2{% + \expandafter\pgfplots@command@to@string@@\meaning#1\pgfplots@EOI{#2}% +}% +{ +\let\CATCODE=\catcode +\CATCODE`\:=12 +\CATCODE`\-=12 +\CATCODE`\>=12 +\CATCODE`\m=12 +\CATCODE`\a=12 +\CATCODE`\c=12 +\CATCODE`\r=12 +\CATCODE`\o=12 +\xdef\pgfplts@glb@TMP{macro:->}% +} +\expandafter\def\expandafter\pgfplots@command@to@string@@\pgfplts@glb@TMP#1\pgfplots@EOI#2{% + \def#2{#1}% +}% + +% Usage: +% \pgfplots@if{pgfplots@scaled@ticks}{true-code}{false-code} +% +% it is to be used if the tex boolean is only known as string, not as +% macro. +\def\pgfplots@if#1#2#3{% + \csname if#1\endcsname + #2% + \else + #3% + \fi +}% diff --git a/Master/texmf-dist/tex/latex/pgfplots/pgfplots.sty b/Master/texmf-dist/tex/latex/pgfplots/pgfplots.sty index 3e63fdfa8b7..8f0f7deace3 100644 --- a/Master/texmf-dist/tex/latex/pgfplots/pgfplots.sty +++ b/Master/texmf-dist/tex/latex/pgfplots/pgfplots.sty @@ -23,8 +23,8 @@ % along with this program. If not, see <http://www.gnu.org/licenses/>. % %-------------------------------------------- -\def\pgfplotsversion{1.0} -\ProvidesPackage{pgfplots}[2008/06/07 Version \pgfplotsversion] +\def\pgfplotsversion{1.1} +\ProvidesPackage{pgfplots}[2008/08/02 Version \pgfplotsversion] % ATTENTION: % you MAY need one of diff --git a/Master/texmf-dist/tex/latex/pgfplots/pgfplotstable.sty b/Master/texmf-dist/tex/latex/pgfplots/pgfplotstable.sty new file mode 100644 index 00000000000..218ad786962 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pgfplots/pgfplotstable.sty @@ -0,0 +1,27 @@ +%-------------------------------------------- +% +% Package pgfplotstable.sty +% +% Copyright 2007/2008 by Christian Feuersänger. +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +%-------------------------------------------- +\ProvidesPackage{pgfplotstable}[2008/08/02] + +% everything is loaded by pgfplots. +\RequirePackage{pgfplots} +\RequirePackage{array} % for |dec sep align| + +\endinput diff --git a/Master/texmf-dist/tex/plain/pgfplots/pgfplotstable.tex b/Master/texmf-dist/tex/plain/pgfplots/pgfplotstable.tex new file mode 100644 index 00000000000..c445da336bc --- /dev/null +++ b/Master/texmf-dist/tex/plain/pgfplots/pgfplotstable.tex @@ -0,0 +1,38 @@ +%-------------------------------------------- +% +% Package pgfplots +% +% It is based on Till Tantau's PGF package. +% +% Copyright 2007/2008 by Christian Feuersänger. +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +%-------------------------------------------- +% ATTENTION: +% you MAY need one of +% \def\pgfsysdriver{pgfsys-dvipdfm.def} +% \def\pgfsysdriver{pgfsys-pdftex.def} +% \def\pgfsysdriver{pgfsys-dvips.def} +% +% BEFORE the first \input pgf.tex, \input tikz.tex or +% \input pgfplots.tex +% Default is +% 'dvips' for 'tex' +% 'pdftex' for 'pdftex' +% -> dvipdfm needs special attention. +% +\input pgfplots.tex% +% +\endinput diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds index 6c13460847f..90b2877e2e7 100755 --- a/Master/tlpkg/bin/ctan2tds +++ b/Master/tlpkg/bin/ctan2tds @@ -458,7 +458,6 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'koma-script' => '&POSTkoma', 'libertine' => '&POSTlibertine', 'pgf' => '&POSTpgf', - 'pgfplots' => '&POSTpgfplots', 'pst-cox' => '&POSTpstcox', 'xecjk' => '&POSTxecjk', 'xecyr' => '&POSTxecyr', @@ -3286,20 +3285,6 @@ sub POSTpgf &SYSTEM ("cd $DEST && mkdir tex && mv context generic latex plain tex"); } -sub POSTpgfplots -{ - print "\t POST$package - mv directories\n"; - &xchdir ($DEST); - # - &xmkdir ("doc/generic/$package"); - &SYSTEM ("$MV README ext_scripts test doc/generic/$package"); - # - &xmkdir ("tex/generic"); - &SYSTEM ("$MV generic tex/generic/$package"); - # - &SYSTEM ("$MV context latex plain tex"); -} - sub POSTpstcox { print "POST$package - mv latex .sty, doc Gallery\n"; diff --git a/Master/tlpkg/tlpsrc/context.tlpsrc b/Master/tlpkg/tlpsrc/context.tlpsrc index a9be6b51f1c..6a894c050db 100644 --- a/Master/tlpkg/tlpsrc/context.tlpsrc +++ b/Master/tlpkg/tlpsrc/context.tlpsrc @@ -6,13 +6,11 @@ runpattern +d texmf-dist/context/config runpattern +d texmf-dist/context/data runpattern +d texmf-dist/fonts/misc/cid/fontforge # -# these have their own TL package, and are not part of core context. +# these have their own TL packages, and are not part of core context. runpattern +!d texmf-dist/tex/context/third runpattern +!d texmf-dist/tex/context/interface/third +docpattern +!d texmf-dist/doc/context/third docpattern +!d texmf-dist/fonts/misc/xetex/fontmapping/context # -# should be fixed in next release of these pacages: +# should be fixed in next release: runpattern +!d texmf-dist/tex/context/pgf -runpattern +!d texmf-dist/tex/context/pgfplots -docpattern +!d texmf-dist/doc/context/pgfplots -docpattern +!d texmf-dist/doc/context/third diff --git a/Master/tlpkg/tlpsrc/pgfplots.tlpsrc b/Master/tlpkg/tlpsrc/pgfplots.tlpsrc index a4b9f223a89..330dccb89f3 100644 --- a/Master/tlpkg/tlpsrc/pgfplots.tlpsrc +++ b/Master/tlpkg/tlpsrc/pgfplots.tlpsrc @@ -1,2 +1,5 @@ name pgfplots category Package +runpattern +d texmf-dist/tex/context/third/pgfplots +srcpattern +d texmf-dist/source/context/third/pgfplots +docpattern +d texmf-dist/doc/context/third/pgfplots |