From f41811b55dfce3a5f59b953b68457b0aa5491baf Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 9 Aug 2008 23:39:38 +0000 Subject: pgfplots update (10aug08) git-svn-id: svn://tug.org/texlive/trunk@10222 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/context/pgfplots/pgfplotsexample.pdf | Bin 56287 -> 0 bytes .../doc/context/pgfplots/pgfplotsexample.tex | 47 - .../doc/context/third/pgfplots/pgfplotsexample.tex | 47 + Master/texmf-dist/doc/generic/pgfplots/README | 13 +- .../generic/pgfplots/ext_scripts/matlab2pgfplots.m | 337 - .../pgfplots/ext_scripts/matlab2pgfplots.sh | 80 - .../doc/generic/pgfplots/ext_scripts/pgf2pdf.sh | 282 - .../test/liststructuretest/liststructuretest.tex | 164 - .../test/numtabletest/numtabletest.generated1.tex | 1 - .../pgfplots/test/numtabletest/numtabletest.tex | 211 - .../pgfplots/test/numtabletest/numtabletestdata | 11 - .../pgfplots/test/numtabletest/numtabletestdata2 | 11 - .../test/numtabletest/numtabletestdata2.brace | 11 - .../test/numtabletest/numtabletestdata2.colon | 10 - .../test/numtabletest/numtabletestdata2.csv | 11 - .../test/numtabletest/numtabletestdata2.gnuplot | 8 - .../test/numtabletest/numtabletestdata2.semicolon | 11 - .../pgfplots/test/numtabletest/numtabletestdata3 | 10 - .../test/pgfkeysaddition/pgfkeysadditiontest.tex | 251 - .../test/pgfmathlogtest/pgfmathlogtest.tex | 507 - .../test/pgfplotstest/pgfplotstest.align.tex | 215 - .../test/pgfplotstest/pgfplotstest.axislines.tex | 259 - .../test/pgfplotstest/pgfplotstest.axispath.tex | 41 - .../pgfplotstest/pgfplotstest.enlargelimits.tex | 99 - .../test/pgfplotstest/pgfplotstest.errorbars.tex | 153 - .../test/pgfplotstest/pgfplotstest.expr.tex | 15 - .../test/pgfplotstest/pgfplotstest.file.tex | 121 - .../test/pgfplotstest/pgfplotstest.function.tex | 24 - .../pgfplotstest/pgfplotstest.gnuplot_exp.gnuplot | 2 - .../pgfplotstest/pgfplotstest.gnuplot_exp.table | 54 - .../pgfplotstest/pgfplotstest.gnuplot_sin.gnuplot | 2 - .../pgfplotstest/pgfplotstest.gnuplot_sin.table | 54 - .../test/pgfplotstest/pgfplotstest.gridtick.tex | 84 - .../pgfplotstest/pgfplotstest.hansmeine_app.tex | 114 - .../test/pgfplotstest/pgfplotstest.legend.tex | 78 - .../test/pgfplotstest/pgfplotstest.logplotenv.tex | 142 - .../test/pgfplotstest/pgfplotstest.misc.tex | 171 - .../test/pgfplotstest/pgfplotstest.parable.gnuplot | 2 - .../test/pgfplotstest/pgfplotstest.parable.table | 29 - .../test/pgfplotstest/pgfplotstest.plottypes.tex | 219 - .../test/pgfplotstest/pgfplotstest.scaling.tex | 478 - .../test/pgfplotstest/pgfplotstest.sinneg.gnuplot | 2 - .../test/pgfplotstest/pgfplotstest.sinneg.table | 44 - .../pgfplotstest/pgfplotstest.styledplot.gnuplot | 2 - .../pgfplotstest/pgfplotstest.styledplot.table | 29 - .../pgfplotstest/pgfplotstest.styledplot2.gnuplot | 2 - .../pgfplotstest/pgfplotstest.styledplot2.table | 29 - .../test/pgfplotstest/pgfplotstest.styles.tex | 135 - .../pgfplots/test/pgfplotstest/pgfplotstest.tex | 182 - .../test/pgfplotstest/pgfplotstest.ticks.tex | 296 - .../test/pgfplotstest/plotdata/pgfplotstest_plot | 11 - .../plotdata/pgfplotstest_plot2.gnuplot | 22 - .../test/pgfplotstest/plotdata/pgfplotstest_plot3 | 11 - .../test/pgfplotstest/plotdata/pgfplotstest_plot4 | 25 - .../test/pgfplotstest/plotdata/pgfplotstest_plot5 | 24 - .../plotdata/pgfplotstest_plotnocolnames | 9 - .../test/pgfplotstest/valueplot-flowlines_1.dat | 92 - .../test/pgfplotstest/valueplot-flowlines_2.dat | 221 - .../test/pgfplotstest/valueplot-flowlines_3.dat | 39 - .../test/pgfplotstest/valueplot-flowlines_4.dat | 34 - Master/texmf-dist/doc/latex/pgfplots/ChangeLog | 215 + .../latex/pgfplots/gnuplot/pgfplots_cubic.gnuplot | 2 - .../latex/pgfplots/gnuplot/pgfplots_cubic.table | 12 - .../latex/pgfplots/gnuplot/pgfplots_exp.gnuplot | 2 - .../doc/latex/pgfplots/gnuplot/pgfplots_exp.table | 29 - .../pgfplots/gnuplot/pgfplots_filesuffix.gnuplot | 2 - .../pgfplots/gnuplot/pgfplots_filesuffix.table | 29 - .../pgfplots/gnuplot/pgfplots_filesuffix1.gnuplot | 2 - .../pgfplots/gnuplot/pgfplots_filesuffix1.table | 29 - .../pgfplots/gnuplot/pgfplots_filesuffix2.gnuplot | 2 - .../pgfplots/gnuplot/pgfplots_filesuffix2.table | 14 - .../gnuplot/pgfplots_filesuffix_noise.gnuplot | 2 - .../gnuplot/pgfplots_filesuffix_noise.table | 14 - .../pgfplots/gnuplot/pgfplots_gnuplot_exp.gnuplot | 2 - .../pgfplots/gnuplot/pgfplots_gnuplot_exp.table | 19 - .../pgfplots/gnuplot/pgfplots_gnuplot_expv.gnuplot | 2 - .../pgfplots/gnuplot/pgfplots_gnuplot_expv.table | 19 - .../pgfplots/gnuplot/pgfplots_gnuplot_ppp.gnuplot | 2 - .../pgfplots/gnuplot/pgfplots_gnuplot_ppp.table | 124 - .../pgfplots/gnuplot/pgfplots_parable.gnuplot | 2 - .../latex/pgfplots/gnuplot/pgfplots_parable.table | 29 - .../pgfplots/gnuplot/pgfplots_parablex.gnuplot | 2 - .../latex/pgfplots/gnuplot/pgfplots_parablex.table | 12 - .../pgfplots/gnuplot/pgfplots_pgf-plot.gnuplot | 2 - .../latex/pgfplots/gnuplot/pgfplots_pgf-plot.table | 29 - .../latex/pgfplots/gnuplot/pgfplots_pow1.gnuplot | 2 - .../doc/latex/pgfplots/gnuplot/pgfplots_pow1.table | 12 - .../latex/pgfplots/gnuplot/pgfplots_pow2.gnuplot | 2 - .../doc/latex/pgfplots/gnuplot/pgfplots_pow2.table | 12 - .../latex/pgfplots/gnuplot/pgfplots_sin.gnuplot | 2 - .../doc/latex/pgfplots/gnuplot/pgfplots_sin.table | 29 - .../latex/pgfplots/gnuplot/pgfplots_sinneg.gnuplot | 2 - .../latex/pgfplots/gnuplot/pgfplots_sinneg.table | 44 - .../latex/pgfplots/gnuplot/pgfplots_square.gnuplot | 2 - .../latex/pgfplots/gnuplot/pgfplots_square.table | 24 - .../doc/latex/pgfplots/pgfplots-macros.tex | 149 +- Master/texmf-dist/doc/latex/pgfplots/pgfplots.bib | 4 + Master/texmf-dist/doc/latex/pgfplots/pgfplots.idx | 457 - .../doc/latex/pgfplots/pgfplots.importexport.tex | 145 +- .../doc/latex/pgfplots/pgfplots.install.tex | 28 +- .../doc/latex/pgfplots/pgfplots.intro.tex | 62 +- Master/texmf-dist/doc/latex/pgfplots/pgfplots.pdf | Bin 803663 -> 1215431 bytes .../doc/latex/pgfplots/pgfplots.preamble.tex | 13 +- .../doc/latex/pgfplots/pgfplots.reference.tex | 1659 ++- .../doc/latex/pgfplots/pgfplots.resources.tex | 75 + Master/texmf-dist/doc/latex/pgfplots/pgfplots.tex | 19 +- .../doc/latex/pgfplots/pgfplotsexample.pdf | Bin 18949 -> 17942 bytes .../doc/latex/pgfplots/pgfplotsexample.tex | 3 - .../doc/latex/pgfplots/pgfplotstable.example1.csv | 22 +- .../doc/latex/pgfplots/pgfplotstable.example1.dat | 22 +- .../latex/pgfplots/pgfplotstable.example1.out.tex | 2 +- .../doc/latex/pgfplots/pgfplotstable.example2.dat | 22 + .../doc/latex/pgfplots/pgfplotstable.idx | 110 - .../doc/latex/pgfplots/pgfplotstable.pdf | Bin 226067 -> 301531 bytes .../doc/latex/pgfplots/pgfplotstable.tex | 603 +- .../doc/latex/pgfplots/plotdata/accounts.dat | 7 + .../texmf-dist/doc/latex/pgfplots/plotdata/ou.dat | 13000 +++++++++++++++++++ .../pgfplots/plotdata/pgfplots_scatterdata3.dat | 2253 ++++ Master/texmf-dist/doc/latex/pgfplots/todo.txt | 438 +- .../texmf-dist/scripts/pgfplots/matlab2pgfplots.m | 338 + .../texmf-dist/scripts/pgfplots/matlab2pgfplots.sh | 80 + Master/texmf-dist/scripts/pgfplots/pgf2pdf.sh | 282 + .../context/third/pgfplots/pgfplotstests.zip | Bin 0 -> 40241 bytes .../source/latex/pgfplots/pgfplotstests.zip | Bin 0 -> 51834 bytes .../texmf-dist/tex/context/pgfplots/t-pgfplots.tex | 61 - .../tex/context/third/pgfplots/t-pgfplots.tex | 64 + .../tex/context/third/pgfplots/t-pgfplotstable.tex | 26 + .../pgfplots/libs/tikzlibrarydateplot.code.tex | 75 + .../pgfplots/liststructure/pgfplotsarray.code.tex | 16 +- .../liststructure/pgfplotsliststructure.code.tex | 98 +- .../pgfplotsliststructureext.code.tex | 459 + .../pgfplots/numtable/pgfplotstable.code.tex | 1191 +- .../pgfplotsoldpgfsupp_loader.code.tex | 12 + .../pgfplotsoldpgfsupp_misc.code.tex | 174 + .../pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex | 928 ++ ...plotsoldpgfsupp_pgflibraryplothandlers.code.tex | 922 ++ .../pgfplotsoldpgfsupp_pgfmathfloat.code.tex | 2322 ++++ .../tex/generic/pgfplots/pgfplots.code.tex | 7192 ++++++++++ .../pgfplots/pgfplots.stackedplots.code.tex | 487 + .../pgfplotsoldpgfsupp_loader.code.tex | 12 - .../pgfplotsoldpgfsupp_misc.code.tex | 96 - .../pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex | 927 -- ...plotsoldpgfsupp_pgflibraryplothandlers.code.tex | 922 -- .../pgfplotsoldpgfsupp_pgfmathfloat.code.tex | 2007 --- .../generic/pgfplots/pgfplots/pgfplots.code.tex | 5918 --------- .../pgfplots/pgfplots.stackedplots.code.tex | 365 - .../generic/pgfplots/util/pgfplotsutil.code.tex | 206 + Master/texmf-dist/tex/latex/pgfplots/pgfplots.sty | 4 +- .../tex/latex/pgfplots/pgfplotstable.sty | 27 + .../tex/plain/pgfplots/pgfplotstable.tex | 38 + Master/tlpkg/bin/ctan2tds | 15 - Master/tlpkg/tlpsrc/context.tlpsrc | 8 +- Master/tlpkg/tlpsrc/pgfplots.tlpsrc | 3 + 153 files changed, 32778 insertions(+), 17907 deletions(-) delete mode 100644 Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.pdf delete mode 100644 Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.tex create mode 100644 Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/ext_scripts/matlab2pgfplots.m delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/ext_scripts/matlab2pgfplots.sh delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/ext_scripts/pgf2pdf.sh delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/liststructuretest/liststructuretest.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletest.generated1.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletest.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2 delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.brace delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.colon delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.csv delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.gnuplot delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata2.semicolon delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/numtabletest/numtabletestdata3 delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfkeysaddition/pgfkeysadditiontest.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfmathlogtest/pgfmathlogtest.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.align.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.axislines.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.axispath.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.enlargelimits.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.errorbars.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.expr.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.file.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.function.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_exp.gnuplot delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_exp.table delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_sin.gnuplot delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gnuplot_sin.table delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.gridtick.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.hansmeine_app.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.legend.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.logplotenv.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.misc.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.parable.gnuplot delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.parable.table delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.plottypes.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.scaling.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.sinneg.gnuplot delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.sinneg.table delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot.gnuplot delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot.table delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot2.gnuplot delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styledplot2.table delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.styles.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/pgfplotstest.ticks.tex delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot2.gnuplot delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot3 delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot4 delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plot5 delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/plotdata/pgfplotstest_plotnocolnames delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_1.dat delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_2.dat delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_3.dat delete mode 100644 Master/texmf-dist/doc/generic/pgfplots/test/pgfplotstest/valueplot-flowlines_4.dat delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_cubic.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_cubic.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_exp.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_exp.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix1.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix1.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix2.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix2.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix_noise.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_filesuffix_noise.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_exp.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_exp.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_expv.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_expv.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_ppp.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_gnuplot_ppp.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parable.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parable.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parablex.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_parablex.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pgf-plot.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pgf-plot.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow1.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow1.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow2.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_pow2.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sin.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sin.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sinneg.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_sinneg.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_square.gnuplot delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/gnuplot/pgfplots_square.table delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/pgfplots.idx create mode 100644 Master/texmf-dist/doc/latex/pgfplots/pgfplots.resources.tex create mode 100644 Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.example2.dat delete mode 100644 Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.idx create mode 100644 Master/texmf-dist/doc/latex/pgfplots/plotdata/accounts.dat create mode 100644 Master/texmf-dist/doc/latex/pgfplots/plotdata/ou.dat create mode 100644 Master/texmf-dist/doc/latex/pgfplots/plotdata/pgfplots_scatterdata3.dat create mode 100644 Master/texmf-dist/scripts/pgfplots/matlab2pgfplots.m create mode 100755 Master/texmf-dist/scripts/pgfplots/matlab2pgfplots.sh create mode 100755 Master/texmf-dist/scripts/pgfplots/pgf2pdf.sh create mode 100644 Master/texmf-dist/source/context/third/pgfplots/pgfplotstests.zip create mode 100644 Master/texmf-dist/source/latex/pgfplots/pgfplotstests.zip delete mode 100644 Master/texmf-dist/tex/context/pgfplots/t-pgfplots.tex create mode 100644 Master/texmf-dist/tex/context/third/pgfplots/t-pgfplots.tex create mode 100644 Master/texmf-dist/tex/context/third/pgfplots/t-pgfplotstable.tex create mode 100644 Master/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarydateplot.code.tex create mode 100644 Master/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex create mode 100644 Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex create mode 100644 Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex create mode 100644 Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex create mode 100644 Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex create mode 100644 Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex create mode 100644 Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex create mode 100644 Master/texmf-dist/tex/generic/pgfplots/pgfplots.stackedplots.code.tex delete mode 100644 Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex delete mode 100644 Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex delete mode 100644 Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex delete mode 100644 Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex delete mode 100644 Master/texmf-dist/tex/generic/pgfplots/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex delete mode 100644 Master/texmf-dist/tex/generic/pgfplots/pgfplots/pgfplots.code.tex delete mode 100644 Master/texmf-dist/tex/generic/pgfplots/pgfplots/pgfplots.stackedplots.code.tex create mode 100644 Master/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex create mode 100644 Master/texmf-dist/tex/latex/pgfplots/pgfplotstable.sty create mode 100644 Master/texmf-dist/tex/plain/pgfplots/pgfplotstable.tex diff --git a/Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.pdf b/Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.pdf deleted file mode 100644 index a51c938286b..00000000000 Binary files a/Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.tex b/Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.tex deleted file mode 100644 index 2dc477fd49a..00000000000 --- a/Master/texmf-dist/doc/context/pgfplots/pgfplotsexample.tex +++ /dev/null @@ -1,47 +0,0 @@ -%% ConTeXt file - -\usemodule[pgfplots] - -\starttext -Using Con{\TeX}t. - -\starttikzpicture - \startloglogaxis - \addplot coordinates { - (1,1) - (16,16) - (32,64) - }; - \stoploglogaxis -\stoptikzpicture - -\starttikzpicture - \startloglogaxis[ - xlabel=Cost, - ylabel=Error] - \addplot 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 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} - \stoploglogaxis -\stoptikzpicture -\stoptext diff --git a/Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample.tex b/Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample.tex new file mode 100644 index 00000000000..2dc477fd49a --- /dev/null +++ b/Master/texmf-dist/doc/context/third/pgfplots/pgfplotsexample.tex @@ -0,0 +1,47 @@ +%% ConTeXt file + +\usemodule[pgfplots] + +\starttext +Using Con{\TeX}t. + +\starttikzpicture + \startloglogaxis + \addplot coordinates { + (1,1) + (16,16) + (32,64) + }; + \stoploglogaxis +\stoptikzpicture + +\starttikzpicture + \startloglogaxis[ + xlabel=Cost, + ylabel=Error] + \addplot 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 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} + \stoploglogaxis +\stoptikzpicture +\stoptext 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/ext_scripts/matlab2pgfplots.m b/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/matlab2pgfplots.m deleted file mode 100644 index 5c1fc6296c6..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/matlab2pgfplots.m +++ /dev/null @@ -1,337 +0,0 @@ -function matlab2pgfplots(varargin ) -% matlab2pgfplots(outfile ) -% matlab2pgfplots( outfile, OPTIONS ) -% -% Generate LaTeX code for use in package pgfplots to -% draw line plots. -% -% It will use every (2d) line plot in the figure specified by handler fighandle. -% -% It understands -% - axis labels, -% - legends, -% - any 2d line plots, -% - line styles/markers (in case of styles=1), -% - tick positions, labels and axis limits (in case of axes=1). -% -% Linestyles and markers will follow as an option. However, pgfplots has its -% own line styles which may be appropriate. -% -% Although pgfplots can also handle bar and area plots, this script is not yet -% capable of converting them. Feel free to modify it and send the final version -% to me! -% -% OPTIONS are key value pairs. Known options are -% - 'fig',HANDLE -% a figure handle (default is 'gcf'). -% - 'styles',0|1 -% a boolean indicating whether line styles, markers and colors shall be exported (default 1). -% - 'axes',0|1 -% a boolean indicating whether axis ticks, tick labels and limits shall be exported (default 0). -% - 'maxpoints',100 -% an integer denoting the maximum number of points exported to tex. If the actual number is larger, -% the data will be interpolated to 'maxpoints'. The interpolation assumes -% parametric plots if x and y are not monotonically increasing. -% -% See -% http://tug.ctan.org/tex-archive/graphics/pgf/contrib/pgfplots/ -% for details about pgfplots. -% -% -% -% Copyright Christian Feuersaenger 2008 -% -parser = inputParser; - -parser.addRequired( 'outfile', @(x) ischar(x) ); -parser.addParamValue( 'fig', gcf, @(x) ishandle(x) ); -parser.addParamValue( 'styles', 1, @(x) x==0 || x==1 ); -parser.addParamValue( 'axes' , 0, @(x) x==0 || x==1 ); -parser.addParamValue( 'maxpoints', 100000, @(x) isnumeric(x) ); - -parser.parse( varargin{:} ); - - -fighandle = parser.Results.fig; - -lineobjs = findobj(fighandle, 'Type', 'line' ); -axesobj = findobj( fighandle, 'Type', 'axes' ); - -legendobj = findobj( fighandle, 'tag', 'legend' ); -if length(legendobj) > 0 - allchildsoflegend = [ findobj( legendobj ) ]; - lineobjs = setdiff( lineobjs, allchildsoflegend ); - axesobj = setdiff( axesobj, allchildsoflegend ); -end - -FID=fopen( parser.Results.outfile, 'w' ); -assert( FID >= 0, [ 'could not open file ' parser.Results.outfile ' for writing' ] ); - -ENDL=sprintf('\n'); -TAB=sprintf('\t'); -fwrite( FID, [ ... - '\begin{tikzpicture}%' ENDL ... - '\begin{axis}'] ); - -xislog = 0; -yislog = 0; - -if length(axesobj) > 0 - axis = axesobj(1); - xlabel = get( get(axis, 'XLabel'), 'String'); - ylabel = get( get(axis, 'YLabel'), 'String'); - zlabel = get( get(axis, 'ZLabel'), 'String'); - xscale = get(axis,'XScale'); - yscale = get(axis,'YScale'); - - axisoptions = {}; - if length(xlabel) > 0 - axisoptions = [ axisoptions [ 'xlabel={' xlabel '}'] ]; - end - if length(ylabel) > 0 - axisoptions = [ axisoptions ['ylabel={' ylabel '}'] ]; - end - if strcmp(xscale,'log') - xislog=1; - axisoptions = [ axisoptions ['xmode=log'] ]; - end - if strcmp(yscale,'log') - yislog = 1; - axisoptions = [ axisoptions ['ymode=log'] ]; - end - if parser.Results.axes - for k = 'xy' - L = get(gca, [ k 'Lim'] ); - axisoptions = [ axisoptions [ k 'min=' num2str(L(1)) ] ]; - axisoptions = [ axisoptions [ k 'max=' num2str(L(2)) ] ]; - end - - for k = 'xy' - L = get(gca, [ k 'Tick'] ); - opt = [ k 'tick={' ]; - for q=1:length(L) - if q>1 - opt = [opt ',' ]; - end - opt = [opt num2str(L(q)) ]; - end - opt = [ opt '}' ]; - axisoptions = [axisoptions opt ]; - end - - end - - - axisoptstr = []; - for i = 1:length(axisoptions) - if i>1 - axisoptstr = [axisoptstr ',' ENDL TAB]; - end - axisoptstr = [axisoptstr axisoptions{i}]; - end - if length( axisoptstr ) - fwrite( FID, [ '[' ENDL TAB axisoptstr ']' ENDL ] ); - end -end -fwrite( FID, ENDL ); - -if length(legendobj) > 0 - legentries = get(legendobj, 'String'); - if length(legentries) > 0 - legstr = ['\legend{%' ENDL TAB ]; - for i = 1:length(legentries) - legstr = [ legstr legentries{i} '\\%' ENDL ]; - if i ~= length(legentries) - legstr = [ legstr TAB ]; - end - end - legstr = [ legstr '}%' ENDL ]; - fwrite( FID, legstr ); - end -end - -xpointformat = '%f'; -ypointformat = '%f'; -if xislog - xpointformat = '%e'; -end -if yislog - ypointformat = '%e'; -end - -for i = 1:length(lineobjs) - - x = get(lineobjs(i), 'XData'); - y = get(lineobjs(i), 'YData'); - z = get(lineobjs(i), 'ZData'); - - if size(x,1) > 1 - disp( ['line element ' num2str(i) ' skipped: size ' num2str(size(x)) ' not supported']); - end - if abs(max(z) > 0) - disp( ['line element ' num2str(i) ' skipped: only 2d-plots supported up to now']); - end - - if size(x,2) > parser.Results.maxpoints - % we need to re-interpolate the data! - q = find( diff(x) < 0 ); - if length(q) - % parametric plot x(t), y(t), z(t). - % we assume t = 1:size(x,2) - X = 1:parser.Results.maxpoints; - x = interp1( 1:size(x,2),x, X); - y = interp1( 1:size(y,2),y, X); - z = interp1( 1:size(z,2),z, X); - - else - % a normal plot y(x): - X = linspace( min(x), max(x), parser.Results.maxpoints ); - y = interp1( x,y, X ); - x = X; - end - end - - coordstr = []; - for j = 1:size(x,2) - coordstr = [coordstr sprintf(['\t(' xpointformat ',\t' ypointformat ')\n'], x(j), y(j)) ]; - end - - addplotoptstr = []; - if parser.Results.styles - markOpts = {}; - mark = []; - linestyle = []; - color = []; - - C = matlabColorToPGFColor( get(lineobjs(i), 'Color') ); - if length(C) - color = [ 'color=' C ]; - end - - L = get(lineobjs(i), 'LineStyle' ); - switch L - case 'none' - linestyle = 'only marks'; - case '-' - linestyle = []; - case ':' - linestyle = 'densely dotted'; - case '-:' - linestyle = 'dash pattern=on 2pt off 3pt on 1pt off 3pt]'; - case '--' - linestyle = 'densely dashed'; - end - - M = get(lineobjs(i), 'Marker'); - switch M - case '.' - mark = '*'; - markOpts = [ markOpts 'scale=0.1' ]; - case 'o' - mark = '*'; - case 'x' - mark = 'x'; - case '+' - mark = '+'; - case '*' - mark = 'asterisk'; - case 'square' - mark = 'square*'; - case 'diamond' - mark = 'diamond*'; - case '^' - mark = 'triangle*'; - case 'v' - mark = 'triangle*'; - markOpts = [ markOpts 'rotate=180' ]; - case '<' - mark = 'triangle*'; - markOpts = [ markOpts 'rotate=90' ]; - case '>' - mark = 'triangle*'; - markOpts = [ markOpts 'rotate=270' ]; - case 'pentagramm' - mark = 'pentagon*'; - case 'hexagram' - mark = 'oplus*'; - end - - M = matlabColorToPGFColor( get(lineobjs(i), 'MarkerFaceColor') ); - if length(M) - markOpts = [ markOpts ['fill=' M] ]; - end - - M = matlabColorToPGFColor( get(lineobjs(i), 'MarkerEdgeColor') ); - if length(M) - markOpts = [ markOpts ['draw=' M] ]; - end - - if length(color) - if length(addplotoptstr) - addplotoptstr = [addplotoptstr ',' ]; - end - addplotoptstr = [ addplotoptstr color ]; - end - - if length(linestyle) - if length(addplotoptstr) - addplotoptstr = [addplotoptstr ',' ]; - end - addplotoptstr = [ addplotoptstr linestyle ]; - end - - if length(mark) - if length(addplotoptstr) - addplotoptstr = [addplotoptstr ',' ]; - end - addplotoptstr = [ addplotoptstr [ 'mark=' mark ] ]; - - if length(markOpts) - markOptsStr = 'mark options={'; - for q = 1:length(markOpts) - if q > 1 - markOptsStr = [markOptsStr ',' ]; - end - markOptsStr = [ markOptsStr markOpts{q} ]; - end - markOptsStr = [ markOptsStr '}' ]; - - addplotoptstr = [ addplotoptstr ',' markOptsStr ]; - end - end - - - if length(addplotoptstr) - addplotoptstr = [ '[' addplotoptstr ']' ]; - end - - end - fwrite( FID, [ ... - '\addplot' addplotoptstr ' plot coordinates {' ENDL coordstr '};' ENDL ] ); - -end - - -fwrite( FID, [ ... - '\end{axis}' ENDL ... - '\end{tikzpicture}%' ENDL ] ); - -end - -function cstr = matlabColorToPGFColor( C ) - -if length(C) ~= 3 | ischar(C) & strcmp(C,'none'), cstr = []; -elseif norm( C - [0 0 1 ], 'inf' ) < 1e-10, cstr = 'blue'; -elseif norm( C - [0 1 0 ], 'inf' ) < 1e-10, cstr = 'green'; -elseif norm( C - [1 0 0 ], 'inf' ) < 1e-10, cstr = 'red'; -elseif norm( C - [0 1 1 ], 'inf' ) < 1e-10, cstr = 'cyan'; -elseif norm( C - [1 0 1 ], 'inf' ) < 1e-10, cstr = 'magenta'; -elseif norm( C - [1 1 0 ], 'inf' ) < 1e-10, cstr = 'yellow'; -elseif norm( C - [0 0 0 ], 'inf' ) < 1e-10, cstr = 'black'; -elseif norm( C - [1 1 1 ], 'inf' ) < 1e-10, cstr = 'white'; -else - cstr= 'blue'; % FIXME -% cstr = [ '{rgb:red,' num2str( floor( C(1)*100) ) ';green,' num2str(floor(C(2)*100)) ';blue,' num2str(floor(C(3)*100)) '}' ]; -end - -end diff --git a/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/matlab2pgfplots.sh b/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/matlab2pgfplots.sh deleted file mode 100644 index 9bc84642506..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/matlab2pgfplots.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh - - -CONVERT_STYLES=1 -CONVERT_AXES=1 -OUTFILE="" -MAXPOINTS=100000 - -function echoHelp() -{ - echo -e \ - "matlab2pgfplots.sh [--maxpoints N] [--styles [0|1] ] [ --axes [0|1] ] [ -o OUTFILE ] INFILE ...\n"\ - "converts Matlab figures (.fig-files) to pgfplots-files (.pgf-files).\n"\ - "This script is a front-end for matlab2pgfplots.m (which needs to be in matlab's search path)\n"\ - "type\n"\ - " >> help matlab2pgfplots\n"\ - "at your matlab prompt for more information.\n" - exit 0 -} - -LONGOPTS="styles:,axes:,help,maxpoints:" -SHORTOPTS="o:" -ARGS=`getopt -l "$LONGOPTS" "$SHORTOPTS" "$@"` -if [ $? -ne 0 ]; then - echo "`basename $0`: Could not process command line arguments. Use the '--help' option for documentation." - exit 1 -fi - -eval set -- "$ARGS" -while [ $# -gt 0 ]; do - ARG=$1 - # echo "PROCESSING OPTION '$ARG' (next = $@)" - case "$ARG" in - --maxpoints) shift; MAXPOINTS=$1; shift;; - --styles) shift; CONVERT_STYLES="$1"; shift;; - --axes) shift; CONVERT_AXES="$1"; shift;; - -o) shift; OUTFILE="$1"; shift;; - --help) shift; echoHelp;; - --) shift; break;; - *) break; - esac -done - -if [ $# -eq 0 ]; then - echo "No input files specified." - exit 1 -fi - -HAS_OUTFILE=0 -if [ $# -gt 1 -a -n "$OUTFILE" ]; then - HAS_OUTFILE=1 -fi - -for A; do - INFILE="$A" - if [ $HAS_OUTFILE -eq 0 ]; then - OUTFILE="${INFILE%%.*}.pgf" - fi - echo "$INFILE -> $OUTFILE ... " - - M_LOGFILE=`mktemp` - matlab -nojvm -nodesktop -nosplash 1>/dev/null 2>&1 -logfile $M_LOGFILE <<-EOF - f=hgload( '$INFILE' ); - matlab2pgfplots( '$OUTFILE', 'fig', f, 'styles', $CONVERT_STYLES, 'axes', $CONVERT_AXES, 'maxpoints', $MAXPOINTS ); - exit - EOF - grep -q "Error" $M_LOGFILE - CODE=$? - if [ $CODE -eq 0 ]; then - echo "Matlab output:" 1>&2 - cat $M_LOGFILE 1>&2 - CODE=1 - else - CODE=0 - fi - rm -f $M_LOGFILE - if [ $CODE -ne 0 ]; then - exit $CODE - fi -done diff --git a/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/pgf2pdf.sh b/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/pgf2pdf.sh deleted file mode 100644 index 027a6157b77..00000000000 --- a/Master/texmf-dist/doc/generic/pgfplots/ext_scripts/pgf2pdf.sh +++ /dev/null @@ -1,282 +0,0 @@ -#!/bin/sh - -TEX_FILE="" -TEX_LOG_FILE="" - -TEX_DEFINES="" - -OLD_DIR=`pwd` - -DRIVER="pdftex" - -ALSO_EPS_OUTPUT=0 -WARN_ONLY_IF_TEXFILE_DOESNOT_INCLUDE_TARGET=0 -VERBOSE_LEVEL=0 - -function dumpHelp() { - echo -e \ - "`basename $0` [OPTIONS] [--texdefs | --mainfile .tex ] [plot1.pgf plot2.pgf .... plotn.pgf]\n"\ - "converts each plot*.pgf to plot*.pdf.\n"\ - "This is done by running \n"\ - " latex --jobname plot1 latexmainfile\n"\ - "for each single plot. See the pgfmanual section \"Externalizing graphics\".\n"\ - "Options:\n"\ - "--eps\n"\ - " will also produce eps output files.\n"\ - "--driver D\n"\ - " will use either \"dvipdfm\", \"dvips\" or \"pdflatex\"\n"\ - " please note that only pdflatex works without additional\n"\ - " work.\n"\ - "--mainfile FILE\n"\ - " A tex-file which has been configured for externalized graphics.\n"\ - " Two conditions must be met to perform the conversion of\n"\ - " \"plot.pgf\" -> \"plot.pdf\":\n"\ - " 1. FILE needs the command\n"\ - " \pgfrealjobname{FILE}\n"\ - " (see the pgf manual for details)\n"\ - " 2. It needs to include \"plot.pgf\" somewhere (using \input{plot.pgf})\n"\ - "\n"\ - "--warnonly\n"\ - " Use this flag if the argument of --mainfile does not contain\n"\ - " \input{TARGET.pgf},\n"\ - " i.e. if (2.) is not fulfilled. In this case, the conversion for this\n"\ - " input file will be skipped.\n"\ - "\n"\ - "--texdefs FILE\n"\ - " Generates a temporary tex-file\n"\ - " \documentclass{article}\n"\ - " \input{FILE}\n"\ - " \begin{document}\n"\ - " \input{plot1.pgf}\n"\ - " \end{document}\n"\ - " and converts this one to pdf.\n"\ - " If FILE is '-', the input step is omitted.\n" - "-v\n"\ - " each -v option increases the verbosity.\n"\ - "" - exit 0; -} - - -LONGOPTS="mainfile:,eps,driver:,texdefs:,warnonly" -SHORTOPTS="f:t:v" -ARGS=`getopt -l "$LONGOPTS" "$SHORTOPTS" "$@"` -if [ $? -ne 0 ]; then - echo "`basename $0`: Could not process command line arguments. Use the '--help' option for documentation." - exit 1 -fi - -eval set -- "$ARGS" -while [ $# -gt 0 ]; do - ARG=$1 - # echo "PROCESSING OPTION '$ARG' (next = $@)" - case "$ARG" in - --texdefs|-t) shift; TEX_DEFINES="$1"; shift;; - --driver) shift; DRIVER="$1"; shift;; - --mainfile|-f) shift; TEX_FILE="$1"; TEX_LOG_FILE="${1%%.tex}.log"; shift;; - --eps) shift; ALSO_EPS_OUTPUT=1;; - --warnonly) shift; WARN_ONLY_IF_TEXFILE_DOESNOT_INCLUDE_TARGET=1;; - -v) shift; VERBOSE_LEVEL=$((VERBOSE_LEVEL+1));; - --) shift; break;; - *) break; - esac -done -if [ -n "${TEX_DEFINES}" ]; then - if [ "${TEX_DEFINES:0:1}" != "/" ]; then - TEX_DEFINES=`pwd`/${TEX_DEFINES} - fi -fi - - -if [ $# -ne 0 ]; then - PGF_FILES=("$@") -elif [ -n "${TEX_LOG_FILE}" ]; then - # search for lines with - # (XXXX.pgf - PGF_FILES=(`sed -n '{s/.*(\([a-zA-Z0-9._-+^~]\+\.pgf\).*/\1/g;T ende;p};: ende' < $TEX_LOG_FILE`) - #PGF_FILES=(./errplot_L2.pgf) -else - echo "No input files." 1>&2 - exit 1 -fi - -for A in "${PGF_FILES[@]}"; do - if [ ! -f "$A" ]; then - echo "$A not found: no such file" 1>&2 - exit 1 - fi - - CONTINUE_ON_ERROR=0 - - TARGET_FILE=$(sed -n '{s/.*\\beginpgfgraphicnamed{\(.*\)}.*/\1/g;T ende;p};: ende' < "$A") - if [ $? -ne 0 -o -z "$TARGET_FILE" ]; then - echo "There is no valid \\beginpgfgraphicnamed{TARGET}...\\endpgfgraphicnamed command in $A. Can't be exported to pdf. Please see the PGF manual for details." 1>&2 - exit 1 - fi - echo "processing \"$A\"" 1>&2 - - CMD="latex" - case $DRIVER in - pdftex|pdflatex) - CMD="pdflatex" - ;; - esac - - if [ -z "${TEX_DEFINES}" ]; then - # LaTeX cannot write into a \jobname in another directory. - # But the TEX_FILE and $A may not necessarily be in the same directory! - # - # So, we have to build a work-around which simulates a \jobname in the directory of TEX_FILE - # which does not fool \beginpgfgraphicnamed - - # modify the input file A: - ORIGINAL_FILE="$A.orig" - mv "$A" "$ORIGINAL_FILE" || exit 1 - cat - "$ORIGINAL_FILE" >"$A" <<-EOF - \let\tmpXXXXXZEUGoldjobname=\jobname - \def\jobname{${TARGET_FILE}}% - \message{PGF2PDF: TEX HAS ENTERED THE TARGET FILE...}% - EOF - cat >> "$A" <<-EOF - \let\jobname=\tmpXXXXXZEUGoldjobname - EOF - - cd `dirname "${TEX_FILE}"` - - # generate a temp \jobname in the current directory: - TMP_JOB_FILE=`mktemp ./tmppgf2pdfXXXXXX` - if [ $? -ne 0 ]; then exit 1; fi - rm -f "$TMP_JOB_FILE" - - $CMD --interaction nonstopmode --jobname "$TMP_JOB_FILE" "${TEX_FILE}" 1>/dev/null - CODE=$? - - INTERM_EXTENSION="dvi" - case $DRIVER in - pdftex|pdflatex) - INTERM_EXTENSION="pdf" - ;; - dvipdfm) - INTERM_EXTENSION="dvi" - ;; - dvips) - INTERM_EXTENSION="dvi" - ;; - esac - if [ ! -s "$TMP_JOB_FILE.$INTERM_EXTENSION" ]; then - if [ $VERBOSE_LEVEL -ge 1 ]; then - if [ $WARN_ONLY_IF_TEXFILE_DOESNOT_INCLUDE_TARGET -eq 1 ]; then - echo -n "WARNING: "; - else - echo -n "ERROR: "; - fi - echo -e "running\n"\ - " '$CMD --jobname $TMP_JOB_FILE $TEX_FILE'\n"\ - "resulted in a zero-size file \"$TMP_JOB_FILE.$INTERM_EXTENSION\"!\n"\ - "Please check\n"\ - "- if $TEX_FILE contains\n"\ - " \pgfrealjobname{`basename ${TEX_FILE%%.tex}`}\n"\ - "- if $TEX_FILE contains\n"\ - " \input{$A}\n"\ - "\n"\ - "You may take a look at\n\t$TARGET_FILE.log\n for more information.\n"\ - "Maybe `basename $0` --texdefs is more appropriate for this application?\n"\ - "It doesn't need \input{}...\n"\ - 1>&2 - fi - - CODE=1 - if [ $WARN_ONLY_IF_TEXFILE_DOESNOT_INCLUDE_TARGET -eq 1 ]; then - CONTINUE_ON_ERROR=1 - fi - rm -f $TMP_JOB_FILE.{$INTERM_EXTENSION,pdf} - fi - - - # FIXME: this here may clash if A and TARGET_FILE have inconsistent paths! - mv "$ORIGINAL_FILE" "$A" || exit 1 - for QQ in $TMP_JOB_FILE.*; do - if [ "$TARGET_FILE.${QQ##*.}" != "$A" ]; then - mv "$QQ" "$TARGET_FILE.${QQ##*.}" || exit 1 - fi - done - - cd "$OLD_DIR" - else - # Die Idee hier ist wie folgt: - # - Erstelle ein fast leeres Tex-File - # - darin steht NUR - # \input $TEX_DEFINES - # und - # \input $A - # - das TeX-file wird mit pgflatex uebersetzt - # - die ausgabe wird nach $TARGET_FILE geschrieben - # - fertig. - # - # BUGS: - # - TARGET_FILE != A wird nicht funktionieren (nur die endungen natuerlich) - DRIVER="pdftex" - cd `dirname "$A"` - BASE=`basename $TARGET_FILE` - TMP_TEX_FILE=`mktemp tmp_${BASE}_XXXXXX` - mv "$TMP_TEX_FILE" "${TMP_TEX_FILE}.tex" - TMP_TEX_FILE="$TMP_TEX_FILE.tex" - rm -f "${BASE}.pdf" - - cat >"$TMP_TEX_FILE" <<-EOF - \documentclass{report} - - \input{${TEX_DEFINES}} - - %\def\pgfsysdriver{pgfsys-dvipdfm.def} - %\def\pgfsysdriver{pgfsys-pdftex.def} - \usepackage{tikz} - \pgfrealjobname{${TMP_TEX_FILE%%.tex}} - \begin{document} - \let\oldjobname=\jobname% - % make sure that PGF recognises that jobname==target file name - % even if --jobname has a different path. - \def\jobname{${TARGET_FILE}}% - \input{`basename $A`}% - \let\jobname=\oldjobname - \end{document} - EOF - $CMD --interaction nonstopmode --jobname "$BASE" "${TMP_TEX_FILE}" 1>/dev/null - CODE=$? - if [ $CODE -eq 0 ]; then - rm -f "$TMP_TEX_FILE" - fi - cd $OLD_DIR - fi - - if [ $CODE -ne 0 ]; then - rm -f "${TARGET_FILE}.pdf" - if [ $CONTINUE_ON_ERROR -eq 1 ]; then - echo "WARNING: $A SKIPPED [use -v for messages]." 1>&2 - CODE=0 - continue - else - echo -e "FAILED: could not convert\n\t$A\n->\t$TARGET_FILE.pdf" 1>&2; - exit 1; - fi - fi - CMD="" - case $DRIVER in - dvipdfm) - dvipdfm -o ${TARGET_FILE}.pdf "${TARGET_FILE}.dvi" || exit 1 - pdfcrop "${TARGET_FILE}.pdf" "${TARGET_FILE}.pdf" || exit 1 - ;; - dvips) - dvipdfm -o ${TARGET_FILE}.ps "${TARGET_FILE}.dvi" || exit 1 - ;; - esac - - if [ $ALSO_EPS_OUTPUT -eq 1 ]; then - pdftops -f 1 -l 1 -eps "${TARGET_FILE}.pdf" "${TARGET_FILE}.eps" - if [ $? -ne 0 ]; then - echo "Conversion pdf -> eps FAILED!" 1>&2 - exit 1 - fi - fi -done -cd $OLD_DIR 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 + + - Release 1.1 + +2008-08-03 Christian Feuersaenger + + - Added a library for abstract types of input coordinates (for example + dates). + +2008-08-02 Christian Feuersaenger + + - 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 + + - 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 + + - added environment 'pgfplotsinterruptdatabb' + - fixed bug in |minor tick num| + - fixed bug in alias feature of table package. + +2008-07-29 Christian Feuersaenger + + - added |xtick pos| and |ytick pos| keys and |[xy]ticklabel pos| + + +2008-07-28 Christian Feuersaenger + + - fixed bug in 'plot table' optimization: did not allow for 'alias'ed + columns. + +2008-07-26 Christian Feuersaenger + + - 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 + + - 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 + + - Now, plot table{} has linear runtime. + - implemented fast low-level lists also for errorbars. + +2008-07-18 Christian Feuersaenger + + - 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 + + - 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 + + - implemented support for axis limits of order up to 1.0e+-2147483644 + +2008-07-14 Christian Feuersaenger + + - 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 + + - 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 + + - fixed log plot tick generation if the axis range is extremely small. + +2008-07-09 Christian Feuersaenger + + - 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 + + - 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 + + - 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 ' in + \addplot commands, allowing not only style options but also behavior + options. + + +2008-07-04 Christian Feuersaenger + + - 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 + + - 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 + + - fixed small issues in pgfplotstable manual + - eliminated one dimen register and one count register + +2008-07-01 Christian Feuersaenger + + - Added semicolon to gnuplot invocation to fix the strange behavior of + windows gnuplot. + +2008-06-30 Christian Feuersaenger + + - 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 + + - 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 + + - Wrote a \pgfplotstablecreatecol command to generate new columns in a + quite general fashion. + +2008-06-27 Christian Feuersaenger + + - 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 + + - added column/{[index]5}/.style and 'column indizes/5/.style' + - added 'select equal part entry of' style + +2008-06-25 Christian Feuersaenger + + - added warning when loading tables '#1.tex' instead of '#1'. + +2008-06-24 Christian Feuersaenger + + - 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 + + - improved ConTeXt compatibility + +2008-06-17 Christian Feuersaenger + + - fixed incompatibility between 'plot function' and german active " + character + +2008-06-11 Christian Feuersaenger + + - Released version 1.0 + 2008-06-11 Christian Feuersaenger - 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 index 8b25c545254..5f8f5f5dc3e 100644 Binary files a/Master/texmf-dist/doc/latex/pgfplots/pgfplots.pdf and b/Master/texmf-dist/doc/latex/pgfplots/pgfplots.pdf differ 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 -\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} -\paragraph{Attention:} you should \emph{not reset} the default style to stay compatible with future versions. If possible, use + More precisely, the small image generated by |\ref|\marg{label name} is \begin{codeexample}[code only] -\pgfplotsset{every axis legend/.append style={...}} +\tikz[/pgfplots/every crossref picture] {...} \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,39 @@ 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] + (\x,{sin(\x r)}); +\end{axis} +\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] @@ -1693,8 +2080,197 @@ By default the axis lines are drawn as a |box|, but it is possible to change the \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,14 +3279,86 @@ 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{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{pgfplotskey}{tick align=\mchoice{inside,center,outside} (initially inside)} +\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|''. this setting applies to both $x$~and~$y$ axis. -\end{pgfplotskey} +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)} @@ -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$. -\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. +\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 x label} - Used for $x$~labels, installed after `|every axis label|'. -\end{stylekey} +\subsubsection*{Styles for axis descriptions} -\begin{stylekey}{/pgfplots/every axis y label} - Like `|every axis x label|', just for~$y$. +\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 title} - Used for any axis title. The |at=|\marg{(x,y)} command works as for `|every axis label|'. -\end{stylekey} +\pgfplotsshortstylekey label style=every axis label; -\begin{stylekey}{/pgfplots/every tick} - Installed for each of the small tick lines. -\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 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} + +\begin{stylekey}{/pgfplots/every error bar (initially thin)} + Installed for every error bar. +\end{stylekey} -\subsubsection{Assigning Own Styles} +\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 index 5a40e21c97d..6c0214828ac 100644 Binary files a/Master/texmf-dist/doc/latex/pgfplots/pgfplotsexample.pdf and b/Master/texmf-dist/doc/latex/pgfplots/pgfplotsexample.pdf differ 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 index d131f2937bd..420896cd09c 100644 Binary files a/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.pdf and b/Master/texmf-dist/doc/latex/pgfplots/pgfplotstable.pdf differ 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=] {}; + -> 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 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/scripts/pgfplots/matlab2pgfplots.m b/Master/texmf-dist/scripts/pgfplots/matlab2pgfplots.m new file mode 100644 index 00000000000..8d4ce820083 --- /dev/null +++ b/Master/texmf-dist/scripts/pgfplots/matlab2pgfplots.m @@ -0,0 +1,338 @@ +function matlab2pgfplots(varargin ) +% matlab2pgfplots(outfile ) +% matlab2pgfplots( outfile, OPTIONS ) +% +% Generate LaTeX code for use in package pgfplots to +% draw line plots. +% +% It will use every (2d) line plot in the figure specified by handler fighandle. +% +% It understands +% - axis labels, +% - legends, +% - any 2d line plots, +% - line styles/markers (in case of styles=1), +% - tick positions, labels and axis limits (in case of axes=1). +% +% Linestyles and markers will follow as an option. However, pgfplots has its +% own line styles which may be appropriate. +% +% Although pgfplots can also handle bar and area plots, this script is not yet +% capable of converting them. Feel free to modify it and send the final version +% to me! +% +% OPTIONS are key value pairs. Known options are +% - 'fig',HANDLE +% a figure handle (default is 'gcf'). +% - 'styles',0|1 +% a boolean indicating whether line styles, markers and colors shall be exported (default 1). +% - 'axes',0|1 +% a boolean indicating whether axis ticks, tick labels and limits shall be exported (default 0). +% - 'maxpoints',100 +% an integer denoting the maximum number of points exported to tex. If the actual number is larger, +% the data will be interpolated to 'maxpoints'. The interpolation assumes +% parametric plots if x and y are not monotonically increasing. +% +% See +% http://tug.ctan.org/tex-archive/graphics/pgf/contrib/pgfplots/ +% for details about pgfplots. +% +% +% +% Copyright Christian Feuersaenger 2008 +% +parser = inputParser; + +parser.addRequired( 'outfile', @(x) ischar(x) ); +parser.addParamValue( 'fig', gcf, @(x) ishandle(x) ); +parser.addParamValue( 'styles', 1, @(x) x==0 || x==1 ); +parser.addParamValue( 'axes' , 0, @(x) x==0 || x==1 ); +parser.addParamValue( 'maxpoints', 100000, @(x) isnumeric(x) ); + +parser.parse( varargin{:} ); + + +fighandle = parser.Results.fig; + +lineobjs = findobj(fighandle, 'Type', 'line' ); +axesobj = findobj( fighandle, 'Type', 'axes' ); + +legendobj = findobj( fighandle, 'tag', 'legend' ); +if length(legendobj) > 0 + allchildsoflegend = [ findobj( legendobj ) ]; + lineobjs = setdiff( lineobjs, allchildsoflegend ); + axesobj = setdiff( axesobj, allchildsoflegend ); +end + +FID=fopen( parser.Results.outfile, 'w' ); +assert( FID >= 0, [ 'could not open file ' parser.Results.outfile ' for writing' ] ); + +ENDL=sprintf('\n'); +TAB=sprintf('\t'); +fwrite( FID, [ ... + '\begin{tikzpicture}%' ENDL ... + '\begin{axis}'] ); + +xislog = 0; +yislog = 0; + +if length(axesobj) > 0 + axis = axesobj(1); + xlabel = get( get(axis, 'XLabel'), 'String'); + ylabel = get( get(axis, 'YLabel'), 'String'); + zlabel = get( get(axis, 'ZLabel'), 'String'); + xscale = get(axis,'XScale'); + yscale = get(axis,'YScale'); + + axisoptions = {}; + if length(xlabel) > 0 + axisoptions = [ axisoptions [ 'xlabel={' xlabel '}'] ]; + end + if length(ylabel) > 0 + axisoptions = [ axisoptions ['ylabel={' ylabel '}'] ]; + end + if strcmp(xscale,'log') + xislog=1; + axisoptions = [ axisoptions ['xmode=log'] ]; + end + if strcmp(yscale,'log') + yislog = 1; + axisoptions = [ axisoptions ['ymode=log'] ]; + end + if parser.Results.axes + for k = 'xy' + L = get(gca, [ k 'Lim'] ); + axisoptions = [ axisoptions [ k 'min=' num2str(L(1)) ] ]; + axisoptions = [ axisoptions [ k 'max=' num2str(L(2)) ] ]; + end + + for k = 'xy' + L = get(gca, [ k 'Tick'] ); + opt = [ k 'tick={' ]; + for q=1:length(L) + if q>1 + opt = [opt ',' ]; + end + opt = [opt num2str(L(q)) ]; + end + opt = [ opt '}' ]; + axisoptions = [axisoptions opt ]; + end + + end + + + axisoptstr = []; + for i = 1:length(axisoptions) + if i>1 + axisoptstr = [axisoptstr ',' ENDL TAB]; + end + axisoptstr = [axisoptstr axisoptions{i}]; + end + if length( axisoptstr ) + fwrite( FID, [ '[' ENDL TAB axisoptstr ']' ENDL ] ); + end +end +fwrite( FID, ENDL ); + +if length(legendobj) > 0 + legentries = get(legendobj, 'String'); + if length(legentries) > 0 + legstr = ['\legend{%' ENDL TAB ]; + for i = 1:length(legentries) + legstr = [ legstr legentries{i} '\\%' ENDL ]; + if i ~= length(legentries) + legstr = [ legstr TAB ]; + end + end + legstr = [ legstr '}%' ENDL ]; + fwrite( FID, legstr ); + end +end + +xpointformat = '%f'; +ypointformat = '%f'; +if xislog + xpointformat = '%e'; +end +if yislog + ypointformat = '%e'; +end + +for i = 1:length(lineobjs) + + x = get(lineobjs(i), 'XData'); + y = get(lineobjs(i), 'YData'); + z = get(lineobjs(i), 'ZData'); + + if size(x,1) > 1 + disp( ['line element ' num2str(i) ' skipped: size ' num2str(size(x)) ' not supported']); + end + if abs(max(z) > 0) + disp( ['line element ' num2str(i) ' skipped: only 2d-plots supported up to now']); + end + + if size(x,2) > parser.Results.maxpoints + % we need to re-interpolate the data! + q = find( diff(x) < 0 ); + if length(q) + % parametric plot x(t), y(t), z(t). + % we assume t = 1:size(x,2) + X = 1:parser.Results.maxpoints; + x = interp1( 1:size(x,2),x, X); + y = interp1( 1:size(y,2),y, X); + z = interp1( 1:size(z,2),z, X); + + else + % a normal plot y(x): + X = linspace( min(x), max(x), parser.Results.maxpoints ); + y = interp1( x,y, X ); + x = X; + end + end + + coordstr = []; + for j = 1:size(x,2) + coordstr = [coordstr sprintf(['\t(' xpointformat ',\t' ypointformat ')\n'], x(j), y(j)) ]; + end + + addplotoptstr = []; + if parser.Results.styles + markOpts = {}; + mark = []; + linestyle = []; + color = []; + + C = matlabColorToPGFColor( get(lineobjs(i), 'Color') ); + if length(C) + color = [ 'color=' C ]; + end + + L = get(lineobjs(i), 'LineStyle' ); + switch L + case 'none' + linestyle = 'only marks'; + case '-' + linestyle = []; + case ':' + linestyle = 'densely dotted'; + case '-:' + linestyle = 'dash pattern=on 2pt off 3pt on 1pt off 3pt]'; + case '--' + linestyle = 'densely dashed'; + end + + M = get(lineobjs(i), 'Marker'); + switch M + case '.' + mark = '*'; + markOpts = [ markOpts 'scale=0.1' ]; + case 'o' + mark = '*'; + case 'x' + mark = 'x'; + case '+' + mark = '+'; + case '*' + mark = 'asterisk'; + case 'square' + mark = 'square*'; + case 'diamond' + mark = 'diamond*'; + case '^' + mark = 'triangle*'; + case 'v' + mark = 'triangle*'; + markOpts = [ markOpts 'rotate=180' ]; + case '<' + mark = 'triangle*'; + markOpts = [ markOpts 'rotate=90' ]; + case '>' + mark = 'triangle*'; + markOpts = [ markOpts 'rotate=270' ]; + case 'pentagramm' + mark = 'pentagon*'; + case 'hexagram' + mark = 'oplus*'; + end + + M = matlabColorToPGFColor( get(lineobjs(i), 'MarkerFaceColor') ); + if length(M) + markOpts = [ markOpts ['fill=' M] ]; + end + + M = matlabColorToPGFColor( get(lineobjs(i), 'MarkerEdgeColor') ); + if length(M) + markOpts = [ markOpts ['draw=' M] ]; + end + + if length(color) + if length(addplotoptstr) + addplotoptstr = [addplotoptstr ',' ]; + end + addplotoptstr = [ addplotoptstr color ]; + end + + if length(linestyle) + if length(addplotoptstr) + addplotoptstr = [addplotoptstr ',' ]; + end + addplotoptstr = [ addplotoptstr linestyle ]; + end + + if length(mark) + if length(addplotoptstr) + addplotoptstr = [addplotoptstr ',' ]; + end + addplotoptstr = [ addplotoptstr [ 'mark=' mark ] ]; + + if length(markOpts) + markOptsStr = 'mark options={'; + for q = 1:length(markOpts) + if q > 1 + markOptsStr = [markOptsStr ',' ]; + end + markOptsStr = [ markOptsStr markOpts{q} ]; + end + markOptsStr = [ markOptsStr '}' ]; + + addplotoptstr = [ addplotoptstr ',' markOptsStr ]; + end + end + + + if length(addplotoptstr) + addplotoptstr = [ '[' addplotoptstr ']' ]; + end + + end + fwrite( FID, [ ... + '\addplot' addplotoptstr ' plot coordinates {' ENDL coordstr '};' ENDL ] ); + +end + + +fwrite( FID, [ ... + '\end{axis}' ENDL ... + '\end{tikzpicture}%' ENDL ] ); +fclose(FID); + +end + +function cstr = matlabColorToPGFColor( C ) + +if length(C) ~= 3 | ischar(C) & strcmp(C,'none'), cstr = []; +elseif norm( C - [0 0 1 ], 'inf' ) < 1e-10, cstr = 'blue'; +elseif norm( C - [0 1 0 ], 'inf' ) < 1e-10, cstr = 'green'; +elseif norm( C - [1 0 0 ], 'inf' ) < 1e-10, cstr = 'red'; +elseif norm( C - [0 1 1 ], 'inf' ) < 1e-10, cstr = 'cyan'; +elseif norm( C - [1 0 1 ], 'inf' ) < 1e-10, cstr = 'magenta'; +elseif norm( C - [1 1 0 ], 'inf' ) < 1e-10, cstr = 'yellow'; +elseif norm( C - [0 0 0 ], 'inf' ) < 1e-10, cstr = 'black'; +elseif norm( C - [1 1 1 ], 'inf' ) < 1e-10, cstr = 'white'; +else + cstr= 'blue'; % FIXME +% cstr = [ '{rgb:red,' num2str( floor( C(1)*100) ) ';green,' num2str(floor(C(2)*100)) ';blue,' num2str(floor(C(3)*100)) '}' ]; +end + +end diff --git a/Master/texmf-dist/scripts/pgfplots/matlab2pgfplots.sh b/Master/texmf-dist/scripts/pgfplots/matlab2pgfplots.sh new file mode 100755 index 00000000000..9bc84642506 --- /dev/null +++ b/Master/texmf-dist/scripts/pgfplots/matlab2pgfplots.sh @@ -0,0 +1,80 @@ +#!/bin/sh + + +CONVERT_STYLES=1 +CONVERT_AXES=1 +OUTFILE="" +MAXPOINTS=100000 + +function echoHelp() +{ + echo -e \ + "matlab2pgfplots.sh [--maxpoints N] [--styles [0|1] ] [ --axes [0|1] ] [ -o OUTFILE ] INFILE ...\n"\ + "converts Matlab figures (.fig-files) to pgfplots-files (.pgf-files).\n"\ + "This script is a front-end for matlab2pgfplots.m (which needs to be in matlab's search path)\n"\ + "type\n"\ + " >> help matlab2pgfplots\n"\ + "at your matlab prompt for more information.\n" + exit 0 +} + +LONGOPTS="styles:,axes:,help,maxpoints:" +SHORTOPTS="o:" +ARGS=`getopt -l "$LONGOPTS" "$SHORTOPTS" "$@"` +if [ $? -ne 0 ]; then + echo "`basename $0`: Could not process command line arguments. Use the '--help' option for documentation." + exit 1 +fi + +eval set -- "$ARGS" +while [ $# -gt 0 ]; do + ARG=$1 + # echo "PROCESSING OPTION '$ARG' (next = $@)" + case "$ARG" in + --maxpoints) shift; MAXPOINTS=$1; shift;; + --styles) shift; CONVERT_STYLES="$1"; shift;; + --axes) shift; CONVERT_AXES="$1"; shift;; + -o) shift; OUTFILE="$1"; shift;; + --help) shift; echoHelp;; + --) shift; break;; + *) break; + esac +done + +if [ $# -eq 0 ]; then + echo "No input files specified." + exit 1 +fi + +HAS_OUTFILE=0 +if [ $# -gt 1 -a -n "$OUTFILE" ]; then + HAS_OUTFILE=1 +fi + +for A; do + INFILE="$A" + if [ $HAS_OUTFILE -eq 0 ]; then + OUTFILE="${INFILE%%.*}.pgf" + fi + echo "$INFILE -> $OUTFILE ... " + + M_LOGFILE=`mktemp` + matlab -nojvm -nodesktop -nosplash 1>/dev/null 2>&1 -logfile $M_LOGFILE <<-EOF + f=hgload( '$INFILE' ); + matlab2pgfplots( '$OUTFILE', 'fig', f, 'styles', $CONVERT_STYLES, 'axes', $CONVERT_AXES, 'maxpoints', $MAXPOINTS ); + exit + EOF + grep -q "Error" $M_LOGFILE + CODE=$? + if [ $CODE -eq 0 ]; then + echo "Matlab output:" 1>&2 + cat $M_LOGFILE 1>&2 + CODE=1 + else + CODE=0 + fi + rm -f $M_LOGFILE + if [ $CODE -ne 0 ]; then + exit $CODE + fi +done diff --git a/Master/texmf-dist/scripts/pgfplots/pgf2pdf.sh b/Master/texmf-dist/scripts/pgfplots/pgf2pdf.sh new file mode 100755 index 00000000000..027a6157b77 --- /dev/null +++ b/Master/texmf-dist/scripts/pgfplots/pgf2pdf.sh @@ -0,0 +1,282 @@ +#!/bin/sh + +TEX_FILE="" +TEX_LOG_FILE="" + +TEX_DEFINES="" + +OLD_DIR=`pwd` + +DRIVER="pdftex" + +ALSO_EPS_OUTPUT=0 +WARN_ONLY_IF_TEXFILE_DOESNOT_INCLUDE_TARGET=0 +VERBOSE_LEVEL=0 + +function dumpHelp() { + echo -e \ + "`basename $0` [OPTIONS] [--texdefs | --mainfile .tex ] [plot1.pgf plot2.pgf .... plotn.pgf]\n"\ + "converts each plot*.pgf to plot*.pdf.\n"\ + "This is done by running \n"\ + " latex --jobname plot1 latexmainfile\n"\ + "for each single plot. See the pgfmanual section \"Externalizing graphics\".\n"\ + "Options:\n"\ + "--eps\n"\ + " will also produce eps output files.\n"\ + "--driver D\n"\ + " will use either \"dvipdfm\", \"dvips\" or \"pdflatex\"\n"\ + " please note that only pdflatex works without additional\n"\ + " work.\n"\ + "--mainfile FILE\n"\ + " A tex-file which has been configured for externalized graphics.\n"\ + " Two conditions must be met to perform the conversion of\n"\ + " \"plot.pgf\" -> \"plot.pdf\":\n"\ + " 1. FILE needs the command\n"\ + " \pgfrealjobname{FILE}\n"\ + " (see the pgf manual for details)\n"\ + " 2. It needs to include \"plot.pgf\" somewhere (using \input{plot.pgf})\n"\ + "\n"\ + "--warnonly\n"\ + " Use this flag if the argument of --mainfile does not contain\n"\ + " \input{TARGET.pgf},\n"\ + " i.e. if (2.) is not fulfilled. In this case, the conversion for this\n"\ + " input file will be skipped.\n"\ + "\n"\ + "--texdefs FILE\n"\ + " Generates a temporary tex-file\n"\ + " \documentclass{article}\n"\ + " \input{FILE}\n"\ + " \begin{document}\n"\ + " \input{plot1.pgf}\n"\ + " \end{document}\n"\ + " and converts this one to pdf.\n"\ + " If FILE is '-', the input step is omitted.\n" + "-v\n"\ + " each -v option increases the verbosity.\n"\ + "" + exit 0; +} + + +LONGOPTS="mainfile:,eps,driver:,texdefs:,warnonly" +SHORTOPTS="f:t:v" +ARGS=`getopt -l "$LONGOPTS" "$SHORTOPTS" "$@"` +if [ $? -ne 0 ]; then + echo "`basename $0`: Could not process command line arguments. Use the '--help' option for documentation." + exit 1 +fi + +eval set -- "$ARGS" +while [ $# -gt 0 ]; do + ARG=$1 + # echo "PROCESSING OPTION '$ARG' (next = $@)" + case "$ARG" in + --texdefs|-t) shift; TEX_DEFINES="$1"; shift;; + --driver) shift; DRIVER="$1"; shift;; + --mainfile|-f) shift; TEX_FILE="$1"; TEX_LOG_FILE="${1%%.tex}.log"; shift;; + --eps) shift; ALSO_EPS_OUTPUT=1;; + --warnonly) shift; WARN_ONLY_IF_TEXFILE_DOESNOT_INCLUDE_TARGET=1;; + -v) shift; VERBOSE_LEVEL=$((VERBOSE_LEVEL+1));; + --) shift; break;; + *) break; + esac +done +if [ -n "${TEX_DEFINES}" ]; then + if [ "${TEX_DEFINES:0:1}" != "/" ]; then + TEX_DEFINES=`pwd`/${TEX_DEFINES} + fi +fi + + +if [ $# -ne 0 ]; then + PGF_FILES=("$@") +elif [ -n "${TEX_LOG_FILE}" ]; then + # search for lines with + # (XXXX.pgf + PGF_FILES=(`sed -n '{s/.*(\([a-zA-Z0-9._-+^~]\+\.pgf\).*/\1/g;T ende;p};: ende' < $TEX_LOG_FILE`) + #PGF_FILES=(./errplot_L2.pgf) +else + echo "No input files." 1>&2 + exit 1 +fi + +for A in "${PGF_FILES[@]}"; do + if [ ! -f "$A" ]; then + echo "$A not found: no such file" 1>&2 + exit 1 + fi + + CONTINUE_ON_ERROR=0 + + TARGET_FILE=$(sed -n '{s/.*\\beginpgfgraphicnamed{\(.*\)}.*/\1/g;T ende;p};: ende' < "$A") + if [ $? -ne 0 -o -z "$TARGET_FILE" ]; then + echo "There is no valid \\beginpgfgraphicnamed{TARGET}...\\endpgfgraphicnamed command in $A. Can't be exported to pdf. Please see the PGF manual for details." 1>&2 + exit 1 + fi + echo "processing \"$A\"" 1>&2 + + CMD="latex" + case $DRIVER in + pdftex|pdflatex) + CMD="pdflatex" + ;; + esac + + if [ -z "${TEX_DEFINES}" ]; then + # LaTeX cannot write into a \jobname in another directory. + # But the TEX_FILE and $A may not necessarily be in the same directory! + # + # So, we have to build a work-around which simulates a \jobname in the directory of TEX_FILE + # which does not fool \beginpgfgraphicnamed + + # modify the input file A: + ORIGINAL_FILE="$A.orig" + mv "$A" "$ORIGINAL_FILE" || exit 1 + cat - "$ORIGINAL_FILE" >"$A" <<-EOF + \let\tmpXXXXXZEUGoldjobname=\jobname + \def\jobname{${TARGET_FILE}}% + \message{PGF2PDF: TEX HAS ENTERED THE TARGET FILE...}% + EOF + cat >> "$A" <<-EOF + \let\jobname=\tmpXXXXXZEUGoldjobname + EOF + + cd `dirname "${TEX_FILE}"` + + # generate a temp \jobname in the current directory: + TMP_JOB_FILE=`mktemp ./tmppgf2pdfXXXXXX` + if [ $? -ne 0 ]; then exit 1; fi + rm -f "$TMP_JOB_FILE" + + $CMD --interaction nonstopmode --jobname "$TMP_JOB_FILE" "${TEX_FILE}" 1>/dev/null + CODE=$? + + INTERM_EXTENSION="dvi" + case $DRIVER in + pdftex|pdflatex) + INTERM_EXTENSION="pdf" + ;; + dvipdfm) + INTERM_EXTENSION="dvi" + ;; + dvips) + INTERM_EXTENSION="dvi" + ;; + esac + if [ ! -s "$TMP_JOB_FILE.$INTERM_EXTENSION" ]; then + if [ $VERBOSE_LEVEL -ge 1 ]; then + if [ $WARN_ONLY_IF_TEXFILE_DOESNOT_INCLUDE_TARGET -eq 1 ]; then + echo -n "WARNING: "; + else + echo -n "ERROR: "; + fi + echo -e "running\n"\ + " '$CMD --jobname $TMP_JOB_FILE $TEX_FILE'\n"\ + "resulted in a zero-size file \"$TMP_JOB_FILE.$INTERM_EXTENSION\"!\n"\ + "Please check\n"\ + "- if $TEX_FILE contains\n"\ + " \pgfrealjobname{`basename ${TEX_FILE%%.tex}`}\n"\ + "- if $TEX_FILE contains\n"\ + " \input{$A}\n"\ + "\n"\ + "You may take a look at\n\t$TARGET_FILE.log\n for more information.\n"\ + "Maybe `basename $0` --texdefs is more appropriate for this application?\n"\ + "It doesn't need \input{}...\n"\ + 1>&2 + fi + + CODE=1 + if [ $WARN_ONLY_IF_TEXFILE_DOESNOT_INCLUDE_TARGET -eq 1 ]; then + CONTINUE_ON_ERROR=1 + fi + rm -f $TMP_JOB_FILE.{$INTERM_EXTENSION,pdf} + fi + + + # FIXME: this here may clash if A and TARGET_FILE have inconsistent paths! + mv "$ORIGINAL_FILE" "$A" || exit 1 + for QQ in $TMP_JOB_FILE.*; do + if [ "$TARGET_FILE.${QQ##*.}" != "$A" ]; then + mv "$QQ" "$TARGET_FILE.${QQ##*.}" || exit 1 + fi + done + + cd "$OLD_DIR" + else + # Die Idee hier ist wie folgt: + # - Erstelle ein fast leeres Tex-File + # - darin steht NUR + # \input $TEX_DEFINES + # und + # \input $A + # - das TeX-file wird mit pgflatex uebersetzt + # - die ausgabe wird nach $TARGET_FILE geschrieben + # - fertig. + # + # BUGS: + # - TARGET_FILE != A wird nicht funktionieren (nur die endungen natuerlich) + DRIVER="pdftex" + cd `dirname "$A"` + BASE=`basename $TARGET_FILE` + TMP_TEX_FILE=`mktemp tmp_${BASE}_XXXXXX` + mv "$TMP_TEX_FILE" "${TMP_TEX_FILE}.tex" + TMP_TEX_FILE="$TMP_TEX_FILE.tex" + rm -f "${BASE}.pdf" + + cat >"$TMP_TEX_FILE" <<-EOF + \documentclass{report} + + \input{${TEX_DEFINES}} + + %\def\pgfsysdriver{pgfsys-dvipdfm.def} + %\def\pgfsysdriver{pgfsys-pdftex.def} + \usepackage{tikz} + \pgfrealjobname{${TMP_TEX_FILE%%.tex}} + \begin{document} + \let\oldjobname=\jobname% + % make sure that PGF recognises that jobname==target file name + % even if --jobname has a different path. + \def\jobname{${TARGET_FILE}}% + \input{`basename $A`}% + \let\jobname=\oldjobname + \end{document} + EOF + $CMD --interaction nonstopmode --jobname "$BASE" "${TMP_TEX_FILE}" 1>/dev/null + CODE=$? + if [ $CODE -eq 0 ]; then + rm -f "$TMP_TEX_FILE" + fi + cd $OLD_DIR + fi + + if [ $CODE -ne 0 ]; then + rm -f "${TARGET_FILE}.pdf" + if [ $CONTINUE_ON_ERROR -eq 1 ]; then + echo "WARNING: $A SKIPPED [use -v for messages]." 1>&2 + CODE=0 + continue + else + echo -e "FAILED: could not convert\n\t$A\n->\t$TARGET_FILE.pdf" 1>&2; + exit 1; + fi + fi + CMD="" + case $DRIVER in + dvipdfm) + dvipdfm -o ${TARGET_FILE}.pdf "${TARGET_FILE}.dvi" || exit 1 + pdfcrop "${TARGET_FILE}.pdf" "${TARGET_FILE}.pdf" || exit 1 + ;; + dvips) + dvipdfm -o ${TARGET_FILE}.ps "${TARGET_FILE}.dvi" || exit 1 + ;; + esac + + if [ $ALSO_EPS_OUTPUT -eq 1 ]; then + pdftops -f 1 -l 1 -eps "${TARGET_FILE}.pdf" "${TARGET_FILE}.eps" + if [ $? -ne 0 ]; then + echo "Conversion pdf -> eps FAILED!" 1>&2 + exit 1 + fi + fi +done +cd $OLD_DIR diff --git a/Master/texmf-dist/source/context/third/pgfplots/pgfplotstests.zip b/Master/texmf-dist/source/context/third/pgfplots/pgfplotstests.zip new file mode 100644 index 00000000000..0c3dfd3e97a Binary files /dev/null and b/Master/texmf-dist/source/context/third/pgfplots/pgfplotstests.zip differ diff --git a/Master/texmf-dist/source/latex/pgfplots/pgfplotstests.zip b/Master/texmf-dist/source/latex/pgfplots/pgfplotstests.zip new file mode 100644 index 00000000000..ec540cb2bfa Binary files /dev/null and b/Master/texmf-dist/source/latex/pgfplots/pgfplotstests.zip differ diff --git a/Master/texmf-dist/tex/context/pgfplots/t-pgfplots.tex b/Master/texmf-dist/tex/context/pgfplots/t-pgfplots.tex deleted file mode 100644 index 93324e1e5b0..00000000000 --- a/Master/texmf-dist/tex/context/pgfplots/t-pgfplots.tex +++ /dev/null @@ -1,61 +0,0 @@ -%-------------------------------------------- -% -% 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 . -% -%-------------------------------------------- - -\usemodule[tikz] -\usetikzlibrary[plotmarks] - -\edef\tikzatcode{\the\catcode`\@} -\edef\tikzbarcode{\the\catcode`\|} -\edef\tikzexclaimcode{\the\catcode`\!} -\catcode`\@=11 -\catcode`\|=12 -\catcode`\!=12 - -\input pgfplots.code.tex - -\let\pgfplots@ORIG@tikz@installcommands@before@context=\tikz@installcommands - -\def\tikz@installcommands{% - \pgfplots@ORIG@tikz@installcommands@before@context - % - \let\startaxis=\pgfplots@environment@axis - \let\stopaxis=\endpgfplots@environment@axis - % - \let\startsemilogxaxis=\pgfplots@environment@semilogxaxis - \let\stopsemilogxaxis=\endpgfplots@environment@semilogxaxis - % - \let\startsemilogyaxis=\pgfplots@environment@semilogyaxis - \let\stopsemilogyaxis=\endpgfplots@environment@semilogyaxis - % - \let\startloglogaxis=\pgfplots@environment@loglogaxis - \let\stoploglogaxis=\endpgfplots@environment@loglogaxis -}% - -\catcode`\@=\tikzatcode -\catcode`\|=\tikzbarcode -\catcode`\!=\tikzexclaimcode - -\endinput diff --git a/Master/texmf-dist/tex/context/third/pgfplots/t-pgfplots.tex b/Master/texmf-dist/tex/context/third/pgfplots/t-pgfplots.tex new file mode 100644 index 00000000000..1dbd5495cab --- /dev/null +++ b/Master/texmf-dist/tex/context/third/pgfplots/t-pgfplots.tex @@ -0,0 +1,64 @@ +%-------------------------------------------- +% +% 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 . +% +%-------------------------------------------- + +\usemodule[tikz] +\usetikzlibrary[plotmarks] + +\edef\tikzatcode{\the\catcode`\@} +\edef\tikzbarcode{\the\catcode`\|} +\edef\tikzexclaimcode{\the\catcode`\!} +\catcode`\@=11 +\catcode`\|=12 +\catcode`\!=12 + +\input pgfplots.code.tex + +\let\pgfplots@ORIG@tikz@installcommands@before@context=\tikz@installcommands + +\def\tikz@installcommands{% + \pgfplots@ORIG@tikz@installcommands@before@context + % + \let\startaxis=\pgfplots@environment@axis + \let\stopaxis=\endpgfplots@environment@axis + % + \let\startsemilogxaxis=\pgfplots@environment@semilogxaxis + \let\stopsemilogxaxis=\endpgfplots@environment@semilogxaxis + % + \let\startsemilogyaxis=\pgfplots@environment@semilogyaxis + \let\stopsemilogyaxis=\endpgfplots@environment@semilogyaxis + % + \let\startloglogaxis=\pgfplots@environment@loglogaxis + \let\stoploglogaxis=\endpgfplots@environment@loglogaxis + % + \def\startpgfplotsinterruptdatabb{\pgfplotsinterruptdatabb}% + \def\stoppgfplotsinterruptdatabb{\endpgfplotsinterruptdatabb}% +}% + +\catcode`\@=\tikzatcode +\catcode`\|=\tikzbarcode +\catcode`\!=\tikzexclaimcode + +\endinput 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 . +% +%-------------------------------------------- + +\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 . +% +%-------------------------------------------- + +\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 . +% +% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% the applist defines one macro for each element, like +% +% \def\element{\element} +% \def\element{\element} +% \def\element{} +% +% The '' 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//.initial={} +% /pgfplots/table/columns//.style={} +% /pgfplots/table/display columns//.style={} +% /pgfplots/table/create on use//.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[]{}{<\macro>} +% \pgfplotstableread[]{} 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{}{<\macro>} +% \pgfplotstablereadgetcolname{}{<\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{}' +% expands to the current row's value of the column named by . +% Furthermore, '\nextrow{}' 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{}, +% - \getthisrow{}{\macro} +% - \nextrow{}, +% - \getnextrow{}{\macro} +\def\pgfplotstablecreatecol{% + \pgfutil@ifnextchar[{% + \pgfplotstablecreatecol@opt + }{% + \pgfplotstablecreatecol@opt[]% + }% +}% + + % Typesets a table. % % \pgfplotstabletypeset[]<\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]{}{<\macro>} +% \pgfplotstableread[#1]{} to listener{<\macro>} +% or +% \pgfplotstableread[#1]{} 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{} to listener<\macro> +% +% -> <\macro> can than use the methods +% +% \pgfplotstablereadgetcolindex{}{<\content>} +% performs \let\content= > +\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{}{} +% performs \let\content= > +\def\pgfplotstablereadgetcolname@#1#2{% + \pgfplotstablereadgetptrtocolname{#1}{\pgfplots@loc@TMPa}% + \pgfplotstablereadevalptr\pgfplots@loc@TMPa{#2}% +}% + +% \pgfplotstablereadgetptrtocolname{}{\ptr} +% Creates some sort of "pointer" to the column named . 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{}{\ptr}% +% \fi +% \pgfplotstablereadevalptr{\ptr}{\content}% +% -> do something with \content! +% } +% +% \pgfplotstableread{} 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/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex new file mode 100644 index 00000000000..ce780e866b2 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex @@ -0,0 +1,12 @@ +%-------------------------------------------------- +% \pgfutil@ifundefined{pgfmathfloattosci} +% {}% +% {\endinput}% +%-------------------------------------------------- +\pgfkeysifdefined{/pgf/number format/@dec sep mark}{\endinput}{} + +\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 +\input pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex new file mode 100644 index 00000000000..def32476da4 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_misc.code.tex @@ -0,0 +1,174 @@ + +% ====================================================== +% compatibility with PGF 2.0 +\def\pgfkeysaddvalue#1#2#3{% + {% + \toks0{#2}% + \pgfkeysifdefined{#1} + {\pgfkeys@temptoks\expandafter\expandafter\expandafter{\csname pgfk@#1\endcsname}}% + {\pgfkeys@temptoks{}}% + \toks1{#3}% + \xdef\pgfkeys@global@temp{\the\toks0 \the\pgfkeys@temptoks \the\toks1}% believe or don't: the spaces are important + }% + \pgfkeyslet{#1}\pgfkeys@global@temp% +} + +\def\pgfkeys@try{% + \pgfkeysifdefined{\pgfkeyscurrentpath/.@cmd}% + {% + \pgfkeysgetvalue{\pgfkeyscurrentpath/.@cmd}{\pgfkeys@code}% + \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text% Hmm... no value + \pgfkeysifdefined{\pgfkeyscurrentpath/.@def}% + {\pgfkeysgetvalue{\pgfkeyscurrentpath/.@def}{\pgfkeyscurrentvalue}} + {}% no default, so leave it + \fi% + \let\pgfkeyscurrentkey=\pgfkeyscurrentpath% make sure that \pgfkeys@code doesn't know about 'try'. Important for .is choice + % FIXME: maybe there are more things like that - also adjust currentname!? + \expandafter\pgfkeys@code\pgfkeyscurrentvalue\pgfeov% + \pgfkeyssuccesstrue% + }% + {% + \pgfkeysifdefined{\pgfkeyscurrentpath}% + {% + \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text% + \pgfkeysvalueof{\pgfkeyscurrentpath}% + \else% + \pgfkeyslet{\pgfkeyscurrentpath}\pgfkeyscurrentvalue% + \fi% + \pgfkeyssuccesstrue% + }% + {\pgfkeyssuccessfalse}% + }% +} +% ====================================================== + + +% 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 +} + +\tikzoption{ybar}[]{\let\tikz@plot@handler=\pgfplothandlerybar} +\tikzoption{xbar}[]{\let\tikz@plot@handler=\pgfplothandlerxbar} +\tikzoption{ybar interval}[]{\let\tikz@plot@handler=\pgfplothandlerybarinterval} +\tikzoption{xbar interval}[]{\let\tikz@plot@handler=\pgfplothandlerxbarinterval} +\tikzoption{const plot}[]{\let\tikz@plot@handler=\pgfplothandlerconstantlineto} +\tikzoption{const plot mark left}[]{\let\tikz@plot@handler=\pgfplothandlerconstantlineto} +\tikzoption{const plot mark right}[]{\let\tikz@plot@handler=\pgfplothandlerconstantlinetomarkright} +\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% +} + + + + +% ====================================================== + + +\newif\ifpgfmathcomparison + +% Assigns \pgfmathresult to 1.0 if #1 ~= #1. +% +% It will also set the boolean \ifpgfmathcomparison accordingly +% (globally). +\def\pgfmathapproxequalto#1#2{% + \edef\pgfmath@marshal{% + \noexpand\pgfmathparse{#2} + \noexpand\let\noexpand\pgfmath@arg\noexpand\pgfmathresult% + \noexpand\pgfmathparse{#1}% + }% + \pgfmath@marshal% + \pgfmathapproxequalto@{\pgfmathresult}{\pgfmath@arg}} +\def\pgfmathapproxequalto@#1#2{% + \begingroup% + \pgfmath@x#1pt% + \pgfmath@y#2pt% + \advance\pgfmath@x-\pgfmath@y% + \ifdim\pgfmath@x<0pt + \multiply\pgfmath@x by-1 + \fi + \ifdim\pgfmath@x<0.0001pt\relax% + \def\pgfmathresult{1.0}% + \global\pgfmathcomparisontrue + \else% + \def\pgfmathresult{0.0}% + \global\pgfmathcomparisonfalse + \fi% + \pgfmath@smuggleone\pgfmathresult + \endgroup% +} diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex new file mode 100644 index 00000000000..ed490784564 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfkeysfiltered.code.tex @@ -0,0 +1,928 @@ +% Copyright 2008 by Christian Feuersaenger +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. +% +% See the file doc/generic/pgf/licenses/LICENSE for more details. +% +% This file contains additions to pgfkeys.code.tex (loaded +% automatically at the end of pgfkeys.code.tex) +% +% Improvements: +% +% - option filtering +% you provide +% - a boolean predicate +% - a "filter handler" which will be invoked for non-matching options, +% - a key=value list as usual. +% The filter sets only matching options and invokes the handler for +% unmatching ones. +% +% - Fast family support as in xkeyval. +% - A key like /my tree/my option can be associated with /my family +% - You can efficiently set keys which belong to a set of "active" +% families. +% Remaining options can be collected into a macro. + +% WARNING: +% this file overwrites +% \pgfkeys@addpath +% \pgfkeys@nevermind +% +% all other features are 'additive' + + +% these implementations will be switched dynamically with their +% filtered versions (in \pgfkeys@install@filter@and@invoke) +\let\pgfkeys@orig@case@one=\pgfkeys@case@one +\let\pgfkeys@orig@@set=\pgfkeys@@set +\let\pgfkeys@orig@@qset=\pgfkeys@@qset +\let\pgfkeys@orig@try=\pgfkeys@try +\let\pgfkeys@orig@unknown=\pgfkeys@unknown + +\newif\ifpgfkeysfilteringisactive +\newif\ifpgfkeysfiltercontinue +\let\pgfkeys@key@predicate=\pgfkeys@empty +\let\pgfkeys@filtered@handler=\pgfkeys@empty +\newtoks\pgfkeys@tmptoks + +% Performs 'filtered' key settings. +% +% For every option for which the path prefixing has already been done, +% the current key filter predicate will be invoked. If the predicate +% returns true, pgfkeys will process this key in the normal manner. +% If not, a key filter handler will be invoked. +% +% The *predicate* and *handler* semantics are as follows: +% PRECONDITION: +% 1. The variables +% \pgfkeyscurrentkey (full path including name) +% \pgfkeyscurrentkeyRAW (the current key as it has been +% found in the key=value list +% without path modification) +% \pgfkeyscurrentvalue +% are all set. If the current key is a handler variable, +% \pgfkeyscurrentname +% and +% \pgfkeyscurrentpath +% are also set. +% 2. The type of option has already been checked, that means +% case (1) whether '.@cmd' exists +% case (2) whether the key as such has its value +% case (3) it is a handler like '.code', '.cd' or whatever. +% case (0) it is unknown. +% The actual case number (0-3) will be provided as contents +% of the macro +% \pgfkeyscasenumber. +% Please note that unknown options will be processed with +% the usual '.unknown' handlers unless the key filter takes +% control over unknown options as well. +% +% POSTCONDITION: +% the predicate sets +% \pgfkeysfiltercontinuetrue +% or +% \pgfkeysfiltercontinuefalse +% (the boolean \ifpgfkeysfiltercontinue). +% Depending on this 'if', option processing will be continued or +% skipped. +% +% The handler can do anything with the option, for example collect +% unmatched ones. +% +% ATTENTION: \pgfkeysfiltered can't be nested (yet). Use the +% \pgfkeyspredicateAND if you need multiple predicates at once. +% Nesting would produce unexpected results because the current filter +% state can't be stored/restored without TeX-groups, therefor it is +% disabled. +% +% ATTENTION: you can't filter error messages. +% +% REMARK: In case (3), the macros \pgfkeyscurrentpath and +% \pgfkeyscurrentname have already been computed, you do not need to +% invoke \pgfkeyssplitpath. In any other case, neither path nor name +% are required for the options processing - if you need them for +% predicates/handlers, you need to compute them by hand. +% +% +% Example: +% \def\unmatched{} +% \pgfkeys{/pgf/key filters/is descendant of/.install key filter=/my group} +% \pgfkeys{/pgf/key filter handlers/append filtered to/.install key filter handler=\unmatched} +% \pgfkeysfiltered% +% {/my group/option 1=value 1,/tikz/option 2=value 2} +% -> +% will set '/my group/option 1' as usual, but '/tikz/option 2' will not +% be set. Instead, it will be appended to '\unmatched' such that +% \unmatched = {/tikz/option 2=value2} +% after the operation. +% +% Arguments: +% #1: key-value list. +\def\pgfkeysfiltered{% + % produce + % '{}' + % each expanded exactly one time into the register: + \expandafter\pgfkeysfiltered@@install\expandafter{\pgfkeysdefaultpath}% +} + +% #1: old value of default path. +% #2: key-value-list. +\def\pgfkeysfiltered@@install#1#2{% + \pgfkeys@install@filter@and@invoke{% + \let\pgfkeysdefaultpath\pgfkeys@root% + \pgfkeys@parse#2,\pgfkeys@mainstop% + \def\pgfkeysdefaultpath{#1}% + }% +} + +% Assuming that macro #1 contains a key=value list, this command +% performs an \pgfkeysalso command for the content of macro #1. +% +% It can be used in conjunction with +% - \pgfkeysfiltered and +% - \pgfkeysappendfilterednamestomacro: +% the first pass fill only process options matching the filter, then, +% a \pgfkeysalsofrom can be used at a later time to set the remaining +% options. +% +% Example: +% \pgfkeys{/my group/.cd,/utils/exec=\pgfkeysalsofrom\filtered} +\def\pgfkeysalsofrom#1{% + \expandafter\pgfkeysalso\expandafter{#1}% +} + +% The same as \pgfkeysalsofrom, but it invokes \pgfkeysalsofiltered. +\def\pgfkeysalsofilteredfrom#1{% + \expandafter\pgfkeysalsofiltered\expandafter{#1}% +} + +% #1 = options +\long\def\pgfkeysalsofiltered#1{% + \pgfkeys@install@filter@and@invoke{\pgfkeysalso{#1}}% +}% + +% The same like \pgfkeysfiltered, but with quick search path setting. +% +% #1: default path +% #2: key-value-pairs +\def\pgfqkeysfiltered#1{% + \expandafter\pgfqkeysfiltered@@install\expandafter{\pgfkeysdefaultpath}{#1}% +} + +% #1: old value of default path. +% #2: default path +% #3: key-value-list. +\def\pgfqkeysfiltered@@install#1#2#3{% + \pgfkeys@install@filter@and@invoke{% + \def\pgfkeysdefaultpath{#2/}\pgfkeys@parse#3,\pgfkeys@mainstop\def\pgfkeysdefaultpath{#1}% + }% +} + +% Family management +% +% The family code provides the following features: +% 1. every key can be associated with 0 or 1 'family'. +% 2. Families are a loose association which are independend of the key +% hierarchy. +% For example, /my tree/key1 can belong to family /tikz. +% +% 3. It is possible to "activate" or "deactivate" single families. +% Furthermore, it is possible to set only keys which belong to +% active families (using \pgfkeysfiltered). +% 4. Runtime complexities: +% If you have N options and you only want to process K active +% families, the runtime is O( N + K ): +% - activate every family O(K) +% - use \pgfkeyshasactivefamily as filter predicate O(N) +% - deactivate every family O(K) + + +% Activates family #1. +% +% #1 maybe a macro. +\def\pgfkeysactivatefamily#1{% + \pgfkeysiffamilydefined + {#1}% + {\csname pgfk@#1/familyactivetrue\endcsname}% + {\pgfkeysvalueof{/errors/family unknown/.@cmd}{#1}\pgfeov}% +%\message{[ACTIVATING FAMILY #1]}% +} + +% Deactivates family #1. +% +% #1 maybe a macro. +\def\pgfkeysdeactivatefamily#1{ + \pgfkeysiffamilydefined + {#1}% + {\csname pgfk@#1/familyactivefalse\endcsname}% + {\pgfkeysvalueof{/errors/family unknown/.@cmd}{#1}\pgfeov}% +%\message{[DEACTIVATING FAMILY #1]}% +} + +% Activates all families in the comma separated list #1. +% +% It will also generate code for deactivation of all those families +% into the command #2. +% +% #1: a comma-separated list of fully qualified family names. +% #2: a command which will be filled with a deactivate-all command. +\def\pgfkeysactivatefamilies#1#2{% + \pgfkeyssavekeyfilterstateto\pgfkeys@cur@state + \expandafter\pgfkeysactivatefamilies@impl\expandafter{\pgfkeys@cur@state}{#1}{#2}% +} +% #1: commands needed to restore the old filtering state +% #2: family name list +% #3: macro name for de-activate command +\def\pgfkeysactivatefamilies@impl#1#2#3{% + \pgfkeysinstallkeyfilter{/pgf/key filters/false}{}% + \let#3=\pgfkeys@empty% + \def\pgfkeys@filtered@handler{\pgfkeys@family@activate@handler{#3}}% + \pgfkeysalsofiltered{#2}% + #1% +} + +\def\pgfkeys@family@activate@handler#1{% + \pgfkeysactivatefamily{\pgfkeyscurrentkey}% + % produce + % '\pgfkeysdeactivatefamily{' '}' + \pgfkeys@tmptoks=\expandafter\expandafter\expandafter{\expandafter#1\expandafter\pgfkeysdeactivatefamily\expandafter{\pgfkeyscurrentkey}}% + \edef#1{\the\pgfkeys@tmptoks}% +} + +% If for testing whether a family exists. +% +% #1 = fully qualified family name +% #2 = if-case +% #3 = else-case +% +% Description: +% +% If the family exists, #2 will be executed. Otherwise, #3 will be +% called. +\long\def\pgfkeysiffamilydefined#1#2#3{\pgfkeys@ifcsname ifpgfk@#1/familyactive\endcsname#2\else#3\fi} + +% Sets the TeX boolean +% \ifpgfkeysfiltercontinue := ( family #1 is active ) +% +% Argument: +% #1 the family name. Maybe a macro. +\def\pgfkeysisfamilyactive#1{% + \pgfkeysiffamilydefined{#1}{% + \expandafter\let\expandafter\ifpgfkeysfiltercontinue\csname ifpgfk@#1/familyactive\endcsname + }{% + \pgfkeysvalueof{/errors/family unknown/.@cmd}{#1}\pgfeov% + \expandafter\expandafter\expandafter\let\csname ifpgfkeysfiltercontinue\endcsname\csname iffalse\endcsname + }% +}% + +% Retrieve the family of full key #1 into macro #2. +% +% Will set the TeX boolean \ifpgfkeyssuccess to whether the full key +% really has a family. +% +% The family for any key is stored in the sub-key #1/family. +% +% Parameters: +% #1: the full key name for which the family is requested. Maybe a +% macro. +% #2: a macro name which will be filled with the result. +\def\pgfkeysgetfamily#1#2{% + \pgfkeysifdefined{#1/family}{\pgfkeysgetvalue{#1/family}{#2}\pgfkeyssuccesstrue}{\pgfkeyssuccessfalse}% +} + + + +% Sets \ifpgfkeysfiltercontinue to true iff the current key belongs to +% the /errors tree. +\long\def\pgfkeys@cur@is@descendant@of@errors{% + \expandafter\pgfkeys@cur@is@descendant@of@errors@impl\pgfkeyscurrentkey/errors\pgf@@eov +}% +\long\def\pgfkeys@cur@is@descendant@of@errors@impl#1/errors#2\pgf@@eov{% + \def\pgfkeyspred@TMP{#1}% + \ifx\pgfkeyspred@TMP\pgfkeys@empty +%\message{[SPECIAL CHECK] '\pgfkeyscurrentkey' is descendant of '/errors': TRUE.}% + \pgfkeysfiltercontinuetrue + \else +%\message{[SPECIAL CHECK] '\pgfkeyscurrentkey' is descendant of '/errors': FALSE.}% + \pgfkeysfiltercontinuefalse + \fi +}% + +% \pgfkeysinterruptkeyfilter +% ... +% \endpgfkeysinterruptkeyfilter +% temporarily interrupts key filtering and enables it in +% \endpgfkeysinterruptkeyfilter. +% +% If key filtering it not active, this has no effect at all. +% +% REMARK: +% \pgfkeysinterruptkeyfilter...\endpgfkeysinterruptkeyfilter does NOT +% introduce a \TeX-group. +\def\pgfkeysinterruptkeyfilter{% + \ifpgfkeysfilteringisactive + \let\pgfkeys@case@one=\pgfkeys@orig@case@one + \let\pgfkeys@try=\pgfkeys@orig@try + \let\pgfkeys@unknown=\pgfkeys@orig@unknown + \fi +} + +\def\endpgfkeysinterruptkeyfilter{% + \ifpgfkeysfilteringisactive + \let\pgfkeys@case@one=\pgfkeys@case@one@filtered + \let\pgfkeys@try=\pgfkeys@try@filtered + \let\pgfkeys@unknown=\pgfkeys@unknown@filtered + \fi +} + +% Activates families #1, calls \pgfkeysfiltered and deactivates the +% families afterwards. +% +% REMARK: you need to install a family-based key filter predicate +% manually to benefit from the activated families! +% +% #1: comma separated family list +% #2: key-value pairs +% +% @see \pgfkeysactivatefamiliesandfilteroptions +\def\pgfkeysactivatefamiliesandfilteroptions#1#2{% + \pgfkeysactivatefamilies{#1}{\pgfkeys@family@deactivation}% + \pgfkeysfiltered{#2}% + \pgfkeys@family@deactivation +} + +% The "quick" variant of \pgfkeysactivatefamiliesandfilteroptions: it +% also assigns a default path. +% +% #1: comma separated family list +% #2: default path +% #3: key-value pairs +\def\pgfqkeysactivatefamiliesandfilteroptions#1#2#3{% + \pgfkeysactivatefamilies{#1}{\pgfkeys@family@deactivation}% + \pgfqkeysfiltered{#2}{#3}% + \pgfkeys@family@deactivation +} + +% Public version of split path: +\def\pgfkeyssplitpath{\pgfkeys@split@path}% + + +% The same as \pgfkeysactivatefamiliesandfilteroptions but just for +% ONE family. +% +% #1: family (maybe a macro) +% #2: key-value pairs +\def\pgfkeysactivatesinglefamilyandfilteroptions#1#2{% + \pgfkeysactivatefamily{#1}% + \pgfkeysfiltered{#2}% + \pgfkeysdeactivatefamily{#1}% +} + +% The "quick" variant of \pgfkeysactivatesinglefamilyandfilteroptions +% +% #1: family (maybe a macro) +% #2: default path +% #3: key-value pairs +\def\pgfqkeysactivatesinglefamilyandfilteroptions#1#2#3{% + \pgfkeysactivatefamily{#1}% + \pgfqkeysfiltered{#2}{#3}% + \pgfkeysdeactivatefamily{#1}% +} + +% Installs the key filter '#1' with argument '#2'. +% This is equivalent to +% \pgfkeys{#1/.install key filter=#2} +% +% The current values of the key filter handler is stored into the public +% macros +% \pgfkeyscurrentkeyfilter +% and +% \pgfkeyscurrentkeyfilterargs +% +% #1: a full key name; may be a macro +% #2: optional arguments for the key. If the key expects more than one +% argument, supply '{{first}{second}}' +\def\pgfkeysinstallkeyfilter#1#2{% + \pgfkeysifdefined{#1/.@cmd}{% + \edef\pgfkeyscurrentkeyfilter{#1}% + \def\pgfkeyscurrentkeyfilterargs{#2}% + \pgfkeysgetvalue{#1/.@cmd}{\pgfkeys@key@predicate@}% + \def\pgfkeys@key@predicate{\pgfkeys@key@predicate@#2\pgfeov}% + }{% + \pgfkeysvalueof{/errors/no such key filter/.@cmd}{#1}{#2}\pgfeov% + }% +} + +% Installs the key filter handler '#1' with argument '#2'. +% This is equivalent to +% \pgfkeys{#1/.install key filter handler=#2} +% +% The current values of the key filter handler is stored into the public +% macros +% \pgfkeyscurrentkeyfilterhandler +% and +% \pgfkeyscurrentkeyfilterhandlerargs +% +% #1: a full key name; may be a macro +% #2: optional arguments for the handler. If the handler expects more than one +% argument, supply '{{first}{second}}' +\def\pgfkeysinstallkeyfilterhandler#1#2{% + \pgfkeysifdefined{#1/.@cmd}{% + \edef\pgfkeyscurrentkeyfilterhandler{#1}% + \def\pgfkeyscurrentkeyfilterhandlerargs{#2}% + \pgfkeysgetvalue{#1/.@cmd}{\pgfkeys@filtered@handler@}% + \def\pgfkeys@filtered@handler{\pgfkeys@filtered@handler@#2\pgfeov}% + }{% + \pgfkeysvalueof{/errors/no such key filter handler/.@cmd}{#1}{#2}\pgfeov% + }% +} + +% Creates a macro which contains commands to re-activate the current +% key filter and key filter handler. It can be used to temporarily +% switch the key filter. +\def\pgfkeyssavekeyfilterstateto#1{% + % produce the string + % \pgfkeysinstallkeyfilter{...}{...} + % \pgfkeysinstallkeyfilterhandler{...}{...} + % where each argument is expanded once + % FIXME: Do the same with less overhead! + \pgfkeys@tmptoks={\pgfkeysinstallkeyfilter}% + \pgfkeys@tmptoks=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\pgfkeys@tmptoks\expandafter{\pgfkeyscurrentkeyfilter}}% + \pgfkeys@tmptoks=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\pgfkeys@tmptoks\expandafter{\pgfkeyscurrentkeyfilterargs}\pgfkeysinstallkeyfilterhandler}% + \pgfkeys@tmptoks=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\pgfkeys@tmptoks\expandafter{\pgfkeyscurrentkeyfilterhandler}}% + \pgfkeys@tmptoks=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\pgfkeys@tmptoks\expandafter{\pgfkeyscurrentkeyfilterhandlerargs}}% + \edef#1{% + \the\pgfkeys@tmptoks + }% +} + + +\pgfkeys{% + /errors/family unknown/.code=\pgfkeys@error{% + Sorry, I do not know family '#1' and can't work with any assoicated family handling. Perhaps you misspelled it?}, + /errors/no such key filter/.code 2 args=\pgfkeys@error{Sorry, there is no such key filter '#1'.}, + /errors/no such key filter handler/.code 2 args=\pgfkeys@error{Sorry, there is no such key filter handler '#1'.}, + % HANDLERS: + % + % .is family should + % 1. '.cd' into the families' path, + % 2. define booleans to activate/deactive the family + % (see \pgfkeysisfamilyactive) + % 3. make sure that \pgfkeyshasactivefamily returns true for + % the family itsself. + /handlers/.is family/.append code={% + %\newif is an \outer macro in plain tex, so this here is not portable: + %\expandafter\newif\csname if\pgfkeyscurrentpath/familyactive\endcsname + \edef\pgfkeyspred@TMP{pgfk@\pgfkeyscurrentpath/familyactive}% + \expandafter\pgfkeys@non@outer@newif\expandafter{\pgfkeyspred@TMP}% + \edef\pgfkeyspred@TMP{\pgfkeyscurrentpath/.belongs to family=\pgfkeyscurrentpath}% + \expandafter\pgfkeysalso\expandafter{\pgfkeyspred@TMP}% + },% + /handlers/.activate family/.code=\pgfkeysactivatefamily{\pgfkeyscurrentpath}, + /handlers/.deactivate family/.code=\pgfkeysdeactivatefamily{\pgfkeyscurrentpath}, + /handlers/.belongs to family/.code={% + \pgfkeysiffamilydefined{#1}{% + \pgfkeyssetvalue{\pgfkeyscurrentpath/family}{#1}% + }{% + \pgfkeysalso{/errors/family unknown=#1}% + }% + },% + % + % + % An addition to the '.try' and '.retry' handlers: + % + % It is the same as '.retry', but if the option is still unknown, the + % usual handlers for unknown keys will be invoked. + /handlers/.lastretry/.code={% + \ifpgfkeyssuccess\else + \pgfkeys@try + \ifpgfkeyssuccess\else + % discard the '.lastretry' suffix: + \edef\pgfkeyscurrentkey{\pgfkeyscurrentpath}% + \pgfkeys@split@path% + \pgfkeys@unknown + \fi + \fi + }, + % + % + /handlers/.install key filter/.code={% + \pgfkeysinstallkeyfilter{\pgfkeyscurrentpath}{#1}% + },% + /handlers/.install key filter handler/.code={% + \pgfkeysinstallkeyfilterhandler{\pgfkeyscurrentpath}{#1}% + },% + % + % + % KEY FILTER HANDLERS: + % + /pgf/key filter handlers/append filtered to/.code={% + % Produce + % '={' '}' + % where both, the key and the value are expanded just ONCE: + \pgfkeys@tmptoks=\expandafter\expandafter\expandafter{\expandafter\pgfkeyscurrentkeyRAW\expandafter=\expandafter{\pgfkeyscurrentvalue}}% + \ifx#1\pgfkeys@empty + \else + % Produce ',' '={' '}' + \pgfkeys@tmptoks=\expandafter\expandafter\expandafter{\expandafter#1\expandafter,\the\pgfkeys@tmptoks}% + \fi + \edef#1{\the\pgfkeys@tmptoks}% + },% + /pgf/key filter handlers/ignore/.code={}, + /pgf/key filter handlers/ignore/.install key filter handler, + /pgf/key filter handlers/log/.code={% + \immediate\write16{LOG: the option '\pgfkeyscurrentkey' (was originally '\pgfkeyscurrentkeyRAW') (case \pgfkeyscasenumber) has not been processed due to pgfkeysfiltered.}% + }, + % + % + % KEY FILTER PREDICATES: + % + % Returns true iff the currently processed key belongs to an active family. + % A family is active if it has been activated before. + /pgf/key filters/active families/.code={% + \ifnum\pgfkeyscasenumber=0 + % unknown options shall be processed with the + % unknown-handlers. + \pgfkeysfiltercontinuetrue + \else + \ifnum\pgfkeyscasenumber=3 + \pgfkeysgetfamily\pgfkeyscurrentpath\pgfkeyspred@TMP + \else + \pgfkeysgetfamily\pgfkeyscurrentkey\pgfkeyspred@TMP + \fi + \ifpgfkeyssuccess + \pgfkeysisfamilyactive{\pgfkeyspred@TMP}% + \else% Ok, it does not belong to any family. + \pgfkeysfiltercontinuefalse + \fi + \fi + },% + % + % + % + % This filter works as follows: + % 1. if the current key belongs to a family: + % return whether its family is active, + % 2. if the current key does NOT belong to a family: + % return the result of criterion '#1', + % 3. the current key is unknown: + % return the result of criterion '#2'. + % + % Arguments: + % #1: the predicate which will be invoked in case 2. + % It will be invoked with the current case number as argument. + % #2: the predicate which will be invoked in case 3 with + % the current case number as argument. + /pgf/key filters/active families or no family/.code 2 args={% + \ifnum\pgfkeyscasenumber=0 + \pgfkeysevalkeyfilterwith{#2}% + \else + \ifnum\pgfkeyscasenumber=3 + \pgfkeysgetfamily\pgfkeyscurrentpath\pgfkeyspred@TMP + \else + \pgfkeysgetfamily\pgfkeyscurrentkey\pgfkeyspred@TMP + \fi + \ifpgfkeyssuccess + \pgfkeysisfamilyactive{\pgfkeyspred@TMP}% + \else% Ok, it does not belong to any family. + \pgfkeysevalkeyfilterwith{#1}% + \fi + \fi + }, + /pgf/key filters/active families or no family DEBUG/.code 2 args={% + \ifnum\pgfkeyscasenumber=0 + \immediate\write16{[pgfkeyshasactivefamilyornofamily(\pgfkeyscurrentkey, \pgfkeyscasenumber) invoking unknown handler '#2']}% + \pgfkeysevalkeyfilterwith{#2}% + \else + \ifnum\pgfkeyscasenumber=3 + \pgfkeysgetfamily\pgfkeyscurrentpath\pgfkeyspred@TMP + \else + \pgfkeysgetfamily\pgfkeyscurrentkey\pgfkeyspred@TMP + \fi + \ifpgfkeyssuccess + \pgfkeysisfamilyactive{\pgfkeyspred@TMP}% + \ifpgfkeysfiltercontinue + \immediate\write16{[pgfkeyshasactivefamilyornofamily(\pgfkeyscurrentkey, \pgfkeyscasenumber) family is ACTIVE]}% + \else + \immediate\write16{[pgfkeyshasactivefamilyornofamily(\pgfkeyscurrentkey, \pgfkeyscasenumber) family is NOT active.]}% + \fi + \else% Ok, it does not belong to any family. + \immediate\write16{[pgfkeyshasactivefamilyornofamily(\pgfkeyscurrentkey, \pgfkeyscasenumber) invoking has-no-family-handler '#1']}% + \pgfkeysevalkeyfilterwith{#1}% + \fi + \fi + }, + % + % Processes only options which are childs of #1. + % Example: + % is descendant of/.install key filter=/foo + % will be true for + % /foo/bar/x=y + % /foo/.cd + % /foo/bar/.style=... + % but not for + % /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 + \else + % string prefix comparison: + \long\def\pgfkeysisdescendantof@impl##1#1##2\pgf@@eov{% + \def\pgfkeyspred@TMP{##1}% + \ifx\pgfkeyspred@TMP\pgfkeys@empty +%\message{'\pgfkeyscurrentkey' (case \pgfkeyscasenumber) is descendant of '#1': TRUE.}% + \pgfkeysfiltercontinuetrue + \else +%\message{'\pgfkeyscurrentkey' (case \pgfkeyscasenumber) is descendant of '#1': FALSE.}% + \pgfkeysfiltercontinuefalse + \fi + }% + \expandafter\pgfkeysisdescendantof@impl\pgfkeyscurrentkey#1\pgf@@eov + \fi + },% + % + % + % + % Returns true if the currently processed full key equals #2. + /pgf/key filters/equals/.code={% + \ifnum\pgfkeyscasenumber=0 + % Unknown option: + \pgfkeysfiltercontinuetrue + \else + \def\pgfkeyspred@TMP{#1}% + \ifx\pgfkeyscurrentkey\pgfkeyspred@TMP + \pgfkeysfiltercontinuetrue + \else + \pgfkeysfiltercontinuefalse + \fi + \fi + },% + % + % + % Argument #1 can be any other (evaluated) filter predicate, its logical return + % value will be inverted. + % Example: + % not/.install key filter={is descendend of=/tikz} + % will install a key filter which evaluates 'is descendant of' with argument '/tikz' and returns the logical negation of the result. + /pgf/key filters/not/.code={% + \pgfkeysevalkeyfilterwith{#1}% + \ifpgfkeysfiltercontinue + \pgfkeysfiltercontinuefalse + \else + \pgfkeysfiltercontinuetrue + \fi + },% + /pgf/key filters/and/.code 2 args={% + \pgfkeysevalkeyfilterwith{#1}% + \ifpgfkeysfiltercontinue + \pgfkeysevalkeyfilterwith{#2}% + \fi + },% + /pgf/key filters/or/.code 2 args={% + \pgfkeysevalkeyfilterwith{#1}% + \ifpgfkeysfiltercontinue + \else + \pgfkeysevalkeyfilterwith{#2}% + \fi + },% + /pgf/key filters/true/.code={\pgfkeysfiltercontinuetrue},% + /pgf/key filters/true/.install key filter, + /pgf/key filters/false/.code={\pgfkeysfiltercontinuefalse},% + % + % Returns false if the current key is unknown, which avoids calling + % the unknown handlers. + /pgf/key filters/defined/.code={% + \ifnum\pgfkeyscasenumber=0 + \pgfkeysfiltercontinuefalse + \else + \pgfkeysfiltercontinuetrue + \fi + }, +}% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Private IMPLEMENTATION +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% This command does THE SAME work as \pgfkeys@case@one, +% but it applies filtering whenever it identified the type of an +% option. +\def\pgfkeys@case@one@filtered{% + \pgfkeys@cur@is@descendant@of@errors + \ifpgfkeysfiltercontinue + \pgfkeys@orig@case@one + \else + \pgfkeysfiltercontinuetrue + \pgfkeysifdefined{\pgfkeyscurrentkey/.@cmd}{% + % CASE ONE: a command option + \def\pgfkeyscasenumber{1}% + \pgfkeys@key@predicate% + \ifpgfkeysfiltercontinue +%\message{PROCESSING KEY \pgfkeyscurrentkey!}% + \pgfkeysgetvalue{\pgfkeyscurrentkey/.@cmd}{\pgfkeys@code}% + \expandafter\pgfkeys@code\pgfkeyscurrentvalue\pgfeov + \else +%\message{FILTEReD OUT KEY \pgfkeyscurrentkey!}% + \pgfkeys@filtered@handler% + \fi + }{% + % CASE TWO: a normal value option + \pgfkeysifdefined{\pgfkeyscurrentkey}{% + \def\pgfkeyscasenumber{2}% + \pgfkeys@key@predicate% + \ifpgfkeysfiltercontinue +%\message{PROCESSING KEY \pgfkeyscurrentkey!}% + \pgfkeys@case@two@extern + \else +%\message{FILTEReD OUT KEY \pgfkeyscurrentkey!}% + \pgfkeys@filtered@handler% + \fi + }{% + \pgfkeys@split@path + % CASE THREE: a handler + \pgfkeysifdefined{/handlers/\pgfkeyscurrentname/.@cmd}{% + \def\pgfkeyscasenumber{3}% + \pgfkeys@key@predicate% + \ifpgfkeysfiltercontinue +%\message{PROCESSING KEY \pgfkeyscurrentkey!}% + \pgfkeysgetvalue{/handlers/\pgfkeyscurrentname/.@cmd}{\pgfkeys@code}% + \expandafter\pgfkeys@code\pgfkeyscurrentvalue\pgfeov + \else +%\message{FILTERED OUT KEY \pgfkeyscurrentkey!}% + \pgfkeys@filtered@handler% + \fi + }{% + \pgfkeys@unknown + }% + }% + }% + \fi +}% + +\def\pgfkeys@unknown@filtered{% + % CASE ZERO: an unknown option. + \def\pgfkeyscasenumber{0}% + \pgfkeys@key@predicate% + \ifpgfkeysfiltercontinue +%\message{PROCESSING KEY \pgfkeyscurrentkey!}% + % start normal 'unknown' handlers: + \pgfkeys@orig@unknown + \else +%\message{FILTEReD OUT KEY \pgfkeyscurrentkey!}% + \pgfkeys@filtered@handler% + \fi +} + +% Does the same as \pgfkeys@try, but it also invokes the key filters. +\def\pgfkeys@try@filtered{% + \ifpgfkeysfiltercontinue + \pgfkeys@orig@try + \else + \pgfkeysfiltercontinuetrue + \pgfkeysifdefined{\pgfkeyscurrentpath/.@cmd}% + {% + % CASE ONE: a command option + \def\pgfkeyscasenumber{1}% + \pgfkeys@key@predicate% + \ifpgfkeysfiltercontinue + \pgfkeysgetvalue{\pgfkeyscurrentkey/.@cmd}{\pgfkeys@code}% + \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text% Hmm... no value + \pgfkeysifdefined{\pgfkeyscurrentpath/.@def}% + {\pgfkeysgetvalue{\pgfkeyscurrentpath/.@def}{\pgfkeyscurrentvalue}} + {}% no default, so leave it + \fi% + \expandafter\pgfkeys@code\pgfkeyscurrentvalue\pgfeov% + \else + \pgfkeys@filtered@handler% + \fi + \pgfkeyssuccesstrue% + }% + {% + \pgfkeysifdefined{\pgfkeyscurrentpath}% + {% CASE TWO: a normal value option + \def\pgfkeyscasenumber{2}% + \pgfkeys@key@predicate% + \ifpgfkeysfiltercontinue + \ifx\pgfkeyscurrentvalue\pgfkeysnovalue@text% + \pgfkeysvalueof{\pgfkeyscurrentpath}% + \else% + \pgfkeyslet{\pgfkeyscurrentpath}\pgfkeyscurrentvalue% + \fi% + \else + \pgfkeys@filtered@handler% + \fi + \pgfkeyssuccesstrue% + }% + {\pgfkeyssuccessfalse}% + }% + \fi +} + + +% #1 the code to invoke after init and before cleanup +\def\pgfkeys@install@filter@and@invoke#1{% + \ifpgfkeysfilteringisactive + \pgfkeys@error{Sorry, nested calls to key filtering routines are not allowed. (reason: It is not possible to properly restore the previous filtering state after returning from the nested call)}% + \fi + \pgfkeysfilteringisactivetrue + \let\pgfkeys@case@one=\pgfkeys@case@one@filtered + \let\pgfkeys@try=\pgfkeys@try@filtered + \let\pgfkeys@unknown=\pgfkeys@unknown@filtered + #1% + \let\pgfkeys@case@one=\pgfkeys@orig@case@one + \let\pgfkeys@try=\pgfkeys@orig@try + \let\pgfkeys@unknown=\pgfkeys@orig@unknown + \pgfkeysfilteringisactivefalse +} + + +%-------------------------------------------------- +% \def\pgfkeys@eval@key@filter@subroutine@case@one{% +% \pgfkeysifdefined{\pgfkeyscurrentkey/.@cmd}{% +% \pgfkeysgetvalue{\pgfkeyscurrentkey/.@cmd}{\pgfkeys@code}% +% \let\pgfkeyspred@TMP=\pgfkeyscurrentvalue +% \pgfkeys@eval@key@filter@subroutine@restorestate +% \expandafter\pgfkeys@code\pgfkeyspred@TMP\pgfeov +% }{% +% \pgfkeysvalueof{/errors/no such key filter/.@cmd}\pgfkeyscurrentkey\pgfkeyscurrentvalue\pgfeov% +% }% +% } +% % THIS VERSION IS TOO SLOW. See below. +% \def\pgfkeysevalkeyfilterwith#1{% +% \edef\pgfkeys@eval@key@filter@subroutine@restorestate{% +% \noexpand\def\noexpand\pgfkeyscurrentkey{\pgfkeyscurrentkey}% +% \noexpand\def\noexpand\pgfkeyscurrentkeyRAW{\pgfkeyscurrentkeyRAW}% +% \noexpand\def\noexpand\pgfkeyscurrentname{\pgfkeyscurrentname}% +% \noexpand\def\noexpand\pgfkeyscurrentvalue{\pgfkeyscurrentvalue}% +% \noexpand\pgfkeys@pathtoks={\pgfkeyscurrentpath}% +% }% +% \pgfkeysinterruptkeyfilter +% \let\pgfkeys@case@one=\pgfkeys@eval@key@filter@subroutine@case@one +% \pgfkeysalso{#1}% +% \endpgfkeysinterruptkeyfilter% this here also restored \pgfkeys@case@one. +% \pgfkeys@eval@key@filter@subroutine@restorestate +% }% +%-------------------------------------------------- + + +% Evaluates a key filter '#1'. Example: +% \pgfkeysevalkeyfilterwith{/pgf/key filters/equals=/tikz} +% +% \pgfkeysevalkeyfilterwith works only if key filtering is +% active. +% +% The argument '#1' MUST be a FULL KEY. +% +% The implementation employs a subset of the \pgfkeysalso code. +\def\pgfkeysevalkeyfilterwith#1{% + \pgfkeys@eval@key@filter@subroutine@unpack#1=\pgfkeysnovalue=\pgfkeys@stop +}% +\def\pgfkeys@eval@key@filter@subroutine@unpack#1=#2=#3\pgfkeys@stop{% + \pgfkeys@spdef\pgfkeyspred@TMP{#1}% + \edef\pgfkeyspred@TMP{\pgfkeyspred@TMP}% + \pgfkeys@spdef\pgfkeyspred@TMPB{#2}% TMPB=value + \ifx\pgfkeyspred@TMPB\pgfkeysnovalue@text% Hmm... no value + \pgfkeysifdefined{\pgfkeyspred@TMP/.@def}% + {\pgfkeysgetvalue{\pgfkeyspred@TMP/.@def}{\pgfkeyspred@TMPB}} + {}% no default, so leave it + \fi% + \ifx\pgfkeyspred@TMPB\pgfkeysvaluerequired% + \pgfkeysvalueof{/errors/value required/.@cmd}\pgfkeyspred@TMP\pgfkeyspred@TMPB\pgfeov% + \else% + \pgfkeysifdefined{\pgfkeyspred@TMP/.@cmd}{% + \pgfkeysgetvalue{\pgfkeyspred@TMP/.@cmd}{\pgfkeys@code}% + \expandafter\pgfkeys@code\pgfkeyspred@TMPB\pgfeov + }{% + \pgfkeysvalueof{/errors/no such key filter/.@cmd}\pgfkeyspred@TMP\pgfkeyspred@TMPB\pgfeov% + }% + \fi% +} + + +\def\pgfkeys@nevermind#1\relax{\let\pgfkeyscurrentkeyRAW=\pgfkeyscurrentkey} +\def\pgfkeys@addpath#1\relax{\def\pgfkeyscurrentkeyRAW{#1}% old @addpath: + \edef\pgfkeyscurrentkey{\pgfkeysdefaultpath#1}% +} + +\def\pgfkeys@non@outer@newif@#1#2{% + \expandafter\edef\csname #2true\endcsname{\noexpand\let\noexpand#1=\noexpand\iftrue}% + \expandafter\edef\csname #2false\endcsname{\noexpand\let\noexpand#1=\noexpand\iffalse}% + \csname #2false\endcsname +}% + +% For latex and context, this here has the same effect as a \newif +% applied to 'if#1'. For plain tex, it has also the same effect, but +% it is not an \outer macro as the plain-tex \newif. +\def\pgfkeys@non@outer@newif#1{% + \expandafter\pgfkeys@non@outer@newif@\csname if#1\endcsname{#1}% +} +\endinput diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex new file mode 100644 index 00000000000..0d120a8b722 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex @@ -0,0 +1,922 @@ +% Copyright 2006 by Till Tantau +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. +% +% See the file doc/generic/pgf/licenses/LICENSE for more details. + +\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgfplots/pgfplots/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgflibraryplothandlers.code.tex,v 1.3 2008/06/07 17:08:33 ludewich Exp $ + +\newif\ifpgf@plot@started + + +% This handler converts each plot stream command into a curveto +% command, except for the first, which is converted to the previously +% specified action. +% +% Example: +% +% \pgfpathmoveto{\pgfpointorigin} +% \pgfsetlinetofirstplotpoint +% \pgfplothandlercurveto +% \pgfplotxyfile{mytable} + +\def\pgfplothandlercurveto{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@curveto@handler@initial% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\pgf@plot@curveto@handler@finish% + \global\pgf@plot@startedfalse% + }% +} + +\def\pgf@plot@curveto@handler@initial#1{% + \pgf@process{#1}% + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \pgf@plot@first@action{\pgfqpoint{\pgf@xa}{\pgf@ya}}% + \xdef\pgf@plot@curveto@first{\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}}% + \global\let\pgf@plot@curveto@first@support=\pgf@plot@curveto@first% + \global\let\pgf@plotstreampoint=\pgf@plot@curveto@handler@second% +} + +\def\pgf@plot@curveto@handler@second#1{% + \pgf@process{#1}% + \xdef\pgf@plot@curveto@second{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + \global\let\pgf@plotstreampoint=\pgf@plot@curveto@handler@third% + \global\pgf@plot@startedtrue% +} + +\def\pgf@plot@curveto@handler@third#1{% + \pgf@process{#1}% + \xdef\pgf@plot@curveto@current{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + % compute difference vector: + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \pgf@process{\pgf@plot@curveto@first} + \advance\pgf@xa by-\pgf@x% + \advance\pgf@ya by-\pgf@y% + % compute support directions: + \pgf@xa=\pgf@plottension\pgf@xa% + \pgf@ya=\pgf@plottension\pgf@ya% + % first marshal: + \pgf@process{\pgf@plot@curveto@second}% + \pgf@xb=\pgf@x% + \pgf@yb=\pgf@y% + \pgf@xc=\pgf@x% + \pgf@yc=\pgf@y% + \advance\pgf@xb by-\pgf@xa% + \advance\pgf@yb by-\pgf@ya% + \advance\pgf@xc by\pgf@xa% + \advance\pgf@yc by\pgf@ya% + \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@curveto@first@support}% + {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@curveto@second}}% + {\pgf@marshal}% + % Prepare next: + \global\let\pgf@plot@curveto@first=\pgf@plot@curveto@second% + \global\let\pgf@plot@curveto@second=\pgf@plot@curveto@current% + \xdef\pgf@plot@curveto@first@support{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% +} + +\def\pgf@plot@curveto@handler@finish{% + \ifpgf@plot@started% + \pgfpathcurveto{\pgf@plot@curveto@first@support}{\pgf@plot@curveto@second}{\pgf@plot@curveto@second}% + \fi% +} + + +% This commands sets the tension for smoothing of plots. +% +% #1 = tension of curves. A value of 1 will yield a circle when the +% control points are at quarters of a circle. A smaller value +% will result in a tighter curve. Default is 0.5. +% +% Example: +% +% \pgfsetplottension{0.2} + +\def\pgfsetplottension#1{% + \pgf@x=#1pt\relax% + \pgf@x=0.2775\pgf@x\relax% + \edef\pgf@plottension{\pgf@sys@tonumber\pgf@x}} +\pgfsetplottension{0.5} + + +% This handler converts the plot stream command into a curveto +% command that is closed using a closepath. +% +% Example: +% +% \pgfpathmoveto{\pgfpointorigin} +% \pgfplothandlerclosedcurve +% \pgfplotxyfile{mytable} + +\def\pgfplothandlerclosedcurve{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@initial% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\pgf@plot@closedcurve@handler@finish% + }% +} + +\def\pgf@plot@closedcurve@handler@initial#1{% + \pgf@process{#1}% + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \xdef\pgf@plot@closedcurve@initial{\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@ya}}% + \global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@second% + \global\pgf@plot@startedfalse% +} + +\def\pgf@plot@closedcurve@handler@second#1{% + \pgf@process{#1}% + \xdef\pgf@plot@closedcurve@after@initial{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + {\pgfpathmoveto{}}% + \global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@third% +} + +\def\pgf@plot@closedcurve@handler@third#1{% + \global\pgf@plot@startedtrue% + \pgf@process{#1}% + \xdef\pgf@plot@closedcurve@current{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + % compute difference vector: + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \pgf@process{\pgf@plot@closedcurve@initial} + \advance\pgf@xa by-\pgf@x% + \advance\pgf@ya by-\pgf@y% + % compute support directions: + \pgf@xa=\pgf@plottension\pgf@xa% + \pgf@ya=\pgf@plottension\pgf@ya% + % first marshal: + \pgf@process{\pgf@plot@closedcurve@after@initial}% + \pgf@xb=\pgf@x% + \pgf@yb=\pgf@y% + \pgf@xc=\pgf@x% + \pgf@yc=\pgf@y% + \advance\pgf@xb by-\pgf@xa% + \advance\pgf@yb by-\pgf@ya% + \advance\pgf@xc by\pgf@xa% + \advance\pgf@yc by\pgf@ya% + \global\let\pgf@plot@closedcurve@first=\pgf@plot@closedcurve@after@initial% + \global\let\pgf@plot@closedcurve@second=\pgf@plot@closedcurve@current% + \xdef\pgf@plot@closedcurve@after@initial@presupport{\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}% + \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + \global\let\pgf@plotstreampoint=\pgf@plot@closedcurve@handler@fourth% +} + +\def\pgf@plot@closedcurve@handler@fourth#1{% + \pgf@process{#1}% + \xdef\pgf@plot@closedcurve@current{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + % compute difference vector: + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \pgf@process{\pgf@plot@closedcurve@first} + \advance\pgf@xa by-\pgf@x% + \advance\pgf@ya by-\pgf@y% + % compute support directions: + \pgf@xa=\pgf@plottension\pgf@xa% + \pgf@ya=\pgf@plottension\pgf@ya% + % first marshal: + \pgf@process{\pgf@plot@closedcurve@second}% + \pgf@xb=\pgf@x% + \pgf@yb=\pgf@y% + \pgf@xc=\pgf@x% + \pgf@yc=\pgf@y% + \advance\pgf@xb by-\pgf@xa% + \advance\pgf@yb by-\pgf@ya% + \advance\pgf@xc by\pgf@xa% + \advance\pgf@yc by\pgf@ya% + \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@closedcurve@first@support}% + {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@second}}% + {\pgf@marshal}% + % Prepare next: + \global\let\pgf@plot@closedcurve@first=\pgf@plot@closedcurve@second% + \global\let\pgf@plot@closedcurve@second=\pgf@plot@closedcurve@current% + \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% +} + +\def\pgf@plot@closedcurve@handler@finish{% + \ifpgf@plot@started + % + % first, draw line from 2nd last to last: + % + \pgf@process{\pgf@plot@closedcurve@initial}% + % compute difference vector: + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \pgf@process{\pgf@plot@closedcurve@first}% + \advance\pgf@xa by-\pgf@x% + \advance\pgf@ya by-\pgf@y% + % compute support directions: + \pgf@xa=\pgf@plottension\pgf@xa% + \pgf@ya=\pgf@plottension\pgf@ya% + % first marshal: + \pgf@process{\pgf@plot@closedcurve@second}% + \pgf@xb=\pgf@x% + \pgf@yb=\pgf@y% + \pgf@xc=\pgf@x% + \pgf@yc=\pgf@y% + \advance\pgf@xb by-\pgf@xa% + \advance\pgf@yb by-\pgf@ya% + \advance\pgf@xc by\pgf@xa% + \advance\pgf@yc by\pgf@ya% + \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@closedcurve@first@support}% + {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@second}}% + {\pgf@marshal}% + \xdef\pgf@plot@closedcurve@first@support{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + % + % second, draw line from last point to start: + % + \pgf@process{\pgf@plot@closedcurve@after@initial}% + % compute difference vector: + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \pgf@process{\pgf@plot@closedcurve@second}% + \advance\pgf@xa by-\pgf@x% + \advance\pgf@ya by-\pgf@y% + % compute support directions: + \pgf@xa=\pgf@plottension\pgf@xa% + \pgf@ya=\pgf@plottension\pgf@ya% + % first marshal: + \pgf@process{\pgf@plot@closedcurve@initial}% + \pgf@xb=\pgf@x% + \pgf@yb=\pgf@y% + \pgf@xc=\pgf@x% + \pgf@yc=\pgf@y% + \advance\pgf@xb by-\pgf@xa% + \advance\pgf@yb by-\pgf@ya% + \advance\pgf@xc by\pgf@xa% + \advance\pgf@yc by\pgf@ya% + \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgf@plot@closedcurve@first@support}% + {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}{\noexpand\pgf@plot@closedcurve@initial}}% + {\pgf@marshal}% + % + % third, draw line from first to second point: + % + \edef\pgf@marshal{\noexpand\pgfpathcurveto{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + {\noexpand\pgf@plot@closedcurve@after@initial@presupport}{\noexpand\pgf@plot@closedcurve@after@initial}}% + {\pgf@marshal}% + \pgfpathclose% + \fi% +} + + + + + +% This handler converts each point in a stream into a line from the +% $y$-axis to the given points coordinate, resulting in a +% ``comb.'' +% +% Example: +% +% \pgfplothandlerxcomb +% \pgfplotxyfile{mytable} + +\def\pgfplothandlerxcomb{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@xcomb@handler% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\pgfplotxzerolevelstreamend% + \pgfplotxzerolevelstreamstart + }% +} + +\def\pgf@plot@xcomb@handler#1{% + \pgf@process{#1}% + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \begingroup + \pgfplotxzerolevelstreamnext + \endgroup + \pgf@yb=\pgf@x + \pgfpathmoveto{\pgfqpoint{\pgf@yb}{\pgf@ya}}% + \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@ya}}% +} + + +% This handler converts each point in a stream into a line from the +% $x$-axis straight up to the given points coordinate, resulting in a +% ``comb.'' +% +% Example: +% +% \pgfplothandlerycomb +% \pgfplotxyfile{mytable} + +\def\pgfplothandlerycomb{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@ycomb@handler% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\pgfplotyzerolevelstreamend% + \pgfplotyzerolevelstreamstart + }% +} + +\def\pgf@plot@ycomb@handler#1{% + \pgf@process{#1}% + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \begingroup + \pgfplotyzerolevelstreamnext + \endgroup + \pgf@yb=\pgf@x + \pgfpathmoveto{\pgfqpoint{\pgf@xa}{\pgf@yb}}% + \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@ya}}% +} + +% PGF Bar or comb plots usually draw something from zero to the current plot's coordinate. +% +% The 'zero' offset can be changed using an input stream. +% +% There are two such streams which can be configured independently. +% The first one returns "zeros" for coordinate x, the second one +% returns "zeros" for coordinate y. +% +% \pgfplotxzerolevelstreamstart +% \pgfplotxzerolevelstreamnext % assigns \pgf@x globally +% \pgfplotxzerolevelstreamnext +% \pgfplotxzerolevelstreamnext +% \pgfplotxzerolevelstreamend +% +% and +% \pgfplotyzerolevelstreamstart +% \pgfplotyzerolevelstreamnext % assigns \pgf@x globally +% \pgfplotyzerolevelstreamend +% +\def\pgfplotxzerolevelstreamstart{\pgf@plotxzerolevelstreamstart}% +\def\pgfplotxzerolevelstreamend{\pgf@plotxzerolevelstreamend}% +\def\pgfplotxzerolevelstreamnext{\pgf@plotxzerolevelstreamnext} +\def\pgfplotyzerolevelstreamstart{\pgf@plotyzerolevelstreamstart}% +\def\pgfplotyzerolevelstreamend{\pgf@plotyzerolevelstreamend}% +\def\pgfplotyzerolevelstreamnext{\pgf@plotyzerolevelstreamnext} + +% This zero level stream always returns '#1' (a dimension). +\def\pgfplotxzerolevelstreamconstant#1{% + \edef\pgfplotxzerolevelstreamconstant@val{#1}% + \def\pgf@plotxzerolevelstreamstart{% + \global\let\pgf@plotxzerolevelstreamend=\relax + \gdef\pgf@plotxzerolevelstreamnext{\global\pgf@x=\pgfplotxzerolevelstreamconstant@val\relax}% + }% +}% +\pgfplotxzerolevelstreamconstant{0pt}% + +% This zero level stream always returns '#1'. +\def\pgfplotyzerolevelstreamconstant#1{% + \edef\pgfplotyzerolevelstreamconstant@val{#1}% + \def\pgf@plotyzerolevelstreamstart{% + \global\let\pgf@plotyzerolevelstreamend=\relax + \gdef\pgf@plotyzerolevelstreamnext{\global\pgf@x=\pgfplotyzerolevelstreamconstant@val\relax}% + }% +}% +\pgfplotyzerolevelstreamconstant{0pt}% + +\def\pgfplotbarwidth{\pgfkeysvalueof{/pgf/bar width}} + +\pgfqkeys{/pgf}{% + bar width/.initial=10pt, + bar shift/.initial=0pt, + bar interval width/.initial=1, + bar interval shift/.initial=0.5, +} + +% This handler places a rectangle at each point in the plot stream, a +% rectangle which touches the x-axis at one end and the current point +% at the other end: +% --(X)-- +% | | +% | | +% | | +% --(0)-- +% Example: +% +% \pgfplothandlerybar +% \pgfplotxyfile{mytable} +\def\pgfplothandlerybar{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@ybar@handler% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\pgfplotyzerolevelstreamend% + \pgfmathparse{\pgfplotbarwidth}% + \xdef\pgfplotbarwidth@{\pgfmathresult pt}% + \pgfmathparse{\pgfkeysvalueof{/pgf/bar shift}}% + \xdef\pgfplotbarshift@{\pgfmathresult pt}% + \pgfplotyzerolevelstreamstart + }% +} + +\def\pgf@plot@ybar@handler#1{% + \pgf@process{#1}% + \pgf@ya=\pgf@y + \expandafter\pgf@xb\pgfplotbarwidth@\relax + \pgf@xc=\pgf@x + \advance\pgf@xc by-.5\pgf@xb + \advance\pgf@xc by\pgfplotbarshift@\relax + \begingroup + \pgfplotyzerolevelstreamnext + \endgroup + \pgf@yb=\pgf@x + \advance\pgf@ya by-\pgf@yb + \pgfpathrectangle + {\pgfqpoint{\pgf@xc}{\pgf@yb}}% + {\pgfqpoint{\pgf@xb}{\pgf@ya}}% +} + +% This handler places a rectangle at each point in the plot stream, a +% rectangle which touches the y-axis at one end and the current point +% at the other end: +% --------- +% | | +% (0) (X) +% | | +% --------- +% Example: +% +% \pgfplothandlerxbar +% \pgfplotxyfile{mytable} +\def\pgfplothandlerxbar{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@xbar@handler% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\pgfplotxzerolevelstreamend% + \pgfmathparse{\pgfplotbarwidth}% + \xdef\pgfplotbarwidth@{\pgfmathresult pt}% + \pgfmathparse{\pgfkeysvalueof{/pgf/bar shift}}% + \xdef\pgfplotbarshift@{\pgfmathresult pt}% + \pgfplotxzerolevelstreamstart + }% +} + +\def\pgf@plot@xbar@handler#1{% + \pgf@process{#1}% + \pgf@ya=\pgf@x + \expandafter\pgf@xb\pgfplotbarwidth@\relax + \pgf@xc=\pgf@y + \advance\pgf@xc by-.5\pgf@xb + \advance\pgf@xc by\pgfplotbarshift@\relax + \begingroup + \pgfplotxzerolevelstreamnext + \endgroup + \pgf@yb=\pgf@x + \advance\pgf@ya by-\pgf@yb + \pgfpathrectangle + {\pgfqpoint{\pgf@yb}{\pgf@xc}}% + {\pgfqpoint{\pgf@ya}{\pgf@xb}}% +} + +% This handler is a variant of \pgfplothandlerybar which works with +% intervals instead of points. +% +% Bars are drawn between successive input coordinates and the width is +% determined relatively to the interval length. +% +% It looks like this: +% +% |---| |-----| +% | | | | +% | | | | +% | | | | +% (X)------(X)-----------(X) +% +% where (X) denotes the x-axis offsets of input coordinates. +% +% In more detail, if (x_i,y_i) and (x_{i+1},y_{i+1}) denote successive +% input coordinates, the bar will be placed above the +% interval [x_i,x_{i+1}], centered at +% +% x_i + \pgfkeysvalueof{/pgf/bar interval shift} * (x_{i+1} - x_i) +% +% with width +% +% \pgfkeysvalueof{/pgf/bar interval width} * (x_{i+1} - x_i). +% +% If you have N+1 input points, you will get N bars (one for each +% interval). The y_i value of the last bar will be ignored. +% +% Example: +% +% \pgfplothandlerybarinterval +% \pgfplotxyfile{mytable} +\def\pgfplothandlerybarinterval{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@ybarinterval@handler@first% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\pgfplotyzerolevelstreamend% + \pgfmathparse{\pgfkeysvalueof{/pgf/bar interval width}}% + \xdef\pgfplotbarintervalwidth@{\pgfmathresult}% + \pgfmathparse{\pgfkeysvalueof{/pgf/bar interval shift}}% + \xdef\pgfplotbarintervalshift@{\pgfmathresult}% + \pgfplotyzerolevelstreamstart + }% +} + +\def\pgf@plot@ybarinterval@handler@first#1{% + \pgf@process{#1}% + \xdef\pgf@plot@barinterval@intervalstart{\the\pgf@x}% + \xdef\pgf@plot@barinterval@bar{\the\pgf@y}% + \global\let\pgf@plotstreampoint=\pgf@plot@ybarinterval@handler% +} +\def\pgf@plot@ybarinterval@handler#1{% + \pgf@process{#1}% + \pgf@ya=\pgf@plot@barinterval@bar + \xdef\pgf@plot@barinterval@bar{\the\pgf@y}% + \pgf@xc=\pgf@plot@barinterval@intervalstart\relax + \xdef\pgf@plot@barinterval@intervalstart{\the\pgf@x}% + \pgf@xb=\pgf@x + \advance\pgf@xb by-\pgf@xc + \advance\pgf@xc by\pgfplotbarintervalshift@\pgf@xb + \pgf@xb=\pgfplotbarintervalwidth@\pgf@xb + \advance\pgf@xc by-.5\pgf@xb% center + \begingroup + \pgfplotyzerolevelstreamnext + \endgroup + \pgf@yb=\pgf@x + \advance\pgf@ya by-\pgf@yb + \pgfpathrectangle + {\pgfqpoint{\pgf@xc}{\pgf@yb}}% + {\pgfqpoint{\pgf@xb}{\pgf@ya}}% +} + +% Like \pgfplothandlerybarinterval but for xbar. +\def\pgfplothandlerxbarinterval{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@xbarinterval@handler@first% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\pgfplotxzerolevelstreamend% + \pgfmathparse{\pgfkeysvalueof{/pgf/bar interval width}}% + \xdef\pgfplotbarintervalwidth@{\pgfmathresult}% + \pgfmathparse{\pgfkeysvalueof{/pgf/bar interval shift}}% + \xdef\pgfplotbarintervalshift@{\pgfmathresult}% + \pgfplotxzerolevelstreamstart + }% +} + +\def\pgf@plot@xbarinterval@handler@first#1{% + \pgf@process{#1}% + \xdef\pgf@plot@barinterval@intervalstart{\the\pgf@y}% + \xdef\pgf@plot@barinterval@bar{\the\pgf@x}% + \global\let\pgf@plotstreampoint=\pgf@plot@xbarinterval@handler% +} +\def\pgf@plot@xbarinterval@handler#1{% + \pgf@process{#1}% + \pgf@ya=\pgf@plot@barinterval@bar + \xdef\pgf@plot@barinterval@bar{\the\pgf@x}% + \pgf@xc=\pgf@plot@barinterval@intervalstart\relax + \xdef\pgf@plot@barinterval@intervalstart{\the\pgf@y}% + \pgf@xb=\pgf@y + \advance\pgf@xb by-\pgf@xc + \advance\pgf@xc by\pgfplotbarintervalshift@\pgf@xb + \pgf@xb=\pgfplotbarintervalwidth@\pgf@xb + \advance\pgf@xc by-.5\pgf@xb% center + \begingroup + \pgfplotxzerolevelstreamnext + \endgroup + \pgf@yb=\pgf@x + \advance\pgf@ya by-\pgf@yb + \pgfpathrectangle + {\pgfqpoint{\pgf@yb}{\pgf@xc}}% + {\pgfqpoint{\pgf@ya}{\pgf@xb}}% +} + + +% This handler is very similar to \pgfplothandlerlineto, but it +% produces CONSTANT connected pieces of the form +% +% x +% | +% x--- | +% | x---- +% x-| +% +% Example: +% +% \pgfplothandlerconstantlineto +% \pgfplotxyfile{mytable} +\def\pgfplothandlerconstantlineto{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@const@line@handler% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\relax% + }% +} +\def\pgf@plot@const@line@handler#1{% + \pgf@plot@first@action{#1}% + \xdef\pgf@plot@const@line@handler@last{\the\pgf@y}% + \global\let\pgf@plotstreampoint=\pgf@plot@const@line@handler@@% +} +\def\pgf@plot@const@line@handler@@#1{% + \pgf@process{#1}% + \pgf@xa=\pgf@x + \pgf@ya=\pgf@y + \expandafter\pgf@yb\pgf@plot@const@line@handler@last + \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@yb}}% + \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@ya}}% + \xdef\pgf@plot@const@line@handler@last{\the\pgf@ya}% +} + +% A variant of \pgfplothandlerconstantlineto which places its mark on +% the right line ends. +% +% |---x +% ---x | +% |--x +% x +% +% Example: +% +% \pgfplothandlerconstantlinetomarkright +% \pgfplotxyfile{mytable} +\def\pgfplothandlerconstantlinetomarkright{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@const@line@mark@right@handler% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\relax% + }% +} +\def\pgf@plot@const@line@mark@right@handler#1{% + \pgf@plot@first@action{#1}% + \xdef\pgf@plot@const@line@handler@last{\the\pgf@x}% + \global\let\pgf@plotstreampoint=\pgf@plot@const@line@mark@right@handler@@% +} +\def\pgf@plot@const@line@mark@right@handler@@#1{% + \pgf@process{#1}% + \pgf@xa=\pgf@x + \pgf@ya=\pgf@y + \expandafter\pgf@yb\pgf@plot@const@line@handler@last + \pgfpathlineto{\pgfqpoint{\pgf@yb}{\pgf@ya}}% + \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@ya}}% + \xdef\pgf@plot@const@line@handler@last{\the\pgf@xa}% +} + +% This handler is in fact a variant of \pgfplothandlerconstantlineto, +% but it does not draw vertical lines. It produces a sequence of +% line-to and move-to operations such that plot marks are placed at +% each right end: +% +% ---x +% ---x +% ---x +% --x +% +% Example: +% +% \pgfplothandlerjumpmarkright +% \pgfplotxyfile{mytable} +\def\pgfplothandlerjumpmarkright{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@jumpmarkright@handler% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\relax% + }% +} +\def\pgf@plot@jumpmarkright@handler#1{% + \pgf@plot@first@action{#1}% + \xdef\pgf@plot@const@line@handler@last{\the\pgf@x}% + \global\let\pgf@plotstreampoint=\pgf@plot@jumpmarkright@handler@@% +} +\def\pgf@plot@jumpmarkright@handler@@#1{% + \pgf@process{#1}% + \pgf@xa=\pgf@x + \pgf@ya=\pgf@y + \expandafter\pgf@yb\pgf@plot@const@line@handler@last + \pgfpathmoveto{\pgfqpoint{\pgf@yb}{\pgf@ya}}% + \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@ya}}% + \xdef\pgf@plot@const@line@handler@last{\the\pgf@xa}% +} + +% This handler is in fact a variant of \pgfplothandlerconstantlineto, +% but it does not draw vertical lines. It produces a sequence of +% line-to and move-to operations such that plot marks are placed at +% each left end: +% +% x--- +% x--- +% x--- +% x-- +% +% Example: +% +% \pgfplothandlerjumpmarkleft +% \pgfplotxyfile{mytable} +\def\pgfplothandlerjumpmarkleft{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@jumpmarkleft@handler% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\relax% + }% +} +\def\pgf@plot@jumpmarkleft@handler#1{% + \pgf@plot@first@action{#1}% + \xdef\pgf@plot@const@line@handler@last{\the\pgf@y}% + \global\let\pgf@plotstreampoint=\pgf@plot@jumpmarkleft@handler@@% +} +\def\pgf@plot@jumpmarkleft@handler@@#1{% + \pgf@process{#1}% + \pgf@xa=\pgf@x + \pgf@ya=\pgf@y + \expandafter\pgf@yb\pgf@plot@const@line@handler@last + \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@yb}}% + \pgfpathmoveto{\pgfqpoint{\pgf@xa}{\pgf@ya}}% + \xdef\pgf@plot@const@line@handler@last{\the\pgf@ya}% +} + + + +% This handler converts each point in a stream into a line from the +% origin to the point's coordinate, resulting in a ``star''. +% +% Example: +% +% \pgfplothandlerpolarcomb +% \pgfplotxyfile{mytable} + +\def\pgfplothandlerpolarcomb{% + \def\pgf@plotstreamstart{% + \global\let\pgf@plotstreampoint=\pgf@plot@polarcomb@handler% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\relax% + }% +} + +\def\pgf@plot@polarcomb@handler#1{% + \pgf@process{#1}% + \pgf@xa=\pgf@x% + \pgf@ya=\pgf@y% + \pgfpathmoveto{\pgfpointorigin}% + \pgfpathlineto{\pgfqpoint{\pgf@xa}{\pgf@ya}}% +} + + + + +% This handler draws a given mark at each point. +% +% #1 = some code to be executed at each point (with the coordinate +% system translated to that point). +% Typically, this code will be \pgfuseplotmark{whatever}. +% +% Example: +% +% \pgfplothandlermark{\pgfuseplotmark{*}} +% \pgfplotxyfile{mytable} + +\def\pgfplothandlermark#1{% + \pgf@plothandlermark{% + \ifnum\pgf@plot@mark@count<\pgf@plot@mark@repeat\relax% + \else% + \global\pgf@plot@mark@count=0\relax% + #1% + \fi% + }% +} + +\newcount\pgf@plot@mark@count +\def\pgf@plot@mark@phase{0} + +\def\pgf@plothandlermark#1{% + \def\pgf@plot@mark{#1}% + \def\pgf@plotstreamstart{% + \global\pgf@plot@mark@count=\pgf@plot@mark@repeat\relax% + \global\advance\pgf@plot@mark@count by-\pgf@plot@mark@phase\relax% + \global\let\pgf@plotstreampoint=\pgf@plot@mark@handler% + \global\let\pgf@plotstreamspecial=\pgfutil@gobble% + \global\let\pgf@plotstreamend=\relax% + }% +} + +\def\pgf@plot@mark@handler#1{% + \global\advance\pgf@plot@mark@count by1\relax% + {\pgftransformshift{#1}\pgf@plot@mark}% +} + + +% Set the repeat count for marks. For example, if 3 is given as a +% value, only every third point will get a mark. +% +% #1 = repeat count +% +% Example: +% +% \pgfsetplotmarkrepeat{2} + +\def\pgfsetplotmarkrepeat#1{\def\pgf@plot@mark@repeat{#1}} +\pgfsetplotmarkrepeat{1} + + +% Set the phase for marks. For example, if 3 is the repeat and 3 is +% the phase, already the first point will be marked. +% +% #1 = the index of the first point that should be marked. +% +% Example: +% +% \pgfsetplotmarkphase{3} + +\def\pgfsetplotmarkphase#1{\def\pgf@plot@mark@phase{#1}} +\pgfsetplotmarkphase{1} + + + +% This handler draws a given mark at those points whose number is +% given in the (pgffor-like) list. +% +% #1 = some code to be executed at each point (with the coordinate +% system translated to that point). +% Typically, this code will be \pgfuseplotmark{whatever}. +% #2 = list of positions like "1,2,4,...,9,10" +% +% Example: +% +% \pgfplothandlermarklisted{\pgfuseplotmark{*}}{1,2,4,...,9} +% \pgfplotxyfile{mytable} + +\def\pgfplothandlermarklisted#1#2{% + \let\pgf@plot@mark@list=\pgfutil@empty% + \edef\pgf@marshal{\noexpand\foreach\noexpand\pgf@temp in{#2}} + \pgf@marshal{\xdef\pgf@plot@mark@list{\pgf@plot@mark@list(\pgf@temp)}}% + \pgf@plothandlermark{% + \edef\pgf@marshal{\noexpand\pgfutil@in@{(\the\pgf@plot@mark@count)}{\pgf@plot@mark@list}}% + \pgf@marshal% + \ifpgfutil@in@#1\fi}% +} + + +% Define a new plot mark for use with \pgfplotmark. +% +% #1 = a plot mark mnemonic +% #2 = code for drawing the mark +% +% Example: +% +% \pgfdeclareplotmark{*}{\pgfpathcircle{\pgfpointorigin}{2pt}\pgfusepathqfill} + +\def\pgfdeclareplotmark#1#2{\expandafter\def\csname pgf@plot@mark@#1\endcsname{#2}} + + +% Set the size of plot marks. For circles, this will be the radius, +% for other shapes it should be about half the width/height. +% +% Example: +% +% \pgfsetplotmarksize{1pt} + +\def\pgfsetplotmarksize#1{\pgfmathsetlength\pgfplotmarksize{#1}} + +\newdimen\pgfplotmarksize +\pgfplotmarksize=2pt + + +% Insert a plot mark's code at the origin. +% +% #1 = plot mark mnemonic +% +% Example: +% +% \pgfuseplotmark{*} + +\def\pgfuseplotmark#1{\csname pgf@plot@mark@#1\endcsname} + + +% A stroke-filled circle mark + +\pgfdeclareplotmark{*} +{% + \pgfpathcircle{\pgfpointorigin}{\pgfplotmarksize} + \pgfusepathqfillstroke +} + + +% A plus-sign like mark + +\pgfdeclareplotmark{+} +{% + \pgfpathmoveto{\pgfqpoint{-\pgfplotmarksize}{0pt}} + \pgfpathlineto{\pgfqpoint{\pgfplotmarksize}{0pt}} + \pgfpathmoveto{\pgfqpoint{0pt}{\pgfplotmarksize}} + \pgfpathlineto{\pgfqpoint{0pt}{-\pgfplotmarksize}} + \pgfusepathqstroke +} + + +% An x-shaped mark + +\pgfdeclareplotmark{x} +{% + \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}} + \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}} + \pgfpathmoveto{\pgfqpoint{-.70710678\pgfplotmarksize}{.70710678\pgfplotmarksize}} + \pgfpathlineto{\pgfqpoint{.70710678\pgfplotmarksize}{-.70710678\pgfplotmarksize}} + \pgfusepathqstroke +} + +% See pgflibraryplotmarks for more plot marks + + + + + + +\endinput diff --git a/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex new file mode 100644 index 00000000000..e199d44f811 --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfmathfloat.code.tex @@ -0,0 +1,2322 @@ +% Copyright 2008 by Christian Feuersaenger +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. +% +% See the file doc/generic/pgf/licenses/LICENSE for more details. +% +% This file contains methods for basic floating point arithmetics, rounding +% to arbitrary precision and number pretty printing. +% +% Version 0.9.4 2008/03/18 + +\global\newif\ifpgfmathfloatcomparison +\newif\ifpgfmathfloatroundhasperiod +\newif\ifpgfmathprintnumberskipzeroperiod + + +% used internally in grouped macros: +\toksdef\pgfmathfloat@tmptoks=1 +\newif\ifpgfmathfloat@fixed@digits@after@period +\newif\ifpgfmathfloatroundmayneedrenormalize +\toksdef\pgfmathfloat@a@Mtok=0 + +%% WARNING: avoid conflicting register names! +\let\pgfmathfloat@a@S=\c@pgf@counta +\let\pgfmathfloat@a@M=\pgf@xa +\let\pgfmathfloat@a@E=\c@pgf@countb +\let\pgfmathfloat@b@S=\c@pgf@countc +\let\pgfmathfloat@b@M=\pgf@xb +\let\pgfmathfloat@b@E=\c@pgf@countd + +% 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 +% [FLAGS] MANTISSE EXPONENT +% meaning +% [+-]X.XXXXXXX*10^C +% where +% X.XXXXXX is a mantisse with first number != 0, C is an integer and +% FLAGS contains the sign and some other special cases. +% +% This method does NOT use TeX Registers to represent the numbers! The +% computation is COMPLETELY STRING BASED. +% This allows numbers such at 10000000 or 5.23e-10 to be represented +% properly, although TeX-registers would produce overflow/underflow +% errors in these cases. +% +% It is to be used to compute logs, because log(X*10^Y) = log(X) + log(10)*Y +% +% Arguments: +% #1: an arbitrary number which shall be parsed. Maybe a macro. +% Examples: +% [+-]XXXXX.XXXXXX +% [+-]XXXXX.XXXXXXeXXXX +% [+-]0.0000XXXXXX +% [+-]0.0000XXXXXXeXXXX +% [+-]inf +% nan +% Maybe a macro containing such a number. +% +% Return value: +% \pgfmathresult will be \def'ed to +% FLAGS MANTISSE 'e' EXPONENT +% where +% FLAGS is a number in [0-5] where +% 0 == '0' (the number is +- 0.0), +% 1 == '+', +% 2 == '-', +% 3 == 'not a number' +% 4 == '+ infinity' +% 5 == '- infinity' +% +% MANTISSE is a normalised number 1 <= M < 10. It always contains a +% period and at least one digit after the period. +% +% EXPONENT is an integer value. +% +% Example: +% \pgfmathfloatparsenumber{1} +% -> \pgfmathresult = 11.0e0 +% \pgfmathfloatparsenumber{141.212} +% -> \pgfmathresult = 11.41212e2 +\def\pgfmathfloatparsenumber#1{% + \begingroup + \edef\pgfmathresult{#1}% + \expandafter\pgfmathfloatparsenumber@impl\pgfmathresult\pgfmathfloat@EOI + \ifpgfmathfloatparsenumberpendingperiod + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok.0}% + \fi + \edef\pgfmathresult{% + \the\pgfmathfloat@a@S\the\pgfmathfloat@a@Mtok e\the\pgfmathfloat@a@E}% + \pgfmath@smuggleone\pgfmathresult + \endgroup +} + +% The same as \pgfmathfloatparsenumber, but does not perform sanity checking. +\def\pgfmathfloatqparsenumber#1{% + \begingroup + \let\pgfmathfloatparsenumber@sanitize@digit=\relax + \edef\pgfmathresult{#1}% + \expandafter\pgfmathfloatparsenumber@impl\pgfmathresult\pgfmathfloat@EOI + \ifpgfmathfloatparsenumberpendingperiod + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok.0}% + \fi + \edef\pgfmathresult{% + \the\pgfmathfloat@a@S\the\pgfmathfloat@a@Mtok e\the\pgfmathfloat@a@E}% + \pgfmath@smuggleone\pgfmathresult + \endgroup +} + + +% decomposes a lowlevel floating point representation into flags, +% mantisse and exponent. +% +% #4: integer register for the flags. +% #5: dimen registers for the mantisse. +% #6: integer register for the exponent. +\def\pgfmathfloat@decompose#1#2e#3\relax#4#5#6{% + #4=#1\relax + #5=#2pt% + #6=#3\relax% +} +% overloaded, #5 needs to be a token register for the mantisse. +\def\pgfmathfloat@decompose@tok#1#2e#3\relax#4#5#6{% + #4=#1\relax + #5={#2}% + #6=#3\relax% +} +% overloaded, returns only ONE of the three components into #4: +\def\pgfmathfloat@decompose@F#1#2e#3\relax#4{#4=#1\relax}% +\def\pgfmathfloat@decompose@M#1#2e#3\relax#4{#4=#2pt}% +\def\pgfmathfloat@decompose@Mtok#1#2e#3\relax#4{#4={#2}}% +\def\pgfmathfloat@decompose@E#1#2e#3\relax#4{#4=#3\relax}% + +% Takes a floating point number #1 as input and writes flags to macro +% #2, mantisse to macro #3 and exponent to macro #4. +\def\pgfmathfloattomacro#1#2#3#4{% + \begingroup + \expandafter\pgfmathfloat@decompose@tok#1\relax\pgfmathfloat@a@S\pgfmathfloat@a@Mtok\pgfmathfloat@a@E + \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@glob@TMP +} + +% Takes a floating point number #1 as input and writes flags to count +% register #2, mantisse to dimen register #3 and exponent to count +% register #4. +\def\pgfmathfloattoregisters#1#2#3#4{% + \expandafter\pgfmathfloat@decompose#1\relax{#2}{#3}{#4}% +} + +% the same, but writes the mantisse into a token register. +\def\pgfmathfloattoregisterstok#1#2#3#4{% + \expandafter\pgfmathfloat@decompose@tok#1\relax{#2}{#3}{#4}% +} + +% Extracts the flags of #1 into the count register #2. +\def\pgfmathfloatgetflags#1#2{% + \expandafter\pgfmathfloat@decompose@F#1\relax{#2}% +} +% Extracts the mantisse of #1 into the dimen register #2. +\def\pgfmathfloatgetmantisse#1#2{% + \expandafter\pgfmathfloat@decompose@M#1\relax{#2}% +} +% Extracts the mantisse of #1 into the token register #2. +\def\pgfmathfloatgetmantissetok#1#2{% + \expandafter\pgfmathfloat@decompose@Mtok#1\relax{#2}% +} +% Extracts the exponent of #1 into the count register #2. +\def\pgfmathfloatgetexponent#1#2{% + \expandafter\pgfmathfloat@decompose@E#1\relax{#2}% +} + +% Defines \pgfmathresult as the floating point number encoded by +% the flags #1, mantisse #2 and exponent #3. +% +% All arguments are characters and will be expanded using '\edef'. +\def\pgfmathfloatcreate#1#2#3{% + \edef\pgfmathresult{#1#2e#3}% +}% + + +% Compares #1 with #2 and sets \pgfmathresult either to 1.0 or 0.0. +% +% It also sets the boolean \ifpgfmathfloatcomparison (globally. +\def\pgfmathfloatlessthan@#1#2{% +%\def\pgfmathfloatlessthan#1#2#3\and#4#5#6{% + \global\pgfmathfloatcomparisonfalse + \begingroup + \expandafter\pgfmathfloat@decompose#1\relax\pgfmathfloat@a@S\pgfmathfloat@a@M\pgfmathfloat@a@E + \expandafter\pgfmathfloat@decompose#2\relax\pgfmathfloat@b@S\pgfmathfloat@b@M\pgfmathfloat@b@E + \ifcase\pgfmathfloat@a@S + % x = 0 -> (x y >0) + \ifnum1=\pgfmathfloat@b@S + \global\pgfmathfloatcomparisontrue + \fi + \or + % x > 0 -> (x ( y > 0 && |x| < |y|) ) + \ifnum1=\pgfmathfloat@b@S + % y>0: + \pgfmathfloatlessthan@positive + \fi + \or + % x < 0 -> (x (y >= 0 || |x| > |y|) ) + \ifnum2=\pgfmathfloat@b@S + % 'y<0': + \pgfmathfloatgreaterthan@positive + \else + \global\pgfmathfloatcomparisontrue + \fi + \else + \pgfmath@error{Sorry, 'pgfmathfloatlessthan@{#1}{#2}' not yet supported.}% + \fi + \endgroup + \ifpgfmathfloatcomparison + \def\pgfmathresult{1.0}% + \else + \def\pgfmathresult{0.0}% + \fi +} +\let\pgfmathfloatlessthan=\pgfmathfloatlessthan@ + +% compares \pgfmathfloat@a@[SME] < \pgfmathfloat@b@[SME] +\def\pgfmathfloatlessthan@positive{% + \ifnum\pgfmathfloat@a@E<\pgfmathfloat@b@E + \global\pgfmathfloatcomparisontrue + \else + \ifnum\pgfmathfloat@a@E=\pgfmathfloat@b@E + \ifdim\pgfmathfloat@a@M<\pgfmathfloat@b@M + \global\pgfmathfloatcomparisontrue + \fi + \fi + \fi +} + +% compares \pgfmathfloat@a@[SME] > \pgfmathfloat@b@[SME] +\def\pgfmathfloatgreaterthan@positive{% + \ifnum\pgfmathfloat@a@E>\pgfmathfloat@b@E + \global\pgfmathfloatcomparisontrue + \else + \ifnum\pgfmathfloat@a@E=\pgfmathfloat@b@E + \ifdim\pgfmathfloat@a@M>\pgfmathfloat@b@M + \global\pgfmathfloatcomparisontrue + \fi + \fi + \fi +} + + +\def\pgfmathfloatmax@#1#2{% + \pgfmathfloatlessthan{#1}{#2}% + \ifpgfmathfloatcomparison + \edef\pgfmathresult{#2}% + \else + \edef\pgfmathresult{#1}% + \fi +} +\let\pgfmathfloatmax=\pgfmathfloatmax@ + +\def\pgfmathfloatmin@#1#2{% + \pgfmathfloatlessthan{#1}{#2}% + \ifpgfmathfloatcomparison + \edef\pgfmathresult{#1}% + \else + \edef\pgfmathresult{#2}% + \fi +} +\let\pgfmathfloatmin=\pgfmathfloatmin@ + +% Renormalizes #1 to extended precision mantisse, meaning +% 100 <= m < 1000 +% instead of 1 <= m < 10. +% +% The 'extended precision' means we have higher accuracy when we apply pgfmath operations to mantisses. +% +% The input argument is expected to be a normalized floating point number; the output argument is a non-normalized floating point number (well, normalized to extended precision). +% +% The operation is supposed to be very fast. +\def\pgfmathfloattoextentedprecision#1{% + \begingroup + \pgfmathfloattoextentedprecision@a{#1}% + \pgfmathfloatcreate{\pgfmathfloat@a@S}{\pgfmathresult}{\pgfmathfloat@a@E}% + \pgfmath@smuggleone\pgfmathresult + \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-\pgfmathfloatextprec@shift\relax% compensate for shift + \expandafter\pgfmathfloattoextentedprecision@@\the\pgfmathfloat@a@Mtok 00\pgfmathfloat@EOI + \else + \edef\pgfmathresult{#1}% + \fi +}% + + +% 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-\pgfmathfloatextprec@shift\relax + \expandafter\pgfmathfloattoextentedprecision@@\the\pgfmathfloat@a@Mtok 00\pgfmathfloat@EOI + \else + \edef\pgfmathresult{#1}% + \fi +}% + +% Addition of two floating point numbers using 8 significant digits. +\def\pgfmathfloatadd@#1#2{% + \begingroup + % + % renormalize argument to 100 <= m < 1000 for extended accuracy: + \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 + \edef\pgfmathresult{#2}% + \pgfmathfloatcomparisonfalse + \or + \or + \edef\pgfmathfloat@arga{-\pgfmathfloat@arga}% + \else + \pgfmathfloatcomparisonfalse + \pgfmathfloatcreate{\the\pgfmathfloat@a@S}{0.0}{0}% + \fi + \ifcase\pgfmathfloat@b@S + \edef\pgfmathresult{#1}% + \pgfmathfloatcomparisonfalse + \or + \or + \edef\pgfmathfloat@argb{-\pgfmathfloat@argb}% + \else + \pgfmathfloatcomparisonfalse + \pgfmathfloatcreate{\the\pgfmathfloat@b@S}{0.0}{0}% + \fi + \ifpgfmathfloatcomparison + % Shift lesser mantisse to fit the larger one: + \ifnum\pgfmathfloat@a@E<\pgfmathfloat@b@E + \pgfmathfloatadd@shift{\pgfmathfloat@arga}{\pgfmathfloat@a@E}{\pgfmathfloat@b@E}% + \else + \pgfmathfloatadd@shift{\pgfmathfloat@argb}{\pgfmathfloat@b@E}{\pgfmathfloat@a@E}% + \fi + % add them! + \pgfmathadd@{\pgfmathfloat@arga}{\pgfmathfloat@argb}% + % 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}% + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup +}% + + +% #1=mantisse which needs to be shifted (with smaller exponent) +% #2=smaller exponent +% #3=larger exponent +% +% ATTENTION: this helper method DESTROYS contents of \pgfmathfloat@a@S. +\def\pgfmathfloatadd@shift#1#2#3{% + \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 + \or + \divide\pgf@xa by100\relax + \or + \divide\pgf@xa by1000\relax + \or + \divide\pgf@xa by10000\relax + \or + \divide\pgf@xa by10000\relax + \divide\pgf@xa by10\relax + \or + \divide\pgf@xa by10000\relax + \divide\pgf@xa by100\relax + \or + \divide\pgf@xa by10000\relax + \divide\pgf@xa by1000\relax + \or + \divide\pgf@xa by10000\relax + \divide\pgf@xa by10000\relax + \else + \pgf@xa=0pt% + \fi + #2=#3\relax + \edef#1{\pgf@sys@tonumber\pgf@xa}% +} + +\let\pgfmathfloatadd=\pgfmathfloatadd@ + + +% Subtracts two floating point numbers. +\def\pgfmathfloatsubtract@#1#2{% + \begingroup + \expandafter\pgfmathfloat@decompose@tok#2\relax\pgfmathfloat@b@S\pgfmathfloat@a@Mtok\pgfmathfloat@b@E + \ifcase\pgfmathfloat@b@S + \edef\pgfmathresult{#1}% + \or + \pgfmathfloatcreate{2}{\the\pgfmathfloat@a@Mtok}{\the\pgfmathfloat@b@E}% + \let\pgfmathfloatsub@arg=\pgfmathresult + \pgfmathfloatadd@{#1}{\pgfmathfloatsub@arg}% + \or + \pgfmathfloatcreate{1}{\the\pgfmathfloat@a@Mtok}{\the\pgfmathfloat@b@E}% + \let\pgfmathfloatsub@arg=\pgfmathresult + \pgfmathfloatadd@{#1}{\pgfmathfloatsub@arg}% + \else + \pgfmathfloatcreate{\the\pgfmathfloat@b@S}{0.0}{0}% + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup +}% + +\let\pgfmathfloatsubtract=\pgfmathfloatsubtract@ + +% Scales a floating point number #1 with a fixed point number #2 using pgfmathmultiply. +% +% Use this method if #2 is small number. +\def\pgfmathfloatmultiplyfixed@#1#2{% + \begingroup + % + % renormalize argument to 100 <= m < 1000 for extended accuracy: + \pgfmathfloattoextentedprecision@a{#1}% + \let\pgfmathfloat@arga=\pgfmathresult + % + \pgfmathfloatcomparisontrue% re-use this boolean here to handle special cases. + \ifcase\pgfmathfloat@a@S + \edef\pgfmathresult{#1}% + \pgfmathfloatcomparisonfalse + \or + \or + \edef\pgfmathfloat@arga{-\pgfmathfloat@arga}% + \else + \pgfmathfloatcomparisonfalse + \pgfmathfloatcreate{\the\pgfmathfloat@a@S}{0.0}{0}% + \fi + \ifpgfmathfloatcomparison + \pgfmathmultiply@{\pgfmathfloat@arga}{#2}% + % renormalize product. This is the only part were an expensive routine comes into play: + \edef\pgfmathresult{\pgfmathresult e\the\pgfmathfloat@a@E}% + \expandafter\pgfmathfloatqparsenumber\expandafter{\pgfmathresult}% + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup +}% + +\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: +% \pgfmathfloattofixed{142e1} +% -> \pgfmathresult = 42.0 +\def\pgfmathfloattofixed@#1{% + \begingroup + \expandafter\pgfmathfloat@decompose@tok#1\relax\pgfmathfloat@a@S\pgfmathfloat@a@Mtok\pgfmathfloat@a@E + \ifcase\pgfmathfloat@a@S + \def\pgfmathresult{0.0}% + \or + \expandafter\pgfmathfloattofixed@impl\the\pgfmathfloat@a@Mtok\relax + \or + \expandafter\pgfmathfloattofixed@impl\the\pgfmathfloat@a@Mtok\relax + \edef\pgfmathresult{-\pgfmathresult}% + \or\def\pgfmathresult{nan}% + \or\def\pgfmathresult{inf}% + \or\def\pgfmathresult{-inf}% + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup +} +\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. +% +% Input: +% #1 a normalised floating point number. +% #2 a positive or negative integer number denoting the shift. +% +% Example: +% \pgfmathfloatshift{11e3}{4}% +% -> pgfmathresult = 11e7 +\def\pgfmathfloatshift@#1#2{% + \begingroup + \expandafter\pgfmathfloat@decompose@tok#1\relax\pgfmathfloat@a@S\pgfmathfloat@a@Mtok\pgfmathfloat@a@E + \expandafter\advance\expandafter\pgfmathfloat@a@E#2\relax + \edef\pgfmathresult{\the\pgfmathfloat@a@S\the\pgfmathfloat@a@Mtok e\the\pgfmathfloat@a@E}% + \pgfmath@smuggleone\pgfmathresult + \endgroup +} +\let\pgfmathfloatshift=\pgfmathfloatshift@ + +% Computes a good guess for log(X.XXXX) where the input number should +% be between 0 < x < 10. +% +% If it is not in this range, the returned value will be bad. +% +% For use in the newton implementation of log(x). Please note that we +% first compute a normalized floating point representation of x, and +% the mantisse is always between 0 and 10. +\def\pgfmathlog@smaller@ten@newton@startval#1.#2\to#3{% + \ifcase#1 + \pgfmath@error{pgfmathlog@newton: INTERNAL ERROR: should not happen! + [\#1=0 should have been caught before!]}% + \or#3=0.530628pt + \or#3=0.993pt + \or#3=1.308pt + \or#3=1.5pt + \or#3=1.71pt + \or#3=1.872pt + \or#3=2.01pt + \or#3=2.145pt + \or#3=2.24pt + \fi +} + +% FIXME : eliminate \pgfmathlog@invoke@expanded ? + +% Expands #2 using \edef and invokes #1 with the resulting string. +% +% Example: +% \pgfmath@y=7.9pt +% \pgfmathlog@invoke@expanded\pgfmathexp@{{\pgf@sys@tonumber{\pgfmath@y}}}% +% will invoke +% \pgfmathexp@{7.9} +\def\pgfmathlog@invoke@expanded#1#2{% + \edef\pgfmath@resulttemp{#2}% + \expandafter#1\pgfmath@resulttemp +} + +% This implementation of log(X) is done with a newton method applied to x-exp(y) = 0. +% The implementation \pgfmathexp is used for exp(y). +% +% see \pgfmathlog@ +\def\pgfmathlog@newton#1{% + \pgfmathfloatparsenumber{#1}% + \pgfmathlog@newton@float{\pgfmathresult}% +} + +% the same as \pgfmathlog@newton, but this one takes a floating point number as input. +\def\pgfmathlog@newton@float#1{% + \begingroup% + % compute #1 = M*10^E with normalised mantisse M = [+-]*[1-9].XXXXX + \expandafter\pgfmathfloat@decompose#1\relax\pgfmathfloat@a@S\pgfmathfloat@a@M\pgfmathfloat@a@E + \let\pgfmathlog@loopcount=\pgfmathfloat@b@S% this counter is not used here... use it as loop counter. + % + \ifnum\pgfmathfloat@a@S=1 + % 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 + \pgfutil@loop + \ifnum\pgfmathlog@loopcount<3 + \pgfmathlog@invoke@expanded\pgfmathexp@{{\pgf@sys@tonumber{\pgfmathfloat@b@M}}}% + \let\pgfmathlog@tmp=\pgfmathresult + \pgfmathlog@invoke@expanded\pgfmathdivide@{{\pgf@sys@tonumber{\pgfmathfloat@a@M}}{\pgfmathlog@tmp}}% + \expandafter\pgfmath@ya\pgfmathresult pt + \advance\pgfmathfloat@b@M by\pgfmath@ya + \advance\pgfmathfloat@b@M by-1pt + \advance\pgfmathlog@loopcount by1 + \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 + \edef\pgfmathresult{\pgf@sys@tonumber{\pgfmathfloat@b@M}}% + \else + \let\pgfmathresult=\pgfutil@empty% + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup% +} + +% Computes log(x) into \pgfmathresult. +% +% REMARK +% This method does NOT use TeX Registers to represent the numbers! The +% computation is COMPLETELY STRING BASED. +% This allows numbers such at 10000000 or 5.23e-10 to be represented +% properly, although TeX-registers would produce overflow/underflow +% errors in these cases. +% +% The natural logarithm is computed using log(X*10^Y) = log(X) + log(10)*Y +\let\pgfmathlog@=\pgfmathlog@newton + +\let\pgfmathlog@float=\pgfmathlog@newton@float + +% Public interface method. This is expected to use \pgfmathparse but +% it DOESN'T do that. \pgfmathparse naturally can't handle numbers +% which exceed TeX's numerical capabilities. However, exponentials are +% typically either too large or too small for TeX. +% +% @see \pgfmathnormalisedfloatingpoint for how we parse arguments. +% @see \pgfmathlog@ +\let\pgfmathlog=\pgfmathlog@newton + +% Rounds a fixed point number #1 to \pgfmathfloat@round@precision digits precision and returns +% the result into \pgfmathresult. +% +% Any trailing zeros after the period are discarded. +% See \pgfmathroundtozerofill if you want trailing zeros and fixed +% width. +% +% This method is PURELY text based and can work with arbirtrary +% precision (well, limited to TeX's stack size and integer size). +% +% Examples: +% \pgfmathroundto{1} +% -> \pgfmathresult = '1' +% +% \pgfmathroundto{19999.9996} +% -> \pgfmathresult = '20000' +% +% Arguments: +% #1 may be either a number or a macro expanding to a number. +% +% SIDE EFFECT: the global variable \ifpgfmathfloatroundhasperiod will be set. +\def\pgfmathroundto#1{% + \pgfmathfloatroundhasperiodtrue + \begingroup + \pgfmathfloat@fixed@digits@after@periodfalse + \pgfmathroundto@impl{#1}% + \pgfmath@smuggleone\pgfmathresult + \endgroup +} + + +% Overloaded method. +% +% This variant always uses a FIXED number behind the period and fills +% in zeros if necessary. +% Examples: +% \pgfmathroundtozerofill{1} +% -> \pgfmathresult = '1.00' +% +% \pgfmathroundtozerofill{19999.9996} +% -> \pgfmathresult = '20000.00' +% +% SIDE EFFECT: the global variable \ifpgfmathfloatroundhasperiod will be set. +\def\pgfmathroundtozerofill#1{% + \pgfmathfloatroundhasperiodtrue + \begingroup + \pgfmathfloat@fixed@digits@after@periodtrue + \pgfmathroundto@impl{#1}% + \pgfmath@smuggleone\pgfmathresult + \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{}% + \ifpgfmathfloatroundhasperiod + \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@loc@TMPb{#1}% + \ifx\pgfmathfloatparsenumber@tok@ZERO\pgfmathfloat@loc@TMPb + \else + \def\pgfmathfloat@loc@TMPc{-0}% + \ifx\pgfmathfloat@loc@TMPc\pgfmathfloat@loc@TMPb + \def\pgfmathresult{-}% + \else + \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 + \fi + \fi + \fi + \else + \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod#1\pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI + \fi + \begingroup + \toks0=\expandafter{\pgfmathresult}% + \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@glob@TMP +}% +\def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod{% + \ifx\pgfmathprintnumber@fixed@styleDEFAULT@THOUSAND@SEP\pgfutil@empty + \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT{% + \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printall}% + \else + \ifnum\c@pgf@counta<0\relax + \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT{% + \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printall}% + \else + \advance\c@pgf@counta by1% counta:= total number of digits, N. + \c@pgf@countb=\c@pgf@counta + \divide\c@pgf@countb by3% countb := N DIV 3 + \c@pgf@countc=\c@pgf@countb + \multiply\c@pgf@countc by3 + \advance\c@pgf@counta by-\c@pgf@countc% now counta := N MOD 3 + \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT{% + \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printsign + }% + \fi + \fi + \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT +} +\def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printsign#1{% + \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@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@loc@TMPb + }% + \else + \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT{% + \expandafter\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@counteverythird\pgfmathfloat@loc@TMPb + }% + \fi + \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT +} +\def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@printtrailingdigits#1#2{% + \ifcase\c@pgf@counta + \or + \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult #1}% + \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT{% + \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@counteverythird#2% + }% + \or + \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult #1#2}% + \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT{% + \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@counteverythird% + }% + \fi + \ifnum\c@pgf@countb>0\relax + \begingroup + \toks0=\expandafter{\pgfmathresult}% + \toks1=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@THOUSAND@SEP}% + \xdef\pgfmathfloat@glob@TMP{\the\toks0 \the\toks1 }% + \endgroup + \let\pgfmathresult=\pgfmathfloat@glob@TMP + \fi + \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT +} +\def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@counteverythird#1#2#3{% + \ifnum\c@pgf@countb>0\relax + \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult #1#2#3}% + \advance\c@pgf@countb by-1 + \ifnum\c@pgf@countb>0\relax + \begingroup + \toks0=\expandafter{\pgfmathresult}% + \toks1=\expandafter{\pgfmathprintnumber@fixed@styleDEFAULT@THOUSAND@SEP}% + \xdef\pgfmathfloat@glob@TMP{\the\toks0 \the\toks1 }% + \endgroup + \let\pgfmathresult=\pgfmathfloat@glob@TMP + \fi + \def\pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@NEXT{% + \pgfmathprintnumber@fixed@styleDEFAULT@impl@noperiod@counteverythird% + }% + \else + % in thise case, #1#2#3 are expected to be + % \pgfmathfloat@EOI\pgfmathfloat@EOI\pgfmathfloat@EOI + %-------------------------------------------------- + % \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{% + \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}% +}% + +% #1 maybe a macro +\def\pgfmathprintnumber@fixed@stylePERIOD#1#2#3e#4\relax{% + \def\pgfmathresult{#1}% +} + +% #1 maybe a macro +\def\pgfmathprintnumber@fixed@styleCOMMA#1#2#3e#4\relax{% + \ifpgfmathfloatroundhasperiod + \expandafter\pgfmathprintnumber@fixed@styleCOMMA@impl#1\pgfmathfloat@EOI + \else + \def\pgfmathresult{#1}% + \fi +} +\def\pgfmathprintnumber@fixed@styleCOMMA@impl#1.#2\pgfmathfloat@EOI{\def\pgfmathresult{#1{,}#2}} + +% The default style to display fixed point numbers. +% +% It does not apply numerics, but it is responsable to typeset the +% rounded number. +% It can access the \ifpgfmathfloatroundhasperiod boolean. +% +% Arguments: +% #1#2#3e#4\relax + +% Input: +% #1 the fixed point number to be displayed (maybe a macro). +% #2#3e#4: the (possibly unformatted) floating point representation which belongs to #1. +% It is used to determine sign and exponent. +\let\pgfmathprintnumber@fixed@style=\pgfmathprintnumber@fixed@styleDEFAULT + + +% Rounds a normalized floating point number to \pgfmathfloat@round@precision +% digits precision and writes the result to \pgfmathresult. +% +% This method uses \pgfmathroundto for the mantisse. +% +% @see pgfmathfloatroundzerofill +% +% SIDE EFFECT: the global variable \ifpgfmathfloatroundhasperiod will be set to +% whether the final mantisse #5 has a period or not. +\def\pgfmathfloatround#1{% + \pgfmathfloatroundhasperiodtrue + \begingroup + \pgfmathfloat@fixed@digits@after@periodfalse + \expandafter\pgfmathfloat@decompose@tok#1\relax\pgfmathfloat@a@S\pgfmathfloat@a@Mtok\pgfmathfloat@a@E + \pgfmathfloatround@impl + \pgfmath@smuggleone\pgfmathresult + \endgroup +} + +% Overload. +% +% This method uses a fixed width for the mantisse and fills in zeros +% if necessary. +% +% This method uses \pgfmathroundtozerofill for the mantisse. +% +% SIDE EFFECT: the global variable \ifpgfmathfloatroundhasperiod will be set to +% whether the final mantisse #5 has a period or not. +\def\pgfmathfloatroundzerofill#1{% + \pgfmathfloatroundhasperiodtrue + \begingroup + \pgfmathfloat@fixed@digits@after@periodtrue + \expandafter\pgfmathfloat@decompose@tok#1\relax\pgfmathfloat@a@S\pgfmathfloat@a@Mtok\pgfmathfloat@a@E + \pgfmathfloatround@impl + \pgfmath@smuggleone\pgfmathresult + \endgroup +} + +\newif\ifpgfmathfloatround@allow@empty@mantisse +\def\pgfmathfloatround@mantisse@ONE{1.0}% + +% #1: sign +% #2: mantisse +% #3: exponent +% #4: CODE to display if the mantisse is drawn. +% #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{% + \pgfkeysgetvalue{/pgf/number format/@sci exponent mark}\pgfmathfloatrounddisplaystyle@e@mark + \ifcase#1\relax + \pgfmathprintnumber@fixed@style{#2}#1#2e0\relax% + \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\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}}% +} +\def\pgfmathfloatrounddisplaystyle@subscript#1#2e#3\relax{% + \pgfmathfloatrounddisplaystyle@shared@impl#1#2e#3\relax{}{1}{_{#3}}% +} +\def\pgfmathfloatrounddisplaystyle@e#1#2e#3\relax{% + \ifnum#3<0\relax + {\count0=#3\relax + \multiply\count0 by-1 + \xdef\pgfmathfloat@glob@TMP{e{-}\the\count0}% + }% + \let\pgfmathresult=\pgfmathfloat@glob@TMP + \else + \def\pgfmathresult{e{+}#3}% + \fi + \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@glob@TMP{E{-}\the\count0}% + }% + \let\pgfmathresult=\pgfmathfloat@glob@TMP + \else + \def\pgfmathresult{E{+}#3}% + \fi + \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 +% expands to the final TeX-representation for that floating point +% number. +% +% PRECONDITION: +% the floating point number has already been rounded properly and +% the mantisse has been rounded correcty. +% +% #1: SIGN +% #2: MANTISSE +% #3: EXPONENT +\let\pgfmathfloatrounddisplaystyle=\pgfmathfloatrounddisplaystyle@std +\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}, + 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}, + int trunc/.code= \pgfmath@set@number@printer{pgfmathprintnumber@INT@TRUNC}, + assume math mode/.is if=pgfmathprintnumber@assumemathmode, + assume math mode/.default=true, + fixed zerofill/.is if= pgfmathfloat@usezerofill@fixed, + fixed zerofill/.default=true, + sci zerofill/.is if= pgfmathfloat@usezerofill@sci, + sci zerofill/.default=true, + zerofill/.style= {/pgf/number format/fixed zerofill=#1,/pgf/number format/sci zerofill=#1}, + zerofill/.default= true, + precision/.store in= \pgfmathfloat@round@precision, + 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, + use period, + sci 10^e/.code= {\let\pgfmathfloatrounddisplaystyle=\pgfmathfloatrounddisplaystyle@std}, + sci 10e/.code= {\let\pgfmathfloatrounddisplaystyle=\pgfmathfloatrounddisplaystyle@std}, + sci e/.code= {\let\pgfmathfloatrounddisplaystyle=\pgfmathfloatrounddisplaystyle@e}, + sci E/.code= {\let\pgfmathfloatrounddisplaystyle=\pgfmathfloatrounddisplaystyle@E}, + sci subscript/.code= {\let\pgfmathfloatrounddisplaystyle=\pgfmathfloatrounddisplaystyle@subscript}, +% sci may skip mantisse/.is if=pgfmathfloatround@allow@empty@mantisse, +% sci may skip mantisse/.default=true, +} + + + +\def\pgfmathprintnumber@STD#1{% + % parse the input: + \pgfmathfloatparsenumber{#1}% + \expandafter\pgfmathprintnumber@STD@issci\pgfmathresult\relax +} + +\def\pgfmathprintnumber@STD@issci#1#2e#3\relax{% + \expandafter\ifnum#1<3 + \expandafter\ifnum#3>4 + \pgfmathprintnumber@SCI@issci#1#2e#3\relax% + \else + \begingroup + \c@pgf@counta=\pgfmathfloat@round@precision\relax + \divide\c@pgf@counta by-2\relax + \ifnum#3<\c@pgf@counta + \pgfmathprintnumber@SCI@issci#1#2e#3\relax% + \else + \pgfmathprintnumber@FIXED@issci#1#2e#3\relax% + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup + \fi + \else% nan or inf: + \pgfmathfloatrounddisplaystyle#1#2e#3\relax% + \fi +} + + +\def\pgfmathprintnumber@INT@TRUNC#1{% + \pgfmathfloatparsenumber{#1}% + \expandafter\pgfmathprintnumber@INT@TRUNC@issci\pgfmathresult\relax +} + +\def\pgfmathprintnumber@INT@TRUNC@impl#1.#2\relax#3#4e#5\relax{% + \pgfmathfloatroundhasperiodfalse + \pgfmathprintnumber@fixed@style{#1}#3#4e#5\relax% +} +\def\pgfmathprintnumber@INT@TRUNC@issci#1#2e#3\relax{% + \ifnum#1<3\relax + \pgfmathfloattofixed{#1#2e#3}% + \expandafter\pgfmathprintnumber@INT@TRUNC@impl\pgfmathresult\relax#1#2e#3\relax + \else + \pgfmathfloatrounddisplaystyle#1#2e#3\relax% + \fi +} + + +\def\pgfmathprintnumber@INT@DETECT#1{% + \pgfmathfloatparsenumber{#1}% + \expandafter\pgfmathprintnumber@INT@DETECT@issci\pgfmathresult\relax +} + +\def\pgfmathprintnumber@INT@DETECT@issci#1#2e#3\relax{% + \begingroup + \ifnum#1<3\relax + \pgfmathfloattofixed{#1#2e#3}% + \def\pgfmathfloat@round@precision{6}% + \expandafter\pgfmathroundto\expandafter{\pgfmathresult}% + \ifpgfmathfloatroundhasperiod + \pgfmathprintnumber@SCI@issci#1#2e#3\relax + \else + \expandafter\pgfmathprintnumber@fixed@style\expandafter{\pgfmathresult}#1#2e#3\relax + \fi + \else + \pgfmathfloatrounddisplaystyle#1#2e#3\relax% + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup +} + +\def\pgfmathprintnumber@FIXED#1{% + \pgfmathfloatparsenumber{#1}% + \expandafter\pgfmathprintnumber@FIXED@issci\pgfmathresult\relax +} + +\def\pgfmathprintnumber@FIXED@issci#1#2e#3\relax{% + \begingroup + \ifnum#1<3 + \pgfmathfloattofixed{#1#2e#3}% + \ifpgfmathfloat@usezerofill@fixed + \expandafter\pgfmathroundtozerofill\expandafter{\pgfmathresult}% + \else + \expandafter\pgfmathroundto\expandafter{\pgfmathresult}% + \fi + \ifpgfmathfloatroundmayneedrenormalize + \pgfmathfloat@a@E=#3\relax + \advance\pgfmathfloat@a@E by1 + \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 + \else% nan or inf: + \pgfmathfloatrounddisplaystyle#1#2e#3\relax% + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup +} + + +\def\pgfmathprintnumber@SCI#1{% + \pgfmathfloatparsenumber{#1}% + \expandafter\pgfmathprintnumber@SCI@issci\pgfmathresult\relax +} + +\def\pgfmathprintnumber@SCI@issci#1#2e#3\relax{% + \ifpgfmathfloat@usezerofill@sci + \pgfmathfloatroundzerofill{#1#2e#3}% + \else + \pgfmathfloatround{#1#2e#3}% + \fi + \expandafter\pgfmathfloatrounddisplaystyle\pgfmathresult\relax +} + +% Prints argument #1 using the current pretty printer environment (all +% variables in /pgf/number format). +% +% You may specify optional arguments with \pgfmathprintnumber[...]. +\def\pgfmathprintnumber{% + \pgfutil@ifnextchar[% + {\pgfmathprintnumber@OPT}% + {\pgfmathprintnumber@noopt}% +} + +\def\pgfmathprintnumber@noopt#1{% + \pgfmathprintnumber@{#1}% + \ifpgfmathprintnumber@assumemathmode + \else + \pgfutilensuremath{\pgfmathresult}% + \fi +}% +\def\pgfmathprintnumber@OPT[#1]#2{% + \begingroup + \pgfqkeys{/pgf/number format}{#1}% + \pgfmathprintnumber@{#2}% + \ifpgfmathprintnumber@assumemathmode + \else + \pgfutilensuremath{\pgfmathresult}% + \fi + \endgroup +}% + +% As \pgfmathprintnumber, but it produces its output into the second +% argument. +\def\pgfmathprintnumberto{% + \pgfutil@ifnextchar[% + {\pgfmathprintnumberto@OPT}% + {\pgfmathprintnumberto@noopt}% +} + +\def\pgfmathprintnumberto@noopt#1#2{% + \begingroup + \pgfmathprintnumber@{#1}% + \ifpgfmathprintnumber@assumemathmode + \global\let\pgfmathfloat@glob@TMP=\pgfmathresult + \else + \toks0=\expandafter{\pgfmathresult}% + \xdef\pgfmathfloat@glob@TMP{\noexpand\pgfutilensuremath{\the\toks0 }}% + \fi + \endgroup + \let#2=\pgfmathfloat@glob@TMP +}% +\def\pgfmathprintnumberto@OPT[#1]#2#3{% + \begingroup + \pgfqkeys{/pgf/number format}{#1}% + \pgfmathprintnumber@{#2}% + \ifpgfmathprintnumber@assumemathmode + \global\let\pgfmathfloat@glob@TMP=\pgfmathresult + \else + \toks0=\expandafter{\pgfmathresult}% + \xdef\pgfmathfloat@glob@TMP{\noexpand\pgfutilensuremath{\the\toks0 }}% + \fi + \endgroup + \let#3=\pgfmathfloat@glob@TMP +}% + + +% Changes the current number pretty printer to #1. +% +% #1 is the macro base name for the pretty print routine, without the +% leading '\'. +\def\pgfmath@set@number@printer#1{% + \expandafter\let\expandafter\pgfmathprintnumber@\csname #1\endcsname + \expandafter\let\expandafter\pgfmathprintnumber@issci\csname #1@issci\endcsname +} + +\pgfmath@set@number@printer{pgfmathprintnumber@STD} +%\pgfmath@set@number@printer{pgfmathprintnumber@FIXED} +%\pgfmath@set@number@printer{pgfmathprintnumber@FIXED@ZEROFILL} +%\pgfmath@set@number@printer{pgfmathprintnumber@SCI@ZEROFILL} +%\pgfmath@set@number@printer{pgfmathprintnumber@SCI} + +%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% IMPL +% +%%%%%%%%%%%%%%%%%%%%%%%%%% + +% equals only itsself when compared with \ifx: +\def\pgfmathfloat@EOI{\pgfmathfloat@EOI}% + +% Re-use counters internally. +% +% They are always grouped and only used inside of the rounding +% routines. +\let\c@pgfmathroundto@prec=\pgfmathfloat@b@S% ATTENTION: DOUBLE-USED REGISTERS! +\let\c@pgfmathroundto@offsetbehindperiod=\pgfmathfloat@b@E +\newcount\c@pgfmathroundto@lastzeros + +\newif\ifpgfmathround@impl@PREPERIOD@is@negative@zero + +% PRECONDITION: +% \ifpgfmathfloatroundhasperiod=\iftrue holds outside of the +% current TeX group. +% +% POSTCONDITION: +% \ifpgfmathfloatroundhasperiod will be set correctly AFTER the +% current TeX group. +% \ifpgfmathfloatroundmayneedrenormalize will be set globally +\def\pgfmathroundto@impl#1{% + \global\pgfmathfloatroundmayneedrenormalizefalse + \pgfmathfloat@tmptoks={}% + \let\pgfmathround@next=\pgfutil@empty + \let\pgfmathround@cur=\pgfutil@empty + \let\pgfmathresult=\pgfutil@empty + \edef\pgfmathround@input{#1}% + \expandafter\c@pgfmathroundto@prec\pgfmathfloat@round@precision\relax + \c@pgfmathroundto@lastzeros=0 + \c@pgfmathroundto@offsetbehindperiod=-1 % means: no period found so far + \pgfmathround@impl@PREPERIOD@is@negative@zerotrue + \expandafter\pgfmathroundto@impl@ITERATE@NODOT@firstcall\pgfmathround@input\pgfmathfloat@EOI +} + +% \pgfmathroundto implementation in WORDS: +% +% coarse idea: +% 1. collect all digits/sign BEFORE the first period in REVERSE order +% 2. then, collect UP TO \prec digits after the period in REVERSE order +% Steps 1. and 2. lead to the digit [sign] sequence +% "x_{-p} x_{-p+1} ... x_{-2} x_{-1} '.' x_0 ... x_r" +% where 'r' is the total number of digits. The integer 'p' denotes the +% ACTUALLY collected number of digits behind the period. +% +% Let 'k' be the desired precision. +% +% Please note that pgfmathroundto rounds the mantisse, that means |abs(x)|. +% +% There are exactly TWO cases: +% 1. The case with p<=k and x_{-p-1} = end of input. +% 2. The case with p=k and x_{-p-1} is a further, next character. +% +% Then, for case 1.): +% discard any unused zeros at the tail of our number (possibly +% including the period) +% +% and in case 2.) +% if NEXT DIGIT < 5: +% do exactly the same as in case 1.) above and discard any +% following digits. +% else +% let q := -p +% while(x_q = 9 and q<=r ) +% if q>=0 +% set x_q = '0' +% else +% discard digit x_q='9' +% fi +% ++q +% if q=0 +% discard the period +% fi +% end while +% if q = r+1 +% insert a '1' +% else +% set x_q = x_q + 1 +% fi +% fi +% +% All these loops have been implemented in spaghetti-code below. +% Sorry, I fear its hard to understand. In principle, everything is +% realised using more or less finite state machines (with some number +% counting logic). +% +% Some comments: +% - The token register \pgfmathfloat@tmptoks is used to accumulate the REVERSED input number. +% - \pgfmathfloat@EOI always denotes 'END OF INPUT'. +% - in the second stage, we need to reverse \pgfmathfloat@tmptoks. +% This is -again- done with \pgfmathfloat@tmptoks. + +\def\pgfmathroundto@impl@discard@period#1.#2\pgfmathfloat@EOI{% + \pgfmathfloatroundhasperiodfalse + \aftergroup\pgfmathfloatroundhasperiodfalse + \def\pgfmathresult{#1}% +} + +\def\pgfmathroundto@impl@gobble@rest@and@start#1\pgfmathfloat@EOI{% + \pgfmathroundto@impl@start +} +\def\pgfmathroundto@impl@gobble@and@start\pgfmathfloat@EOI{% + \pgfmathroundto@impl@start +} +\def\pgfmathroundto@impl@gobble\pgfmathfloat@EOI{}% +\def\pgfmathroundto@impl@gobble@rest#1\pgfmathfloat@EOI{}% + +% This method will be invoked as soon as the first step, the reverse +% collection of up to PREC digits after the period, has finished. +\def\pgfmathroundto@impl@start{% + \ifx\pgfmathround@next\pgfutil@empty + \ifnum\c@pgfmathroundto@offsetbehindperiod<0 + % no period found. + \ifpgfmathfloat@fixed@digits@after@period + \ifnum\c@pgfmathroundto@prec=0\relax + \pgfmathfloatroundhasperiodfalse + \aftergroup\pgfmathfloatroundhasperiodfalse + \edef\pgfmathresult{\pgfmathround@input}% + \else + \pgfmathfloat@tmptoks=\expandafter{\pgfmathround@input.}% + \c@pgfmathroundto@offsetbehindperiod=\c@pgfmathroundto@prec + \pgfmathroundto@impl@append@zeros + \edef\pgfmathresult{\the\pgfmathfloat@tmptoks}% + \fi + \else + \pgfmathfloatroundhasperiodfalse + \aftergroup\pgfmathfloatroundhasperiodfalse + \edef\pgfmathresult{\pgfmathround@input}% + \fi + \else + %\ifnum\c@pgfmathroundto@offsetbehindperiod>\c@pgfmathroundto@prec + % \pgfmath@error{Internal logic error in pgfmathroundto at [I] - should not have happened!?}% + %\fi + \pgfmathroundto@impl@finish@with@truncation + \fi + \else + %\ifnum\c@pgfmathroundto@offsetbehindperiod=\c@pgfmathroundto@prec + %\else + % \pgfmath@error{Internal logic error in pgfmathroundto at [II] - should not have happened!? I have offsetbehindperiod=\the\c@pgfmathroundto@offsetbehindperiod and prec = \the\c@pgfmathroundto@prec}% + %\fi + \expandafter\ifnum\pgfmathround@next<5\relax + \pgfmathroundto@impl@finish@with@truncation + \else + \multiply\c@pgfmathroundto@offsetbehindperiod by-1 + \expandafter\pgfmathroundto@impl@ADD@ONE\the\pgfmathfloat@tmptoks\pgfmathfloat@EOI + \fi + \fi +} + +% takes the current input and decides whether trailing zeros shall be +% discarded or more zeros need to be filled in. +\def\pgfmathroundto@impl@finish@with@truncation{% + \ifpgfmathfloat@fixed@digits@after@period + \expandafter\pgfmathroundto@impl@REVERSE\the\pgfmathfloat@tmptoks\pgfmathfloat@EOI + \ifnum\c@pgfmathroundto@lastzeros=\c@pgfmathroundto@offsetbehindperiod + \ifpgfmathround@impl@PREPERIOD@is@negative@zero + % write '0.0000' instead of '-0.0000': + \expandafter\pgfmathroundto@impl@discard@minus\the\pgfmathfloat@tmptoks\pgfmathfloat@EOI + \fi + \fi + \ifnum\c@pgfmathroundto@prec=0\relax + \expandafter\pgfmathroundto@impl@discard@period\the\pgfmathfloat@tmptoks\pgfmathfloat@EOI + \else + \advance\c@pgfmathroundto@prec by-\c@pgfmathroundto@offsetbehindperiod + \c@pgfmathroundto@offsetbehindperiod=\c@pgfmathroundto@prec + \pgfmathroundto@impl@append@zeros + \edef\pgfmathresult{\the\pgfmathfloat@tmptoks}% + \fi + \else + \pgfmathroundto@impl@discard@suffix@zeros + \fi +} + +\def\pgfmathroundto@impl@discard@minus-#1\pgfmathfloat@EOI{\pgfmathfloat@tmptoks={#1}}% + +% appends \c@pgfmathroundto@offsetbehindperiod zeros at the end of \pgfmathfloat@tmptoks. +\def\pgfmathroundto@impl@append@zeros{% + \ifnum\c@pgfmathroundto@offsetbehindperiod>0 + \pgfmathfloat@tmptoks=\expandafter{\the\pgfmathfloat@tmptoks0}% + \advance\c@pgfmathroundto@offsetbehindperiod by-1 + \pgfmathroundto@impl@append@zeros + \fi +} + +\def\pgfmathroundto@impl@ADD@ONE{% + \pgfmathfloat@tmptoks={}% no longer needed because its old value will be read from input + \pgfmathroundto@impl@ADD@ONE@ITERATE +} +\def\pgfmathroundto@impl@ADD@ONE@ITERATE{% + \pgfutil@ifnextchar\pgfmathfloat@EOI{% + \global\pgfmathfloatroundmayneedrenormalizetrue + \edef\pgfmathresult{1\the\pgfmathfloat@tmptoks}% + \pgfmathroundto@impl@gobble + }{% + \pgfutil@ifnextchar.{% + \ifnum\c@pgfmathroundto@prec=0 + % silently discard period in special case precision=0 + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@ADD@ONE@ITERATE@gobble@dot}% + \else + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@ADD@ONE@NEXT@COLLECT}% + \fi + \pgfmathround@nextcmd + }{% + \pgfutil@ifnextchar+{% + \global\pgfmathfloatroundmayneedrenormalizetrue + \edef\pgfmathresult{1\the\pgfmathfloat@tmptoks}% + \pgfmathroundto@impl@gobble@rest + }{% + \pgfutil@ifnextchar-{% + \global\pgfmathfloatroundmayneedrenormalizetrue + \edef\pgfmathresult{-1\the\pgfmathfloat@tmptoks}% + \pgfmathroundto@impl@gobble@rest + }{% + \pgfmathroundto@impl@ADD@ONE@NEXT + }% + }% + }% + }% +} + +\def\pgfmathroundto@impl@ADD@ONE@ITERATE@gobble@dot.{% + \pgfmathfloatroundhasperiodfalse + \aftergroup\pgfmathfloatroundhasperiodfalse + \pgfmathroundto@impl@ADD@ONE@ITERATE +} + +\def\pgfmathroundto@impl@ADD@ONE@NEXT@COLLECT#1{% + \pgfmathfloat@tmptoks=\expandafter{\expandafter#1\the\pgfmathfloat@tmptoks}% + \pgfmathroundto@impl@ADD@ONE@ITERATE +} +\def\pgfmathroundto@impl@ADD@ONE@NEXT#1{% + \ifnum#1=9 + \ifnum\c@pgfmathroundto@offsetbehindperiod<0 + \ifpgfmathfloat@fixed@digits@after@period + \pgfmathfloat@tmptoks=\expandafter{\expandafter0\the\pgfmathfloat@tmptoks}% + \else + % silently DROP digit + \fi + \else + \pgfmathfloat@tmptoks=\expandafter{\expandafter0\the\pgfmathfloat@tmptoks}% + \fi + \advance\c@pgfmathroundto@offsetbehindperiod by1 + \ifnum\c@pgfmathroundto@offsetbehindperiod=0 + \ifpgfmathfloat@fixed@digits@after@period + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@ADD@ONE@ITERATE}% + \else + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@ADD@ONE@ITERATE@gobble@dot}% + \fi + \else + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@ADD@ONE@ITERATE}% + \fi + \else + % re-use this counter: + \c@pgfmathroundto@lastzeros=#1 + \advance\c@pgfmathroundto@lastzeros by1 + \edef\pgfmathresult{\the\c@pgfmathroundto@lastzeros\the\pgfmathfloat@tmptoks}% + \pgfmathfloat@tmptoks=\expandafter{\pgfmathresult}% + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@REVERSE@ITERATE}% + \fi + \pgfmathround@nextcmd +} + + +\def\pgfmathroundto@impl@discard@suffix@zeros{% + \ifnum\c@pgfmathroundto@lastzeros=\c@pgfmathroundto@offsetbehindperiod + \ifpgfmathround@impl@PREPERIOD@is@negative@zero + \pgfmathfloatroundhasperiodfalse + \aftergroup\pgfmathfloatroundhasperiodfalse + \def\pgfmathresult{0}% write '0' instead of '-0' + \else + \expandafter\pgfmathroundto@impl@discard@period\pgfmathround@input\pgfmathfloat@EOI + \fi + \else + \ifnum\c@pgfmathroundto@lastzeros=0 + \expandafter\pgfmathroundto@impl@REVERSE\the\pgfmathfloat@tmptoks\pgfmathfloat@EOI + \else + \expandafter\pgfmathroundto@impl@discard@suffix@zeros@ITERATE\the\pgfmathfloat@tmptoks\pgfmathfloat@EOI + \fi + \fi +} + +% PRECONDITION: +% \c@pgfmathroundto@lastzeros > 0 +\def\pgfmathroundto@impl@discard@suffix@zeros@ITERATE#1{% + \advance\c@pgfmathroundto@lastzeros by-1 + \ifnum\c@pgfmathroundto@lastzeros=0 + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@REVERSE}% + \else + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@discard@suffix@zeros@ITERATE}% + \fi + \pgfmathround@nextcmd +} + +% Usage: +% \pgfmathroundto@impl@REVERSE#1\pgfmathfloat@EOI +% -> writes #1 reversed into \pgfmathfloat@tmptoks +\def\pgfmathroundto@impl@REVERSE{% + \pgfmathfloat@tmptoks={}% + \pgfmathroundto@impl@REVERSE@ITERATE +} + +\def\pgfmathroundto@impl@REVERSE@ITERATE{% + \pgfutil@ifnextchar\pgfmathfloat@EOI{% + \edef\pgfmathresult{\the\pgfmathfloat@tmptoks}% + \pgfmathroundto@impl@gobble + }{% + \pgfmathroundto@impl@REVERSE@NEXT + }% +} + +\def\pgfmathroundto@impl@REVERSE@NEXT#1{% + \pgfmathfloat@tmptoks=\expandafter{\expandafter#1\the\pgfmathfloat@tmptoks}% + \pgfmathroundto@impl@REVERSE@ITERATE +} + +\def\pgfmathroundto@impl@BEGIN@DOT.{% + \pgfmathfloat@tmptoks=\expandafter{\expandafter.\the\pgfmathfloat@tmptoks}% + \c@pgfmathroundto@offsetbehindperiod=0 + \pgfmathroundto@impl@ITERATE@DOT +} +\def\pgfmathroundto@impl@ITERATE@DOT{% + \pgfutil@ifnextchar\pgfmathfloat@EOI{% + % finished. + \pgfmathroundto@impl@gobble@and@start + }{% + \pgfmathroundto@impl@NEXT@DOT + }% +} +\def\pgfmathroundto@impl@NEXT@DOT#1{% + \ifnum\c@pgfmathroundto@offsetbehindperiod=\c@pgfmathroundto@prec + \def\pgfmathround@next{#1}% + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@gobble@rest@and@start}% + \else + \advance\c@pgfmathroundto@offsetbehindperiod by1 + \ifnum#1=0 + \advance\c@pgfmathroundto@lastzeros by1 + \else + \c@pgfmathroundto@lastzeros=0 + \fi + \pgfmathfloat@tmptoks=\expandafter{\expandafter#1\the\pgfmathfloat@tmptoks}% + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@ITERATE@DOT}% + \fi + \pgfmathround@nextcmd +}% + +% in contrast to pgfmathroundto@impl@ITERATE@NODOT, this method here +% checks also for signs +\def\pgfmathroundto@impl@ITERATE@NODOT@firstcall#1{% + \def\pgfmathround@cur{#1}% + \ifx\pgfmathround@cur\pgfmathfloat@EOI + \pgfmathround@impl@PREPERIOD@is@negative@zerofalse + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@start}% + \else + \ifx\pgfmathround@cur\pgfmathfloatparsenumber@tok@PERIOD + \pgfmathround@impl@PREPERIOD@is@negative@zerofalse + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@BEGIN@DOT.}% + \else + \ifx\pgfmathround@cur\pgfmathfloatparsenumber@tok@MINUS + \else + \pgfmathround@impl@PREPERIOD@is@negative@zerofalse + \fi + \pgfmathfloat@tmptoks=\expandafter{\expandafter#1\the\pgfmathfloat@tmptoks}% + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@ITERATE@NODOT}% + \fi + \fi + \pgfmathround@nextcmd +} + +\def\pgfmathroundto@impl@ITERATE@NODOT#1{% + \def\pgfmathround@cur{#1}% + \ifx\pgfmathround@cur\pgfmathfloat@EOI + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@start}% + \else + \ifx\pgfmathround@cur\pgfmathfloatparsenumber@tok@PERIOD + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@BEGIN@DOT.}% + \else + \ifx\pgfmathround@cur\pgfmathfloatparsenumber@tok@ZERO + \else + \pgfmathround@impl@PREPERIOD@is@negative@zerofalse + \fi + \pgfmathfloat@tmptoks=\expandafter{\expandafter#1\the\pgfmathfloat@tmptoks}% + \def\pgfmathround@nextcmd{\pgfmathroundto@impl@ITERATE@NODOT}% + \fi + \fi + \pgfmathround@nextcmd +} + +%-------------------------------------------- +% END of pgfmathroundto implementation. +%-------------------------------------------- + + +% flags, mantisse and exponent has already been stored into +% \pgfmathfloat@a@* [using ...@Mtok] +% +% PRECONDITION: +% \ifpgfmathfloatroundhasperiod = \iftrue outside of the current +% group +% +% POSTCONDITION: +% \ifpgfmathfloatroundhasperiod will be set after the current TeX +% group. +\def\pgfmathfloatround@impl{% + \expandafter\pgfmathroundto@impl\expandafter{\the\pgfmathfloat@a@Mtok}% + \ifpgfmathfloatroundmayneedrenormalize + \ifpgfmathfloatroundhasperiod + \expandafter\pgfmathfloatround@impl@renormalize\pgfmathresult\pgfmathfloat@EOI% + \else + \expandafter\pgfmathfloatround@impl@renormalize\pgfmathresult.\pgfmathfloat@EOI% + \fi + \advance\pgfmathfloat@a@E by1 + \fi + \edef\pgfmathresult{\the\pgfmathfloat@a@S\pgfmathresult e\the\pgfmathfloat@a@E}% +} + +\def\pgfmathfloatround@impl@renormalize#1#2.#3\pgfmathfloat@EOI{% + \pgfmathroundto@impl{#1.#2#3}% +} + + + + + +% ATTENTION: this thing REQUIRES a period in the mantisse! +% collects everything into \pgfmathresult +\def\pgfmathfloattofixed@impl#1.#2\relax{% + \ifnum\pgfmathfloat@a@E<0 + \pgfmathfloat@a@Mtok={0.}% + \pgfutil@loop + \ifnum\pgfmathfloat@a@E<-1 + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok 0}% + \advance\pgfmathfloat@a@E by1 + \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}% + \fi + \else + \ifnum\pgfmathfloat@a@E=0% + \edef\pgfmathresult{#1.#2}% + \else + \pgfmathfloat@a@Mtok={#1}% + \pgfmathfloattofixed@impl@collectmantisse#2\count\pgfmathfloat@a@E + \edef\pgfmathresult{\the\pgfmathfloat@a@Mtok}% + \fi + \fi +} + +\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@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% + \pgfutil@repeat + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok .0}% + \else + \ifnum\pgfmathfloat@a@E=0 + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok .#2}% + \else + \pgfmathfloattofixed@impl@collectmantisse#2\count#3% + \fi + \fi +} + + +% ============================================ +% +% +% \pgfmathfloatparsenumber implementation +% +% +% ============================================ + + +% accepted parser tokens: +\def\pgfmathfloatparsenumber@tok@ONE{1} +\def\pgfmathfloatparsenumber@tok@TWO{2} +\def\pgfmathfloatparsenumber@tok@THREE{3} +\def\pgfmathfloatparsenumber@tok@FOUR{4} +\def\pgfmathfloatparsenumber@tok@FIVE{5} +\def\pgfmathfloatparsenumber@tok@SIX{6} +\def\pgfmathfloatparsenumber@tok@SEVEN{7} +\def\pgfmathfloatparsenumber@tok@EIGHT{8} +\def\pgfmathfloatparsenumber@tok@NINE{9} +\def\pgfmathfloatparsenumber@tok@ZERO{0} +\def\pgfmathfloatparsenumber@tok@e{e} +\def\pgfmathfloatparsenumber@tok@E{E} +\def\pgfmathfloatparsenumber@tok@PLUS{+} +\def\pgfmathfloatparsenumber@tok@MINUS{-} +\def\pgfmathfloatparsenumber@tok@n{n} +\def\pgfmathfloatparsenumber@tok@N{N} +\def\pgfmathfloatparsenumber@tok@i{i} +\def\pgfmathfloatparsenumber@tok@I{I} +\def\pgfmathfloatparsenumber@tok@PERIOD{.} + +\newif\ifpgfmathfloatparsenumberpendingperiod + +% Starts a finite-start-machine parser to read a number. +% +% It assigns \pgfmathfloat@a@S, \pgfmathfloat@a@Mtok, \pgfmathfloat@a@E. +\def\pgfmathfloatparsenumber@impl#1{% + \pgfmathfloatparsenumberpendingperiodfalse + \pgfmathfloat@tmptoks={}% this register is used to collect PENDING ZEROS + \pgfmathfloat@a@E=0 + % start parsing: check for sign: + \def\pgfmathfloatparsenumber@curtok{#1}% + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@PLUS + \pgfmathfloat@a@S=1\relax% + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@init}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@MINUS + \pgfmathfloat@a@S=2\relax% + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@init}% + \else + \pgfmathfloat@a@S=1\relax% + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@init#1}% + \fi + \fi + \pgfmathfloatparsenumber@NEXT +} + +\def\pgfmathfloatparsenumber@sanitize@digit{% + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@ONE + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@TWO + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@THREE + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@FOUR + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@FIVE + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@SIX + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@SEVEN + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@EIGHT + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@NINE + \else + \def\pgfmathfloatparsenumber@NEXT{\expandafter\pgfmathfloatparsenumber@impl@error\pgfmathfloatparsenumber@curtok}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi +} + +% FROM: checksign. +% +\def\pgfmathfloatparsenumber@impl@init#1{% + \def\pgfmathfloatparsenumber@curtok{#1}% + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@n + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@readnan}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@i + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@readinf}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@ZERO + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@leadingzero}% + \else + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@a@Mtok={#1}% + \pgfmathfloatparsenumberpendingperiodtrue + \pgfmathfloatparsenumber@impl@positiveexp}% + \pgfmathfloatparsenumber@sanitize@digit + \fi + \fi + \fi + \pgfmathfloatparsenumber@NEXT +} + +\def\pgfmathfloatparsenumber@impl@error#1\pgfmathfloat@EOI{% + \begingroup + \pgfmathfloat@a@Mtok={#1}% + \pgfmath@error{Could not read input number, sorry. The unreadable part was near '\the\pgfmathfloat@a@Mtok'.}% + \endgroup +}% + +\def\pgfmathfloatparsenumber@impl@finish#1\pgfmathfloat@EOI{} + +\def\pgfmathfloatparsenumber@impl@readnan an{% + \pgfmathfloat@a@S=3\relax% + \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={0.0}% + \else + \pgfmathfloat@a@S=5\relax% + \pgfmathfloat@a@Mtok={0.0}% + \fi + \pgfmathfloat@a@E=0% + \pgfmathfloatparsenumber@impl@finish +} +\def\pgfmathfloatparsenumber@impl@leadingzero#1{% + \def\pgfmathfloatparsenumber@curtok{#1}% + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@ZERO + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloatparsenumber@impl@leadingzero}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@PERIOD + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@a@E=-1 + \pgfmathfloatparsenumber@impl@leadingzero@foundperiod}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@e + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@a@S=0\relax% + \pgfmathfloat@a@Mtok={0.0}% + \pgfmathfloat@a@E=0% + \pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@E + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@a@S=0\relax% + \pgfmathfloat@a@Mtok={0.0}% + \pgfmathfloat@a@E=0% + \pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloat@EOI + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@a@S=0\relax% + \pgfmathfloat@a@Mtok={0.0}% + \pgfmathfloat@a@E=0% + }% + \else + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@a@Mtok={#1}% + \pgfmathfloatparsenumberpendingperiodtrue + \pgfmathfloatparsenumber@impl@positiveexp}% + \pgfmathfloatparsenumber@sanitize@digit + \fi\fi\fi + \fi + \fi + \pgfmathfloatparsenumber@NEXT +} + +\def\pgfmathfloatparsenumber@impl@leadingzero@foundperiod#1{% + \def\pgfmathfloatparsenumber@curtok{#1}% + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@ZERO + \def\pgfmathfloatparsenumber@NEXT{% + \advance\pgfmathfloat@a@E by-1 + \pgfmathfloatparsenumber@impl@leadingzero@foundperiod}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@e + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@a@S=0\relax% + \pgfmathfloat@a@Mtok={0.0}% + \pgfmathfloat@a@E=0% + \pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@E + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@a@S=0\relax% + \pgfmathfloat@a@Mtok={0.0}% + \pgfmathfloat@a@E=0% + \pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloat@EOI + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@a@S=0\relax% + \pgfmathfloat@a@Mtok={0.0}% + \pgfmathfloat@a@E=0% + }% + \else + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@a@Mtok={#1}% + \pgfmathfloatparsenumberpendingperiodtrue + \pgfmathfloatparsenumber@impl@finish@number@after@period}% + \pgfmathfloatparsenumber@sanitize@digit + \fi\fi\fi + \fi + \pgfmathfloatparsenumber@NEXT +} + + +\def\pgfmathfloatparsenumber@impl@positiveexp#1{% + \def\pgfmathfloatparsenumber@curtok{#1}% + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@ZERO + \def\pgfmathfloatparsenumber@NEXT{% + \advance\pgfmathfloat@a@E by1 + \pgfmathfloat@tmptoks=\expandafter{\the\pgfmathfloat@tmptoks0}% + \pgfmathfloatparsenumber@impl@pendingzeros@positiveexp}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@PERIOD + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@finish@number@after@period}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@e + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@E + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloat@EOI + \def\pgfmathfloatparsenumber@NEXT{}% + \else + \def\pgfmathfloatparsenumber@NEXT{% + \advance\pgfmathfloat@a@E by1 + \ifpgfmathfloatparsenumberpendingperiod + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok.}% + \pgfmathfloatparsenumberpendingperiodfalse + \fi + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok#1}% + \pgfmathfloatparsenumber@impl@positiveexp}% + \pgfmathfloatparsenumber@sanitize@digit + \fi\fi\fi + \fi + \fi + \pgfmathfloatparsenumber@NEXT +} + +\def\pgfmathfloatparsenumber@impl@readexponent#1\pgfmathfloat@EOI{% + \advance\pgfmathfloat@a@E by#1\relax +} + +\def\pgfmathfloatparsenumber@impl@pendingzeros@positiveexp#1{% + \def\pgfmathfloatparsenumber@curtok{#1}% + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@ZERO + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@tmptoks=\expandafter{\the\pgfmathfloat@tmptoks0}% + \advance\pgfmathfloat@a@E by1 + \pgfmathfloatparsenumber@impl@pendingzeros@positiveexp}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@PERIOD + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@finish@number@after@period}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@e + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@E + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloat@EOI + \def\pgfmathfloatparsenumber@NEXT{}% + \else + \def\pgfmathfloatparsenumber@NEXT{% + \advance\pgfmathfloat@a@E by1 + \ifpgfmathfloatparsenumberpendingperiod + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok.}% + \pgfmathfloatparsenumberpendingperiodfalse + \fi + \pgfmathfloat@a@Mtok=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\pgfmathfloat@a@Mtok\the\pgfmathfloat@tmptoks}% + \pgfmathfloat@tmptoks={}% + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok#1}% + \pgfmathfloatparsenumber@impl@positiveexp}% + \pgfmathfloatparsenumber@sanitize@digit + \fi\fi\fi + \fi + \fi + \pgfmathfloatparsenumber@NEXT +} + +\def\pgfmathfloatparsenumber@impl@finish@number@after@period#1{% + \def\pgfmathfloatparsenumber@curtok{#1}% + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@ZERO + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@tmptoks=\expandafter{\the\pgfmathfloat@tmptoks0}% + \pgfmathfloatparsenumber@impl@pendingzeros}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@e + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@E + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloat@EOI + \def\pgfmathfloatparsenumber@NEXT{}% + \else + \def\pgfmathfloatparsenumber@NEXT{% + \ifpgfmathfloatparsenumberpendingperiod + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok.}% + \pgfmathfloatparsenumberpendingperiodfalse + \fi + \pgfmathfloat@a@Mtok=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\pgfmathfloat@a@Mtok\the\pgfmathfloat@tmptoks}% + \pgfmathfloat@tmptoks={}% + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok#1}% + \pgfmathfloatparsenumber@impl@finish@number@after@period}% + \pgfmathfloatparsenumber@sanitize@digit + \fi\fi\fi + \fi + \pgfmathfloatparsenumber@NEXT +} + +\def\pgfmathfloatparsenumber@impl@pendingzeros#1{% + \def\pgfmathfloatparsenumber@curtok{#1}% + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@ZERO + \def\pgfmathfloatparsenumber@NEXT{% + \pgfmathfloat@tmptoks=\expandafter{\the\pgfmathfloat@tmptoks0}% + \pgfmathfloatparsenumber@impl@pendingzeros}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@e + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloatparsenumber@tok@E + \def\pgfmathfloatparsenumber@NEXT{\pgfmathfloatparsenumber@impl@readexponent}% + \else + \ifx\pgfmathfloatparsenumber@curtok\pgfmathfloat@EOI + \def\pgfmathfloatparsenumber@NEXT{}% + \else + \def\pgfmathfloatparsenumber@NEXT{% + \ifpgfmathfloatparsenumberpendingperiod + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok.}% + \pgfmathfloatparsenumberpendingperiodfalse + \fi + \pgfmathfloat@a@Mtok=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\pgfmathfloat@a@Mtok\the\pgfmathfloat@tmptoks}% + \pgfmathfloat@tmptoks={}% + \pgfmathfloat@a@Mtok=\expandafter{\the\pgfmathfloat@a@Mtok#1}% + \pgfmathfloatparsenumber@impl@finish@number@after@period}% + \pgfmathfloatparsenumber@sanitize@digit + \fi\fi\fi + \fi + \pgfmathfloatparsenumber@NEXT +} + + + diff --git a/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex new file mode 100644 index 00000000000..53b602b0d9a --- /dev/null +++ b/Master/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex @@ -0,0 +1,7192 @@ +%-------------------------------------------- +% +% 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 . +% +%-------------------------------------------- + +\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! + +\newif\ifpgfplots@xislinear +\newif\ifpgfplots@yislinear +\newcount\pgfplots@numplots +\newdimen\pgfplots@xcoordminTEX +\newdimen\pgfplots@xcoordmaxTEX +\newdimen\pgfplots@ycoordminTEX +\newdimen\pgfplots@ycoordmaxTEX +\newif\ifpgfplots@warn@for@filter@discards +\newif\ifpgfplots@isuniformtick +\newif\ifpgfplots@clip@limits +\newif\ifpgfplots@enlargelimits +\newif\ifpgfplots@enlargelimits@rel@thresh +\newif\ifpgfplots@enlargelimits@auto +\newif\ifpgfplots@tickshow +\newif\ifpgfplots@xminorticks +\newif\ifpgfplots@xmajorticks +\newif\ifpgfplots@yminorticks +\newif\ifpgfplots@ymajorticks +\newif\ifpgfplots@xminorgrids +\newif\ifpgfplots@xmajorgrids +\newif\ifpgfplots@yminorgrids +\newif\ifpgfplots@ymajorgrids +\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@x +\newif\ifpgfplots@hide@y +\newif\ifpgfplots@is@old@list@format +\newif\ifpgfplots@errorbars@enabled +\newif\ifpgfplots@scale@only@axis +\newif\ifpgfplots@xticklabel@interval +\newif\ifpgfplots@yticklabel@interval +\newif\ifpgfplots@stacked@x +\newif\ifpgfplots@stackedmode +\newif\ifpgfplots@stacked@reverse +\newif\ifpgfplots@stacked@plus +\newif\ifpgfplots@plot@file@skipfirst +\let\pgfnodepartimagebox=\pgfnodeparttextbox + +\newif\ifpgfplots@collect@firstplot@astick + +\def\pgfplots@errorbars@xdirection{0}% pre-init, see below +\def\pgfplots@errorbars@ydirection{0}% + +\def\axisdefaultwidth{240pt} +\def\axisdefaultheight{207pt} + + + + +% Creates a named plot cycle list. +% +% #1: the name of the final list. Can be used in 'cycle list name' +% #2: the list entries. You can use either a comma-separated list or +% a '\\'-terminated list. The latter case also requires '\\' +% AFTER the last entry. +\def\pgfcreateplotcyclelist#1#2{\pgfplots@assign@list#1{#2}} + +\pgfcreateplotcyclelist{\blackwhiteplotspeclist}{% + 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\\% + 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,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,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\pgfplotsdeprecatedstylecheck#1{% + \pgfkeysifdefined{#1/.@cmd}{% + \begingroup + \edef\pgfkeyscurrentkey{#1}% + \pgfkeyssplitpath + \pgfplots@warning{Loading deprecated style option + \pgfkeyscurrentpath/\pgfkeyscurrentname. + Please replace '\string\tikzstyle{\pgfkeyscurrentname}' + with '\string\pgfplotsset{\pgfkeyscurrentname/.style={}}' + (or '\string\pgfplotsset{\pgfkeyscurrentname/.append style={}}').}% + \endgroup + \pgfkeysvalueof{#1/.@cmd}\pgfeov + }{}% +}% + +\pgfkeys{% + /pgfplots/search path for tikz/.unknown/.code={% + \let\searchname=\pgfkeyscurrentname% + \pgfkeysalso{% + /tikz/\searchname/.try=#1, + /pgfplots/\searchname/.lastretry=#1 + }% + },% + /pgfplots/.is family, + /pgfplots/scale/.is family, + /pgfplots/legend/.is family, + /pgfplots/tick/.is family, + /pgfplots/axis/.is family, + /pgfplots/descriptions/.is family, + /pgfplots/style commands/.is family, + /pgfplots/naming commands/.is family, + /pgfplots/error bars/.is family, + /pgfplots/every axis/.style={}, + /pgfplots/every axis/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis}}, + /pgfplots/every axis/.belongs to family=/pgfplots/style commands, + /pgfplots/every semilogx axis/.style={}, + /pgfplots/every semilogx axis/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every semilogx axis}}, + /pgfplots/every semilogx axis/.belongs to family=/pgfplots/style commands, + /pgfplots/every semilogy axis/.style={}, + /pgfplots/every semilogy axis/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every semilogy axis}}, + /pgfplots/every semilogy axis/.belongs to family=/pgfplots/style commands, + /pgfplots/every loglog axis/.style={}, + /pgfplots/every loglog axis/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every loglog axis}}, + /pgfplots/every loglog axis/.belongs to family=/pgfplots/style commands, + /pgfplots/every linear axis/.style={}, + /pgfplots/every linear axis/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every linear axis}}, + /pgfplots/every linear axis/.belongs to family=/pgfplots/style commands, + /pgfplots/every axis plot/.style={}, + /pgfplots/every axis plot/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis plot}}, + /pgfplots/every axis plot/.belongs to family=/pgfplots/style commands, + /pgfplots/every axis plot post/.style={}, + /pgfplots/every axis plot post/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis plot}}, + /pgfplots/every axis label/.style={}, + /pgfplots/every axis label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis label}}, + /pgfplots/every axis label/.belongs to family=/pgfplots/style commands, + /pgfplots/every axis x label/.style={at={(0.5,0)},below,yshift=-15pt}, + /pgfplots/every axis x label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis x label}}, + /pgfplots/every axis x label/.belongs to family=/pgfplots/style commands, + /pgfplots/every axis y label/.style={at={(0,0.5)},xshift=-35pt,rotate=90}, + /pgfplots/every axis y label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis y label}}, + /pgfplots/every axis y label/.belongs to family=/pgfplots/style commands, + /pgfplots/every axis title/.style={at={(0.5,1)},above,yshift=6pt}, + /pgfplots/every axis title/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis title}}, + /pgfplots/every axis title/.belongs to family=/pgfplots/style commands, + /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, + /pgfplots/every major tick/.style={}, + /pgfplots/every major tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major tick}}, + /pgfplots/every major tick/.belongs to family=/pgfplots/style commands, + /pgfplots/every x tick/.style={}, + /pgfplots/every x tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every x tick}}, + /pgfplots/every x tick/.belongs to family=/pgfplots/style commands, + /pgfplots/every minor x tick/.style={}, + /pgfplots/every minor x tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor x tick}}, + /pgfplots/every minor x tick/.belongs to family=/pgfplots/style commands, + /pgfplots/every major x tick/.style={}, + /pgfplots/every major x tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major x tick}}, + /pgfplots/every major x tick/.belongs to family=/pgfplots/style commands, + /pgfplots/every y tick/.style={}, + /pgfplots/every y tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every y tick}}, + /pgfplots/every y tick/.belongs to family=/pgfplots/style commands, + /pgfplots/every minor y tick/.style={}, + /pgfplots/every minor y tick/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor y tick}}, + /pgfplots/every minor y tick/.belongs to family=/pgfplots/style commands, + /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={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={}, + /pgfplots/every minor grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor grid}}, + /pgfplots/every minor grid/.belongs to family=/pgfplots/style commands, + /pgfplots/every major grid/.style={}, + /pgfplots/every major grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major grid}}, + /pgfplots/every major grid/.belongs to family=/pgfplots/style commands, + /pgfplots/every axis x grid/.style={}, + /pgfplots/every axis x grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis x grid}}, + /pgfplots/every axis x grid/.belongs to family=/pgfplots/style commands, + /pgfplots/every minor x grid/.style={}, + /pgfplots/every minor x grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor x grid}}, + /pgfplots/every minor x grid/.belongs to family=/pgfplots/style commands, + /pgfplots/every major x grid/.style={}, + /pgfplots/every major x grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major x grid}}, + /pgfplots/every major x grid/.belongs to family=/pgfplots/style commands, + /pgfplots/every axis y grid/.style={}, + /pgfplots/every axis y grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis y grid}}, + /pgfplots/every axis y grid/.belongs to family=/pgfplots/style commands, + /pgfplots/every minor y grid/.style={}, + /pgfplots/every minor y grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every minor y grid}}, + /pgfplots/every minor y grid/.belongs to family=/pgfplots/style commands, + /pgfplots/every major y grid/.style={}, + /pgfplots/every major y grid/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every major y grid}}, + /pgfplots/every major y grid/.belongs to family=/pgfplots/style commands, + /pgfplots/every tick label/.style={}, + /pgfplots/every tick label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every tick label}}, + /pgfplots/every tick label/.belongs to family=/pgfplots/style commands, + /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/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, + /pgfplots/extra x tick style/.code={% + \pgfkeysalso{/pgfplots/every extra x tick/.append style={#1}}% + }, + /pgfplots/every x tick scale label/.style={at={(1,0)},yshift=-2em,left,inner sep=0pt}, + /pgfplots/every x tick scale label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every x tick scale label}}, + /pgfplots/every x tick scale label/.belongs to family=/pgfplots/style commands, + /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/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, + /pgfplots/extra y tick style/.code={% + \pgfkeysalso{/pgfplots/every extra y tick/.append style={#1}}% + }, + /pgfplots/every y tick scale label/.style={at={(0,1)},above right,inner sep=0pt,yshift=0.3em}, + /pgfplots/every y tick scale label/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every y tick scale label}}, + /pgfplots/every y tick scale label/.belongs to family=/pgfplots/style commands, + /pgfplots/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)}, + }, + /pgfplots/every axis legend/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every axis legend}}, + /pgfplots/every axis legend/.belongs to family=/pgfplots/style commands, +% tick options: + /pgfplots/xticklabel/.store in= \pgfplots@xticklabel, + /pgfplots/xticklabel/.belongs to family=/pgfplots/tick, + /pgfplots/xticklabel=, + /pgfplots/xticklabels/.belongs to family=/pgfplots/tick, + /pgfplots/xticklabels/.code={% + \pgfplots@foreach@to@list{#1}\to\pgfplots@xticklabels + \let\pgfplots@xticklabel=\pgfplots@user@ticklabel@list@x + }, + /pgfplots/yticklabels/.belongs to family=/pgfplots/tick, + /pgfplots/yticklabels/.code={% + \pgfplots@foreach@to@list{#1}\to\pgfplots@yticklabels + \let\pgfplots@yticklabel=\pgfplots@user@ticklabel@list@y + }, + /pgfplots/yticklabel/.store in= \pgfplots@yticklabel, + /pgfplots/yticklabel/.belongs to family=/pgfplots/tick, + /pgfplots/yticklabel=, + /pgfplots/x tick label as interval/.is if=pgfplots@xticklabel@interval, + /pgfplots/x tick label as interval/.default=true, + /pgfplots/x tick label as interval/.belongs to family=/pgfplots/tick, + /pgfplots/y tick label as interval/.is if=pgfplots@yticklabel@interval, + /pgfplots/y tick label as interval/.default=true, + /pgfplots/y tick label as interval/.belongs to family=/pgfplots/tick, + /pgfplots/extra x tick label/.store in= \pgfplots@extra@xticklabel, + /pgfplots/extra x tick label/.belongs to family=/pgfplots/tick, + /pgfplots/extra x tick label=, + /pgfplots/extra x tick labels/.belongs to family=/pgfplots/tick, + /pgfplots/extra x tick labels/.code={% + \pgfplots@foreach@to@list{#1}\to\pgfplots@extra@xticklabels + \let\pgfplots@extra@xticklabel=\pgfplots@user@extra@ticklabel@list@x + }, + /pgfplots/extra y tick labels/.code={% + \pgfplots@foreach@to@list{#1}\to\pgfplots@extra@yticklabels + \let\pgfplots@extra@yticklabel=\pgfplots@user@extra@ticklabel@list@y + }, + /pgfplots/xtick/.store in= \pgfplots@xtick, + /pgfplots/xtick/.belongs to family=/pgfplots/tick, + /pgfplots/xtick=, + /pgfplots/extra x ticks/.store in=\pgfplots@extra@xtick, + /pgfplots/extra x ticks/.belongs to family=/pgfplots/tick, + /pgfplots/extra x ticks=, + /pgfplots/xtickten/.store in= \pgfplots@xtickten, + /pgfplots/xtickten/.belongs to family=/pgfplots/tick, + /pgfplots/xtickten=, + /pgfplots/extra y tick label/.store in= \pgfplots@extra@yticklabel, + /pgfplots/extra y tick label/.belongs to family=/pgfplots/tick, + /pgfplots/extra y tick label=, + /pgfplots/ytick/.store in= \pgfplots@ytick, + /pgfplots/ytick/.belongs to family=/pgfplots/tick, + /pgfplots/ytick=, + /pgfplots/extra y ticks/.store in=\pgfplots@extra@ytick, + /pgfplots/extra y ticks/.belongs to family=/pgfplots/tick, + /pgfplots/extra y ticks=, + /pgfplots/ytickten/.store in= \pgfplots@ytickten, + /pgfplots/ytickten/.belongs to family=/pgfplots/tick, + /pgfplots/ytickten=, + /pgfplots/tick scale label code/.code={$\cdot 10^{#1}$}, + /pgfplots/tick scale label code/.belongs to family=/pgfplots/tick, + /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, + /pgfplots/scale ticks below exponent/.store in= \pgfplots@scale@ticks@below@exponent, + /pgfplots/scale ticks below exponent/.belongs to family=/pgfplots/tick, + /pgfplots/scale ticks below exponent=-1, + /pgfplots/subtickwidth/.store in= \pgfplots@subtickwidth, + /pgfplots/subtickwidth/.belongs to family=/pgfplots/tick, + /pgfplots/subtickwidth=0.1cm, + /pgfplots/tickwidth/.store in= \pgfplots@tickwidth, + /pgfplots/tickwidth/.belongs to family=/pgfplots/tick, + /pgfplots/tickwidth=0.15cm, + /pgfplots/minor x tick num/.initial=0, + /pgfplots/minor x tick num/.belongs to family=/pgfplots/tick, + /pgfplots/minor y tick num/.initial=0, + /pgfplots/minor y tick num/.belongs to family=/pgfplots/tick, + /pgfplots/minor tick num/.style={/pgfplots/minor x tick num=#1,/pgfplots/minor y tick num=#1}, + /pgfplots/minor tick num/.belongs to family=/pgfplots/tick, + /pgfplots/minor tick length/.estore in=\pgfplots@subtickwidth, + /pgfplots/minor tick length/.belongs to family=/pgfplots/tick, + /pgfplots/major tick length/.estore in=\pgfplots@tickwidth, + /pgfplots/major tick length/.belongs to family=/pgfplots/tick, + /pgfplots/max space between ticks/.estore in=\axisdefaulttickwidth, + /pgfplots/max space between ticks/.belongs to family=/pgfplots/tick, + /pgfplots/max space between ticks=35,% the maximum space between adjacent ticks (in pt, but don't specify the unit 'pt') + /pgfplots/try min ticks/.estore in= \axisdefaulttryminticks, + /pgfplots/try min ticks/.belongs to family=/pgfplots/tick, + /pgfplots/try min ticks=4, + /pgfplots/try min ticks log/.estore in= \pgfplots@default@try@minticks@log, + /pgfplots/try min ticks log/.belongs to family=/pgfplots/tick, + /pgfplots/try min ticks log=3, + /pgfplots/log plot exponent style/.style={/pgf/number format/fixed,/pgf/number format/precision=2}, + /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=false, + /pgfplots/log number format code/.code={{% + \pgfmathlogtologten@{#1}% + \ifpgfplots@identify@log@minor@tick@pos + \expandafter\pgfplots@is@log@tick@a@minor@tick@pos\pgfmathresult\relax% + \else + \pgfplots@log@tick@isminor@tick@posfalse + \fi + \ifpgfplots@log@tick@isminor@tick@pos + \pgfmathprintnumber[sci]{\pgfmathresult}% + \else + \pgfkeysalso{/pgfplots/log plot exponent style,/pgfplots/log base 10 number format code=\pgfmathresult}% + \fi + }}, + /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@[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, +% 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/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/.style={% + /pgfplots/xtick align=#1, + /pgfplots/ytick align=#1, + },% +% 'axis' options: + /pgfplots/anchor/.belongs to family=/pgfplots, + /pgfplots/anchor/.store in= \pgfplots@anchorname, + /pgfplots/anchor=south west, +% tick options: + /pgfplots/ticks/.is choice, + /pgfplots/ticks/.belongs to family=/pgfplots/tick, + /pgfplots/ticks/none/.belongs to family=/pgfplots/tick, + /pgfplots/ticks/none/.code={% + \pgfplots@xminorticksfalse + \pgfplots@yminorticksfalse + \pgfplots@xmajorticksfalse + \pgfplots@ymajorticksfalse + }, + /pgfplots/ticks/major/.belongs to family=/pgfplots/tick, + /pgfplots/ticks/major/.code={% + \pgfplots@xminorticksfalse + \pgfplots@yminorticksfalse + \pgfplots@xmajortickstrue + \pgfplots@ymajortickstrue + }, + /pgfplots/ticks/minor/.belongs to family=/pgfplots/tick, + /pgfplots/ticks/minor/.code={% + \pgfplots@xminortickstrue + \pgfplots@yminortickstrue + \pgfplots@xmajorticksfalse + \pgfplots@ymajorticksfalse + }, + /pgfplots/ticks/both/.belongs to family=/pgfplots/tick, + /pgfplots/ticks/both/.code={% + \pgfplots@xminortickstrue + \pgfplots@yminortickstrue + \pgfplots@xmajortickstrue + \pgfplots@ymajortickstrue + }, + /pgfplots/ticks=both, + /pgfplots/grid/.is choice, + /pgfplots/grid/.belongs to family=/pgfplots/tick, + /pgfplots/grid/none/.belongs to family=/pgfplots/tick, + /pgfplots/grid/none/.code={% + \pgfplots@xminorgridsfalse + \pgfplots@yminorgridsfalse + \pgfplots@xmajorgridsfalse + \pgfplots@ymajorgridsfalse + }, + /pgfplots/grid/major/.belongs to family=/pgfplots/tick, + /pgfplots/grid/major/.code={% + \pgfplots@xminorgridsfalse + \pgfplots@yminorgridsfalse + \pgfplots@xmajorgridstrue + \pgfplots@ymajorgridstrue + }, + /pgfplots/grid/minor/.belongs to family=/pgfplots/tick, + /pgfplots/grid/minor/.code={% + \pgfplots@xminorgridstrue + \pgfplots@yminorgridstrue + \pgfplots@xmajorgridsfalse + \pgfplots@ymajorgridsfalse + }, + /pgfplots/grid/both/.belongs to family=/pgfplots/tick, + /pgfplots/grid/both/.code={% + \pgfplots@xminorgridstrue + \pgfplots@yminorgridstrue + \pgfplots@xmajorgridstrue + \pgfplots@ymajorgridstrue + }, + /pgfplots/grid=none, + /pgfplots/grid/.default=major, + /pgfplots/xminorticks/.is if=pgfplots@xminorticks, + /pgfplots/xminorticks/.default=true, + /pgfplots/xminorticks/.belongs to family=/pgfplots/tick, + /pgfplots/xmajorticks/.is if=pgfplots@xmajorticks, + /pgfplots/xmajorticks/.default=true, + /pgfplots/xmajorticks/.belongs to family=/pgfplots/tick, + /pgfplots/yminorticks/.is if=pgfplots@yminorticks, + /pgfplots/yminorticks/.default=true, + /pgfplots/yminorticks/.belongs to family=/pgfplots/tick, + /pgfplots/ymajorticks/.is if=pgfplots@ymajorticks, + /pgfplots/ymajorticks/.default=true, + /pgfplots/ymajorticks/.belongs to family=/pgfplots/tick, + /pgfplots/xminorgrids/.is if=pgfplots@xminorgrids, + /pgfplots/xminorgrids/.default=true, + /pgfplots/xminorgrids/.belongs to family=/pgfplots/tick, + /pgfplots/xmajorgrids/.is if=pgfplots@xmajorgrids, + /pgfplots/xmajorgrids/.default=true, + /pgfplots/xmajorgrids/.belongs to family=/pgfplots/tick, + /pgfplots/yminorgrids/.is if=pgfplots@yminorgrids, + /pgfplots/yminorgrids/.default=true, + /pgfplots/yminorgrids/.belongs to family=/pgfplots/tick, + /pgfplots/ymajorgrids/.is if=pgfplots@ymajorgrids, + /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, + /pgfplots/legend plot pos/.is choice, + /pgfplots/legend plot pos/.belongs to family=/pgfplots/legend, + /pgfplots/legend plot pos/left/.code= {\def\pgfplots@legend@plot@pos{0}}, + /pgfplots/legend plot pos/left/.belongs to family=/pgfplots/legend, + /pgfplots/legend plot pos/right/.code= {\def\pgfplots@legend@plot@pos{1}}, + /pgfplots/legend plot pos/right/.belongs to family=/pgfplots/legend, + /pgfplots/legend plot pos/none/.code= {\def\pgfplots@legend@plot@pos{2}}, + /pgfplots/legend plot pos/none/.belongs to family=/pgfplots/legend, + /pgfplots/legend plot pos=left, + /pgfplots/legend image code/.code={% + \draw[#1,mark repeat=2,mark phase=2] + plot coordinates { + (0cm,0cm) + (0.3cm,0cm) + (0.6cm,0cm)% + };% + }, + /pgfplots/legend image code/.belongs to family=/pgfplots/legend, +% axis description options: + /pgfplots/title/.initial=, + /pgfplots/title/.belongs to family=/pgfplots/descriptions, + /pgfplots/xlabel/.initial=, + /pgfplots/xlabel/.belongs to family=/pgfplots/descriptions, + /pgfplots/ylabel/.initial=, + /pgfplots/ylabel/.belongs to family=/pgfplots/descriptions, + /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={% + \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, + /pgfplots/clip limits=true, + /pgfplots/clip limits/.belongs to family=/pgfplots, + /pgfplots/xmin/.belongs to family=/pgfplots, + /pgfplots/xmin/.initial=, + /pgfplots/xmax/.belongs to family=/pgfplots, + /pgfplots/xmax/.initial=, + /pgfplots/ymin/.belongs to family=/pgfplots, + /pgfplots/ymin/.initial=, + /pgfplots/ymax/.belongs to family=/pgfplots, + /pgfplots/ymax/.initial=, + /pgfplots/stack plots/.is choice, + /pgfplots/stack plots/.belongs to family=/pgfplots, + /pgfplots/stack plots/x/.code={\pgfplots@stacked@xtrue\pgfplots@stackedmodetrue}, + /pgfplots/stack plots/x/.belongs to family=/pgfplots, + /pgfplots/stack plots/y/.code={\pgfplots@stacked@xfalse\pgfplots@stackedmodetrue}, + /pgfplots/stack plots/y/.belongs to family=/pgfplots, + /pgfplots/stack plots/false/.code={\pgfplots@stackedmodefalse}, + /pgfplots/stack plots/false/.belongs to family=/pgfplots, + /pgfplots/stack plots=false, + /pgfplots/reverse stacked plots/.is if=pgfplots@stacked@reverse, + /pgfplots/reverse stacked plots/.belongs to family=/pgfplots, + /pgfplots/reverse stacked plots/.default=true, + /pgfplots/reverse stacked plots=true, + /pgfplots/stack dir/.is choice, + /pgfplots/stack dir/.belongs to family=/pgfplots, + /pgfplots/stack dir/plus/.code={\pgfplots@stacked@plustrue}, + /pgfplots/stack dir/plus/.belongs to family=/pgfplots, + /pgfplots/stack dir/minus/.code={\pgfplots@stacked@plusfalse}, + /pgfplots/stack dir/minus/.belongs to family=/pgfplots, + /pgfplots/stack dir=plus, + /pgfplots/filter discard warning/.is if=pgfplots@warn@for@filter@discards, + /pgfplots/filter discard warning=true, + /pgfplots/x filter/.code={}, + /pgfplots/x filter/.belongs to family=/pgfplots, + /pgfplots/y filter/.code={}, + /pgfplots/y filter/.belongs to family=/pgfplots, + /pgfplots/skip coords between index/.style 2 args={% + /pgfplots/x filter/.append code={% + \ifnum\coordindex<#1\relax + \else + \ifnum\coordindex<#2\relax + \let\pgfmathresult=\pgfutil@empty + \fi + \fi} + }, + /pgfplots/xfilter/.initial=,% DEPRECATED + /pgfplots/xfilter/.belongs to family=/pgfplots, + /pgfplots/yfilter/.initial=,% DEPRECATED + /pgfplots/yfilter/.belongs to family=/pgfplots, + /pgfplots/width/.store in= \pgfplots@width, + /pgfplots/width/.belongs to family=/pgfplots, + /pgfplots/width=, + /pgfplots/height/.store in= \pgfplots@height, + /pgfplots/height/.belongs to family=/pgfplots, + /pgfplots/height=, + /pgfplots/execute at begin plot/.store in=\pgfplots@execute@at@begin@plot, + /pgfplots/execute at begin plot/.belongs to family=/pgfplots, + /pgfplots/execute at begin plot=, + /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/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, + /pgfplots/x=,% is implicitly set by 'width' and/or '\axisdefaultwidth' + /pgfplots/y/.store in= \pgfplots@y, + /pgfplots/y/.belongs to family=/pgfplots, + /pgfplots/y=,% is implicitly set by 'width' and/or '\axisdefaultwidth' + /pgfplots/cycle list/.code={\pgfplots@assign@list\autoplotspeclist{#1}}, + /pgfplots/cycle list/.belongs to family=/pgfplots, + /pgfplots/cycle list name/.code={\let\autoplotspeclist=#1\relax}, + /pgfplots/cycle list name/.belongs to family=/pgfplots, + /pgfplots/cycle list name=\coloredplotspeclist, + /pgfplots/legend style/.belongs to family=/pgfplots/style commands, + /pgfplots/legend style/.code={% + \pgfkeysalso{/pgfplots/every axis legend/.append style={#1}}% + }, + /pgfplots/label style/.belongs to family=/pgfplots/style commands, + /pgfplots/label style/.code={% + \pgfkeysalso{/pgfplots/every axis label/.append style={#1}}% + },% + /pgfplots/x label style/.belongs to family=/pgfplots/style commands, + /pgfplots/x label style/.code={% + \pgfkeysalso{/pgfplots/every axis x label/.append style={#1}}% + }, + /pgfplots/y label style/.belongs to family=/pgfplots/style commands, + /pgfplots/y label style/.code={% + \pgfkeysalso{/pgfplots/every axis y label/.append style={#1}}% + }, + /pgfplots/title style/.belongs to family=/pgfplots/style commands, + /pgfplots/title style/.code={% + \pgfkeysalso{/pgfplots/every axis title/.append style={#1}}% + }, + /pgfplots/tick label style/.belongs to family=/pgfplots/style commands, + /pgfplots/tick label style/.code={% + \pgfkeysalso{/pgfplots/every tick label/.append style={#1}}% + }, + /pgfplots/x tick label style/.belongs to family=/pgfplots/style commands, + /pgfplots/x tick label style/.code={% + \pgfkeysalso{/pgfplots/every x tick label/.append style={#1}}% + }, + /pgfplots/y tick label style/.belongs to family=/pgfplots/style commands, + /pgfplots/y tick label style/.code={% + \pgfkeysalso{/pgfplots/every y tick label/.append style={#1}}% + }, + /pgfplots/x tick scale label style/.belongs to family=/pgfplots/style commands, + /pgfplots/x tick scale label style/.code={% + \pgfkeysalso{/pgfplots/every x scale tick label/.append style={#1}}% + }, + /pgfplots/y tick scale label style/.belongs to family=/pgfplots/style commands, + /pgfplots/y tick scale label style/.code={% + \pgfkeysalso{/pgfplots/every y scale tick label/.append style={#1}}% + }, + /pgfplots/tick style/.belongs to family=/pgfplots/style commands, + /pgfplots/tick style/.code={% + \pgfkeysalso{/pgfplots/every tick/.append style={#1}}% + }, + /pgfplots/minor tick style/.belongs to family=/pgfplots/style commands, + /pgfplots/minor tick style/.code={% + \pgfkeysalso{/pgfplots/every minor tick/.append style={#1}}% + }, + /pgfplots/major tick style/.belongs to family=/pgfplots/style commands, + /pgfplots/major tick style/.code={% + \pgfkeysalso{/pgfplots/every major tick/.append style={#1}}% + }, + /pgfplots/x tick style/.belongs to family=/pgfplots/style commands, + /pgfplots/x tick style/.code={% + \pgfkeysalso{/pgfplots/every x tick/.append style={#1}}% + }, + /pgfplots/minor x tick style/.belongs to family=/pgfplots/style commands, + /pgfplots/minor x tick style/.code={% + \pgfkeysalso{/pgfplots/every minor x tick/.append style={#1}}% + }, + /pgfplots/major x tick style/.belongs to family=/pgfplots/style commands, + /pgfplots/major x tick style/.code={% + \pgfkeysalso{/pgfplots/every major x tick/.append style={#1}}% + }, + /pgfplots/y tick style/.belongs to family=/pgfplots/style commands, + /pgfplots/y tick style/.code={% + \pgfkeysalso{/pgfplots/every y tick/.append style={#1}}% + }, + /pgfplots/minor y tick style/.belongs to family=/pgfplots/style commands, + /pgfplots/minor y tick style/.code={% + \pgfkeysalso{/pgfplots/every minor y tick/.append style={#1}}% + }, + /pgfplots/major y tick style/.belongs to family=/pgfplots/style commands, + /pgfplots/major y tick style/.code={% + \pgfkeysalso{/pgfplots/every major y tick/.append style={#1}}% + }, + /pgfplots/grid style/.belongs to family=/pgfplots/style commands, + /pgfplots/grid style/.code={% + \pgfkeysalso{/pgfplots/every axis grid/.append style={#1}}% + }, + /pgfplots/minor grid style/.belongs to family=/pgfplots/style commands, + /pgfplots/minor grid style/.code={% + \pgfkeysalso{/pgfplots/every minor grid/.append style={#1}}% + }, + /pgfplots/major grid style/.belongs to family=/pgfplots/style commands, + /pgfplots/major grid style/.code={% + \pgfkeysalso{/pgfplots/every major grid/.append style={#1}}% + }, + /pgfplots/x grid style/.belongs to family=/pgfplots/style commands, + /pgfplots/x grid style/.code={% + \pgfkeysalso{/pgfplots/every axis x grid/.append style={#1}}% + }, + /pgfplots/minor x grid style/.belongs to family=/pgfplots/style commands, + /pgfplots/minor x grid style/.code={% + \pgfkeysalso{/pgfplots/every minor x grid/.append style={#1}}% + }, + /pgfplots/major x grid style/.belongs to family=/pgfplots/style commands, + /pgfplots/major x grid style/.code={% + \pgfkeysalso{/pgfplots/every major x grid/.append style={#1}}% + }, + /pgfplots/y grid style/.belongs to family=/pgfplots/style commands, + /pgfplots/y grid style/.code={% + \pgfkeysalso{/pgfplots/every axis y grid/.append style={#1}}% + }, + /pgfplots/minor y grid style/.belongs to family=/pgfplots/style commands, + /pgfplots/minor y grid style/.code={% + \pgfkeysalso{/pgfplots/every minor y grid/.append style={#1}}% + }, + /pgfplots/major y grid style/.belongs to family=/pgfplots/style commands, + /pgfplots/major y grid style/.code={% + \pgfkeysalso{/pgfplots/every major y grid/.append style={#1}}% + }, + /pgfplots/disablelogfilter/.is if=pgfplots@disablelogfilter, + /pgfplots/disablelogfilter/.default=true, + /pgfplots/disablelogfilter/.belongs to family=/pgfplots, + /pgfplots/disablelogfilter=false, + /pgfplots/disabledatascaling/.is if=pgfplots@disabledatascaling, + /pgfplots/disabledatascaling/.default=true, + /pgfplots/disabledatascaling/.belongs to family=/pgfplots, + /pgfplots/disabledatascaling=false, + /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/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 ( 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/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 ( 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/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 +% open = 2 + /pgfplots/axis x discontinuity/.is choice, + /pgfplots/axis x discontinuity/.belongs to family=/pgfplots, %/axis, + /pgfplots/axis x discontinuity/none/.code ={\def\pgfplots@xaxisdiscontnum{0}}, + /pgfplots/axis x discontinuity/none/.belongs to family=/pgfplots, %/axis, + /pgfplots/axis x discontinuity/crunch/.code ={\def\pgfplots@xaxisdiscontnum{1}}, + /pgfplots/axis x discontinuity/crunch/.belongs to family=/pgfplots, %/axis, + /pgfplots/axis x discontinuity/parallel/.code ={\def\pgfplots@xaxisdiscontnum{2}}, + /pgfplots/axis x discontinuity/parallel/.belongs to family=/pgfplots, %/axis, + /pgfplots/axis x discontinuity=none, +% set \pgfplots@yaxisdiscontnum +% none = 0 +% crunch = 1 +% open = 2 + /pgfplots/axis y discontinuity/.is choice, + /pgfplots/axis y discontinuity/.belongs to family=/pgfplots, %/axis, + /pgfplots/axis y discontinuity/none/.code ={\def\pgfplots@yaxisdiscontnum{0}}, + /pgfplots/axis y discontinuity/none/.belongs to family=/pgfplots, %/axis, + /pgfplots/axis y discontinuity/crunch/.code ={\def\pgfplots@yaxisdiscontnum{1}}, + /pgfplots/axis y discontinuity/crunch/.belongs to family=/pgfplots, %/axis, + /pgfplots/axis y discontinuity/parallel/.code ={\def\pgfplots@yaxisdiscontnum{2}}, + /pgfplots/axis y discontinuity/parallel/.belongs to family=/pgfplots, %/axis, + /pgfplots/axis y discontinuity=none, + /pgfplots/scale only axis/.is if=pgfplots@scale@only@axis, + /pgfplots/scale only axis/.default=true, + /pgfplots/scale only axis/.belongs to family=/pgfplots, + /pgfplots/scale only axis=false, +% sets \pgfplots@xislinear to +% normal=true +% log=false + /pgfplots/xmode/.is choice, + /pgfplots/xmode/.belongs to family=/pgfplots/scale, + /pgfplots/xmode/normal/.code={\pgfplots@xislineartrue}, + /pgfplots/xmode/normal/.belongs to family=/pgfplots/scale, + /pgfplots/xmode/linear/.code={\pgfplots@xislineartrue}, + /pgfplots/xmode/linear/.belongs to family=/pgfplots/scale, + /pgfplots/xmode/log/.code={\pgfplots@xislinearfalse}, + /pgfplots/xmode/log/.belongs to family=/pgfplots/scale, + /pgfplots/xmode=linear, + /pgfplots/ymode/.is choice, + /pgfplots/ymode/.belongs to family=/pgfplots/scale, + /pgfplots/ymode/normal/.code={\pgfplots@yislineartrue}, + /pgfplots/ymode/normal/.belongs to family=/pgfplots/scale, + /pgfplots/ymode/linear/.code={\pgfplots@yislineartrue}, + /pgfplots/ymode/linear/.belongs to family=/pgfplots/scale, + /pgfplots/ymode/log/.code={\pgfplots@yislinearfalse}, + /pgfplots/ymode/log/.belongs to family=/pgfplots/scale, + /pgfplots/ymode=linear, + /pgfplots/error bars/x fixed/.code= \def\pgfplots@errorbars@xfixed{#1}\def\pgfplots@errorbars@xmode{0}, + /pgfplots/error bars/x fixed relative/.code= \def\pgfplots@errorbars@xrel{#1}\def\pgfplots@errorbars@xmode{1}, + /pgfplots/error bars/x explicit/.code= \def\pgfplots@errorbars@xmode{2}, + /pgfplots/error bars/x explicit relative/.code= \def\pgfplots@errorbars@xmode{3}, + /pgfplots/error bars/x fixed relative=0, + /pgfplots/error bars/x fixed=0, + /pgfplots/error bars/y fixed/.code= \def\pgfplots@errorbars@yfixed{#1}\def\pgfplots@errorbars@ymode{0}, + /pgfplots/error bars/y fixed relative/.code= \def\pgfplots@errorbars@yrel{#1}\def\pgfplots@errorbars@ymode{1}, + /pgfplots/error bars/y explicit/.code= \def\pgfplots@errorbars@ymode{2}, + /pgfplots/error bars/y explicit relative/.code= \def\pgfplots@errorbars@ymode{3}, + /pgfplots/error bars/y fixed relative=0, + /pgfplots/error bars/y fixed=0, + /pgfplots/error bars/x dir/.is choice, + /pgfplots/error bars/x dir/none/.code={% + \def\pgfplots@errorbars@xdirection{0}% + \ifnum\pgfplots@errorbars@ydirection=0 + \pgfplots@errorbars@enabledfalse + \fi + }, + /pgfplots/error bars/x dir/plus/.code= \def\pgfplots@errorbars@xdirection{1}\pgfplots@errorbars@enabledtrue, + /pgfplots/error bars/x dir/minus/.code= \def\pgfplots@errorbars@xdirection{2}\pgfplots@errorbars@enabledtrue, + /pgfplots/error bars/x dir/both/.code= \def\pgfplots@errorbars@xdirection{3}\pgfplots@errorbars@enabledtrue, + /pgfplots/error bars/x dir=none, + /pgfplots/error bars/y dir/.is choice, + /pgfplots/error bars/y dir/none/.code={% + \def\pgfplots@errorbars@ydirection{0}% + \ifnum\pgfplots@errorbars@xdirection=0 + \pgfplots@errorbars@enabledfalse + \fi + }, + /pgfplots/error bars/y dir/plus/.code= \def\pgfplots@errorbars@ydirection{1}\pgfplots@errorbars@enabledtrue, + /pgfplots/error bars/y dir/minus/.code= \def\pgfplots@errorbars@ydirection{2}\pgfplots@errorbars@enabledtrue, + /pgfplots/error bars/y dir/both/.code= \def\pgfplots@errorbars@ydirection{3}\pgfplots@errorbars@enabledtrue, + /pgfplots/error bars/y dir=none, + /pgfplots/error bars/error mark/.initial={-}, + /pgfplots/error bars/error mark options/.initial={rotate=90}, + /pgfplots/error bars/error bar style/.code={% + \pgfkeysalso{/pgfplots/every error bar/.append style={#1}}% + }, + /pgfplots/every error bar/.style={thin}, + /pgfplots/every error bar/.append code={\pgfplotsdeprecatedstylecheck{/tikz/every error bar}}, + /pgfplots/error bars/draw error bar/.code 2 args={% +%\message{/pgfplots/error bars/draw error bar: working with '#1' -- '#2'.}% + \pgfkeysgetvalue{/pgfplots/error bars/error mark}{\pgfplotserrorbarsmark}% + \pgfkeysgetvalue{/pgfplots/error bars/error mark options}{\pgfplotserrorbarsmarkopts}% + \draw #1 -- #2 node[pos=1,sloped,allow upside down] {% + \expandafter\tikz\expandafter[\pgfplotserrorbarsmarkopts]{% + \expandafter\pgfuseplotmark\expandafter{\pgfplotserrorbarsmark}% + \pgfusepath{stroke}}% + }; + }, + /pgfplots/bar cycle list/.style={/pgfplots/cycle list={% + {blue,fill=blue!30!white,mark=none},% + {red,fill=red!30!white,mark=none},% + {brown!60!black,fill=brown!30!white,mark=none},% + {black,fill=gray,mark=none},% + } + }, + /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, + 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 + % -> subtract half for centering + -0.5*(\numplots*\pgfplotbarwidth + (\numplots-1)*#1) + + % the '0.5*w' is for centering + (.5+\plotnum)*\pgfplotbarwidth + \plotnum*#1},% + /tikz/ybar, + }, + /pgfplots/ybar/.default=2pt, + /pgfplots/ybar/.belongs to family=/pgfplots, + /pgfplots/xbar/.style={ + bar cycle list, + 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 + % -> subtract half for centering + -0.5*(\numplots*\pgfplotbarwidth + (\numplots-1)*#1) + + % the '0.5*w' is for centering + (.5+\plotnum)*\pgfplotbarwidth + \plotnum*#1},% + /tikz/xbar, + }, + /pgfplots/xbar/.default=2pt, + /pgfplots/xbar/.belongs to family=/pgfplots, + /pgfplots/ybar interval/.style={% + 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}, + bar interval shift={(\plotnum+0.5)/\numplots}, + /tikz/ybar interval, + }, + /pgfplots/ybar interval/.default=1, + /pgfplots/ybar interval/.belongs to family=/pgfplots, + /pgfplots/xbar interval/.style={% + bar cycle list, + 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}, + /tikz/xbar interval, + }, + /pgfplots/xbar interval/.default=1, + /pgfplots/xbar interval/.belongs to family=/pgfplots, + /pgfplots/xbar stacked/.style={ + bar cycle list, + stack plots=x, + stack dir=#1, + /tikz/xbar, + }, + /pgfplots/xbar stacked/.default=plus, + /pgfplots/xbar stacked/.belongs to family=/pgfplots, + /pgfplots/ybar stacked/.style={ + bar cycle list, + stack plots=y, + stack dir=#1, + /tikz/ybar, + }, + /pgfplots/ybar stacked/.default=plus, + /pgfplots/ybar stacked/.belongs to family=/pgfplots, + /pgfplots/xbar interval stacked/.style={ + bar cycle list, + stack plots=x, + stack dir=#1, + /tikz/xbar interval, + }, + /pgfplots/xbar interval stacked/.default=plus, + /pgfplots/xbar interval stacked/.belongs to family=/pgfplots, + /pgfplots/ybar interval stacked/.style={ + bar cycle list, + stack plots=y, + stack dir=#1, + /tikz/ybar interval, + }, + /pgfplots/ybar interval stacked/.default=plus, + /pgfplots/ybar interval stacked/.belongs to family=/pgfplots, + /pgfplots/yticklabel interval boundaries/.style={% + y tick label as interval, + yticklabel={$\pgfmathprintnumber{\tick}$ -- $\pgfmathprintnumber{\nexttick}$} + }, + /pgfplots/xticklabel interval boundaries/.style={% + 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. +% +% If T=i*10^j, \ifpgfplots@log@tick@isminor@tick@pos will be set to true and +% \pgfmathresult will contain T. +% +% Otherwise, \ifpgfplots@log@tick@isminor@tick@pos will be set to false and +% pgfmathresult to #1.#2 +% +% Arguments: +% #1.#2 the value log10(T) +% +% Implementation: +% if T = i*10^j, log10(T) = log10(i) + j. +% That means if log10(T) in \Z, we have T = 10^j. If not, we need to +% check wether i is an integer. Please note that log10(i) < 1. +% +% Further note: log(T) < 0 <=> j<0. +% In case j<0, we have +% #1.#2 = j + log(i) +% = - ( -j - log(i) ) +% = - ( -j - 1 + (1-log(i)) ) +% = #1 '.' #2 [ up to the '0.' +% that means #1 = j-1 and #2 = 1-log(i). +\def\pgfplots@is@log@tick@a@minor@tick@pos#1.#2\relax{% + \pgfmathapproxequalto@{#1.#2}{#1.0}% + \ifpgfmathcomparison + % in MOST cases, this here will be true: + \pgfplots@log@tick@isminor@tick@posfalse + \def\pgfmathresult{#1.#2}% + \else + % I guess this won't happen too often. In fact, it's a very + % special case. + \begingroup + \c@pgf@counta=#1\relax + \ifnum\c@pgf@counta<0 + \advance\c@pgf@counta by-1 + \pgfmathsubtract@{1}{0.#2}% + \expandafter\pgfplots@is@log@tick@a@minor@tick@pos@IDENTIFY@LOGi\pgfmathresult\relax + \ifpgfplots@log@tick@isminor@tick@pos + \aftergroup\pgfplots@log@tick@isminor@tick@postrue + \edef\pgfmathresult{\pgfmathresult e\the\c@pgf@counta}% + \else + \aftergroup\pgfplots@log@tick@isminor@tick@posfalse + \def\pgfmathresult{#1.#2}% + \fi + \else + \pgfplots@is@log@tick@a@minor@tick@pos@IDENTIFY@LOGi0.#2\relax + \ifpgfplots@log@tick@isminor@tick@pos + \aftergroup\pgfplots@log@tick@isminor@tick@postrue + \edef\pgfmathresult{\pgfmathresult e\the\c@pgf@counta}% + \else + \aftergroup\pgfplots@log@tick@isminor@tick@posfalse + \def\pgfmathresult{#1.#2}% + \fi + \fi + \pgfmath@smuggleone\pgfmathresult + \endgroup + \fi +} + +% expects a positive number. +\def\pgfplots@is@log@tick@a@minor@tick@pos@IDENTIFY@LOGi0.#1\relax{% + \pgfplots@log@tick@isminor@tick@postrue + \pgfmathapproxequalto@{0.#1}{0.3010299956639}% + \ifpgfmathcomparison + \def\pgfmathresult{2}% + \else + \pgfmathapproxequalto@{0.#1}{0.4771212547196}% + \ifpgfmathcomparison + \def\pgfmathresult{3}% + \else + \pgfmathapproxequalto@{0.#1}{0.6020599913279}% + \ifpgfmathcomparison + \def\pgfmathresult{4}% + \else + \pgfmathapproxequalto@{0.#1}{0.698970004}% + \ifpgfmathcomparison + \def\pgfmathresult{5}% + \else + \pgfmathapproxequalto@{0.#1}{0.7781512503}% + \ifpgfmathcomparison + \def\pgfmathresult{6}% + \else + \pgfmathapproxequalto@{0.#1}{0.8450980400}% + \ifpgfmathcomparison + \def\pgfmathresult{7}% + \else + \pgfmathapproxequalto@{0.#1}{0.9030899869}% + \ifpgfmathcomparison + \def\pgfmathresult{8}% + \else + \pgfmathapproxequalto@{0.#1}{0.954242509439}% + \ifpgfmathcomparison + \def\pgfmathresult{9}% + \else + \pgfplots@log@tick@isminor@tick@posfalse + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi +} + + +\def\pgfplots@set@at#1{\def\pgfplots@at{#1}}% + + + +% converts a comma-separated list (PGF foreach) to my internal list +% structure. +\long\def\pgfplots@foreach@to@list#1\to#2{% + \global\pgfplotslistnewempty\pgfplots@glob@TMPa + \begingroup + \foreach \pgfplots@i in {#1} {% + \expandafter\pgfplotslistpushbackglobal\pgfplots@i\to\pgfplots@glob@TMPa + }% + \endgroup + \pgfplotslistcopy\pgfplots@glob@TMPa\to#2\relax +} + +% Several tick options: +\long\def\axispreset#1{% + \pgfplotsset{every axis/.append style={#1}}% +} +\long\def\legendpreset#1{% + \pgfplots@error{Sorry, legendpreset is now deprecated, along with the legend options text width and font. Legends are now TikZ-matrizes which provide better alignment and can be placed horizontally. See the manual for details.}% +} + +% Checks whether we need to create a separate 'tick scale label', +% a node with ' * 10^3' on the side of the axis: +% +% PRECONDITION: +% Axis limits for #1 are given. I need their values before any data +% scale transformation has been applied. +% If +% \pgfplots@#1min@unscaled@as@float +% and +% \pgfplots@#1max@unscaled@as@float +% exist; I will use these macros. +% Otherwise, I will use \pgfplots@#1min and \pgfplots@#1max; +% assuming that no data scale transformation is active. +% FIXME : does that need further attention? +\def\pgfplots@init@scaled@tick@for#1{% + \begingroup + % the \pgfplots@xmin@unscaled@as@float is set just before the data + % scale transformation is initialised. + % + % The variables are empty if there is no datascale transformation. + \expandafter\let\expandafter\pgfplots@cur@min@unscaled\csname pgfplots@#1min@unscaled@as@float\endcsname + \expandafter\let\expandafter\pgfplots@cur@max@unscaled\csname pgfplots@#1max@unscaled@as@float\endcsname + % + \ifx\pgfplots@cur@min@unscaled\pgfutil@empty + \edef\pgfplots@loc@TMPa{\csname pgfplots@#1min\endcsname}% + \expandafter\pgfmathfloatparsenumber\expandafter{\pgfplots@loc@TMPa}% + \let\pgfplots@cur@min@unscaled=\pgfmathresult + \edef\pgfplots@loc@TMPa{\csname pgfplots@#1max\endcsname}% + \expandafter\pgfmathfloatparsenumber\expandafter{\pgfplots@loc@TMPa}% + \let\pgfplots@cur@max@unscaled=\pgfmathresult + \fi + % + \expandafter\pgfmathfloat@decompose@E\pgfplots@cur@min@unscaled\relax\pgfmathfloat@a@E + \expandafter\pgfmathfloat@decompose@E\pgfplots@cur@max@unscaled\relax\pgfmathfloat@b@E + \ifnum\pgfmathfloat@b@E<\pgfmathfloat@a@E + \pgfmathfloat@b@E=\pgfmathfloat@a@E + \fi + \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@glob@TMPa{\the\pgfmathfloat@b@E}% + \else + \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@glob@TMPa{\the\pgfmathfloat@b@E}% + \else + % no scaling necessary: + \xdef\pgfplots@glob@TMPa{0}% + \fi + \fi + \endgroup + \expandafter\let\csname pgfplots@tick@scale@#1\endcsname=\pgfplots@glob@TMPa% +} + +% x-axis tick labels for #1th tick +% #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{#4}% + \edef\pgfplots@show@ticklabel@coord@y@new{\pgfmathresult pt}% + % + \pgfplots@show@ticklabel@{#1}{#2}% + \let\nexttick=\tick + \ifx\pgfplots@show@ticklabel@LASTTICK\pgfutil@empty + % its the first call. Simply remember arguments and wait + % for interval boundary before proceeding. + \else + % acquire options of first interval boundary: + \pgfplots@show@ticklabel@LASTTICK + % compute new node position: + \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% + \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@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\edef\noexpand\pgfplots@show@ticklabel@num{#5}% + }% + \else + \let\ticknum=#5\relax% + \pgfplots@show@ticklabel@{#1}{#2}% + \node at (#3,#4) {\csname pgfplots@#1ticklabel\endcsname};% + \fi +}} + +% Defines \tick by applying any necessary math to the (possibly +% transformed) tick value #2. +% +% #1: axis (x or y) +% #2: tick value. +\def\pgfplots@show@ticklabel@#1#2{% + \csname ifpgfplots@apply@datatrafo@#1\endcsname + \csname pgfplots@inverse@datascaletrafo@#1\endcsname{#2}% + \pgfplots@if{pgfplots@scaled@ticks@#1}{% + \expandafter\pgfmathfloatshift@\expandafter{\pgfmathresult}{\csname pgfplots@tick@scale@#1\endcsname}% + }\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{% + \pgfplotslistselectorempty\ticknum\of\pgfplots@xticklabels\to\tick + \tick +} +\def\pgfplots@user@ticklabel@list@y{% + \pgfplotslistselectorempty\ticknum\of\pgfplots@yticklabels\to\tick + \tick +} +\def\pgfplots@user@extra@ticklabel@list@x{% + \pgfplotslistselectorempty\ticknum\of\pgfplots@extra@xticklabels\to\tick + \tick +} +\def\pgfplots@user@extra@ticklabel@list@y{% + \pgfplotslistselectorempty\ticknum\of\pgfplots@extra@yticklabels\to\tick + \tick +} + + +% #1 axis (x or y) +% #2 the label +\def\pgfplots@show@label#1#2{% + \node + [/pgfplots/every axis label,% + /pgfplots/every axis #1 label] + {#2}; +} + +\def\pgfplots@show@title#1{% + \node% + [/pgfplots/every axis title] + {#1}; +} + +% Check if a label does not cross the x-axis +\def\pgfplots@ytick@check@tickshow{% + \pgfplots@tickshowtrue + \ifnum\pgfplots@yaxislinesnum=2\relax + \ifcase\pgfplots@xaxislinesnum\relax + \ifdim\pgfplots@tmpa=\pgfplots@ycoordminTEX\relax + \pgfplots@tickshowfalse + \fi + \ifdim\pgfplots@tmpa=\pgfplots@ycoordmaxTEX\relax + \pgfplots@tickshowfalse + \fi + \or + \ifdim\pgfplots@tmpa=\pgfplots@ycoordminTEX\relax + \pgfplots@tickshowfalse + \fi + \or + \ifdim\pgfplots@tmpa=\pgfplots@ZERO@y\relax + \pgfplots@tickshowfalse + \fi + \or + \ifdim\pgfplots@tmpa=\pgfplots@ycoordmaxTEX\relax + \pgfplots@tickshowfalse + \fi + \fi + \fi +} + +% 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 + % (\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 + % (\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 +}% + +\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{% + \pgfpathmoveto{\pgfqpoint{\pgfplots@xcoordminTEX}{\pgfplots@tmpa}}% + \pgfpathlineto{\pgfqpoint{\pgfplots@xcoordmaxTEX}{\pgfplots@tmpa}}% +}% + +\newif\ifpgfplots@needsminorloop + +\def\pgfplots@draw@tick@scale@label@for#1{% + \csname ifpgfplots@#1islinear\endcsname + \pgfplots@if{pgfplots@scaled@ticks@#1}{% + \begingroup + \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@glob@TMPa=\pgfutil@empty + \else + \xdef\pgfplots@glob@TMPa{\the\c@pgf@counta}% + \fi + \endgroup + \ifx\pgfplots@glob@TMPa\pgfutil@empty + \else + \edef\pgfplots@tick@scale@labels{\noexpand\pgfplots@invoke@pgfkeyscode{/pgfplots/tick scale label code/.@cmd}{\pgfplots@glob@TMPa}}% + \node + [% + xshift=\pgfplots@xcoordminTEX,% + yshift=\pgfplots@ycoordminTEX,% + x=\pgfplots@xcoordmaxTEX-\pgfplots@xcoordminTEX,% + y=\pgfplots@ycoordmaxTEX-\pgfplots@ycoordminTEX,% + /pgfplots/every tick label,% + /pgfplots/every #1 tick label,% + /pgfplots/every #1 tick scale label] + {\pgfplots@tick@scale@labels}; + \fi + }{\relax}% + \fi +} + +% Simply invokes the code of PGF key #1 with value #2, that means +% #1#2\pgfeov +\def\pgfplots@invoke@pgfkeyscode#1#2{% + \pgfkeysgetvalue{#1}\pgfplots@invoke@pgfkeyscode@CODE + \pgfplots@invoke@pgfkeyscode@CODE#2\pgfeov +} + +% 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 + \ifcase\pgfplots@yaxislinesnum\relax + \ifdim\pgfplots@tmpa=\pgfplots@xcoordminTEX\relax + \pgfplots@tickshowfalse + \fi + \ifdim\pgfplots@tmpa=\pgfplots@xcoordmaxTEX\relax + \pgfplots@tickshowfalse + \fi + \or + \ifdim\pgfplots@tmpa=\pgfplots@xcoordminTEX\relax + \pgfplots@tickshowfalse + \fi + \or + \ifdim\pgfplots@tmpa=\pgfplots@ZERO@x\relax + \pgfplots@tickshowfalse + \fi + \or + \ifdim\pgfplots@tmpa=\pgfplots@xcoordmaxTEX\relax + \pgfplots@tickshowfalse + \fi + \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{% + \pgfpathmoveto{\pgfqpoint{\pgfplots@tmpa}{\pgfplots@ycoordminTEX}}% + \pgfpathlineto{\pgfqpoint{\pgfplots@tmpa}{\pgfplots@ycoordmaxTEX}}% +}% + +% #1: axis (x or y) +% #2: axis index (0 or 1) +% #3: tick position list +\def\pgfplots@draw@extra@ticks@for#1#2#3{% + \begingroup + \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{% + \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 + \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 +}% + +% 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% 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 + % this group employs several temporary dimension registers + % and is therefor scoped: + \let\ydisstart=\pgf@xa + \let\ydisend=\pgf@xb + \let\xdisstart=\pgf@ya + \let\xdisend=\pgf@yb + \ydisend=\pgfplots@ycoordmaxTEX + \advance \ydisend by -\pgfplots@ycoordminTEX + \ifcase\pgfplots@yaxisdiscontnum\relax + \let\ydiscontstyle=\pgfutil@empty + \or + \def\ydiscontstyle{decoration={zigzag,segment length=12pt, amplitude=4pt}}% + \advance \ydisend by -16pt + \or + \def\ydiscontstyle{decoration={ticks,segment length=4pt, amplitude=8pt}}% + \advance \ydisend by -8pt + \fi + \ifpgfplots@apply@datatrafo@y + \advance \pgfplots@ycoordmaxTEX by\pgfplots@data@scale@trafo@SHIFT@y pt + \fi + \ifdim\pgfplots@ycoordmaxTEX<0pt + \ydisstart=\ydisend + \ydisend=4pt + \else + \ydisstart=4pt + \fi + \ifpgfplots@apply@datatrafo@y + \advance \pgfplots@ycoordmaxTEX by-\pgfplots@data@scale@trafo@SHIFT@y pt + \fi + \xdisend=\pgfplots@xcoordmaxTEX + \advance \xdisend by -\pgfplots@xcoordminTEX + \ifcase\pgfplots@xaxisdiscontnum\relax + \let\xdiscontstyle=\pgfutil@empty + \or + \def\xdiscontstyle{decoration={zigzag,segment length=12pt, amplitude=4pt}}% + \advance \xdisend by -16pt + \or + \def\xdiscontstyle{decoration={ticks,segment length=4pt, amplitude=8pt}}% + \advance \xdisend by -8pt + \fi + \ifpgfplots@apply@datatrafo@x + \advance \pgfplots@xcoordmaxTEX by\pgfplots@data@scale@trafo@SHIFT@x pt + \fi + \ifdim\pgfplots@xcoordmaxTEX<0pt + \xdisstart=\xdisend + \xdisend=4pt + \else + \xdisstart=4pt + \fi + \ifpgfplots@apply@datatrafo@x + \advance \pgfplots@xcoordmaxTEX by-\pgfplots@data@scale@trafo@SHIFT@x pt + \fi + % carry local computations outside of group: + \xdef\pgfplots@glob@TMPa{% + \noexpand\def\noexpand\xdisstart{\the\xdisstart}% + \noexpand\def\noexpand\xdisend{\the\xdisend}% + \noexpand\def\noexpand\ydisstart{\the\ydisstart}% + \noexpand\def\noexpand\ydisend{\the\ydisend}% + \noexpand\pgfkeys{% + /tikz/xdiscont/.style={\xdiscontstyle},% + /tikz/ydiscont/.style={\ydiscontstyle}}% + }% + \endgroup + \pgfplots@glob@TMPa + \pgfplots@drawaxis@outerlines% + \pgfplots@drawaxis@innerlines% + \endgroup +}% + +% 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 + \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@minorticks + \pgfplots@needsminorlooptrue + \else + \ifpgfplots@minorgrids + \pgfplots@needsminorlooptrue + \else + \pgfplots@needsminorloopfalse + \fi + \fi + \ifpgfplots@needsminorloop + \ifpgfplots@islinear + \expandafter\let\expandafter\pgfplots@minor@tick@num\csname pgfplots@minor@#2tick@num\endcsname + \begingroup + \c@pgf@counta=\pgfplots@minor@tick@num\relax + \advance\c@pgf@counta by1\relax + \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@tick@num{9}% + \fi + \fi + \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<\csname pgfplots@#2coordminTEX\endcsname + \else + \ifdim\pgfplots@tmpa>\csname pgfplots@#2coordmaxTEX\endcsname + \else + \edef\pgfplots@loc@TMPa{{\the\pgfplots@tmpa}{\x}}% + \expandafter\pgfplotslistpushbackglobal\pgfplots@loc@TMPa\to\pgfplots@prepared@tick@positions@major + \fi + \fi + \fi + % X-Axis ticks bottom and top + % in log: + % log( i*10^k ) = log\pgfplots@i + k\log10 -> draw ticks for i=1..9 + \ifpgfplots@needsminorloop + \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 + \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>\csname pgfplots@#2coordmaxTEX\endcsname + \else + \expandafter\pgfplotslistpushbackglobal\the\pgfplots@tmpa\to\pgfplots@prepared@tick@positions@minor + \fi + \fi + }% + \fi + }% + \fi + \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 +} + +% #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 + \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 + \let#1=\pgfutil@empty + \else + \c@pgf@countb=\pgfplots@numplots + % offset modulo size: + \loop + \ifnum\c@pgf@countb<\c@pgf@counta + \pgfplots@loop@CONTINUEfalse + \else + \pgfplots@loop@CONTINUEtrue + \fi + \ifpgfplots@loop@CONTINUE + \advance\c@pgf@countb by-\c@pgf@counta + \repeat + \pgfplotslistselect\c@pgf@countb\of\autoplotspeclist\to#1 +%\pgfplots@message{pgfplots.sty: using \string\autoplotspeclist\ specification no\#\the\c@pgf@countb (of \the\c@pgf@counta): #1}% + \fi +} + +% The main interface to draw a plot into an axis. +% +% Usage: +% \addplot +% plot coordinates { +% (0,0) +% (1,1) +% }; +% +% or +% +% \addplot[color=blue,mark=*] +% plot coordinates { +% (0,0) +% (1,1) +% }; +% +% The first syntax will use the next plot specification in the list +% \autoplotspeclist +% and the first will use blue color and * markers. +% +% \addplot[