roboptim-commit Mailing List for RobOptim (Page 95)
Status: Beta
Brought to you by:
flamiraux
You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(62) |
Jul
(62) |
Aug
(36) |
Sep
(24) |
Oct
(41) |
Nov
(182) |
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(12) |
Feb
(13) |
Mar
(104) |
Apr
(95) |
May
(90) |
Jun
(90) |
Jul
(93) |
Aug
(97) |
Sep
(91) |
Oct
(93) |
Nov
(90) |
Dec
(95) |
2011 |
Jan
(96) |
Feb
(84) |
Mar
(94) |
Apr
(91) |
May
(93) |
Jun
(91) |
Jul
(93) |
Aug
(93) |
Sep
(107) |
Oct
(93) |
Nov
(58) |
Dec
|
2012 |
Jan
(8) |
Feb
(4) |
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(6) |
Dec
(5) |
2013 |
Jan
(16) |
Feb
(22) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Thomas M. <tho...@us...> - 2009-07-15 05:21:18
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via 6c7ea9d13dd20234aebd4ca93b3ab1f44d0cb4bb (commit) from d2e034b0022cae942cb9a255f4842dd10a6bd9cd (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 6c7ea9d13dd20234aebd4ca93b3ab1f44d0cb4bb Author: Thomas Moulard <tho...@gm...> Date: Wed Jul 15 14:20:49 2009 +0900 Display function's names in Gnuplot. * include/roboptim/core/visualization/gnuplot-function.hh: Dislay function's name. * tests/finite-difference-gradient.stdout, * tests/visualization-gnuplot-function.stdout: Regenerate. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index d245877..77eb97f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2009-07-15 Thomas Moulard <tho...@gm...> + Display function's names in Gnuplot. + * include/roboptim/core/visualization/gnuplot-function.hh: + Dislay function's name. + * tests/finite-difference-gradient.stdout, + * tests/visualization-gnuplot-function.stdout: + Regenerate. + +2009-07-15 Thomas Moulard <tho...@gm...> + Use fixed point display for floating-point numbers in Gnuplot. * include/roboptim/core/visualization/gnuplot-function.hh: Use fixed point display. diff --git a/include/roboptim/core/visualization/gnuplot-function.hh b/include/roboptim/core/visualization/gnuplot-function.hh index 192ab07..f911132 100644 --- a/include/roboptim/core/visualization/gnuplot-function.hh +++ b/include/roboptim/core/visualization/gnuplot-function.hh @@ -61,7 +61,8 @@ namespace roboptim && boost::get<2> (window) > 0.); //FIXME: compare with arg bounds? - std::string str = "plot '-' with line"; + std::string str = (boost::format ("plot '-' title '%1%' with line") + % f.getName ()).str (); for (unsigned i = 1; i < f.outputSize (); ++i) str += ", '-' with line"; @@ -92,7 +93,8 @@ namespace roboptim && boost::get<2> (window) > 0.); //FIXME: compare with arg bounds? - std::string str = "plot '-' with line\n"; + std::string str = (boost::format ("plot '-' title '%1%' with line\n") + % f.getName ()).str (); Function::vector_t x (f.inputSize ()); diff --git a/tests/finite-difference-gradient.stdout b/tests/finite-difference-gradient.stdout index c4a5c35..5e101c8 100644 --- a/tests/finite-difference-gradient.stdout +++ b/tests/finite-difference-gradient.stdout @@ -1442,7 +1442,7 @@ # Generated by RobOptim core library 0.2 set terminal wxt persist set multiplot layout 2,2 -plot '-' with line +plot '-' title 'x * x' with line -100.000000 10000.000000 -99.000000 9801.000000 -98.000000 9604.000000 @@ -1645,7 +1645,7 @@ plot '-' with line 99.000000 9801.000000 e -plot '-' with line +plot '-' title '' with line -100.000000 10000.000000 -99.000000 9801.000000 -98.000000 9604.000000 @@ -1848,7 +1848,7 @@ plot '-' with line 99.000000 9801.000000 e -plot '-' with line +plot '-' title '' with line -100.000000 -243295.000000 -99.000000 -238486.000000 -98.000000 -233725.000000 @@ -2051,7 +2051,7 @@ plot '-' with line 99.000000 -231952.000000 e -plot '-' with line +plot '-' title '' with line -100.000000 -243295.000000 -99.000000 -238486.000000 -98.000000 -233725.000000 diff --git a/tests/visualization-gnuplot-function.stdout b/tests/visualization-gnuplot-function.stdout index 3ec2c98..01fa847 100644 --- a/tests/visualization-gnuplot-function.stdout +++ b/tests/visualization-gnuplot-function.stdout @@ -3,7 +3,7 @@ set terminal wxt persist #Hello, world (complex)! set multiplot -plot '-' with line +plot '-' title 'x * x' with line -10.000000 100.000000 -9.990000 99.800100 -9.980000 99.600400 @@ -2007,7 +2007,7 @@ plot '-' with line 10.000000 100.000000 e -plot '-' with line +plot '-' title '{sin (x) * r; cos (x) * r}' with line 0.000000 1.000000 0.010000 0.999950 0.019999 0.999800 ----------------------------------------------------------------------- Summary of changes: ChangeLog | 9 +++++++++ .../core/visualization/gnuplot-function.hh | 6 ++++-- tests/finite-difference-gradient.stdout | 8 ++++---- tests/visualization-gnuplot-function.stdout | 4 ++-- 4 files changed, 19 insertions(+), 8 deletions(-) hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-15 05:11:58
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, trajectory has been updated via 1627fe75da1fd9eb74269a45a77daa151265cfae (commit) via 6dd239cec40cfc1e8fc1d6e16c5982bdf8c0a1c2 (commit) via f7c4b8b7bd257428f0d4d62c946a2ffb11501cb1 (commit) from 6325f028901531dbb934d156352e07bfb061e421 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1627fe75da1fd9eb74269a45a77daa151265cfae Author: Thomas Moulard <tho...@gm...> Date: Wed Jul 15 14:11:24 2009 +0900 Use fixed-point display in Gnuplot. * include/roboptim/trajectory/visualization/trajectory.hh, * tests/spline-gradient.cc: Use fixed point display. * tests/spline-gradient.stdout, * tests/spline-optimization.stdout, * tests/spline.stdout: Regenerate. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 77d68e9..51b29f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2009-07-15 Thomas Moulard <tho...@gm...> + + Use fixed-point display in Gnuplot. + * include/roboptim/trajectory/visualization/trajectory.hh, + * tests/spline-gradient.cc: + Use fixed point display. + * tests/spline-gradient.stdout, + * tests/spline-optimization.stdout, + * tests/spline.stdout: Regenerate. + 2009-07-13 Thomas Moulard <tho...@gm...> Allow small overrun of time limits in Spline class. diff --git a/include/roboptim/trajectory/visualization/trajectory.hh b/include/roboptim/trajectory/visualization/trajectory.hh index 18832be..468444e 100644 --- a/include/roboptim/trajectory/visualization/trajectory.hh +++ b/include/roboptim/trajectory/visualization/trajectory.hh @@ -52,7 +52,7 @@ namespace roboptim { Function::vector_t res = traj_ (t); assert (res.size () >= 2); - str_ += (boost::format ("%1% %2%\n") % res[0] % res [1]).str (); + str_ += (boost::format ("%1f %2f\n") % res[0] % res [1]).str (); } private: diff --git a/tests/spline-gradient.cc b/tests/spline-gradient.cc index d6130e7..c2331dd 100644 --- a/tests/spline-gradient.cc +++ b/tests/spline-gradient.cc @@ -82,7 +82,7 @@ int run_test () t += boost::get<2> (window)) { Spline::vector_t grad = spline.derivative (t, i); - std::cout << (boost::format ("%1% %2%\n") % t % grad (0)).str (); + std::cout << (boost::format ("%1f %2f\n") % t % grad (0)).str (); } std::cout << "e" << std::endl; } @@ -112,7 +112,7 @@ int run_test () t += boost::get<2> (window)) { Spline::matrix_t jac = spline.variationDerivWrtParam (t, i); - std::cout << (boost::format ("%1% %2%\n") % t % jac (0, j)).str (); + std::cout << (boost::format ("%1f %2f\n") % t % jac (0, j)).str (); } std::cout << "e" << std::endl; } diff --git a/tests/spline-gradient.stdout b/tests/spline-gradient.stdout index 42d1dfe..0077cf8 100644 --- a/tests/spline-gradient.stdout +++ b/tests/spline-gradient.stdout @@ -5,6063 +5,6063 @@ set ylabel 'spline value' set multiplot layout 5,3 plot '-' title 'spline' with line -0 1 -0.01 1 -0.02 0.999997 -0.03 0.999991 -0.04 0.999979 -0.05 0.999959 -0.06 0.99993 -0.07 0.999888 -0.08 0.999833 -0.09 0.999763 -0.1 0.999674 -0.11 0.999567 -0.12 0.999437 -0.13 0.999285 -0.14 0.999107 -0.15 0.998901 -0.16 0.998667 -0.17 0.998401 -0.18 0.998102 -0.19 0.997767 -0.2 0.997396 -0.21 0.996985 -0.22 0.996534 -0.23 0.996039 -0.24 0.9955 -0.25 0.994914 -0.26 0.994279 -0.27 0.993593 -0.28 0.992854 -0.29 0.992061 -0.3 0.991211 -0.31 0.990302 -0.32 0.989333 -0.33 0.988302 -0.34 0.987206 -0.35 0.986043 -0.36 0.984812 -0.37 0.983511 -0.38 0.982138 -0.39 0.98069 -0.4 0.979167 -0.41 0.977565 -0.42 0.975883 -0.43 0.974119 -0.44 0.972271 -0.45 0.970337 -0.46 0.968315 -0.47 0.966203 -0.48 0.964 -0.49 0.961703 -0.5 0.95931 -0.51 0.956819 -0.52 0.954229 -0.53 0.951537 -0.54 0.948742 -0.55 0.945841 -0.56 0.942833 -0.57 0.939716 -0.58 0.936487 -0.59 0.933145 -0.6 0.929688 -0.61 0.926113 -0.62 0.922419 -0.63 0.918604 -0.64 0.914667 -0.65 0.910604 -0.66 0.906414 -0.67 0.902095 -0.68 0.897646 -0.69 0.893063 -0.7 0.888346 -0.71 0.883493 -0.72 0.8785 -0.73 0.873367 -0.74 0.868091 -0.75 0.862671 -0.76 0.857104 -0.77 0.851389 -0.78 0.845523 -0.79 0.839506 -0.8 0.833333 -0.81 0.827006 -0.82 0.820526 -0.83 0.813898 -0.84 0.807125 -0.85 0.800212 -0.86 0.793161 -0.87 0.785979 -0.88 0.778667 -0.89 0.77123 -0.9 0.763672 -0.91 0.755997 -0.92 0.748208 -0.93 0.740311 -0.94 0.732307 -0.95 0.724202 -0.96 0.716 -0.97 0.707704 -0.98 0.699318 -0.99 0.690846 -1 0.682292 -1.01 0.67366 -1.02 0.664953 -1.03 0.656176 -1.04 0.647333 -1.05 0.638428 -1.06 0.629464 -1.07 0.620445 -1.08 0.611375 -1.09 0.602258 -1.1 0.593099 -1.11 0.5839 -1.12 0.574667 -1.13 0.565402 -1.14 0.556109 -1.15 0.546794 -1.16 0.537458 -1.17 0.528107 -1.18 0.518745 -1.19 0.509374 -1.2 0.5 -1.21 0.490626 -1.22 0.481255 -1.23 0.471893 -1.24 0.462542 -1.25 0.453206 -1.26 0.443891 -1.27 0.434598 -1.28 0.425333 -1.29 0.4161 -1.3 0.406901 -1.31 0.397742 -1.32 0.388625 -1.33 0.379555 -1.34 0.370536 -1.35 0.361572 -1.36 0.352667 -1.37 0.343824 -1.38 0.335047 -1.39 0.32634 -1.4 0.317708 -1.41 0.309154 -1.42 0.300682 -1.43 0.292296 -1.44 0.284 -1.45 0.275798 -1.46 0.267693 -1.47 0.259689 -1.48 0.251792 -1.49 0.244003 -1.5 0.236328 -1.51 0.22877 -1.52 0.221333 -1.53 0.214021 -1.54 0.206839 -1.55 0.199788 -1.56 0.192875 -1.57 0.186102 -1.58 0.179474 -1.59 0.172994 -1.6 0.166667 -1.61 0.160494 -1.62 0.154477 -1.63 0.148611 -1.64 0.142896 -1.65 0.137329 -1.66 0.131909 -1.67 0.126633 -1.68 0.1215 -1.69 0.116507 -1.7 0.111654 -1.71 0.106937 -1.72 0.102354 -1.73 0.0979046 -1.74 0.0935859 -1.75 0.0893962 -1.76 0.0853333 -1.77 0.0813955 -1.78 0.0775807 -1.79 0.073887 -1.8 0.0703125 -1.81 0.0668551 -1.82 0.063513 -1.83 0.0602842 -1.84 0.0571667 -1.85 0.0541585 -1.86 0.0512578 -1.87 0.0484626 -1.88 0.0457708 -1.89 0.0431807 -1.9 0.0406901 -1.91 0.0382972 -1.92 0.036 -1.93 0.0337965 -1.94 0.0316849 -1.95 0.0296631 -1.96 0.0277292 -1.97 0.0258812 -1.98 0.0241172 -1.99 0.0224352 -2 0.0208333 -2.01 0.0193096 -2.02 0.017862 -2.03 0.0164886 -2.04 0.0151875 -2.05 0.0139567 -2.06 0.0127943 -2.07 0.0116982 -2.08 0.0106667 -2.09 0.00969759 -2.1 0.00878906 -2.11 0.00793913 -2.12 0.00714583 -2.13 0.00640723 -2.14 0.00572135 -2.15 0.00508626 -2.16 0.0045 -2.17 0.00396061 -2.18 0.00346615 -2.19 0.00301465 -2.2 0.00260417 -2.21 0.00223275 -2.22 0.00189844 -2.23 0.00159928 -2.24 0.00133333 -2.25 0.00109863 -2.26 0.000893229 -2.27 0.000715169 -2.28 0.0005625 -2.29 0.000433268 -2.3 0.000325521 -2.31 0.000237305 -2.32 0.000166667 -2.33 0.000111654 -2.34 7.03125e-05 -2.35 4.06901e-05 -2.36 2.08333e-05 -2.37 8.78906e-06 -2.38 2.60417e-06 -2.39 3.25521e-07 -2.4 0 -2.41 0 -2.42 0 -2.43 0 -2.44 0 -2.45 0 -2.46 0 -2.47 0 -2.48 0 -2.49 0 -2.5 0 -2.51 0 -2.52 0 -2.53 0 -2.54 0 -2.55 0 -2.56 0 -2.57 0 -2.58 0 -2.59 0 -2.6 0 -2.61 0 -2.62 0 -2.63 0 -2.64 0 -2.65 0 -2.66 0 -2.67 0 -2.68 0 -2.69 0 -2.7 0 -2.71 0 -2.72 0 -2.73 0 -2.74 0 -2.75 0 -2.76 0 -2.77 0 -2.78 0 -2.79 0 -2.8 0 -2.81 0 -2.82 0 -2.83 0 -2.84 0 -2.85 0 -2.86 0 -2.87 0 -2.88 0 -2.89 0 -2.9 0 -2.91 0 -2.92 0 -2.93 0 -2.94 0 -2.95 0 -2.96 0 -2.97 0 -2.98 0 -2.99 0 -3 0 -3.01 0 -3.02 0 -3.03 0 -3.04 0 -3.05 0 -3.06 0 -3.07 0 -3.08 0 -3.09 0 -3.1 0 -3.11 0 -3.12 0 -3.13 0 -3.14 0 -3.15 0 -3.16 0 -3.17 0 -3.18 0 -3.19 0 -3.2 0 -3.21 0 -3.22 0 -3.23 0 -3.24 0 -3.25 0 -3.26 0 -3.27 0 -3.28 0 -3.29 0 -3.3 0 -3.31 0 -3.32 0 -3.33 0 -3.34 0 -3.35 0 -3.36 0 -3.37 0 -3.38 0 -3.39 0 -3.4 0 -3.41 0 -3.42 0 -3.43 0 -3.44 0 -3.45 0 -3.46 0 -3.47 0 -3.48 0 -3.49 0 -3.5 0 -3.51 0 -3.52 0 -3.53 0 -3.54 0 -3.55 0 -3.56 0 -3.57 0 -3.58 0 -3.59 0 -3.6 0 -3.61 0 -3.62 0 -3.63 0 -3.64 0 -3.65 0 -3.66 0 -3.67 0 -3.68 0 -3.69 0 -3.7 0 -3.71 0 -3.72 0 -3.73 0 -3.74 0 -3.75 0 -3.76 0 -3.77 0 -3.78 0 -3.79 0 -3.8 0 -3.81 0 -3.82 0 -3.83 0 -3.84 0 -3.85 0 -3.86 0 -3.87 0 -3.88 0 -3.89 0 -3.9 0 -3.91 0 -3.92 0 -3.93 0 -3.94 0 -3.95 0 -3.96 0 -3.97 0 -3.98 0 -3.99 0 -4 0 +0.000000 1.000000 +0.010000 1.000000 +0.020000 0.999997 +0.030000 0.999991 +0.040000 0.999979 +0.050000 0.999959 +0.060000 0.999930 +0.070000 0.999888 +0.080000 0.999833 +0.090000 0.999763 +0.100000 0.999674 +0.110000 0.999567 +0.120000 0.999437 +0.130000 0.999285 +0.140000 0.999107 +0.150000 0.998901 +0.160000 0.998667 +0.170000 0.998401 +0.180000 0.998102 +0.190000 0.997767 +0.200000 0.997396 +0.210000 0.996985 +0.220000 0.996534 +0.230000 0.996039 +0.240000 0.995500 +0.250000 0.994914 +0.260000 0.994279 +0.270000 0.993593 +0.280000 0.992854 +0.290000 0.992061 +0.300000 0.991211 +0.310000 0.990302 +0.320000 0.989333 +0.330000 0.988302 +0.340000 0.987206 +0.350000 0.986043 +0.360000 0.984812 +0.370000 0.983511 +0.380000 0.982138 +0.390000 0.980690 +0.400000 0.979167 +0.410000 0.977565 +0.420000 0.975883 +0.430000 0.974119 +0.440000 0.972271 +0.450000 0.970337 +0.460000 0.968315 +0.470000 0.966203 +0.480000 0.964000 +0.490000 0.961703 +0.500000 0.959310 +0.510000 0.956819 +0.520000 0.954229 +0.530000 0.951537 +0.540000 0.948742 +0.550000 0.945841 +0.560000 0.942833 +0.570000 0.939716 +0.580000 0.936487 +0.590000 0.933145 +0.600000 0.929688 +0.610000 0.926113 +0.620000 0.922419 +0.630000 0.918604 +0.640000 0.914667 +0.650000 0.910604 +0.660000 0.906414 +0.670000 0.902095 +0.680000 0.897646 +0.690000 0.893063 +0.700000 0.888346 +0.710000 0.883493 +0.720000 0.878500 +0.730000 0.873367 +0.740000 0.868091 +0.750000 0.862671 +0.760000 0.857104 +0.770000 0.851389 +0.780000 0.845523 +0.790000 0.839506 +0.800000 0.833333 +0.810000 0.827006 +0.820000 0.820526 +0.830000 0.813898 +0.840000 0.807125 +0.850000 0.800212 +0.860000 0.793161 +0.870000 0.785979 +0.880000 0.778667 +0.890000 0.771230 +0.900000 0.763672 +0.910000 0.755997 +0.920000 0.748208 +0.930000 0.740311 +0.940000 0.732307 +0.950000 0.724202 +0.960000 0.716000 +0.970000 0.707704 +0.980000 0.699318 +0.990000 0.690846 +1.000000 0.682292 +1.010000 0.673660 +1.020000 0.664953 +1.030000 0.656176 +1.040000 0.647333 +1.050000 0.638428 +1.060000 0.629464 +1.070000 0.620445 +1.080000 0.611375 +1.090000 0.602258 +1.100000 0.593099 +1.110000 0.583900 +1.120000 0.574667 +1.130000 0.565402 +1.140000 0.556109 +1.150000 0.546794 +1.160000 0.537458 +1.170000 0.528107 +1.180000 0.518745 +1.190000 0.509374 +1.200000 0.500000 +1.210000 0.490626 +1.220000 0.481255 +1.230000 0.471893 +1.240000 0.462542 +1.250000 0.453206 +1.260000 0.443891 +1.270000 0.434598 +1.280000 0.425333 +1.290000 0.416100 +1.300000 0.406901 +1.310000 0.397742 +1.320000 0.388625 +1.330000 0.379555 +1.340000 0.370536 +1.350000 0.361572 +1.360000 0.352667 +1.370000 0.343824 +1.380000 0.335047 +1.390000 0.326340 +1.400000 0.317708 +1.410000 0.309154 +1.420000 0.300682 +1.430000 0.292296 +1.440000 0.284000 +1.450000 0.275798 +1.460000 0.267693 +1.470000 0.259689 +1.480000 0.251792 +1.490000 0.244003 +1.500000 0.236328 +1.510000 0.228770 +1.520000 0.221333 +1.530000 0.214021 +1.540000 0.206839 +1.550000 0.199788 +1.560000 0.192875 +1.570000 0.186102 +1.580000 0.179474 +1.590000 0.172994 +1.600000 0.166667 +1.610000 0.160494 +1.620000 0.154477 +1.630000 0.148611 +1.640000 0.142896 +1.650000 0.137329 +1.660000 0.131909 +1.670000 0.126633 +1.680000 0.121500 +1.690000 0.116507 +1.700000 0.111654 +1.710000 0.106937 +1.720000 0.102354 +1.730000 0.097905 +1.740000 0.093586 +1.750000 0.089396 +1.760000 0.085333 +1.770000 0.081396 +1.780000 0.077581 +1.790000 0.073887 +1.800000 0.070312 +1.810000 0.066855 +1.820000 0.063513 +1.830000 0.060284 +1.840000 0.057167 +1.850000 0.054159 +1.860000 0.051258 +1.870000 0.048463 +1.880000 0.045771 +1.890000 0.043181 +1.900000 0.040690 +1.910000 0.038297 +1.920000 0.036000 +1.930000 0.033797 +1.940000 0.031685 +1.950000 0.029663 +1.960000 0.027729 +1.970000 0.025881 +1.980000 0.024117 +1.990000 0.022435 +2.000000 0.020833 +2.010000 0.019310 +2.020000 0.017862 +2.030000 0.016489 +2.040000 0.015187 +2.050000 0.013957 +2.060000 0.012794 +2.070000 0.011698 +2.080000 0.010667 +2.090000 0.009698 +2.100000 0.008789 +2.110000 0.007939 +2.120000 0.007146 +2.130000 0.006407 +2.140000 0.005721 +2.150000 0.005086 +2.160000 0.004500 +2.170000 0.003961 +2.180000 0.003466 +2.190000 0.003015 +2.200000 0.002604 +2.210000 0.002233 +2.220000 0.001898 +2.230000 0.001599 +2.240000 0.001333 +2.250000 0.001099 +2.260000 0.000893 +2.270000 0.000715 +2.280000 0.000563 +2.290000 0.000433 +2.300000 0.000326 +2.310000 0.000237 +2.320000 0.000167 +2.330000 0.000112 +2.340000 0.000070 +2.350000 0.000041 +2.360000 0.000021 +2.370000 0.000009 +2.380000 0.000003 +2.390000 0.000000 +2.400000 0.000000 +2.410000 0.000000 +2.420000 0.000000 +2.430000 0.000000 +2.440000 0.000000 +2.450000 0.000000 +2.460000 0.000000 +2.470000 0.000000 +2.480000 0.000000 +2.490000 0.000000 +2.500000 0.000000 +2.510000 0.000000 +2.520000 0.000000 +2.530000 0.000000 +2.540000 0.000000 +2.550000 0.000000 +2.560000 0.000000 +2.570000 0.000000 +2.580000 0.000000 +2.590000 0.000000 +2.600000 0.000000 +2.610000 0.000000 +2.620000 0.000000 +2.630000 0.000000 +2.640000 0.000000 +2.650000 0.000000 +2.660000 0.000000 +2.670000 0.000000 +2.680000 0.000000 +2.690000 0.000000 +2.700000 0.000000 +2.710000 0.000000 +2.720000 0.000000 +2.730000 0.000000 +2.740000 0.000000 +2.750000 0.000000 +2.760000 0.000000 +2.770000 0.000000 +2.780000 0.000000 +2.790000 0.000000 +2.800000 0.000000 +2.810000 0.000000 +2.820000 0.000000 +2.830000 0.000000 +2.840000 0.000000 +2.850000 0.000000 +2.860000 0.000000 +2.870000 0.000000 +2.880000 0.000000 +2.890000 0.000000 +2.900000 0.000000 +2.910000 0.000000 +2.920000 0.000000 +2.930000 0.000000 +2.940000 0.000000 +2.950000 0.000000 +2.960000 0.000000 +2.970000 0.000000 +2.980000 0.000000 +2.990000 0.000000 +3.000000 0.000000 +3.010000 0.000000 +3.020000 0.000000 +3.030000 0.000000 +3.040000 0.000000 +3.050000 0.000000 +3.060000 0.000000 +3.070000 0.000000 +3.080000 0.000000 +3.090000 0.000000 +3.100000 0.000000 +3.110000 0.000000 +3.120000 0.000000 +3.130000 0.000000 +3.140000 0.000000 +3.150000 0.000000 +3.160000 0.000000 +3.170000 0.000000 +3.180000 0.000000 +3.190000 0.000000 +3.200000 0.000000 +3.210000 0.000000 +3.220000 0.000000 +3.230000 0.000000 +3.240000 0.000000 +3.250000 0.000000 +3.260000 0.000000 +3.270000 0.000000 +3.280000 0.000000 +3.290000 0.000000 +3.300000 0.000000 +3.310000 0.000000 +3.320000 0.000000 +3.330000 0.000000 +3.340000 0.000000 +3.350000 0.000000 +3.360000 0.000000 +3.370000 0.000000 +3.380000 0.000000 +3.390000 0.000000 +3.400000 0.000000 +3.410000 0.000000 +3.420000 0.000000 +3.430000 0.000000 +3.440000 0.000000 +3.450000 0.000000 +3.460000 0.000000 +3.470000 0.000000 +3.480000 0.000000 +3.490000 0.000000 +3.500000 0.000000 +3.510000 0.000000 +3.520000 0.000000 +3.530000 0.000000 +3.540000 0.000000 +3.550000 0.000000 +3.560000 0.000000 +3.570000 0.000000 +3.580000 0.000000 +3.590000 0.000000 +3.600000 0.000000 +3.610000 0.000000 +3.620000 0.000000 +3.630000 0.000000 +3.640000 0.000000 +3.650000 0.000000 +3.660000 0.000000 +3.670000 0.000000 +3.680000 0.000000 +3.690000 0.000000 +3.700000 0.000000 +3.710000 0.000000 +3.720000 0.000000 +3.730000 0.000000 +3.740000 0.000000 +3.750000 0.000000 +3.760000 0.000000 +3.770000 0.000000 +3.780000 0.000000 +3.790000 0.000000 +3.800000 0.000000 +3.810000 0.000000 +3.820000 0.000000 +3.830000 0.000000 +3.840000 0.000000 +3.850000 0.000000 +3.860000 0.000000 +3.870000 0.000000 +3.880000 0.000000 +3.890000 0.000000 +3.900000 0.000000 +3.910000 0.000000 +3.920000 0.000000 +3.930000 0.000000 +3.940000 0.000000 +3.950000 0.000000 +3.960000 0.000000 +3.970000 0.000000 +3.980000 0.000000 +3.990000 0.000000 +4.000000 0.000000 e plot '-' title 'spline derivative' with line -0 -2.08167e-16 -0.01 -9.76563e-05 -0.02 -0.000390625 -0.03 -0.000878906 -0.04 -0.0015625 -0.05 -0.00244141 -0.06 -0.00351563 -0.07 -0.00478516 -0.08 -0.00625 -0.09 -0.00791016 -0.1 -0.00976563 -0.11 -0.0118164 -0.12 -0.0140625 -0.13 -0.0165039 -0.14 -0.0191406 -0.15 -0.0219727 -0.16 -0.025 -0.17 -0.0282227 -0.18 -0.0316406 -0.19 -0.0352539 -0.2 -0.0390625 -0.21 -0.0430664 -0.22 -0.0472656 -0.23 -0.0516602 -0.24 -0.05625 -0.25 -0.0610352 -0.26 -0.0660156 -0.27 -0.0711914 -0.28 -0.0765625 -0.29 -0.0821289 -0.3 -0.0878906 -0.31 -0.0938477 -0.32 -0.1 -0.33 -0.106348 -0.34 -0.112891 -0.35 -0.119629 -0.36 -0.126563 -0.37 -0.133691 -0.38 -0.141016 -0.39 -0.148535 -0.4 -0.15625 -0.41 -0.16416 -0.42 -0.172266 -0.43 -0.180566 -0.44 -0.189063 -0.45 -0.197754 -0.46 -0.206641 -0.47 -0.215723 -0.48 -0.225 -0.49 -0.234473 -0.5 -0.244141 -0.51 -0.254004 -0.52 -0.264063 -0.53 -0.274316 -0.54 -0.284766 -0.55 -0.29541 -0.56 -0.30625 -0.57 -0.317285 -0.58 -0.328516 -0.59 -0.339941 -0.6 -0.351563 -0.61 -0.363379 -0.62 -0.375391 -0.63 -0.387598 -0.64 -0.4 -0.65 -0.412598 -0.66 -0.425391 -0.67 -0.438379 -0.68 -0.451563 -0.69 -0.464941 -0.7 -0.478516 -0.71 -0.492285 -0.72 -0.50625 -0.73 -0.52041 -0.74 -0.534766 -0.75 -0.549316 -0.76 -0.564063 -0.77 -0.579004 -0.78 -0.594141 -0.79 -0.609473 -0.8 -0.625 -0.81 -0.64043 -0.82 -0.655469 -0.83 -0.670117 -0.84 -0.684375 -0.85 -0.698242 -0.86 -0.711719 -0.87 -0.724805 -0.88 -0.7375 -0.89 -0.749805 -0.9 -0.761719 -0.91 -0.773242 -0.92 -0.784375 -0.93 -0.795117 -0.94 -0.805469 -0.95 -0.81543 -0.96 -0.825 -0.97 -0.83418 -0.98 -0.842969 -0.99 -0.851367 -1 -0.859375 -1.01 -0.866992 -1.02 -0.874219 -1.03 -0.881055 -1.04 -0.8875 -1.05 -0.893555 -1.06 -0.899219 -1.07 -0.904492 -1.08 -0.909375 -1.09 -0.913867 -1.1 -0.917969 -1.11 -0.92168 -1.12 -0.925 -1.13 -0.92793 -1.14 -0.930469 -1.15 -0.932617 -1.16 -0.934375 -1.17 -0.935742 -1.18 -0.936719 -1.19 -0.937305 -1.2 -0.9375 -1.21 -0.937305 -1.22 -0.936719 -1.23 -0.935742 -1.24 -0.934375 -1.25 -0.932617 -1.26 -0.930469 -1.27 -0.92793 -1.28 -0.925 -1.29 -0.92168 -1.3 -0.917969 -1.31 -0.913867 -1.32 -0.909375 -1.33 -0.904492 -1.34 -0.899219 -1.35 -0.893555 -1.36 -0.8875 -1.37 -0.881055 -1.38 -0.874219 -1.39 -0.866992 -1.4 -0.859375 -1.41 -0.851367 -1.42 -0.842969 -1.43 -0.83418 -1.44 -0.825 -1.45 -0.81543 -1.46 -0.805469 -1.47 -0.795117 -1.48 -0.784375 -1.49 -0.773242 -1.5 -0.761719 -1.51 -0.749805 -1.52 -0.7375 -1.53 -0.724805 -1.54 -0.711719 -1.55 -0.698242 -1.56 -0.684375 -1.57 -0.670117 -1.58 -0.655469 -1.59 -0.64043 -1.6 -0.625 -1.61 -0.609473 -1.62 -0.594141 -1.63 -0.579004 -1.64 -0.564062 -1.65 -0.549316 -1.66 -0.534766 -1.67 -0.52041 -1.68 -0.50625 -1.69 -0.492285 -1.7 -0.478516 -1.71 -0.464941 -1.72 -0.451562 -1.73 -0.438379 -1.74 -0.425391 -1.75 -0.412598 -1.76 -0.4 -1.77 -0.387598 -1.78 -0.375391 -1.79 -0.363379 -1.8 -0.351562 -1.81 -0.339941 -1.82 -0.328516 -1.83 -0.317285 -1.84 -0.30625 -1.85 -0.29541 -1.86 -0.284766 -1.87 -0.274316 -1.88 -0.264062 -1.89 -0.254004 -1.9 -0.244141 -1.91 -0.234473 -1.92 -0.225 -1.93 -0.215723 -1.94 -0.206641 -1.95 -0.197754 -1.96 -0.189062 -1.97 -0.180566 -1.98 -0.172266 -1.99 -0.16416 -2 -0.15625 -2.01 -0.148535 -2.02 -0.141016 -2.03 -0.133691 -2.04 -0.126562 -2.05 -0.119629 -2.06 -0.112891 -2.07 -0.106348 -2.08 -0.1 -2.09 -0.0938477 -2.1 -0.0878906 -2.11 -0.0821289 -2.12 -0.0765625 -2.13 -0.0711914 -2.14 -0.0660156 -2.15 -0.0610352 -2.16 -0.05625 -2.17 -0.0516602 -2.18 -0.0472656 -2.19 -0.0430664 -2.2 -0.0390625 -2.21 -0.0352539 -2.22 -0.0316406 -2.23 -0.0282227 -2.24 -0.025 -2.25 -0.0219727 -2.26 -0.0191406 -2.27 -0.0165039 -2.28 -0.0140625 -2.29 -0.0118164 -2.3 -0.00976563 -2.31 -0.00791016 -2.32 -0.00625 -2.33 -0.00478516 -2.34 -0.00351563 -2.35 -0.00244141 -2.36 -0.0015625 -2.37 -0.000878906 -2.38 -0.000390625 -2.39 -9.76563e-05 -2.4 0 -2.41 0 -2.42 0 -2.43 0 -2.44 0 -2.45 0 -2.46 0 -2.47 0 -2.48 0 -2.49 0 -2.5 0 -2.51 0 -2.52 0 -2.53 0 -2.54 0 -2.55 0 -2.56 0 -2.57 0 -2.58 0 -2.59 0 -2.6 0 -2.61 0 -2.62 0 -2.63 0 -2.64 0 -2.65 0 -2.66 0 -2.67 0 -2.68 0 -2.69 0 -2.7 0 -2.71 0 -2.72 0 -2.73 0 -2.74 0 -2.75 0 -2.76 0 -2.77 0 -2.78 0 -2.79 0 -2.8 0 -2.81 0 -2.82 0 -2.83 0 -2.84 0 -2.85 0 -2.86 0 -2.87 0 -2.88 0 -2.89 0 -2.9 0 -2.91 0 -2.92 0 -2.93 0 -2.94 0 -2.95 0 -2.96 0 -2.97 0 -2.98 0 -2.99 0 -3 0 -3.01 0 -3.02 0 -3.03 0 -3.04 0 -3.05 0 -3.06 0 -3.07 0 -3.08 0 -3.09 0 -3.1 0 -3.11 0 -3.12 0 -3.13 0 -3.14 0 -3.15 0 -3.16 0 -3.17 0 -3.18 0 -3.19 0 -3.2 0 -3.21 0 -3.22 0 -3.23 0 -3.24 0 -3.25 0 -3.26 0 -3.27 0 -3.28 0 -3.29 0 -3.3 0 -3.31 0 -3.32 0 -3.33 0 -3.34 0 -3.35 0 -3.36 0 -3.37 0 -3.38 0 -3.39 0 -3.4 0 -3.41 0 -3.42 0 -3.43 0 -3.44 0 -3.45 0 -3.46 0 -3.47 0 -3.48 0 -3.49 0 -3.5 0 -3.51 0 -3.52 0 -3.53 0 -3.54 0 -3.55 0 -3.56 0 -3.57 0 -3.58 0 -3.59 0 -3.6 0 -3.61 0 -3.62 0 -3.63 0 -3.64 0 -3.65 0 -3.66 0 -3.67 0 -3.68 0 -3.69 0 -3.7 0 -3.71 0 -3.72 0 -3.73 0 -3.74 0 -3.75 0 -3.76 0 -3.77 0 -3.78 0 -3.79 0 -3.8 0 -3.81 0 -3.82 0 -3.83 0 -3.84 0 -3.85 0 -3.86 0 -3.87 0 -3.88 0 -3.89 0 -3.9 0 -3.91 0 -3.92 0 -3.93 0 -3.94 0 -3.95 0 -3.96 0 -3.97 0 -3.98 0 -3.99 0 -4 0 +0.000000 -0.000000 +0.010000 -0.000098 +0.020000 -0.000391 +0.030000 -0.000879 +0.040000 -0.001563 +0.050000 -0.002441 +0.060000 -0.003516 +0.070000 -0.004785 +0.080000 -0.006250 +0.090000 -0.007910 +0.100000 -0.009766 +0.110000 -0.011816 +0.120000 -0.014063 +0.130000 -0.016504 +0.140000 -0.019141 +0.150000 -0.021973 +0.160000 -0.025000 +0.170000 -0.028223 +0.180000 -0.031641 +0.190000 -0.035254 +0.200000 -0.039063 +0.210000 -0.043066 +0.220000 -0.047266 +0.230000 -0.051660 +0.240000 -0.056250 +0.250000 -0.061035 +0.260000 -0.066016 +0.270000 -0.071191 +0.280000 -0.076562 +0.290000 -0.082129 +0.300000 -0.087891 +0.310000 -0.093848 +0.320000 -0.100000 +0.330000 -0.106348 +0.340000 -0.112891 +0.350000 -0.119629 +0.360000 -0.126563 +0.370000 -0.133691 +0.380000 -0.141016 +0.390000 -0.148535 +0.400000 -0.156250 +0.410000 -0.164160 +0.420000 -0.172266 +0.430000 -0.180566 +0.440000 -0.189063 +0.450000 -0.197754 +0.460000 -0.206641 +0.470000 -0.215723 +0.480000 -0.225000 +0.490000 -0.234473 +0.500000 -0.244141 +0.510000 -0.254004 +0.520000 -0.264063 +0.530000 -0.274316 +0.540000 -0.284766 +0.550000 -0.295410 +0.560000 -0.306250 +0.570000 -0.317285 +0.580000 -0.328516 +0.590000 -0.339941 +0.600000 -0.351563 +0.610000 -0.363379 +0.620000 -0.375391 +0.630000 -0.387598 +0.640000 -0.400000 +0.650000 -0.412598 +0.660000 -0.425391 +0.670000 -0.438379 +0.680000 -0.451563 +0.690000 -0.464941 +0.700000 -0.478516 +0.710000 -0.492285 +0.720000 -0.506250 +0.730000 -0.520410 +0.740000 -0.534766 +0.750000 -0.549316 +0.760000 -0.564063 +0.770000 -0.579004 +0.780000 -0.594141 +0.790000 -0.609473 +0.800000 -0.625000 +0.810000 -0.640430 +0.820000 -0.655469 +0.830000 -0.670117 +0.840000 -0.684375 +0.850000 -0.698242 +0.860000 -0.711719 +0.870000 -0.724805 +0.880000 -0.737500 +0.890000 -0.749805 +0.900000 -0.761719 +0.910000 -0.773242 +0.920000 -0.784375 +0.930000 -0.795117 +0.940000 -0.805469 +0.950000 -0.815430 +0.960000 -0.825000 +0.970000 -0.834180 +0.980000 -0.842969 +0.990000 -0.851367 +1.000000 -0.859375 +1.010000 -0.866992 +1.020000 -0.874219 +1.030000 -0.881055 +1.040000 -0.887500 +1.050000 -0.893555 +1.060000 -0.899219 +1.070000 -0.904492 +1.080000 -0.909375 +1.090000 -0.913867 +1.100000 -0.917969 +1.110000 -0.921680 +1.120000 -0.925000 +1.130000 -0.927930 +1.140000 -0.930469 +1.150000 -0.932617 +1.160000 -0.934375 +1.170000 -0.935742 +1.180000 -0.936719 +1.190000 -0.937305 +1.200000 -0.937500 +1.210000 -0.937305 +1.220000 -0.936719 +1.230000 -0.935742 +1.240000 -0.934375 +1.250000 -0.932617 +1.260000 -0.930469 +1.270000 -0.927930 +1.280000 -0.925000 +1.290000 -0.921680 +1.300000 -0.917969 +1.310000 -0.913867 +1.320000 -0.909375 +1.330000 -0.904492 +1.340000 -0.899219 +1.350000 -0.893555 +1.360000 -0.887500 +1.370000 -0.881055 +1.380000 -0.874219 +1.390000 -0.866992 +1.400000 -0.859375 +1.410000 -0.851367 +1.420000 -0.842969 +1.430000 -0.834180 +1.440000 -0.825000 +1.450000 -0.815430 +1.460000 -0.805469 +1.470000 -0.795117 +1.480000 -0.784375 +1.490000 -0.773242 +1.500000 -0.761719 +1.510000 -0.749805 +1.520000 -0.737500 +1.530000 -0.724805 +1.540000 -0.711719 +1.550000 -0.698242 +1.560000 -0.684375 +1.570000 -0.670117 +1.580000 -0.655469 +1.590000 -0.640430 +1.600000 -0.625000 +1.610000 -0.609473 +1.620000 -0.594141 +1.630000 -0.579004 +1.640000 -0.564062 +1.650000 -0.549316 +1.660000 -0.534766 +1.670000 -0.520410 +1.680000 -0.506250 +1.690000 -0.492285 +1.700000 -0.478516 +1.710000 -0.464941 +1.720000 -0.451562 +1.730000 -0.438379 +1.740000 -0.425391 +1.750000 -0.412598 +1.760000 -0.400000 +1.770000 -0.387598 +1.780000 -0.375391 +1.790000 -0.363379 +1.800000 -0.351562 +1.810000 -0.339941 +1.820000 -0.328516 +1.830000 -0.317285 +1.840000 -0.306250 +1.850000 -0.295410 +1.860000 -0.284766 +1.870000 -0.274316 +1.880000 -0.264062 +1.890000 -0.254004 +1.900000 -0.244141 +1.910000 -0.234473 +1.920000 -0.225000 +1.930000 -0.215723 +1.940000 -0.206641 +1.950000 -0.197754 +1.960000 -0.189062 +1.970000 -0.180566 +1.980000 -0.172266 +1.990000 -0.164160 +2.000000 -0.156250 +2.010000 -0.148535 +2.020000 -0.141016 +2.030000 -0.133691 +2.040000 -0.126562 +2.050000 -0.119629 +2.060000 -0.112891 +2.070000 -0.106348 +2.080000 -0.100000 +2.090000 -0.093848 +2.100000 -0.087891 +2.110000 -0.082129 +2.120000 -0.076563 +2.130000 -0.071191 +2.140000 -0.066016 +2.150000 -0.061035 +2.160000 -0.056250 +2.170000 -0.051660 +2.180000 -0.047266 +2.190000 -0.043066 +2.200000 -0.039063 +2.210000 -0.035254 +2.220000 -0.031641 +2.230000 -0.028223 +2.240000 -0.025000 +2.250000 -0.021973 +2.260000 -0.019141 +2.270000 -0.016504 +2.280000 -0.014063 +2.290000 -0.011816 +2.300000 -0.009766 +2.310000 -0.007910 +2.320000 -0.006250 +2.330000 -0.004785 +2.340000 -0.003516 +2.350000 -0.002441 +2.360000 -0.001563 +2.370000 -0.000879 +2.380000 -0.000391 +2.390000 -0.000098 +2.400000 0.000000 +2.410000 0.000000 +2.420000 0.000000 +2.430000 0.000000 +2.440000 0.000000 +2.450000 0.000000 +2.460000 0.000000 +2.470000 0.000000 +2.480000 0.000000 +2.490000 0.000000 +2.500000 0.000000 +2.510000 0.000000 +2.520000 0.000000 +2.530000 0.000000 +2.540000 0.000000 +2.550000 0.000000 +2.560000 0.000000 +2.570000 0.000000 +2.580000 0.000000 +2.590000 0.000000 +2.600000 0.000000 +2.610000 0.000000 +2.620000 0.000000 +2.630000 0.000000 +2.640000 0.000000 +2.650000 0.000000 +2.660000 0.000000 +2.670000 0.000000 +2.680000 0.000000 +2.690000 0.000000 +2.700000 0.000000 +2.710000 0.000000 +2.720000 0.000000 +2.730000 0.000000 +2.740000 0.000000 +2.750000 0.000000 +2.760000 0.000000 +2.770000 0.000000 +2.780000 0.000000 +2.790000 0.000000 +2.800000 0.000000 +2.810000 0.000000 +2.820000 0.000000 +2.830000 0.000000 +2.840000 0.000000 +2.850000 0.000000 +2.860000 0.000000 +2.870000 0.000000 +2.880000 0.000000 +2.890000 0.000000 +2.900000 0.000000 +2.910000 0.000000 +2.920000 0.000000 +2.930000 0.000000 +2.940000 0.000000 +2.950000 0.000000 +2.960000 0.000000 +2.970000 0.000000 +2.980000 0.000000 +2.990000 0.000000 +3.000000 0.000000 +3.010000 0.000000 +3.020000 0.000000 +3.030000 0.000000 +3.040000 0.000000 +3.050000 0.000000 +3.060000 0.000000 +3.070000 0.000000 +3.080000 0.000000 +3.090000 0.000000 +3.100000 0.000000 +3.110000 0.000000 +3.120000 0.000000 +3.130000 0.000000 +3.140000 0.000000 +3.150000 0.000000 +3.160000 0.000000 +3.170000 0.000000 +3.180000 0.000000 +3.190000 0.000000 +3.200000 0.000000 +3.210000 0.000000 +3.220000 0.000000 +3.230000 0.000000 +3.240000 0.000000 +3.250000 0.000000 +3.260000 0.000000 +3.270000 0.000000 +3.280000 0.000000 +3.290000 0.000000 +3.300000 0.000000 +3.310000 0.000000 +3.320000 0.000000 +3.330000 0.000000 +3.340000 0.000000 +3.350000 0.000000 +3.360000 0.000000 +3.370000 0.000000 +3.380000 0.000000 +3.390000 0.000000 +3.400000 0.000000 +3.410000 0.000000 +3.420000 0.000000 +3.430000 0.000000 +3.440000 0.000000 +3.450000 0.000000 +3.460000 0.000000 +3.470000 0.000000 +3.480000 0.000000 +3.490000 0.000000 +3.500000 0.000000 +3.510000 0.000000 +3.520000 0.000000 +3.530000 0.000000 +3.540000 0.000000 +3.550000 0.000000 +3.560000 0.000000 +3.570000 0.000000 +3.580000 0.000000 +3.590000 0.000000 +3.600000 0.000000 +3.610000 0.000000 +3.620000 0.000000 +3.630000 0.000000 +3.640000 0.000000 +3.650000 0.000000 +3.660000 0.000000 +3.670000 0.000000 +3.680000 0.000000 +3.690000 0.000000 +3.700000 0.000000 +3.710000 0.000000 +3.720000 0.000000 +3.730000 0.000000 +3.740000 0.000000 +3.750000 0.000000 +3.760000 0.000000 +3.770000 0.000000 +3.780000 0.000000 +3.790000 0.000000 +3.800000 0.000000 +3.810000 0.000000 +3.820000 0.000000 +3.830000 0.000000 +3.840000 0.000000 +3.850000 0.000000 +3.860000 0.000000 +3.870000 0.000000 +3.880000 0.000000 +3.890000 0.000000 +3.900000 0.000000 +3.910000 0.000000 +3.920000 0.000000 +3.930000 0.000000 +3.940000 0.000000 +3.950000 0.000000 +3.960000 0.000000 +3.970000 0.000000 +3.980000 0.000000 +3.990000 0.000000 +4.000000 0.000000 e plot '-' title 'spline 2nd derivative' with line -0 -2.25514e-17 -0.01 -0.0195312 -0.02 -0.0390625 -0.03 -0.0585937 -0.04 -0.078125 -0.05 -0.0976562 -0.06 -0.117187 -0.07 -0.136719 -0.08 -0.15625 -0.09 -0.175781 -0.1 -0.195313 -0.11 -0.214844 -0.12 -0.234375 -0.13 -0.253906 -0.14 -0.273437 -0.15 -0.292969 -0.16 -0.3125 -0.17 -0.332031 -0.18 -0.351563 -0.19 -0.371094 -0.2 -0.390625 -0.21 -0.410156 -0.22 -0.429687 -0.23 -0.449219 -0.24 -0.46875 -0.25 -0.488281 -0.26 -0.507812 -0.27 -0.527344 -0.28 -0.546875 -0.29 -0.566406 -0.3 -0.585937 -0.31 -0.605469 -0.32 -0.625 -0.33 -0.644531 -0.34 -0.664063 -0.35 -0.683594 -0.36 -0.703125 -0.37 -0.722656 -0.38 -0.742188 -0.39 -0.761719 -0.4 -0.78125 -0.41 -0.800781 -0.42 -0.820313 -0.43 -0.839844 -0.44 -0.859375 -0.45 -0.878906 -0.46 -0.898438 -0.47 -0.917969 -0.48 -0.9375 -0.49 -0.957031 -0.5 -0.976562 -0.51 -0.996094 -0.52 -1.01563 -0.53 -1.03516 -0.54 -1.05469 -0.55 -1.07422 -0.56 -1.09375 -0.57 -1.11328 -0.58 -1.13281 -0.59 -1.15234 -0.6 -1.17188 -0.61 -1.19141 -0.62 -1.21094 -0.63 -1.23047 -0.64 -1.25 -0.65 -1.26953 -0.66 -1.28906 -0.67 -1.30859 -0.68 -1.32813 -0.69 -1.34766 -0.7 -1.36719 -0.71 -1.38672 -0.72 -1.40625 -0.73 -1.42578 -0.74 -1.44531 -0.75 -1.46484 -0.76 -1.48438 -0.77 -1.50391 -0.78 -1.52344 -0.79 -1.54297 -0.8 -1.5625 -0.81 -1.52344 -0.82 -1.48437 -0.83 -1.44531 -0.84 -1.40625 -0.85 -1.36719 -0.86 -1.32812 -0.87 -1.28906 -0.88 -1.25 -0.89 -1.21094 -0.9 -1.17187 -0.91 -1.13281 -0.92 -1.09375 -0.93 -1.05469 -0.94 -1.01562 -0.95 -0.976562 -0.96 -0.9375 -0.97 -0.898437 -0.98 -0.859375 -0.99 -0.820312 -1 -0.78125 -1.01 -0.742187 -1.02 -0.703125 -1.03 -0.664062 -1.04 -0.625 -1.05 -0.585937 -1.06 -0.546875 -1.07 -0.507812 -1.08 -0.46875 -1.09 -0.429687 -1.1 -0.390625 -1.11 -0.351562 -1.12 -0.3125 -1.13 -0.273437 -1.14 -0.234375 -1.15 -0.195312 -1.16 -0.15625 -1.17 -0.117187 -1.18 -0.078125 -1.19 -0.0390625 -1.2 2.86446e-15 -1.21 0.0390625 -1.22 0.078125 -1.23 0.117188 -1.24 0.15625 -1.25 0.195313 -1.26 0.234375 -1.27 0.273438 -1.28 0.3125 -1.29 0.351563 -1.3 0.390625 -1.31 0.429688 -1.32 0.46875 -1.33 0.507813 -1.34 0.546875 -1.35 0.585938 -1.36 0.625 -1.37 0.664063 -1.38 0.703125 -1.39 0.742188 -1.4 0.78125 -1.41 0.820313 -1.42 0.859375 -1.43 0.898438 -1.44 0.9375 -1.45 0.976563 -1.46 1.01563 -1.47 1.05469 -1.48 1.09375 -1.49 1.13281 -1.5 1.17188 -1.51 1.21094 -1.52 1.25 -1.53 1.28906 -1.54 1.32813 -1.55 1.36719 -1.56 1.40625 -1.57 1.44531 -1.58 1.48438 -1.59 1.52344 -1.6 1.5625 -1.61 1.54297 -1.62 1.52344 -1.63 1.50391 -1.64 1.48437 -1.65 1.46484 -1.66 1.44531 -1.67 1.42578 -1.68 1.40625 -1.69 1.38672 -1.7 1.36719 -1.71 1.34766 -1.72 1.32812 -1.73 1.30859 -1.74 1.28906 -1.75 1.26953 -1.76 1.25 -1.77 1.23047 -1.78 1.21094 -1.79 1.19141 -1.8 1.17187 -1.81 1.15234 -1.82 1.13281 -1.83 1.11328 -1.84 1.09375 -1.85 1.07422 -1.86 1.05469 -1.87 1.03516 -1.88 1.01562 -1.89 0.996094 -1.9 0.976562 -1.91 0.957031 -1.92 0.9375 -1.93 0.917969 -1.94 0.898437 -1.95 0.878906 -1.96 0.859375 -1.97 0.839844 -1.98 0.820312 -1.99 0.800781 -2 0.78125 -2.01 0.761719 -2.02 0.742187 -2.03 0.722656 -2.04 0.703125 -2.05 0.683594 -2.06 0.664063 -2.07 0.644531 -2.08 0.625 -2.09 0.605469 -2.1 0.585938 -2.11 0.566406 -2.12 0.546875 -2.13 0.527344 -2.14 0.507813 -2.15 0.488281 -2.16 0.46875 -2.17 0.449219 -2.18 0.429688 -2.19 0.410156 -2.2 0.390625 -2.21 0.371094 -2.22 0.351563 -2.23 0.332031 -2.24 0.3125 -2.25 0.292969 -2.26 0.273438 -2.27 0.253906 -2.28 0.234375 -2.29 0.214844 -2.3 0.195313 -2.31 0.175781 -2.32 0.15625 -2.33 0.136719 -2.34 0.117188 -2.35 0.0976563 -2.36 0.078125 -2.37 0.0585938 -2.38 0.0390625 -2.39 0.0195313 -2.4 1.45717e-14 -2.41 0 -2.42 0 -2.43 0 -2.44 0 -2.45 0 -2.46 0 -2.47 0 -2.48 0 -2.49 0 -2.5 0 -2.51 0 -2.52 0 -2.53 0 -2.54 0 -2.55 0 -2.56 0 -2.57 0 -2.58 0 -2.59 0 -2.6 0 -2.61 0 -2.62 0 -2.63 0 -2.64 0 -2.65 0 -2.66 0 -2.67 0 -2.68 0 -2.69 0 -2.7 0 -2.71 0 -2.72 0 -2.73 0 -2.74 0 -2.75 0 -2.76 0 -2.77 0 -2.78 0 -2.79 0 -2.8 0 -2.81 0 -2.82 0 -2.83 0 -2.84 0 -2.85 0 -2.86 0 -2.87 0 -2.88 0 -2.89 0 -2.9 0 -2.91 0 -2.92 0 -2.93 0 -2.94 0 -2.95 0 -2.96 0 -2.97 0 -2.98 0 -2.99 0 -3 0 -3.01 0 -3.02 0 -3.03 0 -3.04 0 -3.05 0 -3.06 0 -3.07 0 -3.08 0 -3.09 0 -3.1 0 -3.11 0 -3.12 0 -3.13 0 -3.14 0 -3.15 0 -3.16 0 -3.17 0 -3.18 0 -3.19 0 -3.2 0 -3.21 0 -3.22 0 -3.23 0 -3.24 0 -3.25 0 -3.26 0 -3.27 0 -3.28 0 -3.29 0 -3.3 0 -3.31 0 -3.32 0 -3.33 0 -3.34 0 -3.35 0 -3.36 0 -3.37 0 -3.38 0 -3.39 0 -3.4 0 -3.41 0 -3.42 0 -3.43 0 -3.44 0 -3.45 0 -3.46 0 -3.47 0 -3.48 0 -3.49 0 -3.5 0 -3.51 0 -3.52 0 -3.53 0 -3.54 0 -3.55 0 -3.56 0 -3.57 0 -3.58 0 -3.59 0 -3.6 0 -3.61 0 -3.62 0 -3.63 0 -3.64 0 -3.65 0 -3.66 0 -3.67 0 -3.68 0 -3.69 0 -3.7 0 -3.71 0 -3.72 0 -3.73 0 -3.74 0 -3.75 0 -3.76 0 -3.77 0 -3.78 0 -3.79 0 -3.8 0 -3.81 0 -3.82 0 -3.83 0 -3.84 0 -3.85 0 -3.86 0 -3.87 0 -3.88 0 -3.89 0 -3.9 0 -3.91 0 -3.92 0 -3.93 0 -3.94 0 -3.95 0 -3.96 0 -3.97 0 -3.98 0 -3.99 0 -4 0 +0.000000 -0.000000 +0.010000 -0.019531 +0.020000 -0.039062 +0.030000 -0.058594 +0.040000 -0.078125 +0.050000 -0.097656 +0.060000 -0.117187 +0.070000 -0.136719 +0.080000 -0.156250 +0.090000 -0.175781 +0.100000 -0.195313 +0.110000 -0.214844 +0.120000 -0.234375 +0.130000 -0.253906 +0.140000 -0.273437 +0.150000 -0.292969 +0.160000 -0.312500 +0.170000 -0.332031 +0.180000 -0.351563 +0.190000 -0.371094 +0.200000 -0.390625 +0.210000 -0.410156 +0.220000 -0.429687 +0.230000 -0.449219 +0.240000 -0.468750 +0.250000 -0.488281 +0.260000 -0.507812 +0.270000 -0.527344 +0.280000 -0.546875 +0.290000 -0.566406 +0.300000 -0.585937 +0.310000 -0.605469 +0.320000 -0.625000 +0.330000 -0.644531 +0.340000 -0.664063 +0.350000 -0.683594 +0.360000 -0.703125 +0.370000 -0.722656 +0.380000 -0.742188 +0.390000 -0.761719 +0.400000 -0.781250 +0.410000 -0.800781 +0.420000 -0.820313 +0.430000 -0.839844 +0.440000 -0.859375 +0.450000 -0.878906 +0.460000 -0.898438 +0.470000 -0.917969 +0.480000 -0.937500 +0.490000 -0.957031 +0.500000 -0.976562 +0.510000 -0.996094 +0.520000 -1.015625 +0.530000 -1.035156 +0.540000 -1.054688 +0.550000 -1.074219 +0.560000 -1.093750 +0.570000 -1.113281 +0.580000 -1.132813 +0.590000 -1.152344 +0.600000 -1.171875 +0.610000 -1.191406 +0.620000 -1.210938 +0.630000 -1.230469 +0.640000 -1.250000 +0.650000 -1.269531 +0.660000 -1.289063 +0.670000 -1.308594 +0.680000 -1.328125 +0.690000 -1.347656 +0.700000 -1.367188 +0.710000 -1.386719 +0.720000 -1.406250 +0.730000 -1.425781 +0.740000 -1.445313 +0.750000 -1.464844 +0.760000 -1.484375 +0.770000 -1.503906 +0.780000 -1.523438 +0.790000 -1.542969 +0.800000 -1.562500 +0.810000 -1.523437 +0.820000 -1.484375 +0.830000 -1.445312 +0.840000 -1.406250 +0.850000 -1.367187 +0.860000 -1.328125 +0.870000 -1.289062 +0.880000 -1.250000 +0.890000 -1.210937 +0.900000 -1.171875 +0.910000 -1.132812 +0.920000 -1.093750 +0.930000 -1.054687 +0.940000 -1.015625 +0.950000 -0.976562 +0.960000 -0.937500 +0.970000 -0.898437 +0.980000 -0.859375 +0.990000 -0.820312 +1.000000 -0.781250 +1.010000 -0.742187 +1.020000 -0.703125 +1.030000 -0.664062 +1.040000 -0.625000 +1.050000 -0.585937 +1.060000 -0.546875 +1.070000 -0.507812 +1.080000 -0.468750 +1.090000 -0.429687 +1.100000 -0.390625 +1.110000 -0.351562 +1.120000 -0.312500 +1.130000 -0.273437 +1.140000 -0.234375 +1.150000 -0.195312 +1.160000 -0.156250 +1.170000 -0.117187 +1.180000 -0.078125 +1.190000 -0.039062 +1.200000 0.000000 +1.210000 0.039063 +1.220000 0.078125 +1.230000 0.117188 +1.240000 0.156250 +1.250000 0.195313 +1.260000 0.234375 +1.270000 0.273438 +1.280000 0.312500 +1.290000 0.351563 +1.300000 0.390625 +1.310000 0.429688 +1.320000 0.468750 +1.330000 0.507813 +1.340000 0.546875 +1.350000 0.585938 +1.360000 0.625000 +1.370000 0.664063 +1.380000 0.703125 +1.390000 0.742188 +1.400000 0.781250 +1.410000 0.820313 +1.420000 0.859375 +1.430000 0.898438 +1.440000 0.937500 +1.450000 0.976563 +1.460000 1.015625 +1.470000 1.054688 +1.480000 1.093750 +1.490000 1.132813 +1.500000 1.171875 +1.510000 1.210938 +1.520000 1.250000 +1.530000 1.289063 +1.540000 1.328125 +1.550000 1.367188 +1.560000 1.406250 +1.570000 1.445313 +1.580000 1.484375 +1.590000 1.523438 +1.600000 1.562500 +1.610000 1.542969 +1.620000 1.523437 +1.630000 1.503906 +1.640000 1.484375 +1.650000 1.464844 +1.660000 1.445312 +1.670000 1.425781 +1.680000 1.406250 +1.690000 1.386719 +1.700000 1.367187 +1.710000 1.347656 +1.720000 1.328125 +1.730000 1.308594 +1.740000 1.289062 +1.750000 1.269531 +1.760000 1.250000 +1.770000 1.230469 +1.780000 1.210937 +1.790000 1.191406 +1.800000 1.171875 +1.810000 1.152344 +1.820000 1.132812 +1.830000 1.113281 +1.840000 1.093750 +1.850000 1.074219 +1.860000 1.054687 +1.870000 1.035156 +1.880000 1.015625 +1.890000 0.996094 +1.900000 0.976562 +1.910000 0.957031 +1.920000 0.937500 +1.930000 0.917969 +1.940000 0.898437 +1.950000 0.878906 +1.960000 0.859375 +1.970000 0.839844 +1.980000 0.820312 +1.990000 0.800781 +2.000000 0.781250 +2.010000 0.761719 +2.020000 0.742187 +2.030000 0.722656 +2.040000 0.703125 +2.050000 0.683594 +2.060000 0.664063 +2.070000 0.644531 +2.080000 0.625000 +2.090000 0.605469 +2.100000 0.585938 +2.110000 0.566406 +2.120000 0.546875 +2.130000 0.527344 +2.140000 0.507813 +2.150000 0.488281 +2.160000 0.468750 +2.170000 0.449219 +2.180000 0.429688 +2.190000 0.410156 +2.200000 0.390625 +2.210000 0.371094 +2.220000 0.351563 +2.230000 0.332031 +2.240000 0.312500 +2.250000 0.292969 +2.260000 0.273438 +2.270000 0.253906 +2.280000 0.234375 +2.290000 0.214844 +2.300000 0.195313 +2.310000 0.175781 +2.320000 0.156250 +2.330000 0.136719 +2.340000 0.117188 +2.350000 0.097656 +2.360000 0.078125 +2.370000 0.058594 +2.380000 0.039063 +2.390000 0.019531 +2.400000 0.000000 +2.410000 0.000000 +2.420000 0.000000 +2.430000 0.000000 +2.440000 0.000000 +2.450000 0.000000 +2.460000 0.000000 +2.470000 0.000000 +2.480000 0.000000 +2.490000 0.000000 +2.500000 0.000000 +2.510000 0.000000 +2.520000 0.000000 +2.530000 0.000000 +2.540000 0.000000 +2.550000 0.000000 +2.560000 0.000000 +2.570000 0.000000 +2.580000 0.000000 +2.590000 0.000000 +2.600000 0.000000 +2.610000 0.000000 +2.620000 0.000000 +2.630000 0.000000 +2.640000 0.000000 +2.650000 0.000000 +2.660000 0.000000 +2.670000 0.000000 +2.680000 0.000000 +2.690000 0.000000 +2.700000 0.000000 +2.710000 0.000000 +2.720000 0.000000 +2.730000 0.000000 +2.740000 0.000000 +2.750000 0.000000 +2.760000 0.000000 +2.770000 0.000000 +2.780000 0.000000 +2.790000 0.000000 +2.800000 0.000000 +2.810000 0.000000 +2.820000 0.000000 +2.830000 0.000000 +2.840000 0.000000 +2.850000 0.000000 +2.860000 0.000000 +2.870000 0.000000 +2.880000 0.000000 +2.890000 0.000000 +2.900000 0.000000 +2.910000 0.000000 +2.920000 0.000000 +2.930000 0.000000 +2.940000 0.000000 +2.950000 0.000000 +2.960000 0.000000 +2.970000 0.000000 +2.980000 0.000000 +2.990000 0.000000 +3.000000 0.000000 +3.010000 0.000000 +3.020000 0.000000 +3.030000 0.000000 +3.040000 0.000000 +3.050000 0.000000 +3.060000 0.000000 +3.070000 0.000000 +3.080000 0.000000 +3.090000 0.000000 +3.100000 0.000000 +3.110000 0.000000 +3.120000 0.000000 +3.130000 0.000000 +3.140000 0.000000 +3.150000 0.000000 +3.160000 0.000000 +3.170000 0.000000 +3.180000 0.000000 +3.190000 0.000000 +3.200000 0.000000 +3.210000 0.000000 +3.220000 0.000000 +3.230000 0.000000 +3.240000 0.000000 +3.250000 0.000000 +3.260000 0.000000 +3.270000 0.000000 +3.280000 0.000000 +3.290000 0.000000 +3.300000 0.000000 +3.310000 0.000000 +3.320000 0.000000 +3.330000 0.000000 +3.340000 0.000000 +3.350000 0.000000 +3.360000 0.000000 +3.370000 0.000000 +3.380000 0.000000 +3.390000 0.000000 +3.400000 0.000000 +3.410000 0.000000 +3.420000 0.000000 +3.430000 0.000000 +3.440000 0.000000 +3.450000 0.000000 +3.460000 0.000000 +3.470000 0.000000 +3.480000 0.000000 +3.490000 0.000000 +3.500000 0.000000 +3.510000 0.000000 +3.520000 0.000000 +3.530000 0.000000 +3.540000 0.000000 +3.550000 0.000000 +3.560000 0.000000 +3.570000 0.000000 +3.580000 0.000000 +3.590000 0.000000 +3.600000 0.000000 +3.610000 0.000000 +3.620000 0.000000 +3.630000 0.000000 +3.640000 0.000000 +3.650000 0.000000 +3.660000 0.000000 +3.670000 0.000000 +3.680000 0.000000 +3.690000 0.000000 +3.700000 0.000000 +3.710000 0.000000 +3.720000 0.000000 +3.730000 0.000000 +3.740000 0.000000 +3.750000 0.000000 +3.760000 0.000000 +3.770000 0.000000 +3.780000 0.000000 +3.790000 0.000000 +3.800000 0.000000 +3.810000 0.000000 +3.820000 0.000000 +3.830000 0.000000 +3.840000 0.000000 +3.850000 0.000000 +3.860000 0.000000 +3.870000 0.000000 +3.880000 0.000000 +3.890000 0.000000 +3.900000 0.000000 +3.910000 0.000000 +3.920000 0.000000 +3.930000 0.000000 +3.940000 0.000000 +3.950000 0.000000 +3.960000 0.000000 +3.970000 0.000000 +3.980000 0.000000 +3.990000 0.000000 +4.000000 0.000000 e plot '-' title 'configuration (0)' with line -0 1 -0.01 1 -0.02 0.999997 -0.03 0.999991 -0.04 0.999979 -0.05 0.999959 -0.06 0.99993 -0.07 0.999888 -0.08 0.999833 -0.09 0.999763 -0.1 0.999674 -0.11 0.999567 -0.12 0.999437 -0.13 0.999285 -0.14 0.999107 -0.15 0.998901 -0.16 0.998667 -0.17 0.998401 -0.18 0.998102 -0.19 0.997767 -0.2 0.997396 -0.21 0.996985 -0.22 0.996534 -0.23 0.996039 -0.24 0.9955 -0.25 0.994914 -0.26 0.994279 -0.27 0.993593 -0.28 0.992854 -0.29 0.992061 -0.3 0.991211 -0.31 0.990302 -0.32 0.989333 -0.33 0.988302 -0.34 0.987206 -0.35 0.986043 -0.36 0.984812 -0.37 0.983511 -0.38 0.982138 -0.39 0.98069 -0.4 0.979167 -0.41 0.977565 -0.42 0.975883 -0.43 0.974119 -0.44 0.972271 -0.45 0.970337 -0.46 0.968315 -0.47 0.966203 -0.48 0.964 -0.49 0.961703 -0.5 0.95931 -0.51 0.956819 -0.52 0.954229 -0.53 0.951537 -0.54 0.948742 -0.55 0.945841 -0.56 0.942833 -0.57 0.939716 -0.58 0.936487 -0.59 0.933145 -0.6 0.929688 -0.61 0.926113 -0.62 0.922419 -0.63 0.918604 -0.64 0.914667 -0.65 0.910604 -0.66 0.906414 -0.67 0.902095 -0.68 0.897646 -0.69 0.893063 -0.7 0.888346 -0.71 0.883493 -0.72 0.8785 -0.73 0.873367 -0.74 0.868091 -0.75 0.862671 -0.76 0.857104 -0.77 0.851389 -0.78 0.845523 -0.79 0.839506 -0.8 0.833333 -0.81 0.827006 -0.82 0.820526 -0.83 0.813898 -0.84 0.807125 -0.85 0.800212 -0.86 0.793161 -0.87 0.785979 -0.88 0.778667 -0.89 0.77123 -0.9 0.763672 -0.91 0.755997 -0.92 0.748208 -0.93 0.740311 -0.94 0.732307 -0.95 0.724202 -0.96 0.716 -0.97 0.707704 -0.98 0.699318 -0.99 0.690846 -1 0.682292 -1.01 0.67366 -1.02 0.664953 -1.03 0.656176 -1.04 0.647333 -1.05 0.638428 -1.06 0.629464 -1.07 0.620445 -1.08 0.611375 -1.09 0.602258 -1.1 0.593099 -1.11 0.5839 -1.12 0.574667 -1.13 0.565402 -1.14 0.556109 -1.15 0.546794 -1.16 0.537458 -1.17 0.528107 -1.18 0.518745 -1.19 0.509374 -1.2 0.5 -1.21 0.490626 -1.22 0.481255 -1.23 0.471893 -1.24 0.462542 -1.25 0.453206 -1.26 0.443891 -1.27 0.434598 -1.28 0.425333 -1.29 0.4161 -1.3 0.406901 -1.31 0.397742 -1.32 0.388625 -1.33 0.379555 -1.34 0.370536 -1.35 0.361572 -1.36 0.352667 -1.37 0.343824 -1.38 0.335047 -1.39 0.32634 -1.4 0.317708 -1.41 0.309154 -1.42 0.300682 -1.43 0.292296 -1.44 0.284 -1.45 0.275798 -1.46 0.267693 -1.47 0.259689 -1.48 0.251792 -1.49 0.244003 -1.5 0.236328 -1.51 0.22877 -1.52 0.221333 -1.53 0.214021 -1.54 0.206839 -1.55 0.199788 -1.56 0.192875 -1.57 0.186102 -1.58 0.179474 -1.59 0.172994 -1.6 0.166667 -1.61 0.160494 -1.62 0.154477 -1.63 0.148611 -1.64 0.142896 -1.65 0.137329 -1.66 0.131909 -1.67 0.126633 -1.68 0.1215 -1.69 0.116507 -1.7 0.111654 -1.71 0.106937 -1.72 0.102354 -1.73 0.0979046 -1.74 0.0935859 -1.75 0.0893962 -1.76 0.0853333 -1.77 0.0813955 -1.78 0.0775807 -1.79 0.073887 -1.8 0.0703125 -1.81 0.0668551 -1.82 0.063513 -1.83 0.0602842 -1.84 0.0571667 -1.85 0.0541585 -1.86 0.0512578 -1.87 0.0484626 -1.88 0.0457708 -1.89 0.0431807 -1.9 0.0406901 -1.91 0.0382972 -1.92 0.036 -1.93 0.0337965 -1.94 0.0316849 -1.95 0.0296631 -1.96 0.0277292 -1.97 0.0258812 -1.98 0.0241172 -1.99 0.0224352 -2 0.0208333 -2.01 0.0193096 -2.02 0.017862 -2.03 0.0164886 -2.04 0.0151875 -2.05 0.0139567 -2.06 0.0127943 -2.07 0.0116982 -2.08 0.0106667 -2.09 0.00969759 -2.1 0.00878906 -2.11 0.00793913 -2.12 0.00714583 -2.13 0.00640723 -2.14 0.00572135 -2.15 0.00508626 -2.16 0.0045 -2.17 0.00396061 -2.18 0.00346615 -2.19 0.00301465 -2.2 0.00260417 -2.21 0.00223275 -2.22 0.00189844 -2.23 0.00159928 -2.24 0.00133333 -2.25 0.00109863 -2.26 0.000893229 -2.27 0.000715169 -2.28 0.0005625 -2.29 0.000433268 -2.3 0.000325521 -2.31 0.000237305 -2.32 0.000166667 -2.33 0.000111654 -2.34 7.03125e-05 -2.35 4.06901e-05 -2.36 2.08333e-05 -2.37 8.78906e-06 -2.38 2.60417e-06 -2.39 3.25521e-07 -2.4 -9.26993e-18 -2.41 0 -2.42 0 -2.43 0 -2.44 0 -2.45 0 -2.46 0 -2.47 0 -2.48 0 -2.49 0 -2.5 0 -2.51 0 -2.52 0 -2.53 0 -2.54 0 -2.55 0 -2.56 0 -2.57 0 -2.58 0 -2.59 0 -2.6 0 -2.61 0 -2.62 0 -2.63 0 -2.64 0 -2.65 0 -2.66 0 -2.67 0 -2.68 0 -2.69 0 -2.7 0 -2.71 0 -2.72 0 -2.73 0 -2.74 0 -2.75 0 -2.76 0 -2.77 0 -2.78 0 -2.79 0 -2.8 0 -2.81 0 -2.82 0 -2.83 0 -2.84 0 -2.85 0 -2.86 0 -2.87 0 -2.88 0 -2.89 0 -2.9 0 -2.91 0 -2.92 0 -2.93 0 -2.94 0 -2.95 0 -2.96 0 -2.97 0 -2.98 0 -2.99 0 -3 0 -3.01 0 -3.02 0 -3.03 0 -3.04 0 -3.05 0 -3.06 0 -3.07 0 -3.08 0 -3.09 0 -3.1 0 -3.11 0 -3.12 0 -3.13 0 -3.14 0 -3.15 0 -3.16 0 -3.17 0 -3.18 0 -3.19 0 -3.2 0 -3.21 0 -3.22 0 -3.23 0 -3.24 0 -3.25 0 -3.26 0 -3.27 0 -3.28 0 -3.29 0 -3.3 0 -3.31 0 -3.32 0 -3.33 0 -3.34 0 -3.35 0 -3.36 0 -3.37 0 -3.38 0 -3.39 0 -3.4 0 -3.41 0 -3.42 0 -3.43 0 -3.44 0 -3.45 0 -3.46 0 -3.47 0 -3.48 0 -3.49 0 -3.5 0 -3.51 0 -3.52 0 -3.53 0 -3.54 0 -3.55 0 -3.56 0 -3.57 0 -3.58 0 -3.59 0 -3.6 0 -3.61 0 -3.62 0 -3.63 0 -3.64 0 -3.65 0 -3.66 0 -3.67 0 -3.68 0 -3.69 0 -3.7 0 -3.71 0 -3.72 0 -3.73 0 -3.74 0 -3.75 0 -3.76 0 -3.77 0 -3.78 0 -3.79 0 -3.8 0 -3.81 0 -3.82 0 -3.83 0 -3.84 0 -3.85 0 -3.86 0 -3.87 0 -3.88 0 -3.89 0 -3.9 0 -3.91 0 -3.92 0 -3.93 0 -3.94 0 -3.95 0 -3.96 0 -3.97 0 -3.98 0 -3.99 0 -4 0 +0.000000 1.000000 +0.010000 1.000000 +0.020000 0.999997 +0.030000 0.999991 +0.040000 0.999979 +0.050000 0.999959 +0.060000 0.999930 +0.070000 0.999888 +0.080000 0.999833 +0.090000 0.999763 +0.100000 0.999674 +0.110000 0.999567 +0.120000 0.999437 +0.130000 0.999285 +0.140000 0.999107 +0.150000 0.998901 +0.160000 0.998667 +0.170000 0.998401 +0.180000 0.998102 +0.190000 0.997767 +0.200000 0.997396 +0.210000 0.996985 +0.220000 0.996534 +0.230000 0.996039 +0.240000 0.995500 +0.250000 0.994914 +0.260000 0.994279 +0.270000 0.993593 +0.280000 0.992854 +0.290000 0.992061 +0.300000 0.991211 +0.310000 0.990302 +0.320000 0.989333 +0.330000 0.988302 +0.340000 0.987206 +0.350000 0.986043 +0.360000 0.984812 +0.370000 0.983511 +0.380000 0.982138 +0.390000 0.980690 +0.400000 0.979167 +0.410000 0.977565 +0.420000 0.975883 +0.430000 0.974119 +0.440000 0.972271 +0.450000 0.970337 +0.460000 0.968315 +0.470000 0.966203 +0.480000 0.964000 +0.490000 0.961703 +0.500000 0.959310 +0.510000 0.956819 +0.520000 0.954229 +0.530000 0.951537 +0.540000 0.948742 +0.550000 0.945841 +0.560000 0.942833 +0.570000 0.939716 +0.580000 0.936487 +0.590000 0.933145 +0.600000 0.929688 +0.610000 0.926113 +0.620000 0.922419 +0.630000 0.918604 +0.640000 0.914667 +0.650000 0.910604 +0.660000 0.906414 +0.670000 0.902095 +0.680000 0.897646 +0.690000 0.893063 +0.700000 0.888346 +0.710000 0.883493 +0.720000 0.878500 +0.730000 0.873367 +0.740000 0.868091 +0.750000 0.862671 +0.760000 0.857104 +0.770000 0.851389 +0.780000 0.845523 +0.790000 0.839506 +0.800000 0.833333 +0.810000 0.827006 +0.820000 0.820526 +0.830000 0.813898 +0.840000 0.807125 +0.850000 0.800212 +0.860000 0.793161 +0.870000 0.785979 +0.880000 0.778667 +0.890000 0.771230 +0.900000 0.763672 +0.910000 0.755997 +0.920000 0.748208 +0.930000 0.740311 +0.940000 0.732307 +0.950000 0.724202 +0.960000 0.716000 +0.970000 0.707704 +0.980000 0.699318 +0.990000 0.690846 +1.000000 0.682292 +1.010000 0.673660 +1.020000 0.664953 +1.030000 0.656176 +1.040000 0.647333 +1.050000 0.638428 +1.060000 0.629464 +1.070000 0.620445 +1.080000 0.611375 +1.090000 0.602258 +1.100000 0.593099 +1.110000 0.583900 +1.120000 0.574667 +1.130000 0.565402 +1.140000 0.556109 +1.150000 0.546794 +1.160000 0.537458 +1.170000 0.528107 +1.180000 0.518745 +1.190000 0.509374 +1.200000 0.500000 +1.210000 0.490626 +1.220000 0.481255 +1.230000 0.471893 +1.240000 0.462542 +1.250000 0.453206 +1.260000 0.443891 +1.270000 0.434598 +1.280000 0.425333 +1.290000 0.416100 +1.300000 0.406901 +1.310000 0.397742 +1.320000 0.388625 +1.330000 0.379555 +1.340000 0.370536 +1.350000 0.361572 +1.360000 0.352667 +1.370000 0.343824 +1.380000 0.335047 +1.390000 0.326340 +1.400000 0.317708 +1.410000 0.309154 +1.420000 0.300682 +1.430000 0.292296 +1.440000 0.284000 +1.450000 0.275798 +1.460000 0.267693 +1.470000 0.259689 +1.480000 0.251792 +1.490000 0.244003 +1.500000 0.236328 +1.510000 0.228770 +1.520000 0.221333 +1.530000 0.214021 +1.540000 0.206839 +1.550000 0.199788 +1.560000 0.192875 +1.570000 0.186102 +1.580000 0.179474 +1.590000 0.172994 +1.600000 0.166667 +1.610000 0.160494 +1.620000 0.154477 +1.630000 0.148611 +1.640000 0.142896 +1.650000 0.137329 +1.660000 0.131909 +1.670000 0.126633 +1.680000 0.121500 +1.690000 0.116507 +1.700000 0.111654 +1.710000 0.106937 +1.720000 0.102354 +1.730000 0.097905 +1.740000 0.093586 +1.750000 0.089396 +1.760000 0.085333 +1.770000 0.081396 +1.780000 0.077581 +1.790000 0.073887 +1.800000 0.070312 +1.810000 0.066855 +1.820000 0.063513 +1.830000 0.060284 +1.840000 0.057167 +1.850000 0.054159 +1.860000 0.051258 +1.870000 0.048463 +1.880000 0.045771 +1.890000 0.043181 +1.900000 0.040690 +1.910000 0.038297 +1.920000 0.036000 +1.930000 0.033797 +1.940000 0.031685 +1.950000 0.029663 +1.960000 0.027729 +1.970000 0.025881 +1.980000 0.024117 +1.990000 0.022435 +2.000000 0.020833 +2.010000 0.019310 +2.020000 0.017862 +2.030000 0.016489 +2.040000 0.015187 +2.050000 0.013957 +2.060000 0.012794 +2.070000 0.011698 +2.080000 0.010667 +2.090000 0.009698 +2.100000 0.008789 +2.110000 0.007939 +2.120000 0.007146 +2.130000 0.006407 +2.140000 0.005721 +2.150000 0.005086 +2.160000 0.004500 +2.170000 0.003961 +2.180000 0.003466 +2.190000 0.003015 +2.200000 0.002604 +2.210000 0.002233 +2.220000 0.001898 +2.230000 0.001599 +2.240000 0.001333 +2.250000 0.001099 +2.260000 0.000893 +2.270000 0.000715 +2.280000 0.000563 +2.290000 0.000433 +2.300000 0.000326 +2.310000 0.000237 +2.320000 0.000167 +2.330000 0.000112 +2.340000 0.000070 +2.350000 0.000041 +2.360000 0.000021 +2.370000 0.000009 +2.380000 0.000003 +2.390000 0.000000 +2.400000 -0.000000 +2.410000 0.000000 +2.420000 0.000000 +2.430000 0.000000 +2.440000 0.000000 +2.450000 0.000000 +2.460000 0.000000 +2.470000 0.000000 +2.480000 0.000000 +2.490000 0.000000 +2.500000 0.000000 +2.510000 0.000000 +2.520000 0.000000 +2.530000 0.000000 +2.540000 0.000000 +2.550000 0.000000 +2.560000 0.000000 +2.570000 0.000000 +2.580000 0.000000 +2.590000 0.000000 +2.600000 0.000000 +2.610000 0.000000 +2.620000 0.000000 +2.630000 0.000000 +2.640000 0.000000 +2.650000 0.000000 +2.660000 0.000000 +2.670000 0.000000 +2.680000 0.000000 +2.690000 0.000000 +2.700000 0.000000 +2.710000 0.000000 +2.720000 0.000000 +2.730000 0.000000 +2.740000 0.000000 +2.750000 0.000000 +2.760000 0.000000 +2.770000 0.000000 +2.780000 0.000000 +2.790000 0.000000 +2.800000 0.000000 +2.810000 0.000000 +2.820000 0.000000 +2.830000 0.000000 +2.840000 0.000000 +2.850000 0.000000 +2.860000 0.000000 +2.870000 0.000000 +2.880000 0.000000 +2.890000 0.000000 +2.900000 0.000000 +2.910000 0.000000 +2.920000 0.000000 +2.930000 0.000000 +2.940000 0.000000 +2.950000 0.000000 +2.960000 0.000000 +2.970000 0.000000 +2.980000 0.000000 +2.990000 0.000000 +3.000000 0.000000 +3.010000 0.000000 +3.020000 0.000000 +3.030000 0.000000 +3.040000 0.000000 +3.050000 0.000000 +3.060000 0.000000 +3.070000 0.000000 +3.080000 0.000000 +3.090000 0.000000 +3.100000 0.000000 +3.110000 0.000000 +3.120000 0.000000 +3.130000 0.000000 +3.140000 0.000000 +3.150000 0.000000 +3.160000 0.000000 +3.170000 0.000000 +3.180000 0.000000 +3.190000 0.000000 +3.200000 0.000000 +3.210000 0.000000 +3.220000 0.000000 +3.230000 0.000000 +3.240000 0.000000 +3.250000 0.000000 +3.260000 0.000000 +3.270000 0.000000 +3.280000 0.000000 +3.290000 0.000000 +3.300000 0.000000 +3.310000 0.000000 +3.320000 0.000000 +3.330000 0.000000 +3.340000 0.000000 +3.350000 0.000000 +3.360000 0.000000 +3.370000 0.000000 +3.380000 0.000000 +3.390000 0.000000 +3.400000 0.000000 +3.410000 0.000000 +3.420000 0.000000 +3.430000 0.000000 +3.440000 0.000000 +3.450000 0.000000 +3.460000 0.000000 +3.470000 0.000000 +3.480000 0.000000 +3.490000 0.000000 +3.500000 0.000000 +3.510000 0.000000 +3.520000 0.000000 +3.530000 0.000000 +3.540000 0.000000 +3.550000 0.000000 +3.560000 0.000000 +3.570000 0.000000 +3.580000 0.000000 +3.590000 0.000000 +3.600000 0.000000 +3.610000 0.000000 +3.620000 0.000000 +3.630000 0.000000 +3.640000 0.000000 +3.650000 0.000000 +3.660000 0.000000 +3.670000 0.000000 +3.680000 0.000000 +3.690000 0.000000 +3.700000 0.000000 +3.710000 0.000000 +3.720000 0.000000 +3.730000 0.000000 +3.740000 0.000000 +3.750000 0.000000 +3.760000 0.000000 +3.770000 0.000000 +3.780000 0.000000 +3.790000 0.000000 +3.800000 0.000000 +3.810000 0.000000 +3.820000 0.000000 +3.830000 0.000000 +3.840000 0.000000 +3.850000 0.000000 +3.860000 0.000000 +3.870000 0.000000 +3.880000 0.000000 +3.890000 0.000000 +3.900000 0.000000 +3.910000 0.000000 +3.920000 0.000000 +3.930000 0.000000 +3.940000 0.000000 +3.950000 0.000000 +3.960000 0.000000 +3.970000 0.000000 +3.980000 0.000000 +3.990000 0.000000 +4.000000 0.000000 e plot '-' title 'derivative (0)' with line -0 0 -0.01 -9.76563e-05 -0.02 -0.000390625 -0.03 -0.000878906 -0.04 -0.0015625 -0.05 -0.00244141 -0.06 -0.00351563 -0.07 -0.00478516 -0.08 -0.00625 -0.09 -0.00791016 -0.1 -0.00976563 -0.11 -0.0118164 -0.12 -0.0140625 -0.13 -0.0165039 -0.14 -0.0191406 -0.15 -0.0219727 -0.16 -0.025 -0.17 -0.0282227 -0.18 -0.0316406 -0.19 -0.0352539 -0.2 -0.0390625 -0.21 -0.0430664 -0.22 -0.0472656 -0.23 -0.0516602 -0.24 -0.05625 -0.25 -0.0610352 -0.26 -0.0660156 -0.27 -0.0711914 -0.28 -0.0765625 -0.29 -0.0821289 -0.3 -0.0878906 -0.31 -0.0938477 -0.32 -0.1 -0.33 -0.106348 -0.34 -0.112891 -0.35 -0.119629 -0.36 -0.126563 -0.37 -0.133691 -0.38 -0.141016 -0.39 -0.148535 -0.4 -0.15625 -0.41 -0.16416 -0.42 -0.172266 -0.43 -0.180566 -0.44 -0.189063 -0.45 -0.197754 -0.46 -0.206641 -0.47 -0.215723 -0.48 -0.225 -0.49 -0.234473 -0.5 -0.244141 -0.51 -0.254004 -0.52 -0.264063 -0.53 -0.274316 -0.54 -0.284766 -0.55 -0.29541 -0.56 -0.30625 -0.57 -0.317285 -0.58 -0.328516 -0.59 -0.339941 -0.6 -0.351563 -0.61 -0.363379 -0.62 -0.375391 -0.63 -0.387598 -0.64 -0.4 -0.65 -0.412598 -0.66 -0.425391 -0.67 -0.438379 -0.68 -0.451563 -0.69 -0.464941 -0.7 -0.478516 -0.71 -0.492285 -0.72 -0.50625 -0.73 -0.52041 -0.74 -0.534766 -0.75 -0.549316 -0.76 -0.564063 -0.77 -0.579004 -0.78 -0.594141 -0.79 -0.609473 -0.8 -0.625 -0.81 -0.64043 -0.82 -0.655469 -0.83 -0.670117 -0.84 -0.684375 -0.85 -0.698242 -0.86 -0.711719 -0.87 -0.724805 -0.88 -0.7375 -0.89 -0.749805 -0.9 -0.761719 -0.91 -0.773242 -0.92 -0.784375 -0.93 -0.795117 -0.94 -0.805469 -0.95 -0.81543 -0.96 -0.825 -0.97 -0.83418 -0.98 -0.842969 -0.99 -0.851367 -1 -0.859375 -1.01 -0.866992 -1.02 -0.874219 -1.03 -0.881055 -1.04 -0.8875 -1.05 -0.893555 -1.06 -0.899219 -1.07 -0.904492 -1.08 -0.909375 -1.09 -0.913867 -1.1 -0.917969 -1.11 -0.92168 -1.12 -0.925 -1.13 -0.92793 -1.14 -0.930469 -1.15 -0.932617 -1.16 -0.934375 -1.17 -0.935742 -1.18 -0.936719 -1.19 -0.937305 -1.2 -0.9375 -1.21 -0.937305 -1.22 -0.936719 -1.23 -0.935742 -1.24 -0.934375 -1.25 -0.932617 -1.26 -0.930469 -1.27 -0.92793 -1.28 -0.925 -1.29 -0.92168 -1.3 -0.917969 -1.31 -0.913867 -1.32 -0.909375 -1.33 -0.904492 -1.34 -0.899219 -1.35 -0.893555 -1.36 -0.8875 -1.37 -0.881055 -1.38 -0.874219 -1.39 -0.866992 -1.4 -0.859375 -1.41 -0.851367 -1.42 -0.842969 -1.43 -0.83418 -1.44 -0.825 -1.45 -0.81543 -1.46 -0.805469 -1.47 -0.795117 -1.48 -0.784375 -1.49 -0.773242 -1.5 -0.761719 -1.51 -0.749805 -1.52 -0.7375 -1.53 -0.724805 -1.54 -0.711719 -1.55 -0.698242 -1.56 -0.684375 -1.57 -0.670117 -1.58 -0.655469 -1.59 -0.64043 -1.6 -0.625 -1.61 -0.609473 -1.62 -0.594141 -1.63 -0.579004 -1.64 -0.564062 -1.65 -0.549316 -1.66 -0.534766 -1.67 -0.52041 -1.68 -0.50625 -1.69 -0.492285 -1.7 -0.478516 -1.71 -0.464941 -1.72 -0.451562 -1.73 -0.438379 -1.74 -0.425391 -1.75 -0.412598 -1.76 -0.4 -1.77 -0.387598 -1.78 -0.375391 -1.79 -0.363379 -1.8 -0.351562 -1.81 -0.339941 -1.82 -0.328516 -1.83 -0.317285 -1.84 -0.30625 -1.85 -0.29541 -1.86 -0.284766 -1.87 -0.274316 -1.88 -0.264062 -1.89 -0.254004 -1.9 -0.244141 -1.91 -0.234473 -1.92 -0.225 -1.93 -0.215723 -1.94 -0.206641 -1.95 -0.197754 -1.96 -0.189062 -1.97 -0.180566 -1.98 -0.172266 -1.99 -0.16416 -2 -0.15625 -2.01 -0.148535 -2.02 -0.141016 -2.03 -0.133691 -2.04 -0.126562 -2.05 -0.119629 -2.06 -0.112891 -2.07 -0.106348 -2.08 -0.1 -2.09 -0.0938477 -2.1 -0.0878906 -2.11 -0.0821289 -2.12 -0.0765625 -2.13 -0.0711914 -2.14 -0.0660156 -2.15 -0.0610352 -2.16 -0.05625 -2.17 -0.0516602 -2.18 -0.0472656 -2.19 -0.0430664 -2.2 -0.0390625 -2.21 -0.0352539 -2.22 -0.0316406 -2.23 -0.0282227 -2.24 -0.025 -2.25 -0.0219727 -2.26 -0.0191406 -2.27 -0.0165039 -2.28 -0.0140625 -2.29 -0.0118164 -2.3 -0.00976563 -2.31 -0.00791016 -2.32 -0.00625 -2.33 -0.00478516 -2.34 -0.00351563 -2.35 -0.00244141 -2.36 -0.0015625 -2.37 -0.000878906 -2.38 -0.000390625 -2.39 -9.76563e-05 -2.4 0 -2.41 0 -2.42 0 -2.43 0 -2.44 0 -2.45 0 -2.46 0 -2.47 0 -2.48 0 -2.49 0 -2.5 0 -2.51 0 -2.52 0 -2.53 0 -2.54 0 -2.55 0 -2.56 0 -2.57 0 -2.58 0 -2.59 0 -2.6 0 -2.61 0 -2.62 0 -2.63 0 -2.64 0 -2.65 0 -2.66 0 -2.67 0 -2.68 0 -2.69 0 -2.7 0 -2.71 0 -2.72 0 -2.73 0 -2.74 0 -2.75 0 -2.76 0 -2.77 0 -2.78 0 -2.79 0 -2.8 0 -2.81 0 -2.82 0 -2.83 0 -2.84 0 -2.85 0 -2.86 0 -2.87 0 -2.88 0 -2.89 0 -2.9 0 -2.91 0 -2.92 0 -2.93 0 -2.94 0 -2.95 0 -2.96 0 -2.97 0 -2.98 0 -2.99 0 -3 0 -3.01 0 -3.02 0 -3.03 0 -3.04 0 -3.05 0 -3.06 0 -3.07 0 -3.08 0 -3.09 0 -3.1 0 -3.11 0 -3.12 0 -3.13 0 -3.14 0 -3.15 0 -3.16 0 -3.17 0 -3.18 0 -3.19 0 -3.2 0 -3.21 0 -3.22 0 -3.23 0 -3.24 0 -3.25 0 -3.26 0 -3.27 0 -3.28 0 -3.29 0 -3.3 0 -3.31 0 -3.32 0 -3.33 0 -3.34 0 -3.35 0 -3.36 0 -3.37 0 -3.38 0 -3.39 0 -3.4 0 -3.41 0 -3.42 0 -3.43 0 -3.44 0 -3.45 0 -3.46 0 -3.47 0 -3.48 0 -3.49 0 -3.5 0 -3.51 0 -3.52 0 -3.53 0 -3.54 0 -3.55 0 -3.56 0 -3.57 0 -3.58 0 -3.59 0 -3.6 0 -3.61 0 -3.62 0 -3.63 0 -3.64 0 -3.65 0 -3.66 0 -3.67 0 -3.68 0 -3.69 0 -3.7 0 -3.71 0 -3.72 0 -3.73 0 -3.74 0 -3.75 0 -3.76 0 -3.77 0 -3.78 0 -3.79 0 -3.8 0 -3.81 0 -3.82 0 -3.83 0 -3.84 0 -3.85 0 -3.86 0 -3.87 0 -3.88 0 -3.89 0 -3.9 0 -3.91 0 -3.92 0 -3.93 0 -3.94 0 -3.95 0 -3.96 0 -3.97 0 -3.98 0 -3.99 0 -4 0 +0.000000 0.000000 +0.010000 -0.000098 +0.020000 -0.000391 +0.030000 -0.000879 +0.040000 -0.001563 +0.050000 -0.002441 +0.060000 -0.003516 +0.070000 -0.004785 +0.080000 -0.006250 +0.090000 -0.007910 +0.100000 -0.009766 +0.110000 -0.011816 +0.120000 -0.014062 +0.130000 -0.016504 +0.140000 -0.019141 +0.150000 -0.021973 +0.160000 -0.025000 +0.170000 -0.028223 +0.180000 -0.031641 +0.190000 -0.035254 +0.200000 -0.039062 +0.210000 -0.043066 +0.220000 -0.047266 +0.230000 -0.051660 +0.240000 -0.056250 +0.250000 -0.061035 +0.260000 -0.066016 +0.270000 -0.071191 +0.280000 -0.076562 +0.290000 -0.082129 +0.300000 -0.087891 +0.310000 -0.093848 +0.320000 -0.100000 +0.330000 -0.106348 +0.340000 -0.112891 +0.350000 -0.119629 +0.360000 -0.126563 +0.370000 -0.133691 +0.380000 -0.141016 +0.390000 -0.148535 +0.400000 -0.156250 +0.410000 -0.164160 +0.420000 -0.172266 +0.430000 -0.180566 +0.440000 -0.189063 +0.450000 -0.197754 +0.460000 -0.206641 +0.470000 -0.215723 +0.480000 -0.225000 +0.490000 -0.234473 +0.500000 -0.244141 +0.510000 -0.254004 +0.520000 -0.264063 +0.530000 -0.274316 +0.540000 -0.284766 +0.550000 -0.295410 +0.560000 -0.306250 +0.570000 -0.317285 +0.580000 -0.328516 +0.590000 -0.339941 +0.600000 -0.351563 +0.610000 -0.363379 +0.620000 -0.375391 +0.630000 -0.387598 +0.640000 -0.400000 +0.650000 -0.412598 +0.660000 -0.425391 +0.670000 -0.438379 +0.680000 -0.451563 +0.690000 -0.464941 +0.700000 -0.478516 +0.710000 -0.492285 +0.720000 -0.506250 +0.730000 -0.520410 +0.740000 -0.534766 +0.750000... [truncated message content] |
From: Thomas M. <tho...@us...> - 2009-07-15 05:10:53
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via d2e034b0022cae942cb9a255f4842dd10a6bd9cd (commit) from 717e5127415e44b6d94e6a04b45072f953ff3095 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit d2e034b0022cae942cb9a255f4842dd10a6bd9cd Author: Thomas Moulard <tho...@gm...> Date: Wed Jul 15 14:09:53 2009 +0900 Use fixed point display for floating-point numbers in Gnuplot. * include/roboptim/core/visualization/gnuplot-function.hh: Use fixed point display. * tests/finite-difference-gradient.stdout, * tests/visualization-gnuplot-function.stdout: Regenerate. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index cc0494d..d245877 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-07-15 Thomas Moulard <tho...@gm...> + + Use fixed point display for floating-point numbers in Gnuplot. + * include/roboptim/core/visualization/gnuplot-function.hh: + Use fixed point display. + * tests/finite-difference-gradient.stdout, + * tests/visualization-gnuplot-function.stdout: Regenerate. + 2009-07-07 Thomas Moulard <tho...@gm...> Add method to build a discrete interval from an interval and a step. diff --git a/include/roboptim/core/visualization/gnuplot-function.hh b/include/roboptim/core/visualization/gnuplot-function.hh index bbd6b33..192ab07 100644 --- a/include/roboptim/core/visualization/gnuplot-function.hh +++ b/include/roboptim/core/visualization/gnuplot-function.hh @@ -75,7 +75,7 @@ namespace roboptim { x[0] = t; Function::vector_t res = f (x); - str += (boost::format ("%1% %2%\n") % t % res [0]).str (); + str += (boost::format ("%1f %2f\n") % t % res [0]).str (); } str += "e\n"; } @@ -101,7 +101,7 @@ namespace roboptim { x[0] = t; Function::vector_t res = f (x); - str += (boost::format ("%1% %2%\n") % res[0] % res [1]).str (); + str += (boost::format ("%1f %2f\n") % res[0] % res [1]).str (); } str += "e\n"; diff --git a/tests/finite-difference-gradient.stdout b/tests/finite-difference-gradient.stdout index 32fdcd9..c4a5c35 100644 --- a/tests/finite-difference-gradient.stdout +++ b/tests/finite-difference-gradient.stdout @@ -1443,815 +1443,815 @@ set terminal wxt persist set multiplot layout 2,2 plot '-' with line --100 10000 --99 9801 --98 9604 --97 9409 --96 9216 --95 9025 --94 8836 --93 8649 --92 8464 --91 8281 --90 8100 --89 7921 --88 7744 --87 7569 --86 7396 --85 7225 --84 7056 --83 6889 --82 6724 --81 6561 --80 6400 --79 6241 --78 6084 --77 5929 --76 5776 --75 5625 --74 5476 --73 5329 --72 5184 --71 5041 --70 4900 --69 4761 --68 4624 --67 4489 --66 4356 --65 4225 --64 4096 --63 3969 --62 3844 --61 3721 --60 3600 --59 3481 --58 3364 --57 3249 --56 3136 --55 3025 --54 2916 --53 2809 --52 2704 --51 2601 --50 2500 --49 2401 --48 2304 --47 2209 --46 2116 --45 2025 --44 1936 --43 1849 --42 1764 --41 1681 --40 1600 --39 1521 --38 1444 --37 1369 --36 1296 --35 1225 --34 1156 --33 1089 --32 1024 --31 961 --30 900 --29 841 --28 784 --27 729 --26 676 --25 625 --24 576 --23 529 --22 484 --21 441 --20 400 --19 361 --18 324 --17 289 --16 256 --15 225 --14 196 --13 169 --12 144 --11 121 --10 100 --9 81 --8 64 --7 49 --6 36 --5 25 --4 16 --3 9 --2 4 --1 1 -0 0 -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 -11 121 -12 144 -13 169 -14 196 -15 225 -16 256 -17 289 -18 324 -19 361 -20 400 -21 441 -22 484 -23 529 -24 576 -25 625 -26 676 -27 729 -28 784 -29 841 -30 900 -31 961 -32 1024 -33 1089 -34 1156 -35 1225 -36 1296 -37 1369 -38 1444 -39 1521 -40 1600 -41 1681 -42 1764 -43 1849 -44 1936 -45 2025 -46 2116 -47 2209 -48 2304 -49 2401 -50 2500 -51 2601 -52 2704 -53 2809 -54 2916 -55 3025 -56 3136 -57 3249 -58 3364 -59 3481 -60 3600 -61 3721 -62 3844 -63 3969 -64 4096 -65 4225 -66 4356 -67 4489 -68 4624 -69 4761 -70 4900 -71 5041 -72 5184 -73 5329 -74 5476 -75 5625 -76 5776 -77 5929 -78 6084 -79 6241 -80 6400 -81 6561 -82 6724 -83 6889 -84 7056 -85 7225 -86 7396 -87 7569 -88 7744 -89 7921 -90 8100 -91 8281 -92 8464 -93 8649 -94 8836 -95 9025 -96 9216 -97 9409 -98 9604 -99 9801 +-100.000000 10000.000000 +-99.000000 9801.000000 +-98.000000 9604.000000 +-97.000000 9409.000000 +-96.000000 9216.000000 +-95.000000 9025.000000 +-94.000000 8836.000000 +-93.000000 8649.000000 +-92.000000 8464.000000 +-91.000000 8281.000000 +-90.000000 8100.000000 +-89.000000 7921.000000 +-88.000000 7744.000000 +-87.000000 7569.000000 +-86.000000 7396.000000 +-85.000000 7225.000000 +-84.000000 7056.000000 +-83.000000 6889.000000 +-82.000000 6724.000000 +-81.000000 6561.000000 +-80.000000 6400.000000 +-79.000000 6241.000000 +-78.000000 6084.000000 +-77.000000 5929.000000 +-76.000000 5776.000000 +-75.000000 5625.000000 +-74.000000 5476.000000 +-73.000000 5329.000000 +-72.000000 5184.000000 +-71.000000 5041.000000 +-70.000000 4900.000000 +-69.000000 4761.000000 +-68.000000 4624.000000 +-67.000000 4489.000000 +-66.000000 4356.000000 +-65.000000 4225.000000 +-64.000000 4096.000000 +-63.000000 3969.000000 +-62.000000 3844.000000 +-61.000000 3721.000000 +-60.000000 3600.000000 +-59.000000 3481.000000 +-58.000000 3364.000000 +-57.000000 3249.000000 +-56.000000 3136.000000 +-55.000000 3025.000000 +-54.000000 2916.000000 +-53.000000 2809.000000 +-52.000000 2704.000000 +-51.000000 2601.000000 +-50.000000 2500.000000 +-49.000000 2401.000000 +-48.000000 2304.000000 +-47.000000 2209.000000 +-46.000000 2116.000000 +-45.000000 2025.000000 +-44.000000 1936.000000 +-43.000000 1849.000000 +-42.000000 1764.000000 +-41.000000 1681.000000 +-40.000000 1600.000000 +-39.000000 1521.000000 +-38.000000 1444.000000 +-37.000000 1369.000000 +-36.000000 1296.000000 +-35.000000 1225.000000 +-34.000000 1156.000000 +-33.000000 1089.000000 +-32.000000 1024.000000 +-31.000000 961.000000 +-30.000000 900.000000 +-29.000000 841.000000 +-28.000000 784.000000 +-27.000000 729.000000 +-26.000000 676.000000 +-25.000000 625.000000 +-24.000000 576.000000 +-23.000000 529.000000 +-22.000000 484.000000 +-21.000000 441.000000 +-20.000000 400.000000 +-19.000000 361.000000 +-18.000000 324.000000 +-17.000000 289.000000 +-16.000000 256.000000 +-15.000000 225.000000 +-14.000000 196.000000 +-13.000000 169.000000 +-12.000000 144.000000 +-11.000000 121.000000 +-10.000000 100.000000 +-9.000000 81.000000 +-8.000000 64.000000 +-7.000000 49.000000 +-6.000000 36.000000 +-5.000000 25.000000 +-4.000000 16.000000 +-3.000000 9.000000 +-2.000000 4.000000 +-1.000000 1.000000 +0.000000 0.000000 +1.000000 1.000000 +2.000000 4.000000 +3.000000 9.000000 +4.000000 16.000000 +5.000000 25.000000 +6.000000 36.000000 +7.000000 49.000000 +8.000000 64.000000 +9.000000 81.000000 +10.000000 100.000000 +11.000000 121.000000 +12.000000 144.000000 +13.000000 169.000000 +14.000000 196.000000 +15.000000 225.000000 +16.000000 256.000000 +17.000000 289.000000 +18.000000 324.000000 +19.000000 361.000000 +20.000000 400.000000 +21.000000 441.000000 +22.000000 484.000000 +23.000000 529.000000 +24.000000 576.000000 +25.000000 625.000000 +26.000000 676.000000 +27.000000 729.000000 +28.000000 784.000000 +29.000000 841.000000 +30.000000 900.000000 +31.000000 961.000000 +32.000000 1024.000000 +33.000000 1089.000000 +34.000000 1156.000000 +35.000000 1225.000000 +36.000000 1296.000000 +37.000000 1369.000000 +38.000000 1444.000000 +39.000000 1521.000000 +40.000000 1600.000000 +41.000000 1681.000000 +42.000000 1764.000000 +43.000000 1849.000000 +44.000000 1936.000000 +45.000000 2025.000000 +46.000000 2116.000000 +47.000000 2209.000000 +48.000000 2304.000000 +49.000000 2401.000000 +50.000000 2500.000000 +51.000000 2601.000000 +52.000000 2704.000000 +53.000000 2809.000000 +54.000000 2916.000000 +55.000000 3025.000000 +56.000000 3136.000000 +57.000000 3249.000000 +58.000000 3364.000000 +59.000000 3481.000000 +60.000000 3600.000000 +61.000000 3721.000000 +62.000000 3844.000000 +63.000000 3969.000000 +64.000000 4096.000000 +65.000000 4225.000000 +66.000000 4356.000000 +67.000000 4489.000000 +68.000000 4624.000000 +69.000000 4761.000000 +70.000000 4900.000000 +71.000000 5041.000000 +72.000000 5184.000000 +73.000000 5329.000000 +74.000000 5476.000000 +75.000000 5625.000000 +76.000000 5776.000000 +77.000000 5929.000000 +78.000000 6084.000000 +79.000000 6241.000000 +80.000000 6400.000000 +81.000000 6561.000000 +82.000000 6724.000000 +83.000000 6889.000000 +84.000000 7056.000000 +85.000000 7225.000000 +86.000000 7396.000000 +87.000000 7569.000000 +88.000000 7744.000000 +89.000000 7921.000000 +90.000000 8100.000000 +91.000000 8281.000000 +92.000000 8464.000000 +93.000000 8649.000000 +94.000000 8836.000000 +95.000000 9025.000000 +96.000000 9216.000000 +97.000000 9409.000000 +98.000000 9604.000000 +99.000000 9801.000000 e plot '-' with line --100 10000 --99 9801 --98 9604 --97 9409 --96 9216 --95 9025 --94 8836 --93 8649 --92 8464 --91 8281 --90 8100 --89 7921 --88 7744 --87 7569 --86 7396 --85 7225 --84 7056 --83 6889 --82 6724 --81 6561 --80 6400 --79 6241 --78 6084 --77 5929 --76 5776 --75 5625 --74 5476 --73 5329 --72 5184 --71 5041 --70 4900 --69 4761 --68 4624 --67 4489 --66 4356 --65 4225 --64 4096 --63 3969 --62 3844 --61 3721 --60 3600 --59 3481 --58 3364 --57 3249 --56 3136 --55 3025 --54 2916 --53 2809 --52 2704 --51 2601 --50 2500 --49 2401 --48 2304 --47 2209 --46 2116 --45 2025 --44 1936 --43 1849 --42 1764 --41 1681 --40 1600 --39 1521 --38 1444 --37 1369 --36 1296 --35 1225 --34 1156 --33 1089 --32 1024 --31 961 --30 900 --29 841 --28 784 --27 729 --26 676 --25 625 --24 576 --23 529 --22 484 --21 441 --20 400 --19 361 --18 324 --17 289 --16 256 --15 225 --14 196 --13 169 --12 144 --11 121 --10 100 --9 81 --8 64 --7 49 --6 36 --5 25 --4 16 --3 9 --2 4 --1 1 -0 0 -1 1 -2 4 -3 9 -4 16 -5 25 -6 36 -7 49 -8 64 -9 81 -10 100 -11 121 -12 144 -13 169 -14 196 -15 225 -16 256 -17 289 -18 324 -19 361 -20 400 -21 441 -22 484 -23 529 -24 576 -25 625 -26 676 -27 729 -28 784 -29 841 -30 900 -31 961 -32 1024 -33 1089 -34 1156 -35 1225 -36 1296 -37 1369 -38 1444 -39 1521 -40 1600 -41 1681 -42 1764 -43 1849 -44 1936 -45 2025 -46 2116 -47 2209 -48 2304 -49 2401 -50 2500 -51 2601 -52 2704 -53 2809 -54 2916 -55 3025 -56 3136 -57 3249 -58 3364 -59 3481 -60 3600 -61 3721 -62 3844 -63 3969 -64 4096 -65 4225 -66 4356 -67 4489 -68 4624 -69 4761 -70 4900 -71 5041 -72 5184 -73 5329 -74 5476 -75 5625 -76 5776 -77 5929 -78 6084 -79 6241 -80 6400 -81 6561 -82 6724 -83 6889 -84 7056 -85 7225 -86 7396 -87 7569 -88 7744 -89 7921 -90 8100 -91 8281 -92 8464 -93 8649 -94 8836 -95 9025 -96 9216 -97 9409 -98 9604 -99 9801 +-100.000000 10000.000000 +-99.000000 9801.000000 +-98.000000 9604.000000 +-97.000000 9409.000000 +-96.000000 9216.000000 +-95.000000 9025.000000 +-94.000000 8836.000000 +-93.000000 8649.000000 +-92.000000 8464.000000 +-91.000000 8281.000000 +-90.000000 8100.000000 +-89.000000 7921.000000 +-88.000000 7744.000000 +-87.000000 7569.000000 +-86.000000 7396.000000 +-85.000000 7225.000000 +-84.000000 7056.000000 +-83.000000 6889.000000 +-82.000000 6724.000000 +-81.000000 6561.000000 +-80.000000 6400.000000 +-79.000000 6241.000000 +-78.000000 6084.000000 +-77.000000 5929.000000 +-76.000000 5776.000000 +-75.000000 5625.000000 +-74.000000 5476.000000 +-73.000000 5329.000000 +-72.000000 5184.000000 +-71.000000 5041.000000 +-70.000000 4900.000000 +-69.000000 4761.000000 +-68.000000 4624.000000 +-67.000000 4489.000000 +-66.000000 4356.000000 +-65.000000 4225.000000 +-64.000000 4096.000000 +-63.000000 3969.000000 +-62.000000 3844.000000 +-61.000000 3721.000000 +-60.000000 3600.000000 +-59.000000 3481.000000 +-58.000000 3364.000000 +-57.000000 3249.000000 +-56.000000 3136.000000 +-55.000000 3025.000000 +-54.000000 2916.000000 +-53.000000 2809.000000 +-52.000000 2704.000000 +-51.000000 2601.000000 +-50.000000 2500.000000 +-49.000000 2401.000000 +-48.000000 2304.000000 +-47.000000 2209.000000 +-46.000000 2116.000000 +-45.000000 2025.000000 +-44.000000 1936.000000 +-43.000000 1849.000000 +-42.000000 1764.000000 +-41.000000 1681.000000 +-40.000000 1600.000000 +-39.000000 1521.000000 +-38.000000 1444.000000 +-37.000000 1369.000000 +-36.000000 1296.000000 +-35.000000 1225.000000 +-34.000000 1156.000000 +-33.000000 1089.000000 +-32.000000 1024.000000 +-31.000000 961.000000 +-30.000000 900.000000 +-29.000000 841.000000 +-28.000000 784.000000 +-27.000000 729.000000 +-26.000000 676.000000 +-25.000000 625.000000 +-24.000000 576.000000 +-23.000000 529.000000 +-22.000000 484.000000 +-21.000000 441.000000 +-20.000000 400.000000 +-19.000000 361.000000 +-18.000000 324.000000 +-17.000000 289.000000 +-16.000000 256.000000 +-15.000000 225.000000 +-14.000000 196.000000 +-13.000000 169.000000 +-12.000000 144.000000 +-11.000000 121.000000 +-10.000000 100.000000 +-9.000000 81.000000 +-8.000000 64.000000 +-7.000000 49.000000 +-6.000000 36.000000 +-5.000000 25.000000 +-4.000000 16.000000 +-3.000000 9.000000 +-2.000000 4.000000 +-1.000000 1.000000 +0.000000 0.000000 +1.000000 1.000000 +2.000000 4.000000 +3.000000 9.000000 +4.000000 16.000000 +5.000000 25.000000 +6.000000 36.000000 +7.000000 49.000000 +8.000000 64.000000 +9.000000 81.000000 +10.000000 100.000000 +11.000000 121.000000 +12.000000 144.000000 +13.000000 169.000000 +14.000000 196.000000 +15.000000 225.000000 +16.000000 256.000000 +17.000000 289.000000 +18.000000 324.000000 +19.000000 361.000000 +20.000000 400.000000 +21.000000 441.000000 +22.000000 484.000000 +23.000000 529.000000 +24.000000 576.000000 +25.000000 625.000000 +26.000000 676.000000 +27.000000 729.000000 +28.000000 784.000000 +29.000000 841.000000 +30.000000 900.000000 +31.000000 961.000000 +32.000000 1024.000000 +33.000000 1089.000000 +34.000000 1156.000000 +35.000000 1225.000000 +36.000000 1296.000000 +37.000000 1369.000000 +38.000000 1444.000000 +39.000000 1521.000000 +40.000000 1600.000000 +41.000000 1681.000000 +42.000000 1764.000000 +43.000000 1849.000000 +44.000000 1936.000000 +45.000000 2025.000000 +46.000000 2116.000000 +47.000000 2209.000000 +48.000000 2304.000000 +49.000000 2401.000000 +50.000000 2500.000000 +51.000000 2601.000000 +52.000000 2704.000000 +53.000000 2809.000000 +54.000000 2916.000000 +55.000000 3025.000000 +56.000000 3136.000000 +57.000000 3249.000000 +58.000000 3364.000000 +59.000000 3481.000000 +60.000000 3600.000000 +61.000000 3721.000000 +62.000000 3844.000000 +63.000000 3969.000000 +64.000000 4096.000000 +65.000000 4225.000000 +66.000000 4356.000000 +67.000000 4489.000000 +68.000000 4624.000000 +69.000000 4761.000000 +70.000000 4900.000000 +71.000000 5041.000000 +72.000000 5184.000000 +73.000000 5329.000000 +74.000000 5476.000000 +75.000000 5625.000000 +76.000000 5776.000000 +77.000000 5929.000000 +78.000000 6084.000000 +79.000000 6241.000000 +80.000000 6400.000000 +81.000000 6561.000000 +82.000000 6724.000000 +83.000000 6889.000000 +84.000000 7056.000000 +85.000000 7225.000000 +86.000000 7396.000000 +87.000000 7569.000000 +88.000000 7744.000000 +89.000000 7921.000000 +90.000000 8100.000000 +91.000000 8281.000000 +92.000000 8464.000000 +93.000000 8649.000000 +94.000000 8836.000000 +95.000000 9025.000000 +96.000000 9216.000000 +97.000000 9409.000000 +98.000000 9604.000000 +99.000000 9801.000000 e plot '-' with line --100 -243295 --99 -238486 --98 -233725 --97 -229012 --96 -224347 --95 -219730 --94 -215161 --93 -210640 --92 -206167 --91 -201742 --90 -197365 --89 -193036 --88 -188755 --87 -184522 --86 -180337 --85 -176200 --84 -172111 --83 -168070 --82 -164077 --81 -160132 --80 -156235 --79 -152386 --78 -148585 --77 -144832 --76 -141127 --75 -137470 --74 -133861 --73 -130300 --72 -126787 --71 -123322 --70 -119905 --69 -116536 --68 -113215 --67 -109942 --66 -106717 --65 -103540 --64 -100411 --63 -97330 --62 -94297 --61 -91312 --60 -88375 --59 -85486 --58 -82645 --57 -79852 --56 -77107 --55 -74410 --54 -71761 --53 -69160 --52 -66607 --51 -64102 --50 -61645 --49 -59236 --48 -56875 --47 -54562 --46 -52297 --45 -50080 --44 -47911 --43 -45790 --42 -43717 --41 -41692 --40 -39715 --39 -37786 --38 -35905 --37 -34072 --36 -32287 --35 -30550 --34 -28861 --33 -27220 --32 -25627 --31 -24082 --30 -22585 --29 -21136 --28 -19735 --27 -18382 --26 -17077 --25 -15820 --24 -14611 --23 -13450 --22 -12337 --21 -11272 --20 -10255 --19 -9286 --18 -8365 --17 -7492 --16 -6667 --15 -5890 --14 -5161 --13 -4480 --12 -3847 --11 -3262 --10 -2725 --9 -2236 --8 -1795 --7 -1402 --6 -1057 --5 -760 --4 -511 --3 -310 --2 -157 --1 -52 -0 5 -1 14 -2 -25 -3 -112 -4 -247 -5 -430 -6 -661 -7 -940 -8 -1267 -9 -1642 -10 -2065 -11 -2536 -12 -3055 -13 -3622 -14 -4237 -15 -4900 -16 -5611 -17 -6370 -18 -7177 -19 -8032 -20 -8935 -21 -9886 -22 -10885 -23 -11932 -24 -13027 -25 -14170 -26 -15361 -27 -16600 -28 -17887 -29 -19222 -30 -20605 -31 -22036 -32 -23515 -33 -25042 -34 -26617 -35 -28240 -36 -29911 -37 -31630 -38 -33397 -39 -35212 -40 -37075 -41 -38986 -42 -40945 -43 -42952 -44 -45007 -45 -47110 -46 -49261 -47 -51460 -48 -53707 -49 -56002 -50 -58345 -51 -60736 -52 -63175 -53 -65662 -54 -68197 -55 -70780 -56 -73411 -57 -76090 -58 -78817 -59 -81592 -60 -84415 -61 -87286 -62 -90205 -63 -93172 -64 -96187 -65 -99250 -66 -102361 -67 -105520 -68 -108727 -69 -111982 -70 -115285 -71 -118636 -72 -122035 -73 -125482 -74 -128977 -75 -132520 -76 -136111 -77 -139750 -78 -143437 -79 -147172 -80 -150955 -81 -154786 -82 -158665 -83 -162592 -84 -166567 -85 -170590 -86 -174661 -87 -178780 -88 -182947 -89 -187162 -90 -191425 -91 -195736 -92 -200095 -93 -204502 -94 -208957 -95 -213460 -96 -218011 -97 -222610 -98 -227257 -99 -231952 +-100.000000 -243295.000000 +-99.000000 -238486.000000 +-98.000000 -233725.000000 +-97.000000 -229012.000000 +-96.000000 -224347.000000 +-95.000000 -219730.000000 +-94.000000 -215161.000000 +-93.000000 -210640.000000 +-92.000000 -206167.000000 +-91.000000 -201742.000000 +-90.000000 -197365.000000 +-89.000000 -193036.000000 +-88.000000 -188755.000000 +-87.000000 -184522.000000 +-86.000000 -180337.000000 +-85.000000 -176200.000000 +-84.000000 -172111.000000 +-83.000000 -168070.000000 +-82.000000 -164077.000000 +-81.000000 -160132.000000 +-80.000000 -156235.000000 +-79.000000 -152386.000000 +-78.000000 -148585.000000 +-77.000000 -144832.000000 +-76.000000 -141127.000000 +-75.000000 -137470.000000 +-74.000000 -133861.000000 +-73.000000 -130300.000000 +-72.000000 -126787.000000 +-71.000000 -123322.000000 +-70.000000 -119905.000000 +-69.000000 -116536.000000 +-68.000000 -113215.000000 +-67.000000 -109942.000000 +-66.000000 -106717.000000 +-65.000000 -103540.000000 +-64.000000 -100411.000000 +-63.000000 -97330.000000 +-62.000000 -94297.000000 +-61.000000 -91312.000000 +-60.000000 -88375.000000 +-59.000000 -85486.000000 +-58.000000 -82645.000000 +-57.000000 -79852.000000 +-56.000000 -77107.000000 +-55.000000 -74410.000000 +-54.000000 -71761.000000 +-53.000000 -69160.000000 +-52.000000 -66607.000000 +-51.000000 -64102.000000 +-50.000000 -61645.000000 +-49.000000 -59236.000000 +-48.000000 -56875.000000 +-47.000000 -54562.000000 +-46.000000 -52297.000000 +-45.000000 -50080.000000 +-44.000000 -47911.000000 +-43.000000 -45790.000000 +-42.000000 -43717.000000 +-41.000000 -41692.000000 +-40.000000 -39715.000000 +-39.000000 -37786.000000 +-38.000000 -35905.000000 +-37.000000 -34072.000000 +-36.000000 -32287.000000 +-35.000000 -30550.000000 +-34.000000 -28861.000000 +-33.000000 -27220.000000 +-32.000000 -25627.000000 +-31.000000 -24082.000000 +-30.000000 -22585.000000 +-29.000000 -21136.000000 +-28.000000 -19735.000000 +-27.000000 -18382.000000 +-26.000000 -17077.000000 +-25.000000 -15820.000000 +-24.000000 -14611.000000 +-23.000000 -13450.000000 +-22.000000 -12337.000000 +-21.000000 -11272.000000 +-20.000000 -10255.000000 +-19.000000 -9286.000000 +-18.000000 -8365.000000 +-17.000000 -7492.000000 +-16.000000 -6667.000000 +-15.000000 -5890.000000 +-14.000000 -5161.000000 +-13.000000 -4480.000000 +-12.000000 -3847.000000 +-11.000000 -3262.000000 +-10.000000 -2725.000000 +-9.000000 -2236.000000 +-8.000000 -1795.000000 +-7.000000 -1402.000000 +-6.000000 -1057.000000 +-5.000000 -760.000000 +-4.000000 -511.000000 +-3.000000 -310.000000 +-2.000000 -157.000000 +-1.000000 -52.000000 +0.000000 5.000000 +1.000000 14.000000 +2.000000 -25.000000 +3.000000 -112.000000 +4.000000 -247.000000 +5.000000 -430.000000 +6.000000 -661.000000 +7.000000 -940.000000 +8.000000 -1267.000000 +9.000000 -1642.000000 +10.000000 -2065.000000 +11.000000 -2536.000000 +12.000000 -3055.000000 +13.000000 -3622.000000 +14.000000 -4237.000000 +15.000000 -4900.000000 +16.000000 -5611.000000 +17.000000 -6370.000000 +18.000000 -7177.000000 +19.000000 -8032.000000 +20.000000 -8935.000000 +21.000000 -9886.000000 +22.000000 -10885.000000 +23.000000 -11932.000000 +24.000000 -13027.000000 +25.000000 -14170.000000 +26.000000 -15361.000000 +27.000000 -16600.000000 +28.000000 -17887.000000 +29.000000 -19222.000000 +30.000000 -20605.000000 +31.000000 -22036.000000 +32.000000 -23515.000000 +33.000000 -25042.000000 +34.000000 -26617.000000 +35.000000 -28240.000000 +36.000000 -29911.000000 +37.000000 -31630.000000 +38.000000 -33397.000000 +39.000000 -35212.000000 +40.000000 -37075.000000 +41.000000 -38986.000000 +42.000000 -40945.000000 +43.000000 -42952.000000 +44.000000 -45007.000000 +45.000000 -47110.000000 +46.000000 -49261.000000 +47.000000 -51460.000000 +48.000000 -53707.000000 +49.000000 -56002.000000 +50.000000 -58345.000000 +51.000000 -60736.000000 +52.000000 -63175.000000 +53.000000 -65662.000000 +54.000000 -68197.000000 +55.000000 -70780.000000 +56.000000 -73411.000000 +57.000000 -76090.000000 +58.000000 -78817.000000 +59.000000 -81592.000000 +60.000000 -84415.000000 +61.000000 -87286.000000 +62.000000 -90205.000000 +63.000000 -93172.000000 +64.000000 -96187.000000 +65.000000 -99250.000000 +66.000000 -102361.000000 +67.000000 -105520.000000 +68.000000 -108727.000000 +69.000000 -111982.000000 +70.000000 -115285.000000 +71.000000 -118636.000000 +72.000000 -122035.000000 +73.000000 -125482.000000 +74.000000 -128977.000000 +75.000000 -132520.000000 +76.000000 -136111.000000 +77.000000 -139750.000000 +78.000000 -143437.000000 +79.000000 -147172.000000 +80.000000 -150955.000000 +81.000000 -154786.000000 +82.000000 -158665.000000 +83.000000 -162592.000000 +84.000000 -166567.000000 +85.000000 -170590.000000 +86.000000 -174661.000000 +87.000000 -178780.000000 +88.000000 -182947.000000 +89.000000 -187162.000000 +90.000000 -191425.000000 +91.000000 -195736.000000 +92.000000 -200095.000000 +93.000000 -204502.000000 +94.000000 -208957.000000 +95.000000 -213460.000000 +96.000000 -218011.000000 +97.000000 -222610.000000 +98.000000 -227257.000000 +99.000000 -231952.000000 e plot '-' with line --100 -243295 --99 -238486 --98 -233725 --97 -229012 --96 -224347 --95 -219730 --94 -215161 --93 -210640 --92 -206167 --91 -201742 --90 -197365 --89 -193036 --88 -188755 --87 -184522 --86 -180337 --85 -176200 --84 -172111 --83 -168070 --82 -164077 --81 -160132 --80 -156235 --79 -152386 --78 -148585 --77 -144832 --76 -141127 --75 -137470 --74 -133861 --73 -130300 --72 -126787 --71 -123322 --70 -119905 --69 -116536 --68 -113215 --67 -109942 --66 -106717 --65 -103540 --64 -100411 --63 -97330 --62 -94297 --61 -91312 --60 -88375 --59 -85486 --58 -82645 --57 -79852 --56 -77107 --55 -74410 --54 -71761 --53 -69160 --52 -66607 --51 -64102 --50 -61645 --49 -59236 --48 -56875 --47 -54562 --46 -52297 --45 -50080 --44 -47911 --43 -45790 --42 -43717 --41 -41692 --40 -39715 --39 -37786 --38 -35905 --37 -34072 --36 -32287 --35 -30550 --34 -28861 --33 -27220 --32 -25627 --31 -24082 --30 -22585 --29 -21136 --28 -19735 --27 -18382 --26 -17077 --25 -15820 --24 -14611 --23 -13450 --22 -12337 --21 -11272 --20 -10255 --19 -9286 --18 -8365 --17 -7492 --16 -6667 --15 -5890 --14 -5161 --13 -4480 --12 -3847 --11 -3262 --10 -2725 --9 -2236 --8 -1795 --7 -1402 --6 -1057 --5 -760 --4 -511 --3 -310 --2 -157 --1 -52 -0 5 -1 14 -2 -25 -3 -112 -4 -247 -5 -430 -6 -661 -7 -940 -8 -1267 -9 -1642 -10 -2065 -11 -2536 -12 -3055 -13 -3622 -14 -4237 -15 -4900 -16 -5611 -17 -6370 -18 -7177 -19 -8032 -20 -8935 -21 -9886 -22 -10885 -23 -11932 -24 -13027 -25 -14170 -26 -15361 -27 -16600 -28 -17887 -29 -19222 -30 -20605 -31 -22036 -32 -23515 -33 -25042 -34 -26617 -35 -28240 -36 -29911 -37 -31630 -38 -33397 -39 -35212 -40 -37075 -41 -38986 -42 -40945 -43 -42952 -44 -45007 -45 -47110 -46 -49261 -47 -51460 -48 -53707 -49 -56002 -50 -58345 -51 -60736 -52 -63175 -53 -65662 -54 -68197 -55 -70780 -56 -73411 -57 -76090 -58 -78817 -59 -81592 -60 -84415 -61 -87286 -62 -90205 -63 -93172 -64 -96187 -65 -99250 -66 -102361 -67 -105520 -68 -108727 -69 -111982 -70 -115285 -71 -118636 -72 -122035 -73 -125482 -74 -128977 -75 -132520 -76 -136111 -77 -139750 -78 -143437 -79 -147172 -80 -150955 -81 -154786 -82 -158665 -83 -162592 -84 -166567 -85 -170590 -86 -174661 -87 -178780 -88 -182947 -89 -187162 -90 -191425 -91 -195736 -92 -200095 -93 -204502 -94 -208957 -95 -213460 -96 -218011 -97 -222610 -98 -227257 -99 -231952 +-100.000000 -243295.000000 +-99.000000 -238486.000000 +-98.000000 -233725.000000 +-97.000000 -229012.000000 +-96.000000 -224347.000000 +-95.000000 -219730.000000 +-94.000000 -215161.000000 +-93.000000 -210640.000000 +-92.000000 -206167.000000 +-91.000000 -201742.000000 +-90.000000 -197365.000000 +-89.000000 -193036.000000 +-88.000000 -188755.000000 +-87.000000 -184522.000000 +-86.000000 -180337.000000 +-85.000000 -176200.000000 +-84.000000 -172111.000000 +-83.000000 -168070.000000 +-82.000000 -164077.000000 +-81.000000 -160132.000000 +-80.000000 -156235.000000 +-79.000000 -152386.000000 +-78.000000 -148585.000000 +-77.000000 -144832.000000 +-76.000000 -141127.000000 +-75.000000 -137470.000000 +-74.000000 -133861.000000 +-73.000000 -130300.000000 +-72.000000 -126787.000000 +-71.000000 -123322.000000 +-70.000000 -119905.000000 +-69.000000 -116536.000000 +-68.000000 -113215.000000 +-67.000000 -109942.000000 +-66.000000 -106717.000000 +-65.000000 -103540.000000 +-64.000000 -100411.000000 +-63.000000 -97330.000000 +-62.000000 -94297.000000 +-61.000000 -91312.000000 +-60.000000 -88375.000000 +-59.000000 -85486.000000 +-58.000000 -82645.000000 +-57.000000 -79852.000000 +-56.000000 -77107.000000 +-55.000000 -74410.000000 +-54.000000 -71761.000000 +-53.000000 -69160.000000 +-52.000000 -66607.000000 +-51.000000 -64102.000000 +-50.000000 -61645.000000 +-49.000000 -59236.000000 +-48.000000 -56875.000000 +-47.000000 -54562.000000 +-46.000000 -52297.000000 +-45.000000 -50080.000000 +-44.000000 -47911.000000 +-43.000000 -45790.000000 +-42.000000 -43717.000000 +-41.000000 -41692.000000 +-40.000000 -39715.000000 +-39.000000 -37786.000000 +-38.000000 -35905.000000 +-37.000000 -34072.000000 +-36.000000 -32287.000000 +-35.000000 -30550.000000 +-34.000000 -28861.000000 +-33.000000 -27220.000000 +-32.000000 -25627.000000 +-31.000000 -24082.000000 +-30.000000 -22585.000000 +-29.000000 -21136.000000 +-28.000000 -19735.000000 +-27.000000 -18382.000000 +-26.000000 -17077.000000 +-25.000000 -15820.000000 +-24.000000 -14611.000000 +-23.000000 -13450.000000 +-22.000000 -12337.000000 +-21.000000 -11272.000000 +-20.000000 -10255.000000 +-19.000000 -9286.000000 +-18.000000 -8365.000000 +-17.000000 -7492.000000 +-16.000000 -6667.000000 +-15.000000 -5890.000000 +-14.000000 -5161.000000 +-13.000000 -4480.000000 +-12.000000 -3847.000000 +-11.000000 -3262.000000 +-10.000000 -2725.000000 +-9.000000 -2236.000000 +-8.000000 -1795.000000 +-7.000000 -1402.000000 +-6.000000 -1057.000000 +-5.000000 -760.000000 +-4.000000 -511.000000 +-3.000000 -310.000000 +-2.000000 -157.000000 +-1.000000 -52.000000 +0.000000 5.000000 +1.000000 14.000000 +2.000000 -25.000000 +3.000000 -112.000000 +4.000000 -247.000000 +5.000000 -430.000000 +6.000000 -661.000000 +7.000000 -940.000000 +8.000000 -1267.000000 +9.000000 -1642.000000 +10.000000 -2065.000000 +11.000000 -2536.000000 +12.000000 -3055.000000 +13.000000 -3622.000000 +14.000000 -4237.000000 +15.000000 -4900.000000 +16.000000 -5611.000000 +17.000000 -6370.000000 +18.000000 -7177.000000 +19.000000 -8032.000000 +20.000000 -8935.000000 +21.000000 -9886.000000 +22.000000 -10885.000000 +23.000000 -11932.000000 +24.000000 -13027.000000 +25.000000 -14170.000000 +26.000000 -15361.000000 +27.000000 -16600.000000 +28.000000 -17887.000000 +29.000000 -19222.000000 +30.000000 -20605.000000 +31.000000 -22036.000000 +32.000000 -23515.000000 +33.000000 -25042.000000 +34.000000 -26617.000000 +35.000000 -28240.000000 +36.000000 -29911.000000 +37.000000 -31630.000000 +38.000000 -33397.000000 +39.000000 -35212.000000 +40.000000 -37075.000000 +41.000000 -38986.000000 +42.000000 -40945.000000 +43.000000 -42952.000000 +44.000000 -45007.000000 +45.000000 -47110.000000 +46.000000 -49261.000000 +47.000000 -51460.000000 +48.000000 -53707.000000 +49.000000 -56002.000000 +50.000000 -58345.000000 +51.000000 -60736.000000 +52.000000 -63175.000000 +53.000000 -65662.000000 +54.000000 -68197.000000 +55.000000 -70780.000000 +56.000000 -73411.000000 +57.000000 -76090.000000 +58.000000 -78817.000000 +59.000000 -81592.000000 +60.000000 -84415.000000 +61.000000 -87286.000000 +62.000000 -90205.000000 +63.000000 -93172.000000 +64.000000 -96187.000000 +65.000000 -99250.000000 +66.000000 -102361.000000 +67.000000 -105520.000000 +68.000000 -108727.000000 +69.000000 -111982.000000 +70.000000 -115285.000000 +71.000000 -118636.000000 +72.000000 -122035.000000 +73.000000 -125482.000000 +74.000000 -128977.000000 +75.000000 -132520.000000 +76.000000 -136111.000000 +77.000000 -139750.000000 +78.000000 -143437.000000 +79.000000 -147172.000000 +80.000000 -150955.000000 +81.000000 -154786.000000 +82.000000 -158665.000000 +83.000000 -162592.000000 +84.000000 -166567.000000 +85.000000 -170590.000000 +86.000000 -174661.000000 +87.000000 -178780.000000 +88.000000 -182947.000000 +89.000000 -187162.000000 +90.000000 -191425.000000 +91.000000 -195736.000000 +92.000000 -200095.000000 +93.000000 -204502.000000 +94.000000 -208957.000000 +95.000000 -213460.000000 +96.000000 -218011.000000 +97.000000 -222610.000000 +98.000000 -227257.000000 +99.000000 -231952.000000 e unset multiplot diff --git a/tests/visualization-gnuplot-function.stdout b/tests/visualization-gnuplot-function.stdout index a430a74..3ec2c98 100644 --- a/tests/visualization-gnuplot-function.stdout +++ b/tests/visualization-gnuplot-function.stdout @@ -4,2021 +4,2021 @@ set terminal wxt persist #Hello, world (complex)! set multiplot plot '-' with line --10 100 --9.99 99.8001 --9.98 99.6004 --9.97 99.4009 --9.96 99.2016 --9.95 99.0025 --9.94 98.8036 --9.93 98.6049 --9.92 98.4064 --9.91 98.2081 --9.9 98.01 --9.89 97.8121 --9.88 97.6144 --9.87 97.4169 --9.86 97.2196 --9.85 97.0225 --9.84 96.8256 --9.83 96.6289 --9.82 96.4324 --9.81 96.2361 --9.8 96.04 --9.79 95.8441 --9.78 95.6484 --9.77 95.4529 --9.76 95.2576 --9.75 95.0625 --9.74 94.8676 --9.73 94.6729 --9.72 94.4784 --9.71 94.2841 --9.7 94.09 --9.69 93.8961 --9.68 93.7024 --9.67 93.5089 --9.66 93.3156 --9.65 93.1225 --9.64 92.9296 --9.63 92.7369 --9.62 92.5444 --9.61 92.3521 --9.6 92.16 --9.59 91.9681 --9.58 91.7764 --9.57 91.5849 --9.56 91.3936 --9.55 91.2025 --9.54 91.0116 --9.53 90.8209 --9.52 90.6304 --9.51 90.4401 --9.5 90.25 --9.49 90.0601 --9.48 89.8704 --9.47 89.6809 --9.46 89.4916 --9.45 89.3025 --9.44 89.1136 --9.43 88.9249 --9.42 88.7364 --9.41 88.5481 --9.4 88.36 --9.39 88.1721 --9.38 87.9844 --9.37 87.7969 --9.36 87.6096 --9.35 87.4225 --9.34 87.2356 --9.33 87.0489 --9.32 86.8624 --9.31 86.6761 --9.3 86.49 --9.29 86.3041 --9.28 86.1184 --9.27 85.9329 --9.26 85.7476 --9.25 85.5625 --9.24 85.3776 --9.23 85.1929 --9.22 85.0084 --9.21 84.8241 --9.2 84.64 --9.19 84.4561 --9.18 84.2724 --9.17 84.0889 --9.16 83.9056 --9.15 83.7225 --9.14 83.5396 --9.13 83.3569 --9.12 83.1744 --9.11 82.9921 --9.1 82.81 --9.09 82.6281 --9.08 82.4464 --9.07 82.2649 --9.06 82.0836 --9.05 81.9025 --9.04 81.7216 --9.03 81.5409 --9.02 81.3604 --9.01 81.1801 --9 81 --8.99 80.8201 --8.98 80.6404 --8.97 80.4609 --8.96 80.2816 --8.95 80.1025 --8.94 79.9236 --8.93 79.7449 --8.92 79.5664 --8.91 79.3881 --8.9 79.21 --8.89 79.0321 --8.88 78.8544 --8.87 78.6769 --8.86 78.4996 --8.85 78.3225 --8.84 78.1456 --8.83 77.9689 --8.82 77.7924 --8.81 77.6161 --8.8 77.44 --8.79 77.2641 --8.78 77.0884 --8.77 76.9129 --8.76 76.7376 --8.75 76.5625 --8.74 76.3876 --8.73 76.2129 --8.72 76.0384 --8.71 75.8641 --8.7 75.69 --8.69 75.5161 --8.68 75.3424 --8.67 75.1689 --8.66 74.9956 --8.65 74.8225 --8.64 74.6496 --8.63 74.4769 --8.62 74.3044 --8.61 74.1321 --8.6 73.96 --8.59 73.7881 --8.58 73.6164 --8.57 73.4449 --8.56 73.2736 --8.55 73.1025 --8.54 72.9316 --8.53 72.7609 --8.52 72.5904 --8.51 72.4201 --8.5 72.25 --8.49 72.0801 --8.48 71.9104 --8.47 71.7409 --8.46 71.5716 --8.45 71.4025 --8.44 71.2336 --8.43 71.0649 --8.42 70.8964 --8.41 70.7281 --8.4 70.56 --8.39 70.3921 --8.38 70.2244 --8.37 70.0569 --8.36 69.8896 --8.35 69.7225 --8.34 69.5556 --8.33 69.3889 --8.32 69.2224 --8.31 69.0561 --8.3 68.89 --8.29 68.7241 --8.28 68.5584 --8.27 68.3929 --8.26 68.2276 --8.25 68.0625 --8.24 67.8976 --8.23 67.7329 --8.22 67.5684 --8.21 67.4041 --8.2 67.24 --8.19 67.0761 --8.18 66.9124 --8.17 66.7489 --8.16 66.5856 --8.15 66.4225 --8.14 66.2596 --8.13 66.0969 --8.12 65.9344 --8.11 65.7721 --8.1 65.61 --8.09 65.4481 --8.08 65.2864 --8.07 65.1249 --8.06 64.9636 --8.05 64.8025 --8.04 64.6416 --8.03 64.4809 --8.02 64.3204 --8.01 64.1601 --8 64 --7.99 63.8401 --7.98 63.6804 --7.97 63.5209 --7.96 63.3616 --7.95 63.2025 --7.94 63.0436 --7.93 62.8849 --7.92 62.7264 --7.91 62.5681 --7.9 62.41 --7.89 62.2521 --7.88 62.0944 --7.87 61.9369 --7.86 61.7796 --7.85 61.6225 --7.84 61.4656 --7.83 61.3089 --7.82 61.1524 --7.81 60.9961 --7.8 60.84 --7.79 60.6841 --7.78 60.5284 --7.77 60.3729 --7.76 60.2176 --7.75 60.0625 --7.74 59.9076 --7.73 59.7529 --7.72 59.5984 --7.71 59.4441 --7.7 59.29 --7.69 59.1361 --7.68 58.9824 --7.67 58.8289 --7.66 58.6756 --7.65 58.5225 --7.64 58.3696 --7.63 58.2169 --7.62 58.0644 --7.61 57.9121 --7.6 57.76 --7.59 57.6081 --7.58 57.4564 --7.57 57.3049 --7.56 57.1536 --7.55 57.0025 --7.54 56.8516 --7.53 56.7009 --7.52 56.5504 --7.51 56.4001 --7.5 56.25 --7.49 56.1001 --7.48 55.9504 --7.47 55.8009 --7.46 55.6516 --7.45 55.5025 --7.44 55.3536 --7.43 55.2049 --7.42 55.0564 --7.41 54.9081 --7.4 54.76 --7.39 54.6121 --7.38 54.4644 --7.37 54.3169 --7.36 54.1696 --7.35 54.0225 --7.34 53.8756 --7.33 53.7289 --7.32 53.5824 --7.31 53.4361 --7.3 53.29 --7.29 53.1441 --7.28 52.9984 --7.27 52.8529 --7.26 52.7076 --7.25 52.5625 --7.24 52.4176 --7.23 52.2729 --7.22 52.1284 --7.21 51.9841 --7.2 51.84 --7.19 51.6961 --7.18 51.5524 --7.17 51.4089 --7.16 51.2656 --7.15 51.1225 --7.14 50.9796 --7.13 50.8369 --7.12 50.6944 --7.11 50.5521 --7.1 50.41 --7.09 50.2681 --7.08 50.1264 --7.07 49.9849 --7.06 49.8436 --7.05 49.7025 --7.04 49.5616 --7.03 49.4209 --7.02 49.2804 --7.01 49.1401 --7 49 --6.99 48.8601 --6.98 48.7204 --6.97 48.5809 --6.96 48.4416 --6.95 48.3025 --6.94 48.1636 --6.93 48.0249 --6.92 47.8864 --6.91 47.7481 --6.9 47.61 --6.89 47.4721 --6.88 47.3344 --6.87 47.1969 --6.86 47.0596 --6.85 46.9225 --6.84 46.7856 --6.83 46.6489 --6.82 46.5124 --6.81 46.3761 --6.8 46.24 --6.79 46.1041 --6.78 45.9684 --6.77 45.8329 --6.76 45.6976 --6.75 45.5625 --6.74 45.4276 --6.73 45.2929 --6.72 45.1584 --6.71 45.0241 --6.7 44.89 --6.69 44.7561 --6.68 44.6224 --6.67 44.4889 --6.66 44.3556 --6.65 44.2225 --6.64 44.0896 --6.63 43.9569 --6.62 43.8244 --6.61 43.6921 --6.6 43.56 --6.59 43.4281 --6.58 43.2964 --6.57 43.1649 --6.56 43.0336 --6.55 42.9025 --6.54 42.7716 --6.53 42.6409 --6.52 42.5104 --6.51 42.3801 --6.5 42.25 --6.49 42.1201 --6.48 41.9904 --6.47 41.8609 --6.46 41.7316 --6.45 41.6025 --6.44 41.4736 --6.43 41.3449 --6.42 41.2164 --6.41 41.0881 --6.4 40.96 --6.39 40.8321 --6.38 40.7044 --6.37 40.5769 --6.36 40.4496 --6.35 40.3225 --6.34 40.1956 --6.33 40.0689 --6.32 39.9424 --6.31 39.8161 --6.3 39.69 --6.29 39.5641 --6.28 39.4384 --6.27 39.3129 --6.26 39.1876 --6.25 39.0625 --6.24 38.9376 --6.23 38.8129 --6.22 38.6884 --6.21 38.5641 --6.2 38.44 --6.19 38.3161 --6.18 38.1924 --6.17 38.0689 --6.16 37.9456 --6.15 37.8225 --6.14 37.6996 --6.13 37.5769 --6.12 37.4544 --6.11 37.3321 --6.1 37.21 --6.09 37.0881 --6.08 36.9664 --6.07 36.8449 --6.06 36.7236 --6.05 36.6025 --6.04 36.4816 --6.03 36.3609 --6.02 36.2404 --6.01 36.1201 --6 36 --5.99 35.8801 --5.98 35.7604 --5.97 35.6409 --5.96 35.5216 --5.95 35.4025 --5.94 35.2836 --5.93 35.1649 --5.92 35.0464 --5.91 34.9281 --5.9 34.81 --5.89 34.6921 --5.88 34.5744 --5.87 34.4569 --5.86 34.3396 --5.85 34.2225 --5.84 34.1056 --5.83 33.9889 --5.82 33.8724 --5.81 33.7561 --5.8 33.64 --5.79 33.5241 --5.78 33.4084 --5.77 33.2929 --5.76 33.1776 --5.75 33.0625 --5.74 32.9476 --5.73 32.8329 --5.72 32.7184 --5.71 32.6041 --5.7 32.49 --5.69 32.3761 --5.68 32.2624 --5.67 32.1489 --5.66 32.0356 --5.65 31.9225 --5.64 31.8096 --5.63 31.6969 --5.62 31.5844 --5.61 31.4721 --5.6 31.36 --5.59 31.2481 --5.58 31.1364 --5.57 31.0249 --5.56 30.9136 --5.55 30.8025 --5.54 30.6916 --5.53 30.5809 --5.52 30.4704 --5.51 30.3601 --5.5 30.25 --5.49 30.1401 --5.48 30.0304 --5.47 29.9209 --5.46 29.8116 --5.45 29.7025 --5.44 29.5936 --5.43 29.4849 --5.42 29.3764 --5.41 29.2681 --5.4 29.16 --5.39 29.0521 --5.38 28.9444 --5.37 28.8369 --5.36 28.7296 --5.35 28.6225 --5.34 28.5156 --5.33 28.4089 --5.32 28.3024 --5.31 28.1961 --5.3 28.09 --5.29 27.9841 --5.28 27.8784 --5.27 27.7729 --5.26 27.6676 --5.25 27.5625 --5.24 27.4576 --5.23 27.3529 --5.22 27.2484 --5.21 27.1441 --5.2 27.04 --5.19 26.9361 --5.18 26.8324 --5.17 26.7289 --5.16 26.6256 --5.15 26.5225 --5.14 26.4196 --5.13 26.3169 --5.12 26.2144 --5.11 26.1121 --5.1 26.01 --5.09 25.9081 --5.08 25.8064 --5.07 25.7049 --5.06 25.6036 --5.05 25.5025 --5.04 25.4016 --5.03 25.3009 --5.02 25.2004 --5.01 25.1001 --5 25 --4.99 24.9001 --4.98 24.8004 --4.97 24.7009 --4.96 24.6016 --4.95 24.5025 --4.94 24.4036 --4.93 24.3049 --4.92 24.2064 --4.91 24.1081 --4.9 24.01 --4.89 23.9121 --4.88 23.8144 --4.87 23.7169 --4.86 23.6196 --4.85 23.5225 --4.84 23.4256 --4.83 23.3289 --4.82 23.2324 --4.81 23.1361 --4.8 23.04 --4.79 22.9441 --4.78 22.8484 --4.77 22.7529 --4.76 22.6576 --4.75 22.5625 --4.74 22.4676 --4.73 22.3729 --4.72 22.2784 --4.71 22.1841 --4.7 22.09 --4.69 21.9961 --4.68 21.9024 --4.67 21.8089 --4.66 21.7156 --4.65 21.6225 --4.64 21.5296 --4.63 21.4369 --4.62 21.3444 --4.61 21.2521 --4.6 21.16 --4.59 21.0681 --4.58 20.9764 --4.57 20.8849 --4.56 20.7936 --4.55 20.7025 --4.54 20.6116 --4.53 20.5209 --4.52 20.4304 --4.51 20.3401 --4.5 20.25 --4.49 20.1601 --4.48 20.0704 --4.47 19.9809 --4.46 19.8916 --4.45 19.8025 --4.44 19.7136 --4.43 19.6249 --4.42 19.5364 --4.41 19.4481 --4.4 19.36 --4.39 19.2721 --4.38 19.1844 --4.37 19.0969 --4.36 19.0096 --4.35 18.9225 --4.34 18.8356 --4.33 18.7489 --4.32 18.6624 --4.31 18.5761 --4.3 18.49 --4.29 18.4041 --4.28 18.3184 --4.27 18.2329 --4.26 18.1476 --4.25 18.0625 --4.24 17.9776 --4.23 17.8929 --4.22 17.8084 --4.21 17.7241 --4.2 17.64 --4.19 17.5561 --4.18 17.4724 --4.17 17.3889 --4.16 17.3056 --4.15 17.2225 --4.14 17.1396 --4.13 17.0569 --4.12 16.9744 --4.11 16.8921 --4.1 16.81 --4.09 16.7281 --4.08 16.6464 --4.07 16.5649 --4.06 16.4836 --4.05 16.4025 --4.04 16.3216 --4.03 16.2409 --4.02 16.1604 --4.01 16.0801 --4 16 --3.99 15.9201 --3.98 15.8404 --3.97 15.7609 --3.96 15.6816 --3.95 15.6025 --3.94 15.5236 --3.93 15.4449 --3.92 15.3664 --3.91 15.2881 --3.9 15.21 --3.89 15.1321 --3.88 15.0544 --3.87 14.9769 --3.86 14.8996 --3.85 14.8225 --3.84 14.7456 --3.83 14.6689 --3.82 14.5924 --3.81 14.5161 --3.8 14.44 --3.79 14.3641 --3.78 14.2884 --3.77 14.2129 --3.76 14.1376 --3.75 14.0625 --3.74 13.9876 --3.73 13.9129 --3.72 13.8384 --3.71 13.7641 --3.7 13.69 --3.69 13.6161 --3.68 13.5424 --3.67 13.4689 --3.66 13.3956 --3.65 13.3225 --3.64 13.2496 --3.63 13.1769 --3.62 13.1044 --3.61 13.0321 --3.6 12.96 --3.59 12.8881 --3.58 12.8164 --3.57 12.7449 --3.56 12.6736 --3.55 12.6025 --3.54 12.5316 --3.53 12.4609 --3.52 12.3904 --3.51 12.3201 --3.5 12.25 --3.49 12.1801 --3.48 12.1104 --3.47 12.0409 --3.46 11.9716 --3.45 11.9025 --3.44 11.8336 --3.43 11.7649 --3.42 11.6964 --3.41 11.6281 --3.4 11.56 --3.39 11.4921 --3.38 11.4244 --3.37 11.3569 --3.36 11.2896 --3.35 11.2225 --3.34 11.1556 --3.33 11.0889 --3.32 11.0224 --3.31 10.9561 --3.3 10.89 --3.29 10.8241 --3.28 10.7584 --3.27 10.6929 --3.26 10.6276 --3.25 10.5625 --3.24 10.4976 --3.23 10.4329 --3.22 10.3684 --3.21 10.3041 --3.2 10.24 --3.19 10.1761 --3.18 10.1124 --3.17 10.0489 --3.16 9.9856 --3.15 9.9225 --3.14 9.8596 --3.13 9.7969 --3.12 9.7344 --3.11 9.6721 --3.1 9.61 --3.09 9.5481 --3.08 9.4864 --3.07 9.4249 --3.06 9.3636 --3.05 9.3025 --3.04 9.2416 --3.03 9.1809 --3.02 9.1204 --3.01 9.0601 --3 9 --2.99 8.9401 --2.98 8.8804 --2.97 8.8209 --2.96 8.7616 --2.95 8.7025 --2.94 8.6436 --2.93 8.5849 --2.92 8.5264 --2.91 8.4681 --2.9 8.41 --2.89 8.3521 --2.88 8.2944 --2.87 8.2369 --2.86 8.1796 --2.85 8.1225 --2.84 8.0656 --2.83 8.0089 --2.82 7.9524 --2.81 7.8961 --2.8 7.84 --2.79 7.7841 --2.78 7.7284 --2.77 7.6729 --2.76 7.6176 --2.75 7.5625 --2.74 7.5076 --2.73 7.4529 --2.72 7.3984 --2.71 7.3441 --2.7 7.29 --2.69 7.2361 --2.68 7.1824 --2.67 7.1289 --2.66 7.0756 --2.65 7.0225 --2.64 6.9696 --2.63 6.9169 --2.62 6.8644 --2.61 6.8121 --2.6 6.76 --2.59 6.7081 --2.58 6.6564 --2.57 6.6049 --2.56 6.5536 --2.55 6.5025 --2.54 6.4516 --2.53 6.4009 --2.52 6.3504 --2.51 6.3001 --2.5 6.25 --2.49 6.2001 --2.48 6.1504 --2.47 6.1009 --2.46 6.0516 --2.45 6.0025 --2.44 5.9536 --2.43 5.9049 --2.42 5.8564 --2.41 5.8081 --2.4 5.76 --2.39 5.7121 --2.38 5.6644 --2.37 5.6169 --2.36 5.5696 --2.35 5.5225 --2.34 5.4756 --2.33 5.4289 --2.32 5.3824 --2.31 5.3361 --2.3 5.29 --2.29 5.2441 --2.28 5.1984 --2.27 5.1529 --2.26 5.1076 --2.25 5.0625 --2.24 5.0176 --2.23 4.9729 --2.22 4.9284 --2.21 4.8841 --2.2 4.84 --2.19 4.7961 --2.18 4.7524 --2.17 4.7089 --2.16 4.6656 --2.15 4.6225 --2.14 4.5796 --2.13 4.5369 --2.12 4.4944 --2.11 4.4521 --2.1 4.41 --2.09 4.3681 --2.08 4.3264 --2.07 4.2849 --2.06 4.2436 --2.05 4.2025 --2.04 4.1616 --2.03 4.1209 --2.02 4.0804 --2.01 4.0401 --2 4 --1.99 3.9601 --1.98 3.9204 --1.97 3.8809 --1.96 3.8416 --1.95 3.8025 --1.94 3.7636 --1.93 3.7249 --1.92 3.6864 --1.91 3.6481 --1.9 3.61 --1.89 3.5721 --1.88 3.5344 --1.87 3.4969 --1.86 3.4596 --1.85 3.4225 --1.84 3.3856 --1.83 3.3489 --1.82 3.3124 --1.81 3.2761 --1.8 3.24 --1.79 3.2041 --1.78 3.1684 --1.77 3.1329 --1.76 3.0976 --1.75 3.0625 --1.74 3.0276 --1.73 2.9929 --1.72 2.9584 --1.71 2.9241 --1.7 2.89 --1.69 2.8561 --1.68 2.8224 --1.67 2.7889 --1.66 2.7556 --1.65 2.7225 --1.64 2.6896 --1.63 2.6569 --1.62 2.6244 --1.61 2.5921 --1.6 2.56 --1.59 2.5281 --1.58 2.4964 --1.57 2.4649 --1.56 2.4336 --1.55 2.4025 --1.54 2.3716 --1.53 2.3409 --1.52 2.3104 --1.51 2.2801 --1.5 2.25 --1.49 2.2201 --1.48 2.1904 --1.47 2.1609 --1.46 2.1316 --1.45 2.1025 --1.44 2.0736 --1.43 2.0449 --1.42 2.0164 --1.41 1.9881 --1.4 1.96 --1.39 1.9321 --1.38 1.9044 --1.37 1.8769 --1.36 1.8496 --1.35 1.8225 --1.34 1.7956 --1.33 1.7689 --1.32 1.7424 --1.31 1.7161 --1.3 1.69 --1.29 1.6641 --1.28 1.6384 --1.27 1.6129 --1.26 1.5876 --1.25 1.5625 --1.24 1.5376 --1.23 1.5129 --1.22 1.4884 --1.21 1.4641 --1.2 1.44 --1.19 1.4161 --1.18 1.3924 --1.17 1.3689 --1.16 1.3456 --1.15 1.3225 --1.14 1.2996 --1.13 1.2769 --1.12 1.2544 --1.11 1.2321 --1.1 1.21 --1.09 1.1881 --1.08 1.1664 --1.07 1.1449 --1.06 1.1236 --1.05 1.1025 --1.04 1.0816 --1.03 1.0609 --1.02 1.0404 --1.01 1.0201 --1 1 --0.99 0.9801 --0.98 0.9604 --0.97 0.9409 --0.96 0.9216 --0.95 0.9025 --0.94 0.8836 --0.93 0.8649 --0.92 0.8464 --0.91 0.8281 --0.9 0.81 --0.89 0.7921 --0.88 0.7744 --0.87 0.7569 --0.86 0.7396 --0.85 0.7225 --0.84 0.7056 --0.83 0.6889 --0.82 0.6724 --0.81 0.6561 --0.8 0.64 --0.79 0.6241 --0.78 0.6084 --0.77 0.5929 --0.76 0.5776 --0.75 0.5625 --0.74 0.5476 --0.73 0.5329 --0.72 0.5184 --0.71 0.5041 --0.7 0.49 --0.69 0.4761 --0.68 0.4624 --0.67 0.4489 --0.66 0.4356 --0.65 0.4225 --0.64 0.4096 --0.63 0.3969 --0.62 0.3844 --0.61 0.3721 --0.6 0.36 --0.59 0.3481 --0.58 0.3364 --0.57 0.3249 --0.56 0.3136 --0.55 0.3025 --0.54 0.2916 --0.53 0.2809 --0.52 0.2704 --0.51 0.2601 --0.5 0.25 --0.49 0.2401 --0.48 0.2304 --0.47 0.2209 --0.46 0.2116 --0.45 0.2025 --0.44 0.1936 --0.43 0.1849 --0.42 0.1764 --0.41 0.1681 --0.4 0.16 --0.39 0.1521 --0.38 0.1444 --0.37 0.1369 --0.36 0.1296 --0.35 0.1225 --0.34 0.1156 --0.33 0.1089 --0.32 0.1024 --0.31 0.0961 --0.3 0.09 --0.29 0.0841 --0.28 0.0784 --0.27 0.0729 --0.26 0.0676 --0.25 0.0625 --0.24 0.0576 --0.23 0.0529 --0.22 0.0484 --0.21 0.0441 --0.2 0.04 --0.19 0.0361 --0.18 0.0324 --0.17 0.0289 --0.16 0.0256 --0.15 0.0225 --0.14 0.0196 --0.13 0.0169 --0.12 0.0144 --0.11 0.0121 --0.1 0.01 --0.09 0.0081 --0.08 0.0064 --0.07 0.0049 --0.06 0.0036 --0.05 0.0025 --0.04 0.0016 --0.03 0.0009 --0.02 0.0004 --0.01 0.0001 --1.68889e-13 2.85236e-26 -0.01 0.0001 -0.02 0.0004 -0.03 0.0009 -0.04 0.0016 -0.05 0.0025 -0.06 0.0036 -0.07 0.0049 -0.08 0.0064 -0.09 0.0081 -0.1 0.01 -0.11 0.0121 -0.12 0.0144 -0.13 0.0169 -0.14 0.0196 -0.15 0.0225 -0.16 0.0256 -0.17 0.0289 -0.18 0.0324 -0.19 0.0361 -0.2 0.04 -0.21 0.0441 -0.22 0.0484 -0.23 0.0529 -0.24 0.0576 -0.25 0.0625 -0.26 0.0676 -0.27 0.0729 -0.28 0.0784 -0.29 0.0841 -0.3 0.09 -0.31 0.0961 -0.32 0.1024 -0.33 0.1089 -0.34 0.1156 -0.35 0.1225 -0.36 0.1296 -0.37 0.1369 -0.38 0.1444 -0.39 0.1521 -0.4 0.16 -0.41 0.1681 -0.42 0.1764 -0.43 0.1849 -0.44 0.1936 -0.45 0.2025 -0.46 0.2116 -0.47 0.2209 -0.48 0.2304 -0.49 0.2401 -0.5 0.25 -0.51 0.2601 -0.52 0.2704 -0.53 0.2809 -0.54 0.2916 -0.55 0.3025 -0.56 0.3136 -0.57 0.3249 -0.58 0.3364 -0.59 0.3481 -0.6 0.36 -0.61 0.3721 -0.62 0.3844 -0.63 0.3969 -0.64 0.4096 -0.65 0.4225 -0.66 0.4356 -0.67 0.4489 -0.68 0.4624 -0.69 0.4761 -0.7 0.49 -0.71 0.5041 -0.72 0.5184 -0.73 0.5329 -0.74 0.5476 -0.75 0.5625 -0.76 0.5776 -0.77 0.5929 -0.78 0.6084 -0.79 0.6241 -0.8 0.64 -0.81 0.6561 -0.82 0.6724 -0.83 0.6889 -0.84 0.7056 -0.85 0.7225 -0.86 0.7396 -0.87 0.7569 -0.88 0.7744 -0.89 0.7921 -0.9 0.81 -0.91 0.8281 -0.92 0.8464 -0.93 0.8649 -0.94 0.8836 -0.95 0.9025 -0.96 0.9216 -0.97 0.9409 -0.98 0.9604 -0.99 0.9801 -1 1 -1.01 1.0201 -1.02 1.0404 -1.03 1.0609 -1.04 1.0816 -1.05 1.1025 -1.06 1.1236 -1.07 1.1449 -1.08 1.1664 -1.09 1.1881 -1.1 1.21 -1.11 1.2321 -1.12 1.2544 -1.13 1.2769 -1.14 1.2996 -1.15 1.3225 -1.16 1.3456 -1.17 1.3689 -1.18 1.3924 -1.19 1.4161 -1.2 1.44 -1.21 1.4641 -1.22 1.4884 -1.23 1.5129 -1.24 1.5376 -1.25 1.5625 -1.26 1.5876 -1.27 1.6129 -1.28 1.6384 -1.29 1.6641 -1.3 1.69 -1.31 1.7161 -1.32 1.7424 -1.33 1.7689 -1.34 1.7956 -1.35 1.8225 -1.36 1.8496 -1.37 1.8769 -1.38 1.9044 -1.39 1.9321 -1.4 1.96 -1.41 1.9881 -1.42 2.0164 -1.43 2.0449 -1.44 2.0736 -1.45 2.1025 -1.46 2.1316 -1.47 2.1609 -1.48 2.1904 -1.49 2.2201 -1.5 2.25 -1.51 2.2801 -1.52 2.3104 -1.53 2.3409 -1.54 2.3716 -1.55 2.4025 -1.56 2.4336 -1.57 2.4649 -1.58 2.4964 -1.59 2.5281 -1.6 2.56 -1.61 2.5921 -1.62 2.6244 -1.63 2.6569 -1.64 2.6896 -1.65 2.7225 -1.66 2.7556 -1.67 2.7889 -1.68 2.8224 -1.69 2.8561 -1.7 2.89 -1.71 2.9241 -1.72 2.9584 -1.73 2.9929 -1.74 3.0276 -1.75 3.0625 -1.76 3.0976 -1.77 3.1329 -1.78 3.1684 -1.79 3.2041 -1.8 3.24 -1.81 3.2761 -1.82 3.3124 -1.83 3.3489 -1.84 3.3856 -1.85 3.4225 -1.86 3.4596 -1.87 3.4969 -1.88 3.5344 -1.89 3.5721 -1.9 3.61 -1.91 3.6481 -1.92 3.6864 -1.93 3.7249 -1.94 3.7636 -1.95 3.8025 -1.96 3.8416 -1.97 3.8809 -1.98 3.9204 -1.99 3.9601 -2 4 -2.01 4.0401 -2.02 4.0804 -2.03 4.1209 -2.04 4.1616 -2.05 4.2025 -2.06 4.2436 -2.07 4.2849 -2.08 4.3264 -2.09 4.3681 -2.1 4.41 -2.11 4.4521 -2.12 4.4944 -2.13 4.5369 -2.14 4.5796 -2.15 4.6225 -2.16 4.6656 -2.17 4.7089 -2.18 4.7524 -2.19 4.7961 -2.2 4.84 -2.21 4.8841 -2.22 4.9284 -2.23 4.9729 -2.24 5.0176 -2.25 5.0625 -2.26 5.1076 -2.27 5.1529 -2.28 5.1984 -2.29 5.2441 -2.3 5.29 -2.31 5.3361 -2.32 5.3824 -2.33 5.4289 -2.34 5.4756 -2.35 5.5225 -2.36 5.5696 -2.37 5.6169 -2.38 5.6644 -2.39 5.7121 -2.4 5.76 -2.41 5.8081 -2.42 5.8564 -2.43 5.9049 -2.44 5.9536 -2.45 6.0025 -2.46 6.0516 -2.47 6.1009 -2.48 6.1504 -2.49 6.2001 -2.5 6.25 -2.51 6.3001 -2.52 6.3504 -2.53 6.4009 -2.54 6.4516 -2.55 6.5025 -2.56 6.5536 -2.57 6.6049 -2.58 6.6564 -2.59 6.7081 -2.6 6.76 -2.61 6.8121 -2.62 6.8644 -2.63 6.9169 -2.64 6.9696 -2.65 7.0225 -2.66 7.0756 -2.67 7.1289 -2.68 7.1824 -2.69 7.2361 -2.7 7.29 -2.71 7.3441 -2.72 7.3984 -2.73 7.4529 -2.74 7.5076 -2.75 7.5625 -2.76 7.6176 -2.77 7.6729 -2.78 7.7284 -2.79 7.7841 -2.8 7.84 -2.81 7.8961 -2.82 7.9524 -2.83 8.0089 -2.84 8.0656 -2.85 8.1225 -2.86 8.1796 -2.87 8.2369 -2.88 8.2944 -2.89 8.3521 -2.9 8.41 -2.91 8.4681 -2.92 8.5264 -2.93 8.5849 -2.94 8.6436 -2.95 8.7025 -2.96 8.7616 -2.97 8.8209 -2.98 8.8804 -2.99 8.9401 -3 9 -3.01 9.0601 -3.02 9.1204 -3.03 9.1809 -3.04 9.2416 -3.05 9.3025 -3.06 9.3636 -3.07 9.4249 -3.08 9.4864 -3.09 9.5481 -3.1 9.61 -3.11 9.6721 -3.12 9.7344 -3.13 9.7969 -3.14 9.8596 -3.15 9.9225 -3.16 9.9856 -3.17 10.0489 -3.18 10.1124 -3.19 10.1761 -3.2 10.24 -3.21 10.3041 -3.22 10.3684 -3.23 10.4329 -3.24 10.4976 -3.25 10.5625 -3.26 10.6276 -3.27 10.6929 -3.28 10.7584 -3.29 10.8241 -3.3 10.89 -3.31 10.9561 -3.32 11.0224 -3.33 11.0889 -3.34 11.1556 -3.35 11.2225 -3.36 11.2896 -3.37 11.3569 -3.38 11.4244 -3.39 11.4921 -3.4 11.56 -3.41 11.6281 -3.42 11.6964 -3.43 11.7649 -3.44 11.8336 -3.45 11.9025 -3.46 11.9716 -3.47 12.0409 -3.48 12.1104 -3.49 12.1801 -3.5 12.25 -3.51 12.3201 -3.52 12.3904 -3.53 12.4609 -3.54 12.5316 -3.55 12.6025 -3.56 12.6736 -3.57 12.7449 -3.58 12.8164 -3.59 12.8881 -3.6 12.96 -3.61 13.0321 -3.62 13.1044 -3.63 13.1769 -3.64 13.2496 -3.65 13.3225 -3.66 13.3956 -3.67 13.4689 -3.68 13.5424 -3.69 13.6161 -3.7 13.69 -3.71 13.7641 -3.72 13.8384 -3.73 13.9129 -3.74 13.9876 -3.75 14.0625 -3.76 14.1376 -3.77 14.2129 -3.78 14.2884 -3.79 14.3641 -3.8 14.44 -3.81 14.5161 -3.82 14.5924 -3.83 14.6689 -3.84 14.7456 -3.85 14.8225 -3.86 14.8996 -3.87 14.9769 -3.88 15.0544 -3.89 15.1321 -3.9 15.21 -3.91 15.2881 -3.92 15.3664 -3.93 15.4449 -3.94 15.5236 -3.95 15.6025 -3.96 15.6816 -3.97 15.7609 -3.98 15.8404 -3.99 15.9201 -4 16 -4.01 16.0801 -4.02 16.1604 -4.03 16.2409 -4.04 16.3216 -4.05 16.4025 -4.06 16.4836 -4.07 16.5649 -4.08 16.6464 -4.09 16.7281 -4.1 16.81 -4.11 16.8921 -4.12 16.9744 -4.13 17.0569 -4.14 17.1396 -4.15 17.2225 -4.16 17.3056 -4.17 17.3889 -4.18 17.4724 -4.19 17.5561 -4.2 17.64 -4.21 17.7241 -4.22 17.8084 -4.23 17.8929 -4.24 17.9776 -4.25 18.0625 -4.26 18.1476 -4.27 18.2329 -4.28 18.3184 -4.29 18.4041 -4.3 18.49 -4.31 18.5761 -4.32 18.6624 -4.33 18.7489 -4.34 18.8356 -4.35 18.9225 -4.36 19.0096 -4.37 19.0969 -4.38 19.1844 -4.39 19.2721 -4.4 19.36 -4.41 19.4481 -4.42 19.5364 -4.43 19.6249 -4.44 19.7136 -4.45 19.8025 -4.46 19.8916 -4.47 19.9809 -4.48 20.0704 -4.49 20.1601 -4.5 20.25 -4.51 20.3401 -4.52 20.4304 -4.53 20.5209 -4.54 20.6116 -4.55 20.7025 -4.56 20.7936 -4.57 20.8849 -4.58 20.9764 -4.59 21.0681 -4.6 21.16 -4.61 21.2521 -4.62 21.3444 -4.63 21.4369 -4.64 21.5296 -4.65 21.6225 -4.66 21.7156 -4.67 21.8089 -4.68 21.9024 -4.69 21.9961 -4.7 22.09 -4.71 22.1841 -4.72 22.2784 -4.73 22.3729 -4.74 22.4676 -4.75 22.5625 -4.76 22.6576 -4.77 22.7529 -4.78 22.8484 -4.79 22.9441 -4.8 23.04 -4.81 23.1361 -4.82 23.2324 -4.83 23.3289 -4.84 23.4256 -4.85 23.5225 -4.86 23.6196 -4.87 23.7169 -4.88 23.8144 -4.89 23.9121 -4.9 24.01 -4.91 24.1081 -4.92 24.2064 -4.93 24.3049 -4.94 24.4036 -4.95 24.5025 -4.96 24.6016 -4.97 24.7009 -4.98 24.8004 -4.99 24.9001 -5 25 -5.01 25.1001 -5.02 25.2004 -5.03 25.3009 -5.04 25.4016 -5.05 25.5025 -5.06 25.6036 -5.07 25.7049 -5.08 25.8064 -5.09 25.9081 -5.1 26.01 -5.11 26.1121 -5.12 26.2144 -5.13 26.3169 -5.14 26.4196 -5.15 26.5225 -5.16 26.6256 -5.17 26.7289 -5.18 26.8324 -5.19 26.9361 -5.2 27.04 -5.21 27.1441 -5.22 27.2484 -5.23 27.3529 -5.24 27.4576 -5.25 27.5625 -5.26 27.6676 -5.27 27.7729 -5.28 27.8784 -5.29 27.9841 -5.3 28.09 -5.31 28.1961 -5.32 28.3024 -5.33 28.4089 -5.34 28.5156 -5.35 28.6225 -5.36 28.7296 -5.37 28.8369 -5.38 28.9444 -5.39 29.0521 -5.4 29.16 -5.41 29.2681 -5.42 29.3764 -5.43 29.4849 -5.44 29.5936 -5.45 29.7025 -5.46 29.8116 -5.47 29.9209 -5.48 30.0304 -5.49 30.1401 -5.5 30.25 -5.51 30.3601 -5.52 30.4704 -5.53 30.5809 -5.54 30.6916 -5.55 30.8025 -5.56 30.9136 -5.57 31.0249 -5.58 31.1364 -5.59 31.2481 -5.6 31.36 -5.61 31.4721 -5.62 31.5844 -5.63 31.6969 -5.64 31.8096 -5.65 31.9225 -5.66 32.0356 -5.67 32.1489 -5.68 32.2624 -5.69 32.3761 -5.7 32.49 -5.71 32.6041 -5.72 32.7184 -5.73 32.8329 -5.74 32.9476 -5.75 33.0625 -5.76 33.1776 -5.77 33.2929 -5.78 33.4084 -5.79 33.5241 -5.8 33.64 -5.81 33.7561 -5.82 33.8724 -5.83 33.9889 -5.84 34.1056 -5.85 34.2225 -5.86 34.3396 -5.87 34.4569 -5.88 34.5744 -5.89 34.6921 -5.9 34.81 -5.91 34.9281 -5.92 35.0464 -5.93 35.1649 -5.94 35.2836 -5.95 35.4025 -5.96 35.5216 -5.97 35.6409 -5.98 35.7604 -5.99 35.8801 -6 36 -6.01 36.1201 -6.02 36.2404 -6.03 36.3609 -6.04 36.4816 -6.05 36.6025 -6.06 36.7236 -6.07 36.8449 -6.08 36.9664 -6.09 37.0881 -6.1 37.21 -6.11 37.3321 -6.12 37.4544 -6.13 37.5769 -6.14 37.6996 -6.15 37.8225 -6.16 37.9456 -6.17 38.0689 -6.18 38.1924 -6.19 38.3161 -6.2 38.44 -6.21 38.5641 -6.22 38.6884 -6.23 38.8129 -6.24 38.9376 -6.25 39.0625 -6.26 39.1876 -6.27 39.3129 -6.28 39.4384 -6.29 39.5641 -6.3 39.69 -6.31 39.8161 -6.32 39.9424 -6.33 40.0689 -6.34 40.1956 -6.35 40.3225 -6.36 40.4496 -6.37 40.5769 -6.38 40.7044 -6.39 40.8321 -6.4 40.96 -6.41 41.0881 -6.42 41.2164 -6.43 41.3449 -6.44 41.4736 -6.45 41.6025 -6.46 41.7316 -6.47 41.8609 -6.48 41.9904 -6.49 42.1201 -6.5 42.25 -6.51 42.3801 -6.52 42.5104 -6.53 42.6409 -6.54 42.7716 -6.55 42.9025 -6.56 43.0336 -6.57 43.1649 -6.58 43.2964 -6.59 43.4281 -6.6 43.56 -6.61 43.6921 -6.62 43.8244 -6.63 43.9569 -6.64 44.0896 -6.65 44.2225 -6.66 44.3556 -6.67 44.4889 -6.68 44.6224 -6.69 44.7561 -6.7 44.89 -6.71 45.0241 -6.72 45.1584 -6.73 45.2929 -6.74 45.4276 -6.75 45.5625 -6.76 45.6976 -6.77 45.8329 -6.78 45.9684 -6.79 46.1041 -6.8 46.24 -6.81 46.3761 -6.82 46.5124 -6.83 46.6489 -6.84 46.7856 -6.85 46.9225 -6.86 47.0596 -6.87 47.1969 -6.88 47.3344 -6.89 47.4721 -6.9 47.61 -6.91 47.7481 -6.92 47.8864 -6.93 48.0249 -6.94 48.1636 -6.95 48.3025 -6.96 48.4416 -6.97 48.5809 -6.98 48.7204 -6.99 48.8601 -7 49 -7.01 49.1401 -7.02 49.2804 -7.03 49.4209 -7.04 49.5616 -7.05 49.7025 -7.06 49.8436 -7.07 49.9849 -7.08 50.1264 -7.09 50.2681 -7.1 50.41 -7.11 50.5521 -7.12 50.6944 -7.13 50.8369 -7.14 50.9796 -7.15 51.1225 -7.16 51.2656 -7.17 51.4089 -7.18 51.5524 -7.19 51.6961 -7.2 51.84 -7.21 51.9841 -7.22 52.1284 -7.23 52.2729 -7.24 52.4176 -7.25 52.5625 -7.26 52.7076 -7.27 52.8529 -7.28 52.9984 -7.29 53.1441 -7.3 53.29 -7.31 53.4361 -7.32 53.5824 -7.33 53.7289 -7.34 53.8756 -7.35 54.0225 -7.36 54.1696 -7.37 54.3169 -7.38 54.4644 -7.39 54.6121 -7.4 54.76 -7.41 54.9081 -7.42 55.0564 -7.43 55.2049 -7.44 55.3536 -7.45 55.5025 -7.46 55.6516 -7.47 55.8009 -7.48 55.9504 -7.49 56.1001 -7.5 56.25 -7.51 56.4001 -7.52 56.5504 -7.53 56.7009 -7.54 56.8516 -7.55 57.0025 -7.56 57.1536 -7.57 57.3049 -7.58 57.4564 -7.59 57.6081 -7.6 57.76 -7.61 57.9121 -7.62 58.0644 -7.63 58.2169 -7.64 58.3696 -7.65 58.5225 -7.66 58.6756 -7.67 58.8289 -7.68 58.9824 -7.69 59.1361 -7.7 59.29 -7.71 59.4441 -7.72 59.5984 -7.73 59.7529 -7.74 59.9076 -7.75 60.0625 -7.76 60.2176 -7.77 60.3729 -7.78 60.5284 -7.79 60.6841 -7.8 60.84 -7.81 60.9961 -7.82 61.1524 -7.83 61.3089 -7.84 61.4656 -7.85 61.6225 -7.86 61.7796 -7.87 61.9369 -7.88 62.0944 -7.89 62.2521 -7.9 62.41 -7.91 62.5681 -7.92 62.7264 -7.93 62.8849 -7.94 63.0436 -7.95 63.2025 -7.96 63.3616 -7.97 63.5209 -7.98 63.6804 -7.99 63.8401 -8 64 -8.01 64.1601 -8.02 64.3204 -8.03 64.4809 -8.04 64.6416 -8.05 64.8025 -8.06 64.9636 -8.07 65.1249 -8.08 65.2864 -8.09 65.4481 -8.1 65.61 -8.11 65.7721 -8.12 65.9344 -8.13 66.0969 -8.14 66.2596 -8.15 66.4225 -8.16 66.5856 -8.17 66.7489 -8.18 66.9124 -8.19 67.0761 -8.2 67.24 -8.21 67.4041 -8.22 67.5684 -8.23 67.7329 -8.24 67.8976 -8.25 68.0625 -8.26 68.2276 -8.27 68.3929 -8.28 68.5584 -8.29 68.7241 -8.3 68.89 -8.31 69.0561 -8.32 69.2224 -8.33 69.3889 -8.34 69.5556 -8.35 69.7225 -8.36 69.8896 -8.37 70.0569 -8.38 70.2244 -8.39 70.3921 -8.4 70.56 -8.41 70.7281 -8.42 70.8964 -8.43 71.0649 -8.44 71.2336 -8.45 71.4025 -8.46 71.5716 -8.47 71.7409 -8.48 71.9104 -8.49 72.0801 -8.5 72.25 -8.51 72.4201 -8.52 72.5904 -8.53 72.7609 -8.54 72.9316 -8.55 73.1025 -8.56 73.2736 -8.57 73.4449 -8.58 73.6164 -8.59 73.7881 -8.6 73.96 -8.61 74.1321 -8.62 74.3044 -8.63 74.4769 -8.64 74.6496 -8.65 74.8225 -8.66 74.9956 -8.67 75.1689 -8.68 75.3424 -8.69 75.5161 -8.7 75.69 -8.71 75.8641 -8.72 76.0384 -8.73 76.2129 -8.74 76.3876 -8.75 76.5625 -8.76 76.7376 -8.77 76.9129 -8.78 77.0884 -8.79 77.2641 -8.8 77.44 -8.81 77.6161 -8.82 77.7924 -8.83 77.9689 -8.84 78.1456 -8.85 78.3225 -8.86 78.4996 -8.87 78.6769 -8.88 78.8544 -8.89 79.0321 -8.9 79.21 -8.91 79.3881 -8.92 79.5664 -8.93 79.7449 -8.94 79.9236 -8.95 80.1025 -8.96 80.2816 -8.97 80.4609 -8.98 80.6404 -8.99 80.8201 -9 81 -9.01 81.1801 -9.02 81.3604 -9.03 81.5409 -9.04 81.7216 -9.05 81.9025 -9.06 82.0836 -9.07 82.2649 -9.08 82.4464 -9.09 82.6281 -9.1 82.81 -9.11 82.9921 -9.12 83.1744 -9.13 83.3569 -9.14 83.5396 -9.15 83.7225 -9.16 83.9056 -9.17 84.0889 -9.18 84.2724 -9.19 84.4561 -9.2 84.64 -9.21 84.8241 -9.22 85.0084 -9.23 85.1929 -9.24 85.3776 -9.25 85.5625 -9.26 85.7476 -9.27 85.9329 -9.28 86.1184 -9.29 86.3041 -9.3 86.49 -9.31 86.6761 -9.32 86.8624 -9.33 87.0489 -9.34 87.2356 -9.35 87.4225 -9.36 87.6096 -9.37 87.7969 -9.38 87.9844 -9.39 88.1721 -9.4 88.36 -9.41 88.5481 -9.42 88.7364 -9.43 88.9249 -9.44 89.1136 -9.45 89.3025 -9.46 89.4916 -9.47 89.6809 -9.48 89.8704 -9.49 90.0601 -9.5 90.25 -9.51 90.4401 -9.52 90.6304 -9.53 90.8209 -9.54 91.0116 -9.55 91.2025 -9.56 91.3936 -9.57 91.5849 -9.58 91.7764 -9.59 91.9681 -9.6 92.16 -9.61 92.3521 -9.62 92.5444 -9.63 92.7369 -9.64 92.9296 -9.65 93.1225 -9.66 93.3156 -9.67 93.5089 -9.68 93.7024 -9.69 93.8961 -9.7 94.09 -9.71 94.2841 -9.72 94.4784 -9.73 94.6729 -9.74 94.8676 -9.75 95.0625 -9.76 95.2576 -9.77 95.4529 -9.78 95.6484 -9.79 95.8441 -9.8 96.04 -9.81 96.2361 -9.82 96.4324 -9.83 96.6289 -9.84 96.8256 -9.85 97.0225 -9.86 97.2196 -9.87 97.4169 -9.88 97.6144 -9.89 97.8121 -9.9 98.01 -9.91 98.2081 -9.92 98.4064 -9.93 98.6049 -9.94 98.8036 -9.95 99.0025 -9.96 99.2016 -9.97 99.4009 -9.98 99.6004 -9.99 99.8001 -10 100 +-10.000000 100.000000 +-9.990000 99.800100 +-9.980000 99.600400 +-9.970000 99.400900 +-9.960000 99.201600 +-9.950000 99.002500 +-9.940000 98.803600 +-9.930000 98.604900 +-9.920000 98.406400 +-9.910000 98.208100 +-9.900000 98.010000 +-9.890000 97.812100 +-9.880000 97.614400 +-9.870000 97.416900 +-9.860000 97.219600 +-9.850000 97.022500 +-9.840000 96.825600 +-9.830000 96.628900 +-9.820000 96.432400 +-9.810000 96.236100 +-9.800000 96.040000 +-9.790000 95.844100 +-9.780000 95.648400 +-9.770000 95.452900 +-9.760000 95.257600 +-9.750000 95.062500 +-9.740000 94.867600 +-9.730000 94.672900 +-9.720000 94.478400 +-9.710000 94.284100 +-9.700000 94.090000 +-9.690000 93.896100 +-9.680000 93.702400 +-9.670000 93.508900 +-9.660000 93.315600 +-9.650000 93.122500 +-9.640000 92.929600 +-9.630000 92.736900 +-9.620000 92.544400 +-9.610000 92.352100 +-9.600000 92.160000 +-9.590000 91.968100 +-9.580000 91.776400 +-9.570000 91.584900 +-9.560000 91.393600 +-9.550000 91.202500 +-9.540000 91.011600 +-9.530000 90.820900 +-9.520000 90.630400 +-9.510000 90.440100 +-9.500000 90.250000 +-9.490000 90.060100 +-9.480000 89.870400 +-9.470000 89.680900 +-9.460000 89.491600 +-9.450000 89.302500 +-9.440000 89.113600 +-9.430000 88.924900 +-9.420000 88.736400 +-9.410000 88.548100 +-9.400000 88.360000 +-9.390000 88.172100 +-9.380000 87.984400 +-9.370000 87.796900 +-9.360000 87.609600 +-9.350000 87.422500 +-9.340000 87.235600 +-9.330000 87.048900 +-9.320000 86.862400 +-9.310000 86.676100 +-9.300000 86.490000 +-9.290000 86.304100 +-9.280000 86.118400 +-9.270000 85.932900 +-9.260000 85.747600 +-9.250000 85.562500 +-9.240000 85.377600 +-9.230000 85.192900 +-9.220000 85.008400 +-9.210000 84.824100 +-9.200000 84.640000 +-9.190000 84.456100 +-9.180000 84.272400 +-9.170000 84.088900 +-9.160000 83.905600 +-9.150000 83.722500 +-9.140000 83.539600 +-9.130000 83.356900 +-9.120000 83.174400 +-9.110000 82.992100 +-9.100000 82.810000 +-9.090000 82.628100 +-9.080000 82.446400 +-9.070000 82.264900 +-9.060000 82.083600 +-9.050000 81.902500 +-9.040000 81.721600 +-9.030000 81.540900 +-9.020000 81.360400 +-9.010000 81.180100 +-9.000000 81.000000 +-8.990000 80.820100 +-8.980000 80.640400 +-8.970000 80.460900 +-8.960000 80.281600 +-8.950000 80.102500 +-8.940000 79.923600 +-8.930000 79.744900 +-8.920000 79.566400 +-8.910000 79.388100 +-8.900000 7... [truncated message content] |
From: Thomas M. <tho...@us...> - 2009-07-07 03:43:55
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via 717e5127415e44b6d94e6a04b45072f953ff3095 (commit) from 6c686e7473e6909c7f2d6f15435a9fa9b94146b4 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 717e5127415e44b6d94e6a04b45072f953ff3095 Author: Thomas Moulard <tho...@gm...> Date: Tue Jul 7 12:43:22 2009 +0900 Add method to build a discrete interval from an interval and a step. * include/roboptim/core/function.hh: Add makeDiscreteInterval static method that create a discrete interval from a continuous interval and a step. * tests/interval.cc: Check new method. * tests/interval.stdout: Regenerate. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 00a3d22..cc0494d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2009-07-07 Thomas Moulard <tho...@gm...> + Add method to build a discrete interval from an interval and a step. + * include/roboptim/core/function.hh: Add makeDiscreteInterval + static method that create a discrete interval from a continuous + interval and a step. + * tests/interval.cc: Check new method. + * tests/interval.stdout: Regenerate. + +2009-07-07 Thomas Moulard <tho...@gm...> + Check constraints and starting point sizes. * include/roboptim/core/problem.hxx: Add assertion so that invalid size in a constraint or starting point diff --git a/include/roboptim/core/function.hh b/include/roboptim/core/function.hh index 4302978..63579b4 100644 --- a/include/roboptim/core/function.hh +++ b/include/roboptim/core/function.hh @@ -181,6 +181,18 @@ namespace roboptim return discreteInterval_t (min, max, step); } + /// \brief Construct a discrete interval. + /// + /// \param interval continuous interval + /// \param step discretization step + static discreteInterval_t makeDiscreteInterval (interval_t interval, + value_type step) + { + return discreteInterval_t (getLowerBound (interval), + getUpperBound (interval), + step); + } + /// \brief Get the lower bound of a discrete interval /// /// \param interval accessed discrete interval diff --git a/tests/interval.cc b/tests/interval.cc index d07d424..68e3b04 100644 --- a/tests/interval.cc +++ b/tests/interval.cc @@ -75,8 +75,12 @@ int run_test () assert (Function::getUpperBound (i2) == inf); assert (Function::getStep (i2) == .1); + discreteInterval_t i3 = Function::makeDiscreteInterval + (Function::makeInterval (1., 4.), .1); + std::cout << i1 << std::endl - << i2 << std::endl; + << i2 << std::endl + << i3 << std::endl; Function::foreach (i1, MyFunctor ()); } diff --git a/tests/interval.stdout b/tests/interval.stdout index 63b50fe..07d6010 100644 --- a/tests/interval.stdout +++ b/tests/interval.stdout @@ -4,6 +4,7 @@ (-inf, 42) (0 5 1) (-inf inf 0.1) +(1 4 0.1) 0 1 2 ----------------------------------------------------------------------- Summary of changes: ChangeLog | 9 +++++++++ include/roboptim/core/function.hh | 12 ++++++++++++ tests/interval.cc | 6 +++++- tests/interval.stdout | 1 + 4 files changed, 27 insertions(+), 1 deletions(-) hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-06 02:59:39
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, trajectory has been updated via 6325f028901531dbb934d156352e07bfb061e421 (commit) from 1585762b51d8c14024056a47defef082c2d2518e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 6325f028901531dbb934d156352e07bfb061e421 Author: Thomas Moulard <tho...@gm...> Date: Mon Jul 6 11:48:58 2009 +0900 Add Gnuplot command for trajectory display. * include/Makefile.am: Distribute new header. * include/roboptim/trajectory/visualization/trajectory.hh: New. * tests/spline-optimization.cc: Display trajectory using new plotting function. * tests/spline-optimization.stdout: Regenerate. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index d68cbc4..3eb98ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2009-07-06 Thomas Moulard <tho...@gm...> + + Add Gnuplot command for trajectory display. + * include/Makefile.am: Distribute new header. + * include/roboptim/trajectory/visualization/trajectory.hh: New. + * tests/spline-optimization.cc: Display trajectory using new + plotting function. + * tests/spline-optimization.stdout: Regenerate. + 2009-07-02 Thomas Moulard <tho...@gm...> Handle submodules and check git. @@ -459,7 +468,7 @@ * src/Makefile.am, * configure.ac, * Makefile.am, - * build-aux/pkg-config.pc.in: + * build-aux/pkg-config.pc.in: * If roboptim-core is not found, use pkg-config. * doc/Doxyfile.in: Retrieve roboptim-core doxytag. diff --git a/include/Makefile.am b/include/Makefile.am index 4fd6476..ed29b20 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -17,3 +17,6 @@ nobase_include_HEADERS = \ roboptim/trajectory/trajectory-sum-cost.hxx \ roboptim/trajectory/trajectory.hh \ roboptim/trajectory/trajectory.hxx + +nobase_include_HEADERS += \ + roboptim/trajectory/visualization/trajectory.hh \ No newline at end of file diff --git a/include/roboptim/trajectory/visualization/trajectory.hh b/include/roboptim/trajectory/visualization/trajectory.hh new file mode 100644 index 0000000..592869a --- /dev/null +++ b/include/roboptim/trajectory/visualization/trajectory.hh @@ -0,0 +1,83 @@ +// Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. +// +// This file is part of the roboptim. +// +// roboptim is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// roboptim 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 Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with roboptim. If not, see <http://www.gnu.org/licenses/>. + +#ifndef ROBOPTIM_TRAJECTORY_VISUALIZATION_TRAJECTORY_HH +# define ROBOPTIM_TRAJECTORY_VISUALIZATION_TRAJECTORY_HH +# include <boost/format.hpp> + +# include <roboptim/core/visualization/gnuplot-commands.hh> +# include <roboptim/trajectory/trajectory.hh> + +namespace roboptim +{ + namespace visualization + { + namespace gnuplot + { + /// \brief Plot a 2D trajectory with Gnuplot. + /// + /// Plot a 2D trajectory in Gnuplot. + /// \param traj trajectory to be displayed + /// \param step discretization step. + /// \return Gnuplot command + template <unsigned N> + Command plot_xy (const Trajectory<N>& f, + typename Trajectory<N>::value_type step = .01); + + namespace detail + { + template <typename T> + struct PlotTrajectory + { + PlotTrajectory (const T& traj, std::string& str) + : traj_ (traj), + str_ (str) + {} + + void operator () (const typename T::value_type t) const + { + Function::vector_t res = traj_ (t); + assert (res.size () == 2); + str_ += (boost::format ("%1% %2%\n") % res[0] % res [1]).str (); + } + + private: + const T& traj_; + std::string& str_; + }; + } // end of namespace detail. + + template <unsigned N> + Command plot_xy (const Trajectory<N>& traj, + typename Trajectory<N>::value_type step) + { + using namespace detail; + assert (traj.outputSize () == 2); + Function::value_type min = Function::getLowerBound (traj.timeRange ()); + Function::value_type max = Function::getUpperBound (traj.timeRange ()); + Function::discreteInterval_t interval (min, max, step); + + std::string str = "plot '-' with line\n"; + traj.foreach (interval, PlotTrajectory<Trajectory<N> > (traj, str)); + str += "e\n"; + return Command (str); + } + } // end of namespace gnuplot. + } // end of namespace visualization. +} // end of namespace roboptim. + +#endif //! ROBOPTIM_TRAJECTORY_VISUALIZATION_TRAJECTORY_HH diff --git a/tests/spline-optimization.cc b/tests/spline-optimization.cc index 2e2126e..351c72d 100644 --- a/tests/spline-optimization.cc +++ b/tests/spline-optimization.cc @@ -31,6 +31,7 @@ #include <roboptim/trajectory/spline-length.hh> #include <roboptim/trajectory/spline.hh> #include <roboptim/trajectory/trajectory-cost.hh> +#include <roboptim/trajectory/visualization/trajectory.hh> #include "common.hh" @@ -83,7 +84,7 @@ int run_test () gnuplot << set ("multiplot layout 1,2") << set ("grid") - << plot_xy (spline, interval); + << plot_xy (spline); // Optimize. discreteInterval_t costInterval (0., 4., 0.5); @@ -150,7 +151,7 @@ int run_test () Result& result = boost::get<Result> (res); spline.setParameters (result.x); params = result.x; - gnuplot << plot_xy (spline, interval); + gnuplot << plot_xy (spline); break; } @@ -165,7 +166,7 @@ int run_test () spline.setParameters (result.x); params = result.x; std::cerr << result << std::endl; - gnuplot << plot_xy (spline, interval); + gnuplot << plot_xy (spline); break; } diff --git a/tests/spline-optimization.stdout b/tests/spline-optimization.stdout index a8e37df..3e41c45 100644 --- a/tests/spline-optimization.stdout +++ b/tests/spline-optimization.stdout @@ -56,7 +56,7 @@ plot '-' with line 0.292456 1.16982 0.319857 1.27943 0.348918 1.39567 -0.379688 1.51875 +0.379687 1.51875 0.412215 1.64886 0.446549 1.7862 0.482739 1.93096 @@ -360,7 +360,7 @@ plot '-' with line 97.9651 91.8604 98.0605 92.2419 98.1528 92.6113 -98.2422 92.9687 +98.2422 92.9688 98.3286 93.3145 98.4122 93.6487 98.4929 93.9716 ----------------------------------------------------------------------- Summary of changes: ChangeLog | 11 +++- include/Makefile.am | 3 + .../trajectory/visualization/trajectory.hh | 83 ++++++++++++++++++++ tests/spline-optimization.cc | 7 +- tests/spline-optimization.stdout | 4 +- 5 files changed, 102 insertions(+), 6 deletions(-) create mode 100644 include/roboptim/trajectory/visualization/trajectory.hh hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-03 04:19:24
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, build-aux has been created at 8d9c0624ebb36750b1ee81c348196a2073018c67 (commit) - Log ----------------------------------------------------------------- commit 8d9c0624ebb36750b1ee81c348196a2073018c67 Author: Thomas Moulard <tho...@gm...> Date: Wed Jul 1 16:44:23 2009 +0900 Create new build-aux branch. * autotest.at: Rename from build-aux/autotest.at. * autotest.mk: Rename from build-aux/autotest.mk. * boost.m4: Rename from build-aux/boost.m4. * bootstrap: Rename from build-aux/bootstrap. * config.guess: Rename from build-aux/config.guess. * config.sub: Rename from build-aux/config.sub. * deb.mk: Rename from build-aux/deb.mk. * depcomp: Rename from build-aux/depcomp. * doc/Doxyfile.in: Remove. * doc/Makefile.am: Remove. * doc/Makefile.in: Remove. * doc/doxygen.css: Remove. * doc/footer.html: Remove. * doc/header.html: Remove. * doc/package.css: Remove. * doc/sf-upload.sh.in: Remove. * doc/tabs.css: Remove. * doxygen.m4: Rename from build-aux/doxygen.m4. * ebuild.mk: Rename from build-aux/ebuild.mk. * init.mk: Rename from build-aux/init.mk. * install-sh: Rename from build-aux/install-sh. * libtool.m4: Rename from build-aux/libtool.m4. * ltmain.sh: Rename from build-aux/ltmain.sh. * ltoptions.m4: Rename from build-aux/ltoptions.m4. * ltsugar.m4: Rename from build-aux/ltsugar.m4. * ltversion.m4: Rename from build-aux/ltversion.m4. * lt~obsolete.m4: Rename from build-aux/lt~obsolete.m4. * missing: Rename from build-aux/missing. * move-if-change: Rename from build-aux/move-if-change. * optimization-tests/hs071.hh: Remove. * pkg-config.mk: Rename from build-aux/pkg-config.mk. * pkg-config.pc.in: Rename from build-aux/pkg-config.pc.in. * roboptim-core.m4: Rename from build-aux/roboptim-core.m4. * rpm.mk: Rename from build-aux/rpm.mk. * warning.m4: Rename from build-aux/warning.m4. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index a14ed04..065e0f4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,42 @@ +2009-07-01 Thomas Moulard <tho...@gm...> + + Create new build-aux branch. + * autotest.at: Rename from build-aux/autotest.at. + * autotest.mk: Rename from build-aux/autotest.mk. + * boost.m4: Rename from build-aux/boost.m4. + * bootstrap: Rename from build-aux/bootstrap. + * config.guess: Rename from build-aux/config.guess. + * config.sub: Rename from build-aux/config.sub. + * deb.mk: Rename from build-aux/deb.mk. + * depcomp: Rename from build-aux/depcomp. + * doc/Doxyfile.in: Remove. + * doc/Makefile.am: Remove. + * doc/Makefile.in: Remove. + * doc/doxygen.css: Remove. + * doc/footer.html: Remove. + * doc/header.html: Remove. + * doc/package.css: Remove. + * doc/sf-upload.sh.in: Remove. + * doc/tabs.css: Remove. + * doxygen.m4: Rename from build-aux/doxygen.m4. + * ebuild.mk: Rename from build-aux/ebuild.mk. + * init.mk: Rename from build-aux/init.mk. + * install-sh: Rename from build-aux/install-sh. + * libtool.m4: Rename from build-aux/libtool.m4. + * ltmain.sh: Rename from build-aux/ltmain.sh. + * ltoptions.m4: Rename from build-aux/ltoptions.m4. + * ltsugar.m4: Rename from build-aux/ltsugar.m4. + * ltversion.m4: Rename from build-aux/ltversion.m4. + * lt~obsolete.m4: Rename from build-aux/lt~obsolete.m4. + * missing: Rename from build-aux/missing. + * move-if-change: Rename from build-aux/move-if-change. + * optimization-tests/hs071.hh: Remove. + * pkg-config.mk: Rename from build-aux/pkg-config.mk. + * pkg-config.pc.in: Rename from build-aux/pkg-config.pc.in. + * roboptim-core.m4: Rename from build-aux/roboptim-core.m4. + * rpm.mk: Rename from build-aux/rpm.mk. + * warning.m4: Rename from build-aux/warning.m4. + 2009-06-26 Thomas Moulard <tho...@gm...> Add titles to function. diff --git a/build-aux/autotest.at b/autotest.at similarity index 100% rename from build-aux/autotest.at rename to autotest.at diff --git a/build-aux/autotest.mk b/autotest.mk similarity index 100% rename from build-aux/autotest.mk rename to autotest.mk diff --git a/build-aux/boost.m4 b/boost.m4 similarity index 100% rename from build-aux/boost.m4 rename to boost.m4 diff --git a/build-aux/bootstrap b/bootstrap similarity index 100% rename from build-aux/bootstrap rename to bootstrap diff --git a/build-aux/config.guess b/config.guess similarity index 100% rename from build-aux/config.guess rename to config.guess diff --git a/build-aux/config.sub b/config.sub similarity index 100% rename from build-aux/config.sub rename to config.sub diff --git a/build-aux/deb.mk b/deb.mk similarity index 100% rename from build-aux/deb.mk rename to deb.mk diff --git a/build-aux/depcomp b/depcomp similarity index 100% rename from build-aux/depcomp rename to depcomp diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in deleted file mode 100644 index fd90e82..0000000 --- a/doc/Doxyfile.in +++ /dev/null @@ -1,1516 +0,0 @@ -# Doxyfile 1.5.8 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = "@PACKAGE_NAME@" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = "@PACKAGE_VERSION@" - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, -# Spanish, Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = @abs_top_srcdir@ - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = @abs_top_srcdir@/include - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = YES - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = NO - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @abs_top_srcdir@/include \ - @abs_top_srcdir@/src - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.cc \ - *.hh \ - *.hxx \ - *.ice - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = @abs_top_builddir@/packages \ - @abs_top_builddir@/doc \ - @abs_top_builddir@/@PACKAGE_TARNAME@-@PACKAGE_VERSION@ - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = roboptim::detail - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = @abs_top_srcdir@/tests - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = @abs_top_srcdir@/doc - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = @PACKAGE_TARNAME@ - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = @abs_top_srcdir@/doc/header.html - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = @abs_top_srcdir@/doc/footer.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = @abs_top_srcdir@/doc/package.css - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = YES - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. - -GENERATE_TREEVIEW = YES - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = amssymb - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = @PACKAGE_TARNAME@.doxytag - -# If the ALLEXTERNALS tag is set to YES a... [truncated message content] |
From: Thomas M. <tho...@us...> - 2009-07-03 02:17:40
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via 8aa67740d367dfc56e6c8bceeb2b0913ee695661 (commit) from a0ab05af74f0ffc6f4a62667cba79f0300026cb3 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 8aa67740d367dfc56e6c8bceeb2b0913ee695661 Author: Thomas Moulard <tho...@gm...> Date: Fri Jul 3 11:11:38 2009 +0900 Distribute missing stdout file. * tests/Makefile.am: Here. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 451d927..d8e846d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-07-03 Thomas Moulard <tho...@gm...> + + Distribute missing stdout file. + * tests/Makefile.am: Here. + 2009-07-02 Thomas Moulard <tho...@gm...> Test more function classes. diff --git a/tests/Makefile.am b/tests/Makefile.am index e6a2974..c8e0762 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -166,6 +166,7 @@ EXTRA_DIST += \ problem-cc.stdout \ result.stdout \ simple.stdout \ + twice-derivable-function.stdout \ util.stdout \ visualization-gnuplot-function.stdout \ visualization-gnuplot-simple.stdout ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ tests/Makefile.am | 1 + 2 files changed, 6 insertions(+), 0 deletions(-) hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-02 10:36:21
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core-ipopt-plugin has been updated via f33b18389373bebeb4a02d52f49069c9ede23209 (commit) from 89e2c2937cdf00fe888edd773666b1ced84ca225 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit f33b18389373bebeb4a02d52f49069c9ede23209 Author: Thomas Moulard <tho...@gm...> Date: Wed Jul 1 18:51:04 2009 +0900 Use submodules to factorize build-aux, doc and tests. * .gitmodules: New. * build-aux/acx_pthread.m4: Remove. * build-aux/autotest.at: Remove. * build-aux/autotest.mk: Remove. * build-aux/boost.m4: Remove. * build-aux/bootstrap: Remove. * build-aux/config.guess: Remove. * build-aux/config.sub: Remove. * build-aux/deb.mk: Remove. * build-aux/depcomp: Remove. * build-aux/doxygen.m4: Remove. * build-aux/ebuild.mk: Remove. * build-aux/init.mk: Remove. * build-aux/install-sh: Remove. * build-aux/ipopt.m4: Remove. * build-aux/libtool.m4: Remove. * build-aux/ltmain.sh: Remove. * build-aux/ltoptions.m4: Remove. * build-aux/ltsugar.m4: Remove. * build-aux/ltversion.m4: Remove. * build-aux/lt~obsolete.m4: Remove. * build-aux/missing: Remove. * build-aux/move-if-change: Remove. * build-aux/pkg-config.mk: Remove. * build-aux/pkg-config.pc.in: Remove. * build-aux/roboptim-core.m4: Remove. * build-aux/rpm.mk: Remove. * build-aux/warning.m4: Remove. * build-aux: New. * doc/Doxyfile.in: Remove. * doc/Makefile.am: Remove. * doc/doxygen.css: Remove. * doc/footer.html: Remove. * doc/header.html: Remove. * doc/package.css: Remove. * doc/sf-upload.sh.in: Remove. * doc/tabs.css: Remove. * doc: New. * tests/Makefile.am: Add shared-tests to CPPFLAGS and fix hs071.hh path. * tests/hs071.hh: Remove. * tests/shared-tests: New. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..4467d76 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,9 @@ +[submodule "tests/shared-tests"] + path = tests/shared-tests + url = sourceforge:roboptim +[submodule "doc"] + path = doc + url = sourceforge:roboptim +[submodule "build-aux"] + path = build-aux + url = sourceforge:roboptim diff --git a/ChangeLog b/ChangeLog index a6621e9..9f44507 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,49 @@ +2009-07-01 Thomas Moulard <tho...@gm...> + + Use submodules to factorize build-aux, doc and tests. + * .gitmodules: New. + * build-aux/acx_pthread.m4: Remove. + * build-aux/autotest.at: Remove. + * build-aux/autotest.mk: Remove. + * build-aux/boost.m4: Remove. + * build-aux/bootstrap: Remove. + * build-aux/config.guess: Remove. + * build-aux/config.sub: Remove. + * build-aux/deb.mk: Remove. + * build-aux/depcomp: Remove. + * build-aux/doxygen.m4: Remove. + * build-aux/ebuild.mk: Remove. + * build-aux/init.mk: Remove. + * build-aux/install-sh: Remove. + * build-aux/ipopt.m4: Remove. + * build-aux/libtool.m4: Remove. + * build-aux/ltmain.sh: Remove. + * build-aux/ltoptions.m4: Remove. + * build-aux/ltsugar.m4: Remove. + * build-aux/ltversion.m4: Remove. + * build-aux/lt~obsolete.m4: Remove. + * build-aux/missing: Remove. + * build-aux/move-if-change: Remove. + * build-aux/pkg-config.mk: Remove. + * build-aux/pkg-config.pc.in: Remove. + * build-aux/roboptim-core.m4: Remove. + * build-aux/rpm.mk: Remove. + * build-aux/warning.m4: Remove. + * build-aux: New. + * doc/Doxyfile.in: Remove. + * doc/Makefile.am: Remove. + * doc/doxygen.css: Remove. + * doc/footer.html: Remove. + * doc/header.html: Remove. + * doc/package.css: Remove. + * doc/sf-upload.sh.in: Remove. + * doc/tabs.css: Remove. + * doc: New. + * tests/Makefile.am: Add shared-tests to CPPFLAGS and + fix hs071.hh path. + * tests/hs071.hh: Remove. + * tests/shared-tests: New. + 2009-06-26 Thomas Moulard <tho...@gm...> Add titles to functions. diff --git a/build-aux b/build-aux new file mode 160000 index 0000000..8d9c062 --- /dev/null +++ b/build-aux @@ -0,0 +1 @@ +Subproject commit 8d9c0624ebb36750b1ee81c348196a2073018c67 diff --git a/build-aux/acx_pthread.m4 b/build-aux/acx_pthread.m4 deleted file mode 100644 index e4e91d3..0000000 --- a/build-aux/acx_pthread.m4 +++ /dev/null @@ -1,242 +0,0 @@ -dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -dnl -dnl @summary figure out how to build C programs using POSIX threads -dnl -dnl This macro figures out how to build C programs using POSIX threads. -dnl It sets the PTHREAD_LIBS output variable to the threads library and -dnl linker flags, and the PTHREAD_CFLAGS output variable to any special -dnl C compiler flags that are needed. (The user can also force certain -dnl compiler flags/libs to be tested by setting these environment -dnl variables.) -dnl -dnl Also sets PTHREAD_CC to any special C compiler that is needed for -dnl multi-threaded programs (defaults to the value of CC otherwise). -dnl (This is necessary on AIX to use the special cc_r compiler alias.) -dnl -dnl NOTE: You are assumed to not only compile your program with these -dnl flags, but also link it with them as well. e.g. you should link -dnl with $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS -dnl $LIBS -dnl -dnl If you are only building threads programs, you may wish to use -dnl these variables in your default LIBS, CFLAGS, and CC: -dnl -dnl LIBS="$PTHREAD_LIBS $LIBS" -dnl CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -dnl CC="$PTHREAD_CC" -dnl -dnl In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute -dnl constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to -dnl that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). -dnl -dnl ACTION-IF-FOUND is a list of shell commands to run if a threads -dnl library is found, and ACTION-IF-NOT-FOUND is a list of commands to -dnl run it if it is not found. If ACTION-IF-FOUND is not specified, the -dnl default action will define HAVE_PTHREAD. -dnl -dnl Please let the authors know if this macro fails on any platform, or -dnl if you have any other suggestions or comments. This macro was based -dnl on work by SGJ on autoconf scripts for FFTW (www.fftw.org) (with -dnl help from M. Frigo), as well as ac_pthread and hb_pthread macros -dnl posted by Alejandro Forero Cuervo to the autoconf macro repository. -dnl We are also grateful for the helpful feedback of numerous users. -dnl -dnl @category InstalledPackages -dnl @author Steven G. Johnson <st...@al...> -dnl @version 2006-05-29 -dnl @license GPLWithACException - -AC_DEFUN([ACX_PTHREAD], [ -AC_REQUIRE([AC_CANONICAL_HOST]) -AC_LANG_SAVE -AC_LANG_C -acx_pthread_ok=no - -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). -# It gets checked for in the link test anyway. - -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) - AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) - AC_MSG_RESULT($acx_pthread_ok) - if test x"$acx_pthread_ok" = xno; then - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" -fi - -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. - -acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# ... -mt is also the pthreads flag for HP/aCC -# pthread: Linux, etcetera -# --thread-safe: KAI C++ -# pthread-config: use pthread-config program (for GNU Pth library) - -case "${host_cpu}-${host_os}" in - *solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - - acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags" - ;; -esac - -if test x"$acx_pthread_ok" = xno; then -for flag in $acx_pthread_flags; do - - case $flag in - none) - AC_MSG_CHECKING([whether pthreads work without any flags]) - ;; - - -*) - AC_MSG_CHECKING([whether pthreads work with $flag]) - PTHREAD_CFLAGS="$flag" - ;; - - pthread-config) - AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no) - if test x"$acx_pthread_config" = xno; then continue; fi - PTHREAD_CFLAGS="`pthread-config --cflags`" - PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" - ;; - - *) - AC_MSG_CHECKING([for the pthreads library -l$flag]) - PTHREAD_LIBS="-l$flag" - ;; - esac - - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - AC_TRY_LINK([#include <pthread.h>], - [pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], - [acx_pthread_ok=yes]) - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - AC_MSG_RESULT($acx_pthread_ok) - if test "x$acx_pthread_ok" = xyes; then - break; - fi - - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" -done -fi - -# Various other checks: -if test "x$acx_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - AC_MSG_CHECKING([for joinable pthread attribute]) - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;], - [attr_name=$attr; break]) - done - AC_MSG_RESULT($attr_name) - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then - AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, - [Define to necessary symbol if this constant - uses a non-standard name on your system.]) - fi - - AC_MSG_CHECKING([if more special flags are required for pthreads]) - flag=no - case "${host_cpu}-${host_os}" in - *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; - *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; - esac - AC_MSG_RESULT(${flag}) - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - # More AIX lossage: must compile with xlc_r or cc_r - if test x"$GCC" != xyes; then - AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) - else - PTHREAD_CC=$CC - fi -else - PTHREAD_CC="$CC" -fi - -AC_SUBST(PTHREAD_LIBS) -AC_SUBST(PTHREAD_CFLAGS) -AC_SUBST(PTHREAD_CC) - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$acx_pthread_ok" = xyes; then - ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) - : -else - acx_pthread_ok=no - $2 -fi -AC_LANG_RESTORE -])dnl ACX_PTHREAD diff --git a/build-aux/autotest.at b/build-aux/autotest.at deleted file mode 100644 index 75485ee..0000000 --- a/build-aux/autotest.at +++ /dev/null @@ -1,63 +0,0 @@ -# -*-Autoconf-*- -# Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. -# This file is part of the roboptim. -# -# roboptim 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# roboptim 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 roboptim. If not, see <http://www.gnu.org/licenses/>. - -# serial 1 - -m4_pattern_forbid([^CHECK_STDOUT]) - - -# CHECK_STDOUT(BINARY, [DESCRIPTION], -# [SKIP_EXPR = false], [XFAIL_EXPR = false]) -# -------------------------------------------------------------- -# Check against a ``.stdout'' file. -# If the binary can not be built, the test is skipped. -# BINARY: the binary that has to be runned. -# DESCRIPTION: test's description. -# SKIP_EXPR: if shell expression evalutes to true, skip test. -# XFAIL_EXPR: if shell expression evalutes to true, tag test as xfail. -m4_define([CHECK_STDOUT], -[m4_ifset ([$1], [], - [m4_fatal([CHECK_STDOUT has be called with at least one argument])]) -AT_SETUP([m4_default([$2], [Unnamed test])]) - -AT_CHECK([if m4_default([$3], [false]); then - exit 77; else - true; fi], [0], [ignore], [ignore]) - -AT_XFAIL_IF([m4_default([$4], [false])]) -cp $abs_srcdir/$1.stdout expout -AT_CHECK([$CHECK_PREFIX `which $1`], [0], [expout], [ignore]) - -AT_CLEANUP -]) # CHECK_STDOUT - - -# CHECK_STDOUT_SKIP(BINARY, [DESCRIPTION], [XFAIL_EXPR]) -# -------------------------------------------------------------- -# Do a CHECK_STDOUT if the BINARY exists (is in the path). -m4_define([CHECK_STDOUT_SKIPPABLE], -[CHECK_STDOUT([$1], [$2], [test x`which $1` = x], [$3]) -]) # CHECK_STDOUT_SKIP - -# End of autotest.at diff --git a/build-aux/autotest.mk b/build-aux/autotest.mk deleted file mode 100644 index 1308305..0000000 --- a/build-aux/autotest.mk +++ /dev/null @@ -1,87 +0,0 @@ -# -*-Automake-*- -# Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. -# This file is part of the roboptim. -# -# roboptim 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# roboptim 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 roboptim. If not, see <http://www.gnu.org/licenses/>. - -# -------# -# README # -# -------# - -# This file should be included in Makefile.am associated to a directory which -# contains an Autotest test suite. -# -# This file assumes that: -# -# - you include *before* this file init.mk or make sure that any global -# variable can be used with the += syntax. -# - package.m4 is located in $(top_builddir)/tests -# - you provide atlocal and testsuite.at files (see Autotest -# documentation in the Autoconf manual). -# - you define TESTSUITE_AT which contains the list of the .at files -# included by this test suite. - - -# -----# -# TODO # -# -----# - -# - Make it more generic. - - -# Define how autom4te is called to generate the testsuite file. -AUTOTEST = $(AUTOM4TE) --language=autotest -Wall - -# Package following files. -EXTRA_DIST += atlocal testsuite.at $(TESTSUITE) $(TESTSUITE_AT) - -# Run testsuite in this directory. -TESTSUITE = $(srcdir)/testsuite - -# Define where package.m4.in is located. -PACKAGE_M4_IN=$(top_srcdir)/tests/package.m4.in - -# Define m4 dependencies. -TESTSUITE_AT = $(top_srcdir)/build-aux/autotest.at - - -# ----- # -# RULES # -# ----- # - -check-local: atconfig atlocal $(TESTSUITE) - $(SHELL) $(TESTSUITE) $(TESTSUITEFLAGS) - -installcheck-local: atconfig atlocal $(TESTSUITE) - $(SHELL) $(TESTSUITE) AUTOTEST_PATH="$(bindir)" $(TESTSUITEFLAGS) - -clean-local: - test ! -f $(TESTSUITE) || $(SHELL) $(TESTSUITE) --clean - rm -f -r autom4te.cache - -$(TESTSUITE): $(PACKAGE_M4_IN) $(srcdir)/testsuite.at $(TESTSUITE_AT) \ - $(top_srcdir)/configure - $(AUTOTEST) -I'$(srcdir)' -I'$(top_srcdir)/build-aux' \ - -I'$(top_builddir)/tests' $@.at -o $@.tmp - mv $@.tmp $@ - -atconfig: $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status tests/$@ diff --git a/build-aux/boost.m4 b/build-aux/boost.m4 deleted file mode 100644 index a9fc46c..0000000 --- a/build-aux/boost.m4 +++ /dev/null @@ -1,933 +0,0 @@ -# boost.m4: Locate Boost headers and libraries for autoconf-based projects. -# Copyright (C) 2007, 2008, 2009 Benoit Sigoure <ts...@lr...> -# -# 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# serial 10 -# Original sources can be found at http://repo.or.cz/w/boost.m4.git -# You can fetch the latest version of the script by doing: -# wget 'http://repo.or.cz/w/boost.m4.git?a=blob_plain;f=build-aux/boost.m4;hb=HEAD' -O boost.m4 - -# ------ # -# README # -# ------ # - -# This file provides several macros to use the various Boost libraries. -# The first macro is BOOST_REQUIRE. It will simply check if it's possible to -# find the Boost headers of a given (optional) minimum version and it will -# define BOOST_CPPFLAGS accordingly. It will add an option --with-boost to -# your configure so that users can specify non standard locations. -# If the user's environment contains BOOST_ROOT and --with-boost was not -# specified, --with-boost=$BOOST_ROOT is implicitly used. -# For more README and documentation, go to http://repo.or.cz/w/boost.m4.git -# Note: THESE MACROS ASSUME THAT YOU USE LIBTOOL. If you don't, don't worry, -# simply read the README, it will show you what to do step by step. - -m4_pattern_forbid([^_?BOOST_]) - - -# _BOOST_SED_CPP(SED-PROGRAM, PROGRAM, -# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -------------------------------------------------------- -# Same as AC_EGREP_CPP, but leave the result in conftest.i. -# PATTERN is *not* overquoted, as in AC_EGREP_CPP. It could be useful -# to turn this into a macro which extracts the value of any macro. -m4_define([_BOOST_SED_CPP], -[AC_LANG_PREPROC_REQUIRE()dnl -AC_REQUIRE([AC_PROG_SED])dnl -AC_LANG_CONFTEST([AC_LANG_SOURCE([[$2]])]) -AS_IF([dnl eval is necessary to expand ac_cpp. -dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell. -(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | - $SED -n -e "$1" >conftest.i 2>&1], - [$3], - [$4])dnl -rm -f conftest* -])# AC_EGREP_CPP - - - -# BOOST_REQUIRE([VERSION]) -# ------------------------ -# Look for Boost. If version is given, it must either be a literal of the form -# "X.Y.Z" where X, Y and Z are integers (the ".Z" part being optional) or a -# variable "$var". -# Defines the value BOOST_CPPFLAGS. This macro only checks for headers with -# the required version, it does not check for any of the Boost libraries. -# FIXME: Add a 2nd optional argument so that it's not fatal if Boost isn't found -# and add an AC_DEFINE to tell whether HAVE_BOOST. -AC_DEFUN([BOOST_REQUIRE], -[boost_save_IFS=$IFS -boost_version_req="$1" -IFS=. -set x $boost_version_req 0 0 0 -IFS=$boost_save_IFS -shift -boost_version_req=`expr "$[1]" '*' 100000 + "$[2]" '*' 100 + "$[3]"` -AC_ARG_WITH([boost], - [AS_HELP_STRING([--with-boost=DIR], - [prefix of Boost $1 @<:@guess@:>@])])dnl -AC_ARG_VAR([BOOST_ROOT],[Location of Boost installation])dnl -# If BOOST_ROOT is set and the user has not provided a value to -# --with-boost, then treat BOOST_ROOT as if it the user supplied it. -if test x"$BOOST_ROOT" != x; then - if test x"$with_boost" = x; then - AC_MSG_NOTICE([Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT]) - with_boost=$BOOST_ROOT - else - AC_MSG_NOTICE([Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost]) - fi -fi -AC_SUBST([DISTCHECK_CONFIGURE_FLAGS], - ["$DISTCHECK_CONFIGURE_FLAGS '--with-boost=$with_boost'"]) -boost_save_CPPFLAGS=$CPPFLAGS - AC_CACHE_CHECK([for Boost headers version >= $boost_version_req], - [boost_cv_inc_path], - [boost_cv_inc_path=no -AC_LANG_PUSH([C++])dnl -m4_pattern_allow([^BOOST_VERSION$])dnl - AC_LANG_CONFTEST([AC_LANG_PROGRAM([[#include <boost/version.hpp> -#if !defined BOOST_VERSION -# error BOOST_VERSION is not defined -#elif BOOST_VERSION < $boost_version_req -# error Boost headers version < $boost_version_req -#endif -]])]) - # If the user provided a value to --with-boost, use it and only it. - case $with_boost in #( - ''|yes) set x '' /opt/local/include /usr/local/include /opt/include \ - /usr/include C:/Boost/include;; #( - *) set x "$with_boost/include" "$with_boost";; - esac - shift - for boost_dir - do - # Without --layout=system, Boost (or at least some versions) installs - # itself in <prefix>/include/boost-<version>. This inner loop helps to - # find headers in such directories. - # I didn't indent this loop on purpose (to avoid over-indented code) - for boost_inc in "$boost_dir" "$boost_dir"/boost-* - do - test x"$boost_inc" != x && CPPFLAGS="$CPPFLAGS -I$boost_inc" - AC_COMPILE_IFELSE([], [boost_cv_inc_path=yes], [boost_cv_version=no]) - if test x"$boost_cv_inc_path" = xyes; then - if test x"$boost_inc" != x; then - boost_cv_inc_path=$boost_inc - fi - break 2 - fi - done - done -AC_LANG_POP([C++])dnl - ]) - case $boost_cv_inc_path in #( - no) AC_MSG_ERROR([cannot find Boost headers version >= $boost_version_req]);;#( - yes) BOOST_CPPFLAGS=;;#( - *) AC_SUBST([BOOST_CPPFLAGS], ["-I$boost_cv_inc_path"]);; - esac - AC_CACHE_CHECK([for Boost's header version], - [boost_cv_lib_version], - [m4_pattern_allow([^BOOST_LIB_VERSION$])dnl - _BOOST_SED_CPP([/^boost-lib-version = /{s///;s/\"//g;p;g;}], - [#include <boost/version.hpp> -boost-lib-version = BOOST_LIB_VERSION], - [boost_cv_lib_version=`cat conftest.i`])]) - # e.g. "134" for 1_34_1 or "135" for 1_35 - boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'` - case $boost_major_version in #( - '' | *[[!0-9]]*) - AC_MSG_ERROR([Invalid value: boost_major_version=$boost_major_version]) - ;; - esac -CPPFLAGS=$boost_save_CPPFLAGS -])# BOOST_REQUIRE - -# BOOST_STATIC() -# -------------- -# Add the "--enable-static-boost" configure argument. If this argument is given -# on the command line, static versions of the libraries will be looked up. -AC_DEFUN([BOOST_STATIC], - [AC_ARG_ENABLE([static-boost], - [AC_HELP_STRING([--enable-static-boost], - [Prefer the static boost libraries over the shared ones [no]])], - [enable_static_boost=yes], - [enable_static_boost=no])])# BOOST_STATIC - -# BOOST_FIND_HEADER([HEADER-NAME], [ACTION-IF-NOT-FOUND], [ACTION-IF-FOUND]) -# -------------------------------------------------------------------------- -# Wrapper around AC_CHECK_HEADER for Boost headers. Useful to check for -# some parts of the Boost library which are only made of headers and don't -# require linking (such as Boost.Foreach). -# -# Default ACTION-IF-NOT-FOUND: Fail with a fatal error. -# -# Default ACTION-IF-FOUND: define the preprocessor symbol HAVE_<HEADER-NAME> in -# case of success # (where HEADER-NAME is written LIKE_THIS, e.g., -# HAVE_BOOST_FOREACH_HPP). -AC_DEFUN([BOOST_FIND_HEADER], -[AC_REQUIRE([BOOST_REQUIRE])dnl -AC_LANG_PUSH([C++])dnl -boost_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" -AC_CHECK_HEADER([$1], - [m4_default([$3], [AC_DEFINE(AS_TR_CPP([HAVE_$1]), [1], - [Define to 1 if you have <$1>])])], - [m4_default([$2], [AC_MSG_ERROR([cannot find $1])])]) -CPPFLAGS=$boost_save_CPPFLAGS -AC_LANG_POP([C++])dnl -])# BOOST_FIND_HEADER - - -# BOOST_FIND_LIB([LIB-NAME], [PREFERRED-RT-OPT], [HEADER-NAME], [CXX-TEST], -# [CXX-PROLOGUE]) -# ------------------------------------------------------------------------- -# Look for the Boost library LIB-NAME (e.g., LIB-NAME = `thread', for -# libboost_thread). Check that HEADER-NAME works and check that -# libboost_LIB-NAME can link with the code CXX-TEST. The optional argument -# CXX-PROLOGUE can be used to include some C++ code before the `main' -# function. -# -# Invokes BOOST_FIND_HEADER([HEADER-NAME]) (see above). -# -# Boost libraries typically come compiled with several flavors (with different -# runtime options) so PREFERRED-RT-OPT is the preferred suffix. A suffix is one -# or more of the following letters: sgdpn (in that order). s = static -# runtime, d = debug build, g = debug/diagnostic runtime, p = STLPort build, -# n = (unsure) STLPort build without iostreams from STLPort (it looks like `n' -# must always be used along with `p'). Additionally, PREFERRED-RT-OPT can -# start with `mt-' to indicate that there is a preference for multi-thread -# builds. Some sample values for PREFERRED-RT-OPT: (nothing), mt, d, mt-d, gdp -# ... If you want to make sure you have a specific version of Boost -# (eg, >= 1.33) you *must* invoke BOOST_REQUIRE before this macro. -AC_DEFUN([BOOST_FIND_LIB], -[AC_REQUIRE([_BOOST_FIND_COMPILER_TAG])dnl -AC_REQUIRE([BOOST_REQUIRE])dnl -AC_REQUIRE([BOOST_STATIC])dnl -AC_REQUIRE([_BOOST_GUESS_WHETHER_TO_USE_MT])dnl -AC_LANG_PUSH([C++])dnl -AS_VAR_PUSHDEF([Boost_lib], [boost_cv_lib_$1])dnl -AS_VAR_PUSHDEF([Boost_lib_LDFLAGS], [boost_cv_lib_$1_LDFLAGS])dnl -AS_VAR_PUSHDEF([Boost_lib_LIBS], [boost_cv_lib_$1_LIBS])dnl -BOOST_FIND_HEADER([$3]) -boost_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" -# Now let's try to find the library. The algorithm is as follows: first look -# for a given library name according to the user's PREFERRED-RT-OPT. For each -# library name, we prefer to use the ones that carry the tag (toolset name). -# Each library is searched through the various standard paths were Boost is -# usually installed. If we can't find the standard variants, we try to -# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist -# but there's -obviously- libboost_threads-mt.dylib). -AC_CACHE_CHECK([for the Boost $1 library], [Boost_lib], - [Boost_lib=no - case "$2" in #( - mt | mt-) boost_mt=-mt; boost_rtopt=;; #( - mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X$2" : 'Xmt-*\(.*\)'`;; #( - *) boost_mt=; boost_rtopt=$2;; - esac - if test $enable_static_boost = yes; then - boost_rtopt="s$boost_rtopt" - fi - # Find the proper debug variant depending on what we've been asked to find. - case $boost_rtopt in #( - *d*) boost_rt_d=$boost_rtopt;; #( - *[[sgpn]]*) # Insert the `d' at the right place (in between `sg' and `pn') - boost_rt_d=`echo "$boost_rtopt" | sed 's/\(s*g*\)\(p*n*\)/\1\2/'`;; #( - *) boost_rt_d='-d';; - esac - # If the PREFERRED-RT-OPT are not empty, prepend a `-'. - test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt" - $boost_guess_use_mt && boost_mt=-mt - # Look for the abs path the static archive. - # $libext is computed by Libtool but let's make sure it's non empty. - test -z "$libext" && - AC_MSG_ERROR([the libext variable is empty, did you invoke Libtool?]) - boost_save_ac_objext=$ac_objext - # Generate the test file. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <$3> -$5], [$4])]) -dnl Optimization hacks: compiling C++ is slow, especially with Boost. What -dnl we're trying to do here is guess the right combination of link flags -dnl (LIBS / LDFLAGS) to use a given library. This can take several -dnl iterations before it succeeds and is thus *very* slow. So what we do -dnl instead is that we compile the code first (and thus get an object file, -dnl typically conftest.o). Then we try various combinations of link flags -dnl until we succeed to link conftest.o in an executable. The problem is -dnl that the various TRY_LINK / COMPILE_IFELSE macros of Autoconf always -dnl remove all the temporary files including conftest.o. So the trick here -dnl is to temporarily change the value of ac_objext so that conftest.o is -dnl preserved accross tests. This is obviously fragile and I will burn in -dnl hell for not respecting Autoconf's documented interfaces, but in the -dnl mean time, it optimizes the macro by a factor of 5 to 30. -dnl Another small optimization: the first argument of AC_COMPILE_IFELSE left -dnl empty because the test file is generated only once above (before we -dnl start the for loops). - AC_COMPILE_IFELSE([], - [ac_objext=do_not_rm_me_plz], - [AC_MSG_ERROR([Cannot compile a test that uses Boost $1])]) - ac_objext=$boost_save_ac_objext - boost_failed_libs= -# Don't bother to ident the 6 nested for loops, only the 2 innermost ones -# matter. -for boost_tag_ in -$boost_cv_lib_tag ''; do -for boost_ver_ in -$boost_cv_lib_version ''; do -for boost_mt_ in $boost_mt -mt ''; do -for boost_rtopt_ in $boost_rtopt '' -d; do - for boost_lib in \ - boost_$1$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \ - boost_$1$boost_tag_$boost_rtopt_$boost_ver_ \ - boost_$1$boost_tag_$boost_mt_$boost_ver_ \ - boost_$1$boost_tag_$boost_ver_ - do - # Avoid testing twice the same lib - case $boost_failed_libs in #( - *@$boost_lib@*) continue;; - esac - # If with_boost is empty, we'll search in /lib first, which is not quite - # right so instead we'll try to a location based on where the headers are. - boost_tmp_lib=$with_boost - test x"$with_boost" = x && boost_tmp_lib=${boost_cv_inc_path%/include} - for boost_ldpath in "$boost_tmp_lib/lib" '' \ - /opt/local/lib /usr/local/lib /opt/lib /usr/lib \ - "$with_boost" C:/Boost/lib /lib /usr/lib64 /lib64 - do - test -e "$boost_ldpath" || continue - boost_save_LDFLAGS=$LDFLAGS - # Are we looking for a static library? - case $boost_ldpath:$boost_rtopt_ in #( - *?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt) - Boost_lib_LIBS="$boost_ldpath/lib$boost_lib.$libext" - test -e "$Boost_lib_LIBS" || continue;; #( - *) # No: use -lboost_foo to find the shared library. - Boost_lib_LIBS="-l$boost_lib";; - esac - boost_save_LIBS=$LIBS - LIBS="$Boost_lib_LIBS $LIBS" - test x"$boost_ldpath" != x && LDFLAGS="$LDFLAGS -L$boost_ldpath" -dnl First argument of AC_LINK_IFELSE left empty because the test file is -dnl generated only once above (before we start the for loops). - _BOOST_AC_LINK_IFELSE([], - [Boost_lib=yes], [Boost_lib=no]) - ac_objext=$boost_save_ac_objext - LDFLAGS=$boost_save_LDFLAGS - LIBS=$boost_save_LIBS - if test x"$Boost_lib" = xyes; then - Boost_lib_LDFLAGS="-L$boost_ldpath -R$boost_ldpath" - break 6 - else - boost_failed_libs="$boost_failed_libs@$boost_lib@" - fi - done - done -done -done -done -done -rm -f conftest.$ac_objext -]) -case $Boost_lib in #( - no) AC_MSG_ERROR([Could not find the flags to link with Boost $1]) - ;; -esac -AC_SUBST(AS_TR_CPP([BOOST_$1_LDFLAGS]), [$Boost_lib_LDFLAGS]) -AC_SUBST(AS_TR_CPP([BOOST_$1_LIBS]), [$Boost_lib_LIBS]) -CPPFLAGS=$boost_save_CPPFLAGS -AS_VAR_POPDEF([Boost_lib])dnl -AS_VAR_POPDEF([Boost_lib_LDFLAGS])dnl -AS_VAR_POPDEF([Boost_lib_LIBS])dnl -AC_LANG_POP([C++])dnl -])# BOOST_FIND_LIB - - -# --------------------------------------- # -# Checks for the various Boost libraries. # -# --------------------------------------- # - -# List of boost libraries: http://www.boost.org/libs/libraries.htm -# The page http://beta.boost.org/doc/libs is useful: it gives the first release -# version of each library (among other things). - - -# BOOST_ASIO() -# ------------ -# Look for Boost.Asio (new in Boost 1.35). -AC_DEFUN([BOOST_ASIO], -[AC_REQUIRE([BOOST_SYSTEM])dnl -BOOST_FIND_HEADER([boost/asio.hpp])]) - - -# BOOST_BIND() -# ------------ -# Look for Boost.Bind -AC_DEFUN([BOOST_BIND], -[BOOST_FIND_HEADER([boost/bind.hpp])]) - - -# BOOST_CONVERSION() -# ------------------ -# Look for Boost.Conversion (cast / lexical_cast) -AC_DEFUN([BOOST_CONVERSION], -[BOOST_FIND_HEADER([boost/cast.hpp]) -BOOST_FIND_HEADER([boost/lexical_cast.hpp]) -])# BOOST_CONVERSION - - -# BOOST_DATE_TIME([PREFERRED-RT-OPT]) -# ----------------------------------- -# Look for Boost.Date_Time. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_DATE_TIME], -[BOOST_FIND_LIB([date_time], [$1], - [boost/date_time/posix_time/posix_time.hpp], - [boost::posix_time::ptime t;]) -])# BOOST_DATE_TIME - - -# BOOST_FILESYSTEM([PREFERRED-RT-OPT]) -# ------------------------------------ -# Look for Boost.Filesystem. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -# Do not check for boost/filesystem.hpp because this file was introduced in -# 1.34. -AC_DEFUN([BOOST_FILESYSTEM], -[# Do we have to check for Boost.System? This link-time dependency was -# added as of 1.35.0. If we have a version <1.35, we must not attempt to -# find Boost.System as it didn't exist by then. -if test $boost_major_version -ge 135; then -BOOST_SYSTEM([$1]) -fi # end of the Boost.System check. -boost_filesystem_save_LIBS=$LIBS -boost_filesystem_save_LDFLAGS=$LDFLAGS -m4_pattern_allow([^BOOST_SYSTEM_(LIBS|LDFLAGS)$])dnl -LIBS="$LIBS $BOOST_SYSTEM_LIBS" -LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS" -BOOST_FIND_LIB([filesystem], [$1], - [boost/filesystem/path.hpp], [boost::filesystem::path p;]) -LIBS=$boost_filesystem_save_LIBS -LDFLAGS=$boost_filesystem_save_LDFLAGS -])# BOOST_FILESYSTEM - - -# BOOST_FOREACH() -# --------------- -# Look for Boost.Foreach -AC_DEFUN([BOOST_FOREACH], -[BOOST_FIND_HEADER([boost/foreach.hpp])]) - - -# BOOST_FORMAT() -# -------------- -# Look for Boost.Format -# Note: we can't check for boost/format/format_fwd.hpp because the header isn't -# standalone. It can't be compiled because it triggers the following error: -# boost/format/detail/config_macros.hpp:88: error: 'locale' in namespace 'std' -# does not name a type -AC_DEFUN([BOOST_FORMAT], -[BOOST_FIND_HEADER([boost/format.hpp])]) - - -# BOOST_FUNCTION() -# ---------------- -# Look for Boost.Function -AC_DEFUN([BOOST_FUNCTION], -[BOOST_FIND_HEADER([boost/function.hpp])]) - - -# BOOST_FUSTION() -# ---------------- -# Look for Boost.Fusion -AC_DEFUN([BOOST_FUSION], -[BOOST_FIND_HEADER([boost/fusion/include/vector.hpp])]) - - -# BOOST_GRAPH([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.Graphs. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_GRAPH], -[BOOST_FIND_LIB([graph], [$1], - [boost/graph/adjacency_list.hpp], [boost::adjacency_list<> g;]) -])# BOOST_GRAPH - - -# BOOST_IOSTREAMS([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.IOStreams. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_IOSTREAMS], -[BOOST_FIND_LIB([iostreams], [$1], - [boost/iostreams/device/file_descriptor.hpp], - [boost::iostreams::file_descriptor fd(0); fd.close();]) -])# BOOST_IOSTREAMS - - -# BOOST_HASH() -# ------------ -# Look for Boost.Functional/Hash -AC_DEFUN([BOOST_HASH], -[BOOST_FIND_HEADER([boost/functional/hash.hpp])]) - - -# BOOST_LAMBDA() -# -------------- -# Look for Boost.Lambda -AC_DEFUN([BOOST_LAMBDA], -[BOOST_FIND_HEADER([boost/lambda/lambda.hpp])]) - -# BOOST_MPL() -# -------------- -# Look for Boost.MPL -AC_DEFUN([BOOST_MPL], -[BOOST_FIND_HEADER([boost/mpl/void_fwd.hpp])]) - - -# BOOST_OPTIONAL() -# ---------------- -# Look for Boost.Optional -AC_DEFUN([BOOST_OPTIONAL], -[BOOST_FIND_HEADER([boost/optional.hpp])]) - - -# BOOST_PREPROCESSOR() -# -------------------- -# Look for Boost.Preprocessor -AC_DEFUN([BOOST_PREPROCESSOR], -[BOOST_FIND_HEADER([boost/preprocessor/repeat.hpp])]) - - -# BOOST_PROGRAM_OPTIONS([PREFERRED-RT-OPT]) -# ----------------------------------------- -# Look for Boost.Program_options. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_PROGRAM_OPTIONS], -[BOOST_FIND_LIB([program_options], [$1], - [boost/program_options.hpp], - [boost::program_options::options_description d("test");]) -])# BOOST_PROGRAM_OPTIONS - - -# BOOST_REF() -# ----------- -# Look for Boost.Ref -AC_DEFUN([BOOST_REF], -[BOOST_FIND_HEADER([boost/ref.hpp])]) - - -# BOOST_REGEX([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.Regex. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_REGEX], -[BOOST_FIND_LIB([regex], [$1], - [boost/regex.hpp], - [boost::regex exp("*"); boost::regex_match("foo", exp);]) -])# BOOST_REGEX - - -# BOOST_SERIALIZATION([PREFERRED-RT-OPT]) -# --------------------------------------- -# Look for Boost.Serialization. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_SERIALIZATION], -[BOOST_FIND_LIB([serialization], [$1], - [boost/archive/text_oarchive.hpp], - [std::ostream* o = 0; // Cheap way to get an ostream... - boost::archive::text_oarchive t(*o);]) -])# BOOST_SIGNALS - - -# BOOST_SIGNALS([PREFERRED-RT-OPT]) -# --------------------------------- -# Look for Boost.Signals. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_SIGNALS], -[BOOST_FIND_LIB([signals], [$1], - [boost/signal.hpp], - [boost::signal<void ()> s;]) -])# BOOST_SIGNALS - - -# BOOST_SMART_PTR() -# ----------------- -# Look for Boost.SmartPtr -AC_DEFUN([BOOST_SMART_PTR], -[BOOST_FIND_HEADER([boost/scoped_ptr.hpp]) -BOOST_FIND_HEADER([boost/shared_ptr.hpp]) -]) - - -# BOOST_STATICASSERT() -# -------------------- -# Look for Boost.StaticAssert -AC_DEFUN([BOOST_STATICASSERT], -[BOOST_FIND_HEADER([boost/static_assert.hpp])]) - - -# BOOST_STRING_ALGO() -# ------------------- -# Look for Boost.StringAlgo -AC_DEFUN([BOOST_STRING_ALGO], -[BOOST_FIND_HEADER([boost/algorithm/string.hpp]) -]) - - -# BOOST_SYSTEM([PREFERRED-RT-OPT]) -# -------------------------------- -# Look for Boost.System. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. This library was introduced in Boost -# 1.35.0. -AC_DEFUN([BOOST_SYSTEM], -[BOOST_FIND_LIB([system], [$1], - [boost/system/error_code.hpp], - [boost::system::error_code e; e.clear();]) -])# BOOST_SYSTEM - - -# BOOST_TEST([PREFERRED-RT-OPT]) -# ------------------------------ -# Look for Boost.Test. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_TEST], -[m4_pattern_allow([^BOOST_CHECK$])dnl -BOOST_FIND_LIB([unit_test_framework], [$1], - [boost/test/unit_test.hpp], [BOOST_CHECK(2 == 2);], - [using boost::unit_test::test_suite; - test_suite* init_unit_test_suite(int argc, char ** argv) - { return NULL; }]) -])# BOOST_TEST - - -# BOOST_THREADS([PREFERRED-RT-OPT]) -# --------------------------------- -# Look for Boost.Thread. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -# FIXME: Provide an alias "BOOST_THREAD". -AC_DEFUN([BOOST_THREADS], -[dnl Having the pthread flag is required at least on GCC3 where -dnl boost/thread.hpp would complain if we try to compile without -dnl -pthread on GNU/Linux. -AC_REQUIRE([_BOOST_PTHREAD_FLAG])dnl -boost_threads_save_LIBS=$LIBS -boost_threads_save_CPPFLAGS=$CPPFLAGS -LIBS="$LIBS $boost_cv_pthread_flag" -# Yes, we *need* to put the -pthread thing in CPPFLAGS because with GCC3, -# boost/thread.hpp will trigger a #error if -pthread isn't used: -# boost/config/requires_threads.hpp:47:5: #error "Compiler threading support -# is not turned on. Please set the correct command line options for -# threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" -CPPFLAGS="$CPPFLAGS $boost_cv_pthread_flag" -BOOST_FIND_LIB([thread], [$1], - [boost/thread.hpp], [boost::thread t; boost::mutex m;]) -BOOST_THREAD_LIBS="$BOOST_THREAD_LIBS $boost_cv_pthread_flag" -BOOST_CPPFLAGS="$BOOST_CPPFLAGS $boost_cv_pthread_flag" -LIBS=$boost_threads_save_LIBS -CPPFLAGS=$boost_threads_save_CPPFLAGS -])# BOOST_THREADS - - -# BOOST_TOKENIZER() -# ----------------- -# Look for Boost.Tokenizer -AC_DEFUN([BOOST_TOKENIZER], -[BOOST_FIND_HEADER([boost/tokenizer.hpp])]) - - -# BOOST_TRIBOOL() -# --------------- -# Look for Boost.Tribool -AC_DEFUN([BOOST_TRIBOOL], -[BOOST_FIND_HEADER([boost/logic/tribool_fwd.hpp]) -BOOST_FIND_HEADER([boost/logic/tribool.hpp]) -]) - - -# BOOST_TUPLE() -# ------------- -# Look for Boost.Tuple -AC_DEFUN([BOOST_TUPLE], -[BOOST_FIND_HEADER([boost/tuple/tuple.hpp])]) - - -# BOOST_TYPETRAITS() -# -------------------- -# Look for Boost.TypeTraits -AC_DEFUN([BOOST_TYPETRAITS], -[BOOST_FIND_HEADER([boost/type_traits.hpp])]) - - -# BOOST_UTILITY() -# --------------- -# Look for Boost.Utility (noncopyable, result_of, base-from-member idiom, -# etc.) -AC_DEFUN([BOOST_UTILITY], -[BOOST_FIND_HEADER([boost/utility.hpp])]) - - -# BOOST_VARIANT() -# --------------- -# Look for Boost.Variant. -AC_DEFUN([BOOST_VARIANT], -[BOOST_FIND_HEADER([boost/variant/variant_fwd.hpp]) -BOOST_FIND_HEADER([boost/variant.hpp])]) - - -# BOOST_WAVE([PREFERRED-RT-OPT]) -# ------------------------------ -# NOTE: If you intend to use Wave/Spirit with thread support, make sure you -# call BOOST_THREADS first. -# Look for Boost.Wave. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_WAVE], -[AC_REQUIRE([BOOST_FILESYSTEM])dnl -AC_REQUIRE([BOOST_DATE_TIME])dnl -boost_wave_save_LIBS=$LIBS -boost_wave_save_LDFLAGS=$LDFLAGS -m4_pattern_allow([^BOOST_((FILE)?SYSTEM|DATE_TIME|THREAD)_(LIBS|LDFLAGS)$])dnl -LIBS="$LIBS $BOOST_SYSTEM_LIBS $BOOST_FILESYSTEM_LIBS $BOOST_DATE_TIME_LIBS\ -$BOOST_THREAD_LIBS" -LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS $BOOST_FILESYSTEM_LDFLAGS\ -$BOOST_DATE_TIME_LDFLAGS $BOOST_THREAD_LDFLAGS" -BOOST_FIND_LIB([wave], [$1], - [boost/wave.hpp], - [boost::wave::token_id id; get_token_name(id);]) -LIBS=$boost_wave_save_LIBS -LDFLAGS=$boost_wave_save_LDFLAGS -])# BOOST_WAVE - - -# BOOST_XPRESSIVE() -# ----------------- -# Look for Boost.Xpressive (new since 1.36.0). -AC_DEFUN([BOOST_XPRESSIVE], -[BOOST_FIND_HEADER([boost/xpressive/xpressive.hpp])]) - - -# ----------------- # -# Internal helpers. # -# ----------------- # - - -# _BOOST_PTHREAD_FLAG() -# --------------------- -# Internal helper for BOOST_THREADS. Based on ACX_PTHREAD: -# http://autoconf-archive.cryp.to/acx_pthread.html -AC_DEFUN([_BOOST_PTHREAD_FLAG], -[AC_REQUIRE([AC_PROG_CXX])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_LANG_PUSH([C++])dnl -AC_CACHE_CHECK([for the flags needed to use pthreads], [boost_cv_pthread_flag], -[ boost_cv_pthread_flag= - # The ordering *is* (sometimes) important. Some notes on the - # individual items follow: - # (none): in case threads are in libc; should be tried before -Kthread and - # other compiler flags to prevent continual compiler warnings - # -lpthreads: AIX (must check this before -lpthread) - # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) - # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) - # -llthread: LinuxThreads port on FreeBSD (also preferred to -pthread) - # -pthread: GNU Linux/GCC (kernel threads), BSD/GCC (userland threads) - # -pthreads: Solaris/GCC - # -mthreads: MinGW32/GCC, Lynx/GCC - # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it - # doesn't hurt to check since this sometimes defines pthreads too; - # also defines -D_REENTRANT) - # ... -mt is also the pthreads flag for HP/aCC - # -lpthread: GNU Linux, etc. - # --thread-safe: KAI C++ - case $host_os in #( - *solaris*) - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - boost_pthread_flags="-pthreads -lpthread -mt -pthread";; #( - *) - boost_pthread_flags="-lpthreads -Kthread -kthread -llthread -pthread \ - -pthreads -mthreads -lpthread --thread-safe -mt";; - esac - # Generate the test file. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <pthread.h>], - [pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0);])]) - for boost_pthread_flag in '' $boost_pthread_flags; do - boost_pthread_ok=false -dnl Re-use the test file already generated. - boost_pthreads__save_LIBS=$LIBS - LIBS="$LIBS $boost_pthread_flag" - AC_LINK_IFELSE([], - [if grep ".*$boost_pthread_flag" conftest.err; then - echo "This flag seems to have triggered warnings" >&AS_MESSAGE_LOG_FD - else - boost_pthread_ok=:; boost_cv_pthread_flag=$boost_pthread_flag - fi]) - LIBS=$boost_pthreads__save_LIBS - $boost_pthread_ok && break - done -]) -AC_LANG_POP([C++])dnl -])# _BOOST_PTHREAD_FLAG - - -# _BOOST_gcc_test(MAJOR, MINOR) -# ----------------------------- -# Internal helper for _BOOST_FIND_COMPILER_TAG. -m4_define([_BOOST_gcc_test], -["defined __GNUC__ && __GNUC__ == $1 && __GNUC_MINOR__ == $2 && !defined __ICC @ gcc$1$2"])dnl - - -# _BOOST_FIND_COMPILER_TAG() -# -------------------------- -# Internal. When Boost is installed without --layout=system, each library -# filename will hold a suffix that encodes the compiler used during the -# build. The Boost build system seems to call this a `tag'. -AC_DEFUN([_BOOST_FIND_COMPILER_TAG], -[AC_REQUIRE([AC_PROG_CXX])dnl -AC_CACHE_CHECK([for the toolset name used by Boost for $CXX], [boost_cv_lib_tag], -[AC_LANG_PUSH([C++])dnl - boost_cv_lib_tag=unknown - # The following tests are mostly inspired by boost/config/auto_link.hpp - # The list is sorted to most recent/common to oldest compiler (in order - # to increase the likelihood of finding the right compiler with the - # least number of compilation attempt). - # Beware that some tests are sensible to the order (for instance, we must - # look for MinGW before looking for GCC3). - # I used one compilation test per compiler with a #error to recognize - # each compiler so that it works even when cross-compiling (let me know - # if you know a better approach). - # Known missing tags (known from Boost's tools/build/v2/tools/common.jam): - # como, edg, kcc, bck, mp, sw, tru, xlc - # I'm not sure about my test for `il' (be careful: Intel's ICC pre-defines - # the same defines as GCC's). - # TODO: Move the test on GCC 4.4 up once it's released. - for i in \ - _BOOST_gcc_test(4, 3) \ - _BOOST_gcc_test(4, 2) \ - _BOOST_gcc_test(4, 1) \ - _BOOST_gcc_test(4, 0) \ - "defined __GNUC__ && __GNUC__ == 3 && !defined __ICC \ - && (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \ - || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw" \ - _BOOST_gcc_test(3, 4) \ - _BOOST_gcc_test(3, 3) \ - "defined _MSC_VER && _MSC_VER >= 1400 @ vc80" \ - _BOOST_gcc_test(3, 2) \ - "defined _MSC_VER && _MSC_VER == 1310 @ vc71" \ - _BOOST_gcc_test(3, 1) \ - _BOOST_gcc_test(3, 0) \ - "defined __BORLANDC__ @ bcb" \ - "defined __ICC && (defined __unix || defined __unix__) @ il" \ - "defined __ICL @ iw" \ - "defined _MSC_VER && _MSC_VER == 1300 @ vc7" \ - _BOOST_gcc_test(4, 4) \ - _BOOST_gcc_test(2, 95) \ - "defined __MWERKS__ && __MWERKS__ <= 0x32FF @ cw9" \ - "defined _MSC_VER && _MSC_VER < 1300 && !defined UNDER_CE @ vc6" \ - "defined _MSC_VER && _MSC_VER < 1300 && defined UNDER_CE @ evc4" \ - "defined __MWERKS__ && __MWERKS__ <= 0x31FF @ cw8" - do - boost_tag_test=`expr "X$i" : 'X\([[^@]]*\) @ '` - boost_tag=`expr "X$i" : 'X[[^@]]* @ \(.*\)'` - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if $boost_tag_test -/* OK */ -#else -# error $boost_tag_test -#endif -]])], [boost_cv_lib_tag=$boost_tag; break], []) - done -AC_LANG_POP([C++])dnl - case $boost_cv_lib_tag in #( - # Some newer (>= 1.35?) versions of Boost seem to only use "gcc" as opposed - # to "gcc41" for instance. - *-gcc | *'-gcc ') :;; #( Don't re-add -gcc: it's already in there. - gcc*) - # We can specify multiple tags in this variable because it's used by - # BOOST_FIND_LIB that does a `for tag in -$boost_cv_lib_tag' ... - boost_cv_lib_tag="$boost_cv_lib_tag -gcc" - ;; #( - unknown) - AC_MSG_WARN([[could not figure out which toolset name to use for $CXX]]) - boost_cv_lib_tag= - ;; - esac -])dnl end of AC_CACHE_CHECK -])# _BOOST_FIND_COMPILER_TAG - - -# _BOOST_GUESS_WHETHER_TO_USE_MT() -# -------------------------------- -# Compile a small test to try to guess whether we should favor MT (Multi -# Thread) flavors of Boost. Sets boost_guess_use_mt accordingly. -AC_DEFUN([_BOOST_GUESS_WHETHER_TO_USE_MT], -[# Check whether we do better use `mt' even though we weren't ask to. -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if defined _REENTRANT || defined _MT || defined __MT__ -/* use -mt */ -#else -# error MT not needed -#endif -]])], [boost_guess_use_mt=:], [boost_guess_use_mt=false]) -]) - -# _BOOST_AC_LINK_IFELSE(PROGRAM, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) -# ------------------------------------------------------------------- -# Fork of _AC_LINK_IFELSE that preserves conftest.o across calls. Fragile, -# will break when Autoconf changes its internals. Requires that you manually -# rm -f conftest.$ac_objext in between to really different tests, otherwise -# you will try to link a conftest.o left behind by a previous test. -# Used to aggressively optimize BOOST_FIND_LIB (see the big comment in this -# macro) -m4_define([_BOOST_AC_LINK_IFELSE], -[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl -rm -f conftest$ac_exeext -boost_ac_ext_save=$ac_ext -boost_use_source=: -# If we already have a .o, re-use it. We change $ac_ext so that $ac_link -# tries to link the existing object file instead of compiling from source. -test -f conftest.$ac_objext && ac_ext=$ac_objext && boost_use_source=false && - _AS_ECHO_LOG([re-using the existing conftest.$ac_objext]) -AS_IF([_AC_DO_STDERR($ac_link) && { - test -z "$ac_[]_AC_LANG_ABBREV[]_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_executable_p conftest$ac_exeext -dnl FIXME: use AS_TEST_X instead when 2.61 is widespread enough. - }], - [$2], - [if $boost_use_source; then - _AC_MSG_LOG_CONFTEST - fi - $3]) -dnl Delete also the IPA/IPO (Inter Procedural Analysis/Optimization) -dnl information created by the PGI compiler (conftest_ipa8_conftest.oo), -dnl as it would interfere with the next link command. -rm -f core conftest.err conftest_ipa8_conftest.oo \ - conftest$ac_exeext m4_ifval([$1], [conftest.$ac_ext])[]dnl -])# _BOOST_AC_LINK_IFELSE - -# Local Variables: -# mode: autoconf -# End: diff --git a/build-aux/bootstrap b/build-aux/bootstrap deleted file mode 100755 index 1f2ecd4..0000000 --- a/build-aux/bootstrap +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh -set -x -autoreconf -v -i diff --git a/build-aux/config.guess b/build-aux/config.guess deleted file mode 100755 index 84d5b85..0000000 --- a/build-aux/config.guess +++ /dev/null @@ -1,1574 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2009-02-03' - -# This file 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 2 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, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner <pe...@bo...>. -# Please send patches to <con...@gn...>. Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <con...@gn...>." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (u... [truncated message content] |
From: Thomas M. <tho...@us...> - 2009-07-02 08:14:01
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via a0ab05af74f0ffc6f4a62667cba79f0300026cb3 (commit) from 22f1b6a189a95e7c75612ea089b4092c9b092eda (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a0ab05af74f0ffc6f4a62667cba79f0300026cb3 Author: Thomas Moulard <tho...@gm...> Date: Thu Jul 2 17:08:03 2009 +0900 Test more function classes. * tests/derivable-function.cc: Add more tests. * tests/derivable-function.stdout: Regenerate. * tests/function.cc: Add more tests. * tests/function.stdout: Regenerate. * tests/twice-derivable-function.cc: Add more tests. * tests/twice-derivable-function.stdout: Regenerate. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 07db9ac..451d927 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2009-07-02 Thomas Moulard <tho...@gm...> + Test more function classes. + * tests/derivable-function.cc: Add more tests. + * tests/derivable-function.stdout: Regenerate. + * tests/function.cc: Add more tests. + * tests/function.stdout: Regenerate. + * tests/twice-derivable-function.cc: Add more tests. + * tests/twice-derivable-function.stdout: Regenerate. + +2009-07-02 Thomas Moulard <tho...@gm...> + Add checks to functions tests. * tests/Makefile.am: Compile new tests and distribute new stdout files. * tests/derivable-function.cc: Call more methods. diff --git a/tests/derivable-function.cc b/tests/derivable-function.cc index 6838f08..8ddfca7 100644 --- a/tests/derivable-function.cc +++ b/tests/derivable-function.cc @@ -64,13 +64,28 @@ int run_test () Null null; NoTitle notitle; - std::cout << null << std::endl - << notitle << std::endl; - Null::vector_t x (1); Null::gradient_t grad (null.gradientSize ()); x[0] = 42.; + std::cout << null << std::endl + << notitle << std::endl; + + std::cout << null.inputSize () << std::endl + << notitle.inputSize () << std::endl; + + std::cout << null.outputSize () << std::endl + << notitle.outputSize () << std::endl; + + std::cout << null.getName () << std::endl + << notitle.getName () << std::endl; + + std::cout << null.isValidResult (null (x)) << std::endl + << notitle.isValidResult (notitle (x)) << std::endl; + + std::cout << null (x) << std::endl + << notitle (x) << std::endl; + std::cout << null.gradient (x) << std::endl << notitle.gradient (x) << std::endl; diff --git a/tests/derivable-function.stdout b/tests/derivable-function.stdout index d8adf74..aa66d60 100644 --- a/tests/derivable-function.stdout +++ b/tests/derivable-function.stdout @@ -1,5 +1,15 @@ null function (derivable function) Derivable function +1 +1 +1 +1 +null function + +1 +1 +[1](0) +[1](0) [1](0) [1](0) [1](0) diff --git a/tests/function.cc b/tests/function.cc index 50357a3..bfdfb35 100644 --- a/tests/function.cc +++ b/tests/function.cc @@ -54,6 +54,8 @@ int run_test () Null::vector_t x (1); x[0] = 42.; + Null::argument_t res (null.outputSize ()); + std::cout << null << std::endl << notitle << std::endl; @@ -72,6 +74,12 @@ int run_test () std::cout << null (x) << std::endl << notitle (x) << std::endl; + null (res, x); + std::cout << res << std::endl; + + notitle (res, x); + std::cout << res << std::endl; + return 0; } diff --git a/tests/function.stdout b/tests/function.stdout index e785a20..a571786 100644 --- a/tests/function.stdout +++ b/tests/function.stdout @@ -10,3 +10,5 @@ null function 1 [1](0) [1](0) +[1](0) +[1](0) diff --git a/tests/twice-derivable-function.cc b/tests/twice-derivable-function.cc index f9ffc58..f8b6893 100644 --- a/tests/twice-derivable-function.cc +++ b/tests/twice-derivable-function.cc @@ -75,13 +75,50 @@ int run_test () Null null; NoTitle notitle; - std::cout << null << std::endl - << notitle << std::endl; - Null::vector_t x (1); x[0] = 42.; Null::hessian_t h (null.hessianSize ().first, null.hessianSize ().second); + Null::gradient_t grad (null.gradientSize ()); + + std::cout << null << std::endl + << notitle << std::endl; + + std::cout << null.inputSize () << std::endl + << notitle.inputSize () << std::endl; + + std::cout << null.outputSize () << std::endl + << notitle.outputSize () << std::endl; + + std::cout << null.getName () << std::endl + << notitle.getName () << std::endl; + + std::cout << null.isValidResult (null (x)) << std::endl + << notitle.isValidResult (notitle (x)) << std::endl; + + std::cout << null (x) << std::endl + << notitle (x) << std::endl; + + std::cout << null.gradient (x) << std::endl + << notitle.gradient (x) << std::endl; + + null.gradient (grad, x); + std::cout << grad << std::endl; + notitle.gradient (grad, x); + std::cout << grad << std::endl; + + std::cout << null.gradientSize () << std::endl + << notitle.gradientSize () << std::endl; + + std::cout << null.jacobianSize () << std::endl + << notitle.jacobianSize () << std::endl; + + std::cout << null.isValidGradient (null.gradient (x)) << std::endl + << notitle.isValidGradient (notitle.gradient (x)) << std::endl; + + std::cout << null.isValidJacobian (null.jacobian (x)) << std::endl + << notitle.isValidJacobian (notitle.jacobian (x)) << std::endl; + std::cout << null.hessian (x) << std::endl << notitle.hessian (x) << std::endl; diff --git a/tests/twice-derivable-function.stdout b/tests/twice-derivable-function.stdout index b71131e..5d2940e 100644 --- a/tests/twice-derivable-function.stdout +++ b/tests/twice-derivable-function.stdout @@ -1,5 +1,27 @@ null function (twice derivable function) Twice derivable function +1 +1 +1 +1 +null function + +1 +1 +[1](0) +[1](0) +[1](0) +[1](0) +[1](0) +[1](0) +1 +1 +(1, 1) +(1, 1) +1 +1 +1 +1 [1,1]((0)) [1,1]((0)) [1,1]((0)) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 10 +++++++ tests/derivable-function.cc | 21 +++++++++++++-- tests/derivable-function.stdout | 10 +++++++ tests/function.cc | 8 ++++++ tests/function.stdout | 2 + tests/twice-derivable-function.cc | 43 ++++++++++++++++++++++++++++++-- tests/twice-derivable-function.stdout | 22 +++++++++++++++++ 7 files changed, 110 insertions(+), 6 deletions(-) hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-02 07:31:56
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via 22f1b6a189a95e7c75612ea089b4092c9b092eda (commit) from bcd44804f1d8091326ad52124129f6d84989c759 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 22f1b6a189a95e7c75612ea089b4092c9b092eda Author: Thomas Moulard <tho...@gm...> Date: Thu Jul 2 16:25:57 2009 +0900 Add checks to functions tests. * tests/Makefile.am: Compile new tests and distribute new stdout files. * tests/derivable-function.cc: Call more methods. * tests/derivable-function.stdout: Regenerate. * tests/function.cc: Call more methods. * tests/function.stdout: Regenerate. * tests/linear-function.cc: Copy from tests/derivable-function.cc. * tests/linear-function.stdout: New. * tests/quadratic-function.cc: Copy from tests/twice-derivable-function.cc. * tests/quadratic-function.stdout: New. * tests/testsuite.at: Run new tests. * tests/twice-derivable-function.cc: Call more methods. * tests/twice-derivable-function.stdout: Regenerate. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index ca27dd7..07db9ac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,21 @@ 2009-07-02 Thomas Moulard <tho...@gm...> + Add checks to functions tests. + * tests/Makefile.am: Compile new tests and distribute new stdout files. + * tests/derivable-function.cc: Call more methods. + * tests/derivable-function.stdout: Regenerate. + * tests/function.cc: Call more methods. + * tests/function.stdout: Regenerate. + * tests/linear-function.cc: Copy from tests/derivable-function.cc. + * tests/linear-function.stdout: New. + * tests/quadratic-function.cc: Copy from tests/twice-derivable-function.cc. + * tests/quadratic-function.stdout: New. + * tests/testsuite.at: Run new tests. + * tests/twice-derivable-function.cc: Call more methods. + * tests/twice-derivable-function.stdout: Regenerate. + +2009-07-02 Thomas Moulard <tho...@gm...> + Add tests for function classes. * tests/Makefile.am: Compile new tests and distribute output files. diff --git a/tests/Makefile.am b/tests/Makefile.am index 682c426..e6a2974 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -50,6 +50,16 @@ check_PROGRAMS += twice-derivable-function twice_derivable_function_SOURCES = twice-derivable-function.cc $(COMMON_SOURCES) twice_derivable_function_LDADD = $(top_builddir)/src/libroboptim-core.la +# quadratic-function +check_PROGRAMS += quadratic-function +quadratic_function_SOURCES = quadratic-function.cc $(COMMON_SOURCES) +quadratic_function_LDADD = $(top_builddir)/src/libroboptim-core.la + +# linear-function +check_PROGRAMS += linear-function +linear_function_SOURCES = linear-function.cc $(COMMON_SOURCES) +linear_function_LDADD = $(top_builddir)/src/libroboptim-core.la + # problem-cc check_PROGRAMS += problem-cc problem_cc_SOURCES = problem-cc.cc $(COMMON_SOURCES) @@ -145,9 +155,11 @@ EXTRA_DIST += \ function.stdout \ identity-function.stdout \ interval.stdout \ + linear-function.stdout \ n-times-derivable-function.stdout \ numeric-linear-function.stdout \ numeric-quadratic-function.stdout \ + quadratic-function.stdout \ parametrized-function.stdout \ derivable-parametrized-function.stdout \ plugin.stdout \ diff --git a/tests/derivable-function.cc b/tests/derivable-function.cc index 8380d3b..6838f08 100644 --- a/tests/derivable-function.cc +++ b/tests/derivable-function.cc @@ -17,8 +17,11 @@ #include <iostream> +#include <boost/numeric/ublas/io.hpp> + #include "common.hh" #include <roboptim/core/derivable-function.hh> +#include <roboptim/core/util.hh> using namespace roboptim; @@ -64,6 +67,30 @@ int run_test () std::cout << null << std::endl << notitle << std::endl; + Null::vector_t x (1); + Null::gradient_t grad (null.gradientSize ()); + x[0] = 42.; + + std::cout << null.gradient (x) << std::endl + << notitle.gradient (x) << std::endl; + + null.gradient (grad, x); + std::cout << grad << std::endl; + notitle.gradient (grad, x); + std::cout << grad << std::endl; + + std::cout << null.gradientSize () << std::endl + << notitle.gradientSize () << std::endl; + + std::cout << null.jacobianSize () << std::endl + << notitle.jacobianSize () << std::endl; + + std::cout << null.isValidGradient (null.gradient (x)) << std::endl + << notitle.isValidGradient (notitle.gradient (x)) << std::endl; + + std::cout << null.isValidJacobian (null.jacobian (x)) << std::endl + << notitle.isValidJacobian (notitle.jacobian (x)) << std::endl; + return 0; } diff --git a/tests/derivable-function.stdout b/tests/derivable-function.stdout index c63560b..d8adf74 100644 --- a/tests/derivable-function.stdout +++ b/tests/derivable-function.stdout @@ -1,2 +1,14 @@ null function (derivable function) Derivable function +[1](0) +[1](0) +[1](0) +[1](0) +1 +1 +(1, 1) +(1, 1) +1 +1 +1 +1 diff --git a/tests/function.cc b/tests/function.cc index d729d9b..50357a3 100644 --- a/tests/function.cc +++ b/tests/function.cc @@ -17,6 +17,8 @@ #include <iostream> +#include <boost/numeric/ublas/io.hpp> + #include "common.hh" #include <roboptim/core/function.hh> @@ -49,9 +51,27 @@ int run_test () Null null; NoTitle notitle; + Null::vector_t x (1); + x[0] = 42.; + std::cout << null << std::endl << notitle << std::endl; + std::cout << null.inputSize () << std::endl + << notitle.inputSize () << std::endl; + + std::cout << null.outputSize () << std::endl + << notitle.outputSize () << std::endl; + + std::cout << null.getName () << std::endl + << notitle.getName () << std::endl; + + std::cout << null.isValidResult (null (x)) << std::endl + << notitle.isValidResult (notitle (x)) << std::endl; + + std::cout << null (x) << std::endl + << notitle (x) << std::endl; + return 0; } diff --git a/tests/function.stdout b/tests/function.stdout index 8e705df..e785a20 100644 --- a/tests/function.stdout +++ b/tests/function.stdout @@ -1,2 +1,12 @@ null function (not derivable) Function +1 +1 +1 +1 +null function + +1 +1 +[1](0) +[1](0) diff --git a/tests/derivable-function.cc b/tests/linear-function.cc similarity index 76% copy from tests/derivable-function.cc copy to tests/linear-function.cc index 8380d3b..7127b2a 100644 --- a/tests/derivable-function.cc +++ b/tests/linear-function.cc @@ -17,14 +17,16 @@ #include <iostream> +#include <boost/numeric/ublas/io.hpp> + #include "common.hh" -#include <roboptim/core/derivable-function.hh> +#include <roboptim/core/linear-function.hh> using namespace roboptim; -struct Null : public DerivableFunction +struct Null : public LinearFunction { - Null () : DerivableFunction (1, 1, "null function") + Null () : LinearFunction (1, 1, "null function") {} void impl_compute (result_t& res, const argument_t& argument) const throw () @@ -39,9 +41,9 @@ struct Null : public DerivableFunction } }; -struct NoTitle : public DerivableFunction +struct NoTitle : public LinearFunction { - NoTitle () : DerivableFunction (1, 1) + NoTitle () : LinearFunction (1, 1) {} void impl_compute (result_t& res, const argument_t& argument) const throw () @@ -64,6 +66,15 @@ int run_test () std::cout << null << std::endl << notitle << std::endl; + Null::vector_t x (1); + x[0] = 42.; + + std::cout << null.gradient (x) << std::endl + << notitle.gradient (x) << std::endl; + + std::cout << null.hessian (x) << std::endl + << notitle.hessian (x) << std::endl; + return 0; } diff --git a/tests/linear-function.stdout b/tests/linear-function.stdout new file mode 100644 index 0000000..5ef6de2 --- /dev/null +++ b/tests/linear-function.stdout @@ -0,0 +1,6 @@ +null function (linear function) +Linear function +[1](0) +[1](0) +[1,1]((0)) +[1,1]((0)) diff --git a/tests/twice-derivable-function.cc b/tests/quadratic-function.cc similarity index 78% copy from tests/twice-derivable-function.cc copy to tests/quadratic-function.cc index 69728bb..27b0766 100644 --- a/tests/twice-derivable-function.cc +++ b/tests/quadratic-function.cc @@ -17,14 +17,16 @@ #include <iostream> +#include <boost/numeric/ublas/io.hpp> + #include "common.hh" -#include <roboptim/core/twice-derivable-function.hh> +#include <roboptim/core/quadratic-function.hh> using namespace roboptim; -struct Null : public TwiceDerivableFunction +struct Null : public QuadraticFunction { - Null () : TwiceDerivableFunction (1, 1, "null function") + Null () : QuadraticFunction (1, 1, "null function") {} void impl_compute (result_t& res, const argument_t& argument) const throw () @@ -45,9 +47,9 @@ struct Null : public TwiceDerivableFunction } }; -struct NoTitle : public TwiceDerivableFunction +struct NoTitle : public QuadraticFunction { - NoTitle () : TwiceDerivableFunction (1, 1) + NoTitle () : QuadraticFunction (1, 1) {} void impl_compute (result_t& res, const argument_t& argument) const throw () @@ -76,6 +78,15 @@ int run_test () std::cout << null << std::endl << notitle << std::endl; + Null::vector_t x (1); + x[0] = 42.; + + std::cout << null.gradient (x) << std::endl + << notitle.gradient (x) << std::endl; + + std::cout << null.hessian (x) << std::endl + << notitle.hessian (x) << std::endl; + return 0; } diff --git a/tests/quadratic-function.stdout b/tests/quadratic-function.stdout new file mode 100644 index 0000000..245079d --- /dev/null +++ b/tests/quadratic-function.stdout @@ -0,0 +1,6 @@ +null function (quadratic function) +Quadratic function +[1](0) +[1](0) +[1,1]((0)) +[1,1]((0)) diff --git a/tests/testsuite.at b/tests/testsuite.at index ed4236f..69413b3 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -35,6 +35,8 @@ AT_BANNER([Functions]) CHECK_STDOUT([function], [Check function class.]) CHECK_STDOUT([derivable-function], [Check derivable function class.]) CHECK_STDOUT([twice-derivable-function], [Check twice derivable function class.]) +CHECK_STDOUT([quadratic-function], [Check quadratic function class.]) +CHECK_STDOUT([linear-function], [Check linear function class.]) CHECK_STDOUT([numeric-linear-function], [Check numeric linear functions.]) CHECK_STDOUT([numeric-quadratic-function], [Check numeric quadratic functions.]) diff --git a/tests/twice-derivable-function.cc b/tests/twice-derivable-function.cc index 69728bb..f9ffc58 100644 --- a/tests/twice-derivable-function.cc +++ b/tests/twice-derivable-function.cc @@ -16,9 +16,11 @@ // along with roboptim. If not, see <http://www.gnu.org/licenses/>. #include <iostream> +#include <boost/numeric/ublas/io.hpp> #include "common.hh" #include <roboptim/core/twice-derivable-function.hh> +#include <roboptim/core/util.hh> using namespace roboptim; @@ -76,6 +78,27 @@ int run_test () std::cout << null << std::endl << notitle << std::endl; + Null::vector_t x (1); + x[0] = 42.; + Null::hessian_t h (null.hessianSize ().first, + null.hessianSize ().second); + + std::cout << null.hessian (x) << std::endl + << notitle.hessian (x) << std::endl; + + null.hessian (h, x); + std::cout << h << std::endl; + notitle.hessian (h, x); + std::cout << h << std::endl; + + + std::cout << null.hessianSize () << std::endl + << notitle.hessianSize () << std::endl; + + std::cout << null.isValidHessian (null.hessian (x)) << std::endl + << notitle.isValidHessian (notitle.hessian (x)) << std::endl; + + return 0; } diff --git a/tests/twice-derivable-function.stdout b/tests/twice-derivable-function.stdout index 76112e0..b71131e 100644 --- a/tests/twice-derivable-function.stdout +++ b/tests/twice-derivable-function.stdout @@ -1,2 +1,10 @@ null function (twice derivable function) Twice derivable function +[1,1]((0)) +[1,1]((0)) +[1,1]((0)) +[1,1]((0)) +(1, 1) +(1, 1) +1 +1 ----------------------------------------------------------------------- Summary of changes: ChangeLog | 16 +++++++++++ tests/Makefile.am | 12 +++++++++ tests/derivable-function.cc | 27 ++++++++++++++++++++ tests/derivable-function.stdout | 12 +++++++++ tests/function.cc | 20 ++++++++++++++ tests/function.stdout | 10 +++++++ .../{derivable-function.cc => linear-function.cc} | 21 +++++++++++--- tests/linear-function.stdout | 6 ++++ ...derivable-function.cc => quadratic-function.cc} | 21 +++++++++++--- tests/quadratic-function.stdout | 6 ++++ tests/testsuite.at | 2 + tests/twice-derivable-function.cc | 23 +++++++++++++++++ tests/twice-derivable-function.stdout | 8 ++++++ 13 files changed, 174 insertions(+), 10 deletions(-) copy tests/{derivable-function.cc => linear-function.cc} (76%) create mode 100644 tests/linear-function.stdout copy tests/{twice-derivable-function.cc => quadratic-function.cc} (78%) create mode 100644 tests/quadratic-function.stdout hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-02 07:01:29
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via bcd44804f1d8091326ad52124129f6d84989c759 (commit) from 5b49960b97e9719ae000aa5f1826c51cbf3a1083 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit bcd44804f1d8091326ad52124129f6d84989c759 Author: Thomas Moulard <tho...@gm...> Date: Thu Jul 2 15:55:33 2009 +0900 Add tests for function classes. * tests/Makefile.am: Compile new tests and distribute output files. * tests/derivable-function.cc: New. * tests/derivable-function.stdout: New. * tests/function.cc: New. * tests/function.stdout: New. * tests/testsuite.at: Run new tests. * tests/twice-derivable-function.cc: New. * tests/twice-derivable-function.stdout: New. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index f8d8279..ca27dd7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,18 @@ 2009-07-02 Thomas Moulard <tho...@gm...> + Add tests for function classes. + * tests/Makefile.am: Compile new tests and distribute + output files. + * tests/derivable-function.cc: New. + * tests/derivable-function.stdout: New. + * tests/function.cc: New. + * tests/function.stdout: New. + * tests/testsuite.at: Run new tests. + * tests/twice-derivable-function.cc: New. + * tests/twice-derivable-function.stdout: New. + +2009-07-02 Thomas Moulard <tho...@gm...> + Add more tests. * tests/Makefile.am: Add interval and util tests. * tests/interval.cc: New. diff --git a/tests/Makefile.am b/tests/Makefile.am index f5f28e9..682c426 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -35,6 +35,21 @@ check_PROGRAMS += result result_SOURCES = result.cc $(COMMON_SOURCES) result_LDADD = $(top_builddir)/src/libroboptim-core.la +# function +check_PROGRAMS += function +function_SOURCES = function.cc $(COMMON_SOURCES) +function_LDADD = $(top_builddir)/src/libroboptim-core.la + +# derivable-function +check_PROGRAMS += derivable-function +derivable_function_SOURCES = derivable-function.cc $(COMMON_SOURCES) +derivable_function_LDADD = $(top_builddir)/src/libroboptim-core.la + +# twice-derivable-function +check_PROGRAMS += twice-derivable-function +twice_derivable_function_SOURCES = twice-derivable-function.cc $(COMMON_SOURCES) +twice_derivable_function_LDADD = $(top_builddir)/src/libroboptim-core.la + # problem-cc check_PROGRAMS += problem-cc problem_cc_SOURCES = problem-cc.cc $(COMMON_SOURCES) @@ -125,7 +140,9 @@ generate-reference: # Distribute reference files. EXTRA_DIST += \ constant-function.stdout \ + derivable-function.stdout \ finite-difference-gradient.stdout \ + function.stdout \ identity-function.stdout \ interval.stdout \ n-times-derivable-function.stdout \ diff --git a/tests/derivable-function.cc b/tests/derivable-function.cc new file mode 100644 index 0000000..8380d3b --- /dev/null +++ b/tests/derivable-function.cc @@ -0,0 +1,70 @@ +// Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. +// +// This file is part of the roboptim. +// +// roboptim is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// roboptim 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 Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with roboptim. If not, see <http://www.gnu.org/licenses/>. + +#include <iostream> + +#include "common.hh" +#include <roboptim/core/derivable-function.hh> + +using namespace roboptim; + +struct Null : public DerivableFunction +{ + Null () : DerivableFunction (1, 1, "null function") + {} + + void impl_compute (result_t& res, const argument_t& argument) const throw () + { + res.clear (); + } + + void impl_gradient (gradient_t& grad, const argument_t& argument, + size_type) const throw () + { + grad.clear (); + } +}; + +struct NoTitle : public DerivableFunction +{ + NoTitle () : DerivableFunction (1, 1) + {} + + void impl_compute (result_t& res, const argument_t& argument) const throw () + { + res.clear (); + } + + void impl_gradient (gradient_t& grad, const argument_t& argument, + size_type) const throw () + { + grad.clear (); + } +}; + +int run_test () +{ + Null null; + NoTitle notitle; + + std::cout << null << std::endl + << notitle << std::endl; + + return 0; +} + +GENERATE_TEST () diff --git a/tests/derivable-function.stdout b/tests/derivable-function.stdout new file mode 100644 index 0000000..c63560b --- /dev/null +++ b/tests/derivable-function.stdout @@ -0,0 +1,2 @@ +null function (derivable function) +Derivable function diff --git a/tests/function.cc b/tests/function.cc new file mode 100644 index 0000000..d729d9b --- /dev/null +++ b/tests/function.cc @@ -0,0 +1,58 @@ +// Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. +// +// This file is part of the roboptim. +// +// roboptim is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// roboptim 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 Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with roboptim. If not, see <http://www.gnu.org/licenses/>. + +#include <iostream> + +#include "common.hh" +#include <roboptim/core/function.hh> + +using namespace roboptim; + +struct Null : public Function +{ + Null () : Function (1, 1, "null function") + {} + + void impl_compute (result_t& res, const argument_t& argument) const throw () + { + res.clear (); + } +}; + +struct NoTitle : public Function +{ + NoTitle () : Function (1, 1) + {} + + void impl_compute (result_t& res, const argument_t& argument) const throw () + { + res.clear (); + } +}; + +int run_test () +{ + Null null; + NoTitle notitle; + + std::cout << null << std::endl + << notitle << std::endl; + + return 0; +} + +GENERATE_TEST () diff --git a/tests/function.stdout b/tests/function.stdout new file mode 100644 index 0000000..8e705df --- /dev/null +++ b/tests/function.stdout @@ -0,0 +1,2 @@ +null function (not derivable) +Function diff --git a/tests/testsuite.at b/tests/testsuite.at index 4501a86..ed4236f 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -27,23 +27,32 @@ AT_COPYRIGHT( This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.]) -AT_BANNER([Main features]) -CHECK_STDOUT([simple], [Check basic features.]) +AT_BANNER([Tools]) CHECK_STDOUT([interval], [Check intervals.]) CHECK_STDOUT([util], [Check misc. tools.]) + +AT_BANNER([Functions]) +CHECK_STDOUT([function], [Check function class.]) +CHECK_STDOUT([derivable-function], [Check derivable function class.]) +CHECK_STDOUT([twice-derivable-function], [Check twice derivable function class.]) CHECK_STDOUT([numeric-linear-function], [Check numeric linear functions.]) CHECK_STDOUT([numeric-quadratic-function], [Check numeric quadratic functions.]) -CHECK_STDOUT([problem-cc], [Check problem copy constructor.]) CHECK_STDOUT([n-times-derivable-function], [Check N times derivable function.]) CHECK_STDOUT([finite-difference-gradient], [Check finite difference gradient.]) -CHECK_STDOUT([result], [Check Result class.]) CHECK_STDOUT([identity-function], [Check identity function class.]) CHECK_STDOUT([constant-function], [Check constant function class.]) CHECK_STDOUT([parametrized-function], [Check parametrized function class.]) CHECK_STDOUT([derivable-parametrized-function], [Check derivable parametrized function class.]) +AT_BANNER([Problems]) +CHECK_STDOUT([problem-cc], [Check problem copy constructor.]) +CHECK_STDOUT([result], [Check Result class.]) + +AT_BANNER([Solvers]) +CHECK_STDOUT([simple], [Check basic features.]) + AT_BANNER([Plug-in mechanism]) CHECK_STDOUT([plugin], [Load dummy plug-in dynamically.]) diff --git a/tests/twice-derivable-function.cc b/tests/twice-derivable-function.cc new file mode 100644 index 0000000..69728bb --- /dev/null +++ b/tests/twice-derivable-function.cc @@ -0,0 +1,82 @@ +// Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. +// +// This file is part of the roboptim. +// +// roboptim is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// roboptim 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 Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with roboptim. If not, see <http://www.gnu.org/licenses/>. + +#include <iostream> + +#include "common.hh" +#include <roboptim/core/twice-derivable-function.hh> + +using namespace roboptim; + +struct Null : public TwiceDerivableFunction +{ + Null () : TwiceDerivableFunction (1, 1, "null function") + {} + + void impl_compute (result_t& res, const argument_t& argument) const throw () + { + res.clear (); + } + + void impl_gradient (gradient_t& grad, const argument_t& argument, + size_type) const throw () + { + grad.clear (); + } + + void impl_hessian (hessian_t& h, const argument_t& argument, + size_type) const throw () + { + h.clear (); + } +}; + +struct NoTitle : public TwiceDerivableFunction +{ + NoTitle () : TwiceDerivableFunction (1, 1) + {} + + void impl_compute (result_t& res, const argument_t& argument) const throw () + { + res.clear (); + } + + void impl_gradient (gradient_t& grad, const argument_t& argument, + size_type) const throw () + { + grad.clear (); + } + + void impl_hessian (hessian_t& h, const argument_t& argument, size_type) + const throw () + { + h.clear (); + } +}; + +int run_test () +{ + Null null; + NoTitle notitle; + + std::cout << null << std::endl + << notitle << std::endl; + + return 0; +} + +GENERATE_TEST () diff --git a/tests/twice-derivable-function.stdout b/tests/twice-derivable-function.stdout new file mode 100644 index 0000000..76112e0 --- /dev/null +++ b/tests/twice-derivable-function.stdout @@ -0,0 +1,2 @@ +null function (twice derivable function) +Twice derivable function ----------------------------------------------------------------------- Summary of changes: ChangeLog | 13 +++ tests/Makefile.am | 17 ++++ tests/{problem-cc.cc => derivable-function.cc} | 57 ++++++++------ tests/derivable-function.stdout | 2 + .../{n-times-derivable-function.cc => function.cc} | 34 +++++--- tests/function.stdout | 2 + tests/testsuite.at | 17 +++- tests/twice-derivable-function.cc | 82 ++++++++++++++++++++ tests/twice-derivable-function.stdout | 2 + 9 files changed, 185 insertions(+), 41 deletions(-) copy tests/{problem-cc.cc => derivable-function.cc} (52%) create mode 100644 tests/derivable-function.stdout copy tests/{n-times-derivable-function.cc => function.cc} (64%) create mode 100644 tests/function.stdout create mode 100644 tests/twice-derivable-function.cc create mode 100644 tests/twice-derivable-function.stdout hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-02 06:32:41
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via 5b49960b97e9719ae000aa5f1826c51cbf3a1083 (commit) from 949b12c4ebde27fea142e290f4a09e1f43df9c4e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 5b49960b97e9719ae000aa5f1826c51cbf3a1083 Author: Thomas Moulard <tho...@gm...> Date: Thu Jul 2 15:25:34 2009 +0900 Add more tests. * tests/Makefile.am: Add interval and util tests. * tests/interval.cc: New. * tests/interval.stdout: New. * tests/simple.cc: Show problem before adding constraints. * tests/simple.stdout: Regenerate. * tests/testsuite.at: Run interval and util tests. * tests/util.cc: New. * tests/util.stdout: New. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index d068042..f8d8279 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2009-07-02 Thomas Moulard <tho...@gm...> + Add more tests. + * tests/Makefile.am: Add interval and util tests. + * tests/interval.cc: New. + * tests/interval.stdout: New. + * tests/simple.cc: Show problem before adding constraints. + * tests/simple.stdout: Regenerate. + * tests/testsuite.at: Run interval and util tests. + * tests/util.cc: New. + * tests/util.stdout: New. + +2009-07-02 Thomas Moulard <tho...@gm...> + Check that git is newer enough. * bootstrap: Require at least git 1.5.5. diff --git a/tests/Makefile.am b/tests/Makefile.am index 59d5639..f5f28e9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -20,6 +20,16 @@ simple_SOURCES = simple.cc $(top_builddir)/src/roboptim-core-dummy-plugin.cc \ $(COMMON_SOURCES) simple_LDADD = $(top_builddir)/src/libroboptim-core.la +# interval +check_PROGRAMS += interval +interval_SOURCES = interval.cc $(COMMON_SOURCES) +interval_LDADD = $(top_builddir)/src/libroboptim-core.la + +# util +check_PROGRAMS += util +util_SOURCES = util.cc $(COMMON_SOURCES) +util_LDADD = $(top_builddir)/src/libroboptim-core.la + # result check_PROGRAMS += result result_SOURCES = result.cc $(COMMON_SOURCES) @@ -117,6 +127,7 @@ EXTRA_DIST += \ constant-function.stdout \ finite-difference-gradient.stdout \ identity-function.stdout \ + interval.stdout \ n-times-derivable-function.stdout \ numeric-linear-function.stdout \ numeric-quadratic-function.stdout \ @@ -126,5 +137,6 @@ EXTRA_DIST += \ problem-cc.stdout \ result.stdout \ simple.stdout \ + util.stdout \ visualization-gnuplot-function.stdout \ visualization-gnuplot-simple.stdout diff --git a/tests/interval.cc b/tests/interval.cc new file mode 100644 index 0000000..d07d424 --- /dev/null +++ b/tests/interval.cc @@ -0,0 +1,87 @@ +// Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. +// +// This file is part of the roboptim. +// +// roboptim is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// roboptim 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 Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with roboptim. If not, see <http://www.gnu.org/licenses/>. + +#include <iostream> + +#include <boost/tuple/tuple_io.hpp> + +#include "common.hh" +#include <roboptim/core/function.hh> +#include <roboptim/core/util.hh> + +using namespace roboptim; + +struct MyFunctor +{ + void operator () (double t) + { + std::cout << t << std::endl; + } +}; + +int run_test () +{ + typedef Function::interval_t interval_t; + typedef Function::discreteInterval_t discreteInterval_t; + + { + interval_t i1 = Function::makeInterval (0., 5.); + assert (Function::getLowerBound (i1) == 0.); + assert (Function::getUpperBound (i1) == 5.); + + interval_t i2 = Function::makeInfiniteInterval (); + double inf = Function::infinity (); + // Just make sure inf != NaN. + assert (inf == inf); + assert (Function::getLowerBound (i2) == -inf); + assert (Function::getUpperBound (i2) == inf); + + interval_t i3 = Function::makeLowerInterval (42.); + assert (Function::getLowerBound (i3) == 42.); + assert (Function::getUpperBound (i3) == inf); + + interval_t i4 = Function::makeUpperInterval (42.); + assert (Function::getLowerBound (i4) == -inf); + assert (Function::getUpperBound (i4) == 42.); + + std::cout << i1 << std::endl + << i2 << std::endl + << i3 << std::endl + << i4 << std::endl; + } + { + discreteInterval_t i1 = Function::makeDiscreteInterval (0., 5., 1.); + assert (Function::getLowerBound (i1) == 0.); + assert (Function::getUpperBound (i1) == 5.); + assert (Function::getStep (i1) == 1.); + + double inf = Function::infinity (); + discreteInterval_t i2 = Function::makeDiscreteInterval (-inf, inf, .1); + assert (Function::getLowerBound (i2) == -inf); + assert (Function::getUpperBound (i2) == inf); + assert (Function::getStep (i2) == .1); + + std::cout << i1 << std::endl + << i2 << std::endl; + + Function::foreach (i1, MyFunctor ()); + } + + return 0; +} + +GENERATE_TEST () diff --git a/tests/interval.stdout b/tests/interval.stdout new file mode 100644 index 0000000..63b50fe --- /dev/null +++ b/tests/interval.stdout @@ -0,0 +1,12 @@ +(0, 5) +(-inf, inf) +(42, inf) +(-inf, 42) +(0 5 1) +(-inf inf 0.1) +0 +1 +2 +3 +4 +5 diff --git a/tests/simple.cc b/tests/simple.cc index aa1e313..793c1c8 100644 --- a/tests/simple.cc +++ b/tests/simple.cc @@ -68,6 +68,8 @@ int run_test () F f; DummySolver::problem_t pb (f); + std::cout << pb << std::endl; + // Check that the problem is well formed. assert (&pb.function () == &f); assert (pb.constraints ().size () == 0); diff --git a/tests/simple.stdout b/tests/simple.stdout index 1f93055..7c47757 100644 --- a/tests/simple.stdout +++ b/tests/simple.stdout @@ -2,6 +2,13 @@ Problem: a * d * (a + b + c) + d (not derivable) Argument's bounds: (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf) Argument's scales: 1, 1, 1, 1 + No constraints. + No starting point. + Infinity value (for all functions): inf +Problem: + a * d * (a + b + c) + d (not derivable) + Argument's bounds: (-inf, inf), (-inf, inf), (-inf, inf), (-inf, inf) + Argument's scales: 1, 1, 1, 1 Number of constraints: 1 Constraint 0 a * d * (a + b + c) + d (not derivable) diff --git a/tests/testsuite.at b/tests/testsuite.at index 63c98d1..4501a86 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -29,6 +29,8 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.]) AT_BANNER([Main features]) CHECK_STDOUT([simple], [Check basic features.]) +CHECK_STDOUT([interval], [Check intervals.]) +CHECK_STDOUT([util], [Check misc. tools.]) CHECK_STDOUT([numeric-linear-function], [Check numeric linear functions.]) CHECK_STDOUT([numeric-quadratic-function], [Check numeric quadratic functions.]) diff --git a/tests/util.cc b/tests/util.cc new file mode 100644 index 0000000..cea4975 --- /dev/null +++ b/tests/util.cc @@ -0,0 +1,38 @@ +// Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. +// +// This file is part of the roboptim. +// +// roboptim is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// roboptim 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 Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with roboptim. If not, see <http://www.gnu.org/licenses/>. + +#include <iostream> + +#include "common.hh" +#include <roboptim/core/util.hh> + +using namespace roboptim; + +int run_test () +{ + // Check vector display. + std::vector<int> v; + + std::cout << v << std::endl; + + v.push_back (1); + std::cout << v << std::endl; + + return 0; +} + +GENERATE_TEST () diff --git a/tests/util.stdout b/tests/util.stdout new file mode 100644 index 0000000..779abfd --- /dev/null +++ b/tests/util.stdout @@ -0,0 +1,2 @@ +Empty vector +1 ----------------------------------------------------------------------- Summary of changes: ChangeLog | 12 ++++ tests/Makefile.am | 12 ++++ tests/interval.cc | 87 ++++++++++++++++++++++++++++++++ tests/interval.stdout | 12 ++++ tests/simple.cc | 2 + tests/simple.stdout | 7 +++ tests/testsuite.at | 2 + src/solver-warning.cc => tests/util.cc | 32 +++++++----- tests/util.stdout | 2 + 9 files changed, 155 insertions(+), 13 deletions(-) create mode 100644 tests/interval.cc create mode 100644 tests/interval.stdout copy src/solver-warning.cc => tests/util.cc (72%) create mode 100644 tests/util.stdout hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-02 04:42:38
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, trajectory has been updated via 1585762b51d8c14024056a47defef082c2d2518e (commit) from 60297f836cdcc342fa6268e0323f96d912f11d1c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1585762b51d8c14024056a47defef082c2d2518e Author: Thomas Moulard <tho...@gm...> Date: Thu Jul 2 13:36:44 2009 +0900 Handle submodules and check git. * bootstrap: Here. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 5ae3fc2..d68cbc4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2009-07-02 Thomas Moulard <tho...@gm...> + Handle submodules and check git. + * bootstrap: Here. + +2009-07-02 Thomas Moulard <tho...@gm...> + Use submodule to factorize code. * .gitmodules: New. * build-aux/autotest.at: Remove. diff --git a/bootstrap b/bootstrap index ab1b187..98280fe 100755 --- a/bootstrap +++ b/bootstrap @@ -1,2 +1,59 @@ #! /bin/sh + +# Print an error message and exit. +die () +{ + echo >&2 "fatal: $1" + exit 2 +} + +# Properly explain how to set up a RobOptim working directory and exit. +die_nosourceforgealias () +{ + echo >&2 "To properly finish setting up your working directory," + echo >&2 "you need to define how RobOptim should connect to SourceForge." + echo >&2 "" + echo >&2 "If you only need read-access (which is usually what one wants):" + echo >&2 "echo '[url \"git://roboptim.git.sourceforge.net/gitroot/\"]" + echo >&2 " insteadOf = sourceforge:' >> ~/.gitconfig" + echo >&2 "" + + die "no \`\`sourceforge:'' alias in your git configuration." +} + +# Check that git version is newer enough. +check_git_version () +{ + version=`git --version | sed 's/^git version \([0-9]\.[0-9]\.[0-9]\).*$/\1/'` + + if test x"$version" = x; then + die "failed to parse git version" + fi + + for i in 1 2 3; do + wantedversion=`echo "$1" | cut -d'.' -f$i` + gitversion=`echo "$version" | cut -d'.' -f$i` + + if test $gitversion -lt $wantedversion; then + die "git version is too old (version $1 at least is required)" + fi + if test $gitversion -gt $wantedversion; then + return + fi + done +} + +# Make sure that the submodule are retrieved. +if test -d ".git"; then + # Url rewriting has been introduced in git 1.5.5. + check_git_version "1.5.5" + + if test x`git config -l | grep 'url\..*\.insteadof=sourceforge:'` = x; then + die_nosourceforgealias + fi + + git submodule init + git submodule update +fi + exec build-aux/bootstrap ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ bootstrap | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 0 deletions(-) hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-02 04:42:12
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core-ipopt-plugin has been updated via 30e3d33bb1b890210481cbb5b8203ef71e7fcd54 (commit) from 3b873d852c590efd7f11b965a2baed8f5f61817f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 30e3d33bb1b890210481cbb5b8203ef71e7fcd54 Author: Thomas Moulard <tho...@gm...> Date: Thu Jul 2 13:36:13 2009 +0900 Handle submodule and check for git. * bootstrap: Here. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 7c3def9..21015af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2009-07-02 Thomas Moulard <tho...@gm...> + Handle submodule and check for git. + * bootstrap: Here. + +2009-07-02 Thomas Moulard <tho...@gm...> + Update build-aux submodule. * build-aux: Update submodule. diff --git a/bootstrap b/bootstrap index ab1b187..98280fe 100755 --- a/bootstrap +++ b/bootstrap @@ -1,2 +1,59 @@ #! /bin/sh + +# Print an error message and exit. +die () +{ + echo >&2 "fatal: $1" + exit 2 +} + +# Properly explain how to set up a RobOptim working directory and exit. +die_nosourceforgealias () +{ + echo >&2 "To properly finish setting up your working directory," + echo >&2 "you need to define how RobOptim should connect to SourceForge." + echo >&2 "" + echo >&2 "If you only need read-access (which is usually what one wants):" + echo >&2 "echo '[url \"git://roboptim.git.sourceforge.net/gitroot/\"]" + echo >&2 " insteadOf = sourceforge:' >> ~/.gitconfig" + echo >&2 "" + + die "no \`\`sourceforge:'' alias in your git configuration." +} + +# Check that git version is newer enough. +check_git_version () +{ + version=`git --version | sed 's/^git version \([0-9]\.[0-9]\.[0-9]\).*$/\1/'` + + if test x"$version" = x; then + die "failed to parse git version" + fi + + for i in 1 2 3; do + wantedversion=`echo "$1" | cut -d'.' -f$i` + gitversion=`echo "$version" | cut -d'.' -f$i` + + if test $gitversion -lt $wantedversion; then + die "git version is too old (version $1 at least is required)" + fi + if test $gitversion -gt $wantedversion; then + return + fi + done +} + +# Make sure that the submodule are retrieved. +if test -d ".git"; then + # Url rewriting has been introduced in git 1.5.5. + check_git_version "1.5.5" + + if test x`git config -l | grep 'url\..*\.insteadof=sourceforge:'` = x; then + die_nosourceforgealias + fi + + git submodule init + git submodule update +fi + exec build-aux/bootstrap ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ bootstrap | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 0 deletions(-) hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-02 03:02:52
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via 949b12c4ebde27fea142e290f4a09e1f43df9c4e (commit) from 357a763385b186f91bd52db2ae568c222403ac4d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 949b12c4ebde27fea142e290f4a09e1f43df9c4e Author: Thomas Moulard <tho...@gm...> Date: Thu Jul 2 11:56:54 2009 +0900 Check that git is newer enough. * bootstrap: Require at least git 1.5.5. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index fede1ca..d068042 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2009-07-02 Thomas Moulard <tho...@gm...> + Check that git is newer enough. + * bootstrap: Require at least git 1.5.5. + +2009-07-02 Thomas Moulard <tho...@gm...> + Enhance bootstrap to handle submodules. * bootstrap: Retrieve submodules automatically. diff --git a/bootstrap b/bootstrap index cded300..98280fe 100755 --- a/bootstrap +++ b/bootstrap @@ -21,8 +21,33 @@ die_nosourceforgealias () die "no \`\`sourceforge:'' alias in your git configuration." } +# Check that git version is newer enough. +check_git_version () +{ + version=`git --version | sed 's/^git version \([0-9]\.[0-9]\.[0-9]\).*$/\1/'` + + if test x"$version" = x; then + die "failed to parse git version" + fi + + for i in 1 2 3; do + wantedversion=`echo "$1" | cut -d'.' -f$i` + gitversion=`echo "$version" | cut -d'.' -f$i` + + if test $gitversion -lt $wantedversion; then + die "git version is too old (version $1 at least is required)" + fi + if test $gitversion -gt $wantedversion; then + return + fi + done +} + # Make sure that the submodule are retrieved. if test -d ".git"; then + # Url rewriting has been introduced in git 1.5.5. + check_git_version "1.5.5" + if test x`git config -l | grep 'url\..*\.insteadof=sourceforge:'` = x; then die_nosourceforgealias fi ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ bootstrap | 25 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 0 deletions(-) hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-02 02:32:53
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via 357a763385b186f91bd52db2ae568c222403ac4d (commit) from 58e3f50816fe3ee8fe1adcdf1c3a9357b3a98ff7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 357a763385b186f91bd52db2ae568c222403ac4d Author: Thomas Moulard <tho...@gm...> Date: Thu Jul 2 11:26:31 2009 +0900 Enhance bootstrap to handle submodules. * bootstrap: Retrieve submodules automatically. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 382462e..fede1ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2009-07-02 Thomas Moulard <tho...@gm...> + Enhance bootstrap to handle submodules. + * bootstrap: Retrieve submodules automatically. + +2009-07-02 Thomas Moulard <tho...@gm...> + Use submodules to factorize code. * .gitmodules: New. * build-aux/autotest.at: Remove. diff --git a/bootstrap b/bootstrap index ab1b187..cded300 100755 --- a/bootstrap +++ b/bootstrap @@ -1,2 +1,34 @@ #! /bin/sh + +# Print an error message and exit. +die () +{ + echo >&2 "fatal: $1" + exit 2 +} + +# Properly explain how to set up a RobOptim working directory and exit. +die_nosourceforgealias () +{ + echo >&2 "To properly finish setting up your working directory," + echo >&2 "you need to define how RobOptim should connect to SourceForge." + echo >&2 "" + echo >&2 "If you only need read-access (which is usually what one wants):" + echo >&2 "echo '[url \"git://roboptim.git.sourceforge.net/gitroot/\"]" + echo >&2 " insteadOf = sourceforge:' >> ~/.gitconfig" + echo >&2 "" + + die "no \`\`sourceforge:'' alias in your git configuration." +} + +# Make sure that the submodule are retrieved. +if test -d ".git"; then + if test x`git config -l | grep 'url\..*\.insteadof=sourceforge:'` = x; then + die_nosourceforgealias + fi + + git submodule init + git submodule update +fi + exec build-aux/bootstrap ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ bootstrap | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 0 deletions(-) hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-02 02:05:10
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, trajectory has been updated via 60297f836cdcc342fa6268e0323f96d912f11d1c (commit) from 840725cd57a8905c6e205614893a62b3b9fb6ccf (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 60297f836cdcc342fa6268e0323f96d912f11d1c Author: Thomas Moulard <tho...@gm...> Date: Thu Jul 2 10:59:07 2009 +0900 Use submodule to factorize code. * .gitmodules: New. * build-aux/autotest.at: Remove. * build-aux/autotest.mk: Remove. * build-aux/boost.m4: Remove. * build-aux/bootstrap: Remove. * build-aux/config.guess: Remove. * build-aux/config.sub: Remove. * build-aux/deb.mk: Remove. * build-aux/depcomp: Remove. * build-aux/doxygen.m4: Remove. * build-aux/ebuild.mk: Remove. * build-aux/init.mk: Remove. * build-aux/install-sh: Remove. * build-aux/libtool.m4: Remove. * build-aux/ltmain.sh: Remove. * build-aux/ltoptions.m4: Remove. * build-aux/ltsugar.m4: Remove. * build-aux/ltversion.m4: Remove. * build-aux/lt~obsolete.m4: Remove. * build-aux/missing: Remove. * build-aux/move-if-change: Remove. * build-aux/pkg-config.mk: Remove. * build-aux/pkg-config.pc.in: Remove. * build-aux/roboptim-core.m4: Remove. * build-aux/rpm.mk: Remove. * build-aux/warning.m4: Remove. * build-aux: New. * doc/Doxyfile.in: Remove. * doc/Makefile.am: Remove. * doc/doxygen.css: Remove. * doc/footer.html: Remove. * doc/header.html: Remove. * doc/package.css: Remove. * doc/sf-upload.sh.in: Remove. * doc/tabs.css: Remove. * doc: New. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..6302c9e --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "doc"] + path = doc + url = sourceforge:roboptim +[submodule "build-aux"] + path = build-aux + url = sourceforge:roboptim diff --git a/ChangeLog b/ChangeLog index 85553d1..5ae3fc2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,43 @@ +2009-07-02 Thomas Moulard <tho...@gm...> + + Use submodule to factorize code. + * .gitmodules: New. + * build-aux/autotest.at: Remove. + * build-aux/autotest.mk: Remove. + * build-aux/boost.m4: Remove. + * build-aux/bootstrap: Remove. + * build-aux/config.guess: Remove. + * build-aux/config.sub: Remove. + * build-aux/deb.mk: Remove. + * build-aux/depcomp: Remove. + * build-aux/doxygen.m4: Remove. + * build-aux/ebuild.mk: Remove. + * build-aux/init.mk: Remove. + * build-aux/install-sh: Remove. + * build-aux/libtool.m4: Remove. + * build-aux/ltmain.sh: Remove. + * build-aux/ltoptions.m4: Remove. + * build-aux/ltsugar.m4: Remove. + * build-aux/ltversion.m4: Remove. + * build-aux/lt~obsolete.m4: Remove. + * build-aux/missing: Remove. + * build-aux/move-if-change: Remove. + * build-aux/pkg-config.mk: Remove. + * build-aux/pkg-config.pc.in: Remove. + * build-aux/roboptim-core.m4: Remove. + * build-aux/rpm.mk: Remove. + * build-aux/warning.m4: Remove. + * build-aux: New. + * doc/Doxyfile.in: Remove. + * doc/Makefile.am: Remove. + * doc/doxygen.css: Remove. + * doc/footer.html: Remove. + * doc/header.html: Remove. + * doc/package.css: Remove. + * doc/sf-upload.sh.in: Remove. + * doc/tabs.css: Remove. + * doc: New. + 2009-06-26 Thomas Moulard <tho...@gm...> Use foreach for iterating. diff --git a/build-aux b/build-aux new file mode 160000 index 0000000..53249c7 --- /dev/null +++ b/build-aux @@ -0,0 +1 @@ +Subproject commit 53249c7a39864b963946d8088c421e367c8e6b75 diff --git a/build-aux/autotest.at b/build-aux/autotest.at deleted file mode 100644 index 75485ee..0000000 --- a/build-aux/autotest.at +++ /dev/null @@ -1,63 +0,0 @@ -# -*-Autoconf-*- -# Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. -# This file is part of the roboptim. -# -# roboptim 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# roboptim 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 roboptim. If not, see <http://www.gnu.org/licenses/>. - -# serial 1 - -m4_pattern_forbid([^CHECK_STDOUT]) - - -# CHECK_STDOUT(BINARY, [DESCRIPTION], -# [SKIP_EXPR = false], [XFAIL_EXPR = false]) -# -------------------------------------------------------------- -# Check against a ``.stdout'' file. -# If the binary can not be built, the test is skipped. -# BINARY: the binary that has to be runned. -# DESCRIPTION: test's description. -# SKIP_EXPR: if shell expression evalutes to true, skip test. -# XFAIL_EXPR: if shell expression evalutes to true, tag test as xfail. -m4_define([CHECK_STDOUT], -[m4_ifset ([$1], [], - [m4_fatal([CHECK_STDOUT has be called with at least one argument])]) -AT_SETUP([m4_default([$2], [Unnamed test])]) - -AT_CHECK([if m4_default([$3], [false]); then - exit 77; else - true; fi], [0], [ignore], [ignore]) - -AT_XFAIL_IF([m4_default([$4], [false])]) -cp $abs_srcdir/$1.stdout expout -AT_CHECK([$CHECK_PREFIX `which $1`], [0], [expout], [ignore]) - -AT_CLEANUP -]) # CHECK_STDOUT - - -# CHECK_STDOUT_SKIP(BINARY, [DESCRIPTION], [XFAIL_EXPR]) -# -------------------------------------------------------------- -# Do a CHECK_STDOUT if the BINARY exists (is in the path). -m4_define([CHECK_STDOUT_SKIPPABLE], -[CHECK_STDOUT([$1], [$2], [test x`which $1` = x], [$3]) -]) # CHECK_STDOUT_SKIP - -# End of autotest.at diff --git a/build-aux/autotest.mk b/build-aux/autotest.mk deleted file mode 100644 index 1308305..0000000 --- a/build-aux/autotest.mk +++ /dev/null @@ -1,87 +0,0 @@ -# -*-Automake-*- -# Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. -# This file is part of the roboptim. -# -# roboptim 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# roboptim 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 roboptim. If not, see <http://www.gnu.org/licenses/>. - -# -------# -# README # -# -------# - -# This file should be included in Makefile.am associated to a directory which -# contains an Autotest test suite. -# -# This file assumes that: -# -# - you include *before* this file init.mk or make sure that any global -# variable can be used with the += syntax. -# - package.m4 is located in $(top_builddir)/tests -# - you provide atlocal and testsuite.at files (see Autotest -# documentation in the Autoconf manual). -# - you define TESTSUITE_AT which contains the list of the .at files -# included by this test suite. - - -# -----# -# TODO # -# -----# - -# - Make it more generic. - - -# Define how autom4te is called to generate the testsuite file. -AUTOTEST = $(AUTOM4TE) --language=autotest -Wall - -# Package following files. -EXTRA_DIST += atlocal testsuite.at $(TESTSUITE) $(TESTSUITE_AT) - -# Run testsuite in this directory. -TESTSUITE = $(srcdir)/testsuite - -# Define where package.m4.in is located. -PACKAGE_M4_IN=$(top_srcdir)/tests/package.m4.in - -# Define m4 dependencies. -TESTSUITE_AT = $(top_srcdir)/build-aux/autotest.at - - -# ----- # -# RULES # -# ----- # - -check-local: atconfig atlocal $(TESTSUITE) - $(SHELL) $(TESTSUITE) $(TESTSUITEFLAGS) - -installcheck-local: atconfig atlocal $(TESTSUITE) - $(SHELL) $(TESTSUITE) AUTOTEST_PATH="$(bindir)" $(TESTSUITEFLAGS) - -clean-local: - test ! -f $(TESTSUITE) || $(SHELL) $(TESTSUITE) --clean - rm -f -r autom4te.cache - -$(TESTSUITE): $(PACKAGE_M4_IN) $(srcdir)/testsuite.at $(TESTSUITE_AT) \ - $(top_srcdir)/configure - $(AUTOTEST) -I'$(srcdir)' -I'$(top_srcdir)/build-aux' \ - -I'$(top_builddir)/tests' $@.at -o $@.tmp - mv $@.tmp $@ - -atconfig: $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status tests/$@ diff --git a/build-aux/boost.m4 b/build-aux/boost.m4 deleted file mode 100644 index a9fc46c..0000000 --- a/build-aux/boost.m4 +++ /dev/null @@ -1,933 +0,0 @@ -# boost.m4: Locate Boost headers and libraries for autoconf-based projects. -# Copyright (C) 2007, 2008, 2009 Benoit Sigoure <ts...@lr...> -# -# 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# serial 10 -# Original sources can be found at http://repo.or.cz/w/boost.m4.git -# You can fetch the latest version of the script by doing: -# wget 'http://repo.or.cz/w/boost.m4.git?a=blob_plain;f=build-aux/boost.m4;hb=HEAD' -O boost.m4 - -# ------ # -# README # -# ------ # - -# This file provides several macros to use the various Boost libraries. -# The first macro is BOOST_REQUIRE. It will simply check if it's possible to -# find the Boost headers of a given (optional) minimum version and it will -# define BOOST_CPPFLAGS accordingly. It will add an option --with-boost to -# your configure so that users can specify non standard locations. -# If the user's environment contains BOOST_ROOT and --with-boost was not -# specified, --with-boost=$BOOST_ROOT is implicitly used. -# For more README and documentation, go to http://repo.or.cz/w/boost.m4.git -# Note: THESE MACROS ASSUME THAT YOU USE LIBTOOL. If you don't, don't worry, -# simply read the README, it will show you what to do step by step. - -m4_pattern_forbid([^_?BOOST_]) - - -# _BOOST_SED_CPP(SED-PROGRAM, PROGRAM, -# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -------------------------------------------------------- -# Same as AC_EGREP_CPP, but leave the result in conftest.i. -# PATTERN is *not* overquoted, as in AC_EGREP_CPP. It could be useful -# to turn this into a macro which extracts the value of any macro. -m4_define([_BOOST_SED_CPP], -[AC_LANG_PREPROC_REQUIRE()dnl -AC_REQUIRE([AC_PROG_SED])dnl -AC_LANG_CONFTEST([AC_LANG_SOURCE([[$2]])]) -AS_IF([dnl eval is necessary to expand ac_cpp. -dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell. -(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | - $SED -n -e "$1" >conftest.i 2>&1], - [$3], - [$4])dnl -rm -f conftest* -])# AC_EGREP_CPP - - - -# BOOST_REQUIRE([VERSION]) -# ------------------------ -# Look for Boost. If version is given, it must either be a literal of the form -# "X.Y.Z" where X, Y and Z are integers (the ".Z" part being optional) or a -# variable "$var". -# Defines the value BOOST_CPPFLAGS. This macro only checks for headers with -# the required version, it does not check for any of the Boost libraries. -# FIXME: Add a 2nd optional argument so that it's not fatal if Boost isn't found -# and add an AC_DEFINE to tell whether HAVE_BOOST. -AC_DEFUN([BOOST_REQUIRE], -[boost_save_IFS=$IFS -boost_version_req="$1" -IFS=. -set x $boost_version_req 0 0 0 -IFS=$boost_save_IFS -shift -boost_version_req=`expr "$[1]" '*' 100000 + "$[2]" '*' 100 + "$[3]"` -AC_ARG_WITH([boost], - [AS_HELP_STRING([--with-boost=DIR], - [prefix of Boost $1 @<:@guess@:>@])])dnl -AC_ARG_VAR([BOOST_ROOT],[Location of Boost installation])dnl -# If BOOST_ROOT is set and the user has not provided a value to -# --with-boost, then treat BOOST_ROOT as if it the user supplied it. -if test x"$BOOST_ROOT" != x; then - if test x"$with_boost" = x; then - AC_MSG_NOTICE([Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT]) - with_boost=$BOOST_ROOT - else - AC_MSG_NOTICE([Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost]) - fi -fi -AC_SUBST([DISTCHECK_CONFIGURE_FLAGS], - ["$DISTCHECK_CONFIGURE_FLAGS '--with-boost=$with_boost'"]) -boost_save_CPPFLAGS=$CPPFLAGS - AC_CACHE_CHECK([for Boost headers version >= $boost_version_req], - [boost_cv_inc_path], - [boost_cv_inc_path=no -AC_LANG_PUSH([C++])dnl -m4_pattern_allow([^BOOST_VERSION$])dnl - AC_LANG_CONFTEST([AC_LANG_PROGRAM([[#include <boost/version.hpp> -#if !defined BOOST_VERSION -# error BOOST_VERSION is not defined -#elif BOOST_VERSION < $boost_version_req -# error Boost headers version < $boost_version_req -#endif -]])]) - # If the user provided a value to --with-boost, use it and only it. - case $with_boost in #( - ''|yes) set x '' /opt/local/include /usr/local/include /opt/include \ - /usr/include C:/Boost/include;; #( - *) set x "$with_boost/include" "$with_boost";; - esac - shift - for boost_dir - do - # Without --layout=system, Boost (or at least some versions) installs - # itself in <prefix>/include/boost-<version>. This inner loop helps to - # find headers in such directories. - # I didn't indent this loop on purpose (to avoid over-indented code) - for boost_inc in "$boost_dir" "$boost_dir"/boost-* - do - test x"$boost_inc" != x && CPPFLAGS="$CPPFLAGS -I$boost_inc" - AC_COMPILE_IFELSE([], [boost_cv_inc_path=yes], [boost_cv_version=no]) - if test x"$boost_cv_inc_path" = xyes; then - if test x"$boost_inc" != x; then - boost_cv_inc_path=$boost_inc - fi - break 2 - fi - done - done -AC_LANG_POP([C++])dnl - ]) - case $boost_cv_inc_path in #( - no) AC_MSG_ERROR([cannot find Boost headers version >= $boost_version_req]);;#( - yes) BOOST_CPPFLAGS=;;#( - *) AC_SUBST([BOOST_CPPFLAGS], ["-I$boost_cv_inc_path"]);; - esac - AC_CACHE_CHECK([for Boost's header version], - [boost_cv_lib_version], - [m4_pattern_allow([^BOOST_LIB_VERSION$])dnl - _BOOST_SED_CPP([/^boost-lib-version = /{s///;s/\"//g;p;g;}], - [#include <boost/version.hpp> -boost-lib-version = BOOST_LIB_VERSION], - [boost_cv_lib_version=`cat conftest.i`])]) - # e.g. "134" for 1_34_1 or "135" for 1_35 - boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'` - case $boost_major_version in #( - '' | *[[!0-9]]*) - AC_MSG_ERROR([Invalid value: boost_major_version=$boost_major_version]) - ;; - esac -CPPFLAGS=$boost_save_CPPFLAGS -])# BOOST_REQUIRE - -# BOOST_STATIC() -# -------------- -# Add the "--enable-static-boost" configure argument. If this argument is given -# on the command line, static versions of the libraries will be looked up. -AC_DEFUN([BOOST_STATIC], - [AC_ARG_ENABLE([static-boost], - [AC_HELP_STRING([--enable-static-boost], - [Prefer the static boost libraries over the shared ones [no]])], - [enable_static_boost=yes], - [enable_static_boost=no])])# BOOST_STATIC - -# BOOST_FIND_HEADER([HEADER-NAME], [ACTION-IF-NOT-FOUND], [ACTION-IF-FOUND]) -# -------------------------------------------------------------------------- -# Wrapper around AC_CHECK_HEADER for Boost headers. Useful to check for -# some parts of the Boost library which are only made of headers and don't -# require linking (such as Boost.Foreach). -# -# Default ACTION-IF-NOT-FOUND: Fail with a fatal error. -# -# Default ACTION-IF-FOUND: define the preprocessor symbol HAVE_<HEADER-NAME> in -# case of success # (where HEADER-NAME is written LIKE_THIS, e.g., -# HAVE_BOOST_FOREACH_HPP). -AC_DEFUN([BOOST_FIND_HEADER], -[AC_REQUIRE([BOOST_REQUIRE])dnl -AC_LANG_PUSH([C++])dnl -boost_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" -AC_CHECK_HEADER([$1], - [m4_default([$3], [AC_DEFINE(AS_TR_CPP([HAVE_$1]), [1], - [Define to 1 if you have <$1>])])], - [m4_default([$2], [AC_MSG_ERROR([cannot find $1])])]) -CPPFLAGS=$boost_save_CPPFLAGS -AC_LANG_POP([C++])dnl -])# BOOST_FIND_HEADER - - -# BOOST_FIND_LIB([LIB-NAME], [PREFERRED-RT-OPT], [HEADER-NAME], [CXX-TEST], -# [CXX-PROLOGUE]) -# ------------------------------------------------------------------------- -# Look for the Boost library LIB-NAME (e.g., LIB-NAME = `thread', for -# libboost_thread). Check that HEADER-NAME works and check that -# libboost_LIB-NAME can link with the code CXX-TEST. The optional argument -# CXX-PROLOGUE can be used to include some C++ code before the `main' -# function. -# -# Invokes BOOST_FIND_HEADER([HEADER-NAME]) (see above). -# -# Boost libraries typically come compiled with several flavors (with different -# runtime options) so PREFERRED-RT-OPT is the preferred suffix. A suffix is one -# or more of the following letters: sgdpn (in that order). s = static -# runtime, d = debug build, g = debug/diagnostic runtime, p = STLPort build, -# n = (unsure) STLPort build without iostreams from STLPort (it looks like `n' -# must always be used along with `p'). Additionally, PREFERRED-RT-OPT can -# start with `mt-' to indicate that there is a preference for multi-thread -# builds. Some sample values for PREFERRED-RT-OPT: (nothing), mt, d, mt-d, gdp -# ... If you want to make sure you have a specific version of Boost -# (eg, >= 1.33) you *must* invoke BOOST_REQUIRE before this macro. -AC_DEFUN([BOOST_FIND_LIB], -[AC_REQUIRE([_BOOST_FIND_COMPILER_TAG])dnl -AC_REQUIRE([BOOST_REQUIRE])dnl -AC_REQUIRE([BOOST_STATIC])dnl -AC_REQUIRE([_BOOST_GUESS_WHETHER_TO_USE_MT])dnl -AC_LANG_PUSH([C++])dnl -AS_VAR_PUSHDEF([Boost_lib], [boost_cv_lib_$1])dnl -AS_VAR_PUSHDEF([Boost_lib_LDFLAGS], [boost_cv_lib_$1_LDFLAGS])dnl -AS_VAR_PUSHDEF([Boost_lib_LIBS], [boost_cv_lib_$1_LIBS])dnl -BOOST_FIND_HEADER([$3]) -boost_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" -# Now let's try to find the library. The algorithm is as follows: first look -# for a given library name according to the user's PREFERRED-RT-OPT. For each -# library name, we prefer to use the ones that carry the tag (toolset name). -# Each library is searched through the various standard paths were Boost is -# usually installed. If we can't find the standard variants, we try to -# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist -# but there's -obviously- libboost_threads-mt.dylib). -AC_CACHE_CHECK([for the Boost $1 library], [Boost_lib], - [Boost_lib=no - case "$2" in #( - mt | mt-) boost_mt=-mt; boost_rtopt=;; #( - mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X$2" : 'Xmt-*\(.*\)'`;; #( - *) boost_mt=; boost_rtopt=$2;; - esac - if test $enable_static_boost = yes; then - boost_rtopt="s$boost_rtopt" - fi - # Find the proper debug variant depending on what we've been asked to find. - case $boost_rtopt in #( - *d*) boost_rt_d=$boost_rtopt;; #( - *[[sgpn]]*) # Insert the `d' at the right place (in between `sg' and `pn') - boost_rt_d=`echo "$boost_rtopt" | sed 's/\(s*g*\)\(p*n*\)/\1\2/'`;; #( - *) boost_rt_d='-d';; - esac - # If the PREFERRED-RT-OPT are not empty, prepend a `-'. - test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt" - $boost_guess_use_mt && boost_mt=-mt - # Look for the abs path the static archive. - # $libext is computed by Libtool but let's make sure it's non empty. - test -z "$libext" && - AC_MSG_ERROR([the libext variable is empty, did you invoke Libtool?]) - boost_save_ac_objext=$ac_objext - # Generate the test file. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <$3> -$5], [$4])]) -dnl Optimization hacks: compiling C++ is slow, especially with Boost. What -dnl we're trying to do here is guess the right combination of link flags -dnl (LIBS / LDFLAGS) to use a given library. This can take several -dnl iterations before it succeeds and is thus *very* slow. So what we do -dnl instead is that we compile the code first (and thus get an object file, -dnl typically conftest.o). Then we try various combinations of link flags -dnl until we succeed to link conftest.o in an executable. The problem is -dnl that the various TRY_LINK / COMPILE_IFELSE macros of Autoconf always -dnl remove all the temporary files including conftest.o. So the trick here -dnl is to temporarily change the value of ac_objext so that conftest.o is -dnl preserved accross tests. This is obviously fragile and I will burn in -dnl hell for not respecting Autoconf's documented interfaces, but in the -dnl mean time, it optimizes the macro by a factor of 5 to 30. -dnl Another small optimization: the first argument of AC_COMPILE_IFELSE left -dnl empty because the test file is generated only once above (before we -dnl start the for loops). - AC_COMPILE_IFELSE([], - [ac_objext=do_not_rm_me_plz], - [AC_MSG_ERROR([Cannot compile a test that uses Boost $1])]) - ac_objext=$boost_save_ac_objext - boost_failed_libs= -# Don't bother to ident the 6 nested for loops, only the 2 innermost ones -# matter. -for boost_tag_ in -$boost_cv_lib_tag ''; do -for boost_ver_ in -$boost_cv_lib_version ''; do -for boost_mt_ in $boost_mt -mt ''; do -for boost_rtopt_ in $boost_rtopt '' -d; do - for boost_lib in \ - boost_$1$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \ - boost_$1$boost_tag_$boost_rtopt_$boost_ver_ \ - boost_$1$boost_tag_$boost_mt_$boost_ver_ \ - boost_$1$boost_tag_$boost_ver_ - do - # Avoid testing twice the same lib - case $boost_failed_libs in #( - *@$boost_lib@*) continue;; - esac - # If with_boost is empty, we'll search in /lib first, which is not quite - # right so instead we'll try to a location based on where the headers are. - boost_tmp_lib=$with_boost - test x"$with_boost" = x && boost_tmp_lib=${boost_cv_inc_path%/include} - for boost_ldpath in "$boost_tmp_lib/lib" '' \ - /opt/local/lib /usr/local/lib /opt/lib /usr/lib \ - "$with_boost" C:/Boost/lib /lib /usr/lib64 /lib64 - do - test -e "$boost_ldpath" || continue - boost_save_LDFLAGS=$LDFLAGS - # Are we looking for a static library? - case $boost_ldpath:$boost_rtopt_ in #( - *?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt) - Boost_lib_LIBS="$boost_ldpath/lib$boost_lib.$libext" - test -e "$Boost_lib_LIBS" || continue;; #( - *) # No: use -lboost_foo to find the shared library. - Boost_lib_LIBS="-l$boost_lib";; - esac - boost_save_LIBS=$LIBS - LIBS="$Boost_lib_LIBS $LIBS" - test x"$boost_ldpath" != x && LDFLAGS="$LDFLAGS -L$boost_ldpath" -dnl First argument of AC_LINK_IFELSE left empty because the test file is -dnl generated only once above (before we start the for loops). - _BOOST_AC_LINK_IFELSE([], - [Boost_lib=yes], [Boost_lib=no]) - ac_objext=$boost_save_ac_objext - LDFLAGS=$boost_save_LDFLAGS - LIBS=$boost_save_LIBS - if test x"$Boost_lib" = xyes; then - Boost_lib_LDFLAGS="-L$boost_ldpath -R$boost_ldpath" - break 6 - else - boost_failed_libs="$boost_failed_libs@$boost_lib@" - fi - done - done -done -done -done -done -rm -f conftest.$ac_objext -]) -case $Boost_lib in #( - no) AC_MSG_ERROR([Could not find the flags to link with Boost $1]) - ;; -esac -AC_SUBST(AS_TR_CPP([BOOST_$1_LDFLAGS]), [$Boost_lib_LDFLAGS]) -AC_SUBST(AS_TR_CPP([BOOST_$1_LIBS]), [$Boost_lib_LIBS]) -CPPFLAGS=$boost_save_CPPFLAGS -AS_VAR_POPDEF([Boost_lib])dnl -AS_VAR_POPDEF([Boost_lib_LDFLAGS])dnl -AS_VAR_POPDEF([Boost_lib_LIBS])dnl -AC_LANG_POP([C++])dnl -])# BOOST_FIND_LIB - - -# --------------------------------------- # -# Checks for the various Boost libraries. # -# --------------------------------------- # - -# List of boost libraries: http://www.boost.org/libs/libraries.htm -# The page http://beta.boost.org/doc/libs is useful: it gives the first release -# version of each library (among other things). - - -# BOOST_ASIO() -# ------------ -# Look for Boost.Asio (new in Boost 1.35). -AC_DEFUN([BOOST_ASIO], -[AC_REQUIRE([BOOST_SYSTEM])dnl -BOOST_FIND_HEADER([boost/asio.hpp])]) - - -# BOOST_BIND() -# ------------ -# Look for Boost.Bind -AC_DEFUN([BOOST_BIND], -[BOOST_FIND_HEADER([boost/bind.hpp])]) - - -# BOOST_CONVERSION() -# ------------------ -# Look for Boost.Conversion (cast / lexical_cast) -AC_DEFUN([BOOST_CONVERSION], -[BOOST_FIND_HEADER([boost/cast.hpp]) -BOOST_FIND_HEADER([boost/lexical_cast.hpp]) -])# BOOST_CONVERSION - - -# BOOST_DATE_TIME([PREFERRED-RT-OPT]) -# ----------------------------------- -# Look for Boost.Date_Time. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_DATE_TIME], -[BOOST_FIND_LIB([date_time], [$1], - [boost/date_time/posix_time/posix_time.hpp], - [boost::posix_time::ptime t;]) -])# BOOST_DATE_TIME - - -# BOOST_FILESYSTEM([PREFERRED-RT-OPT]) -# ------------------------------------ -# Look for Boost.Filesystem. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -# Do not check for boost/filesystem.hpp because this file was introduced in -# 1.34. -AC_DEFUN([BOOST_FILESYSTEM], -[# Do we have to check for Boost.System? This link-time dependency was -# added as of 1.35.0. If we have a version <1.35, we must not attempt to -# find Boost.System as it didn't exist by then. -if test $boost_major_version -ge 135; then -BOOST_SYSTEM([$1]) -fi # end of the Boost.System check. -boost_filesystem_save_LIBS=$LIBS -boost_filesystem_save_LDFLAGS=$LDFLAGS -m4_pattern_allow([^BOOST_SYSTEM_(LIBS|LDFLAGS)$])dnl -LIBS="$LIBS $BOOST_SYSTEM_LIBS" -LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS" -BOOST_FIND_LIB([filesystem], [$1], - [boost/filesystem/path.hpp], [boost::filesystem::path p;]) -LIBS=$boost_filesystem_save_LIBS -LDFLAGS=$boost_filesystem_save_LDFLAGS -])# BOOST_FILESYSTEM - - -# BOOST_FOREACH() -# --------------- -# Look for Boost.Foreach -AC_DEFUN([BOOST_FOREACH], -[BOOST_FIND_HEADER([boost/foreach.hpp])]) - - -# BOOST_FORMAT() -# -------------- -# Look for Boost.Format -# Note: we can't check for boost/format/format_fwd.hpp because the header isn't -# standalone. It can't be compiled because it triggers the following error: -# boost/format/detail/config_macros.hpp:88: error: 'locale' in namespace 'std' -# does not name a type -AC_DEFUN([BOOST_FORMAT], -[BOOST_FIND_HEADER([boost/format.hpp])]) - - -# BOOST_FUNCTION() -# ---------------- -# Look for Boost.Function -AC_DEFUN([BOOST_FUNCTION], -[BOOST_FIND_HEADER([boost/function.hpp])]) - - -# BOOST_FUSTION() -# ---------------- -# Look for Boost.Fusion -AC_DEFUN([BOOST_FUSION], -[BOOST_FIND_HEADER([boost/fusion/include/vector.hpp])]) - - -# BOOST_GRAPH([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.Graphs. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_GRAPH], -[BOOST_FIND_LIB([graph], [$1], - [boost/graph/adjacency_list.hpp], [boost::adjacency_list<> g;]) -])# BOOST_GRAPH - - -# BOOST_IOSTREAMS([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.IOStreams. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_IOSTREAMS], -[BOOST_FIND_LIB([iostreams], [$1], - [boost/iostreams/device/file_descriptor.hpp], - [boost::iostreams::file_descriptor fd(0); fd.close();]) -])# BOOST_IOSTREAMS - - -# BOOST_HASH() -# ------------ -# Look for Boost.Functional/Hash -AC_DEFUN([BOOST_HASH], -[BOOST_FIND_HEADER([boost/functional/hash.hpp])]) - - -# BOOST_LAMBDA() -# -------------- -# Look for Boost.Lambda -AC_DEFUN([BOOST_LAMBDA], -[BOOST_FIND_HEADER([boost/lambda/lambda.hpp])]) - -# BOOST_MPL() -# -------------- -# Look for Boost.MPL -AC_DEFUN([BOOST_MPL], -[BOOST_FIND_HEADER([boost/mpl/void_fwd.hpp])]) - - -# BOOST_OPTIONAL() -# ---------------- -# Look for Boost.Optional -AC_DEFUN([BOOST_OPTIONAL], -[BOOST_FIND_HEADER([boost/optional.hpp])]) - - -# BOOST_PREPROCESSOR() -# -------------------- -# Look for Boost.Preprocessor -AC_DEFUN([BOOST_PREPROCESSOR], -[BOOST_FIND_HEADER([boost/preprocessor/repeat.hpp])]) - - -# BOOST_PROGRAM_OPTIONS([PREFERRED-RT-OPT]) -# ----------------------------------------- -# Look for Boost.Program_options. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_PROGRAM_OPTIONS], -[BOOST_FIND_LIB([program_options], [$1], - [boost/program_options.hpp], - [boost::program_options::options_description d("test");]) -])# BOOST_PROGRAM_OPTIONS - - -# BOOST_REF() -# ----------- -# Look for Boost.Ref -AC_DEFUN([BOOST_REF], -[BOOST_FIND_HEADER([boost/ref.hpp])]) - - -# BOOST_REGEX([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.Regex. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_REGEX], -[BOOST_FIND_LIB([regex], [$1], - [boost/regex.hpp], - [boost::regex exp("*"); boost::regex_match("foo", exp);]) -])# BOOST_REGEX - - -# BOOST_SERIALIZATION([PREFERRED-RT-OPT]) -# --------------------------------------- -# Look for Boost.Serialization. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_SERIALIZATION], -[BOOST_FIND_LIB([serialization], [$1], - [boost/archive/text_oarchive.hpp], - [std::ostream* o = 0; // Cheap way to get an ostream... - boost::archive::text_oarchive t(*o);]) -])# BOOST_SIGNALS - - -# BOOST_SIGNALS([PREFERRED-RT-OPT]) -# --------------------------------- -# Look for Boost.Signals. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_SIGNALS], -[BOOST_FIND_LIB([signals], [$1], - [boost/signal.hpp], - [boost::signal<void ()> s;]) -])# BOOST_SIGNALS - - -# BOOST_SMART_PTR() -# ----------------- -# Look for Boost.SmartPtr -AC_DEFUN([BOOST_SMART_PTR], -[BOOST_FIND_HEADER([boost/scoped_ptr.hpp]) -BOOST_FIND_HEADER([boost/shared_ptr.hpp]) -]) - - -# BOOST_STATICASSERT() -# -------------------- -# Look for Boost.StaticAssert -AC_DEFUN([BOOST_STATICASSERT], -[BOOST_FIND_HEADER([boost/static_assert.hpp])]) - - -# BOOST_STRING_ALGO() -# ------------------- -# Look for Boost.StringAlgo -AC_DEFUN([BOOST_STRING_ALGO], -[BOOST_FIND_HEADER([boost/algorithm/string.hpp]) -]) - - -# BOOST_SYSTEM([PREFERRED-RT-OPT]) -# -------------------------------- -# Look for Boost.System. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. This library was introduced in Boost -# 1.35.0. -AC_DEFUN([BOOST_SYSTEM], -[BOOST_FIND_LIB([system], [$1], - [boost/system/error_code.hpp], - [boost::system::error_code e; e.clear();]) -])# BOOST_SYSTEM - - -# BOOST_TEST([PREFERRED-RT-OPT]) -# ------------------------------ -# Look for Boost.Test. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_TEST], -[m4_pattern_allow([^BOOST_CHECK$])dnl -BOOST_FIND_LIB([unit_test_framework], [$1], - [boost/test/unit_test.hpp], [BOOST_CHECK(2 == 2);], - [using boost::unit_test::test_suite; - test_suite* init_unit_test_suite(int argc, char ** argv) - { return NULL; }]) -])# BOOST_TEST - - -# BOOST_THREADS([PREFERRED-RT-OPT]) -# --------------------------------- -# Look for Boost.Thread. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -# FIXME: Provide an alias "BOOST_THREAD". -AC_DEFUN([BOOST_THREADS], -[dnl Having the pthread flag is required at least on GCC3 where -dnl boost/thread.hpp would complain if we try to compile without -dnl -pthread on GNU/Linux. -AC_REQUIRE([_BOOST_PTHREAD_FLAG])dnl -boost_threads_save_LIBS=$LIBS -boost_threads_save_CPPFLAGS=$CPPFLAGS -LIBS="$LIBS $boost_cv_pthread_flag" -# Yes, we *need* to put the -pthread thing in CPPFLAGS because with GCC3, -# boost/thread.hpp will trigger a #error if -pthread isn't used: -# boost/config/requires_threads.hpp:47:5: #error "Compiler threading support -# is not turned on. Please set the correct command line options for -# threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" -CPPFLAGS="$CPPFLAGS $boost_cv_pthread_flag" -BOOST_FIND_LIB([thread], [$1], - [boost/thread.hpp], [boost::thread t; boost::mutex m;]) -BOOST_THREAD_LIBS="$BOOST_THREAD_LIBS $boost_cv_pthread_flag" -BOOST_CPPFLAGS="$BOOST_CPPFLAGS $boost_cv_pthread_flag" -LIBS=$boost_threads_save_LIBS -CPPFLAGS=$boost_threads_save_CPPFLAGS -])# BOOST_THREADS - - -# BOOST_TOKENIZER() -# ----------------- -# Look for Boost.Tokenizer -AC_DEFUN([BOOST_TOKENIZER], -[BOOST_FIND_HEADER([boost/tokenizer.hpp])]) - - -# BOOST_TRIBOOL() -# --------------- -# Look for Boost.Tribool -AC_DEFUN([BOOST_TRIBOOL], -[BOOST_FIND_HEADER([boost/logic/tribool_fwd.hpp]) -BOOST_FIND_HEADER([boost/logic/tribool.hpp]) -]) - - -# BOOST_TUPLE() -# ------------- -# Look for Boost.Tuple -AC_DEFUN([BOOST_TUPLE], -[BOOST_FIND_HEADER([boost/tuple/tuple.hpp])]) - - -# BOOST_TYPETRAITS() -# -------------------- -# Look for Boost.TypeTraits -AC_DEFUN([BOOST_TYPETRAITS], -[BOOST_FIND_HEADER([boost/type_traits.hpp])]) - - -# BOOST_UTILITY() -# --------------- -# Look for Boost.Utility (noncopyable, result_of, base-from-member idiom, -# etc.) -AC_DEFUN([BOOST_UTILITY], -[BOOST_FIND_HEADER([boost/utility.hpp])]) - - -# BOOST_VARIANT() -# --------------- -# Look for Boost.Variant. -AC_DEFUN([BOOST_VARIANT], -[BOOST_FIND_HEADER([boost/variant/variant_fwd.hpp]) -BOOST_FIND_HEADER([boost/variant.hpp])]) - - -# BOOST_WAVE([PREFERRED-RT-OPT]) -# ------------------------------ -# NOTE: If you intend to use Wave/Spirit with thread support, make sure you -# call BOOST_THREADS first. -# Look for Boost.Wave. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_WAVE], -[AC_REQUIRE([BOOST_FILESYSTEM])dnl -AC_REQUIRE([BOOST_DATE_TIME])dnl -boost_wave_save_LIBS=$LIBS -boost_wave_save_LDFLAGS=$LDFLAGS -m4_pattern_allow([^BOOST_((FILE)?SYSTEM|DATE_TIME|THREAD)_(LIBS|LDFLAGS)$])dnl -LIBS="$LIBS $BOOST_SYSTEM_LIBS $BOOST_FILESYSTEM_LIBS $BOOST_DATE_TIME_LIBS\ -$BOOST_THREAD_LIBS" -LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS $BOOST_FILESYSTEM_LDFLAGS\ -$BOOST_DATE_TIME_LDFLAGS $BOOST_THREAD_LDFLAGS" -BOOST_FIND_LIB([wave], [$1], - [boost/wave.hpp], - [boost::wave::token_id id; get_token_name(id);]) -LIBS=$boost_wave_save_LIBS -LDFLAGS=$boost_wave_save_LDFLAGS -])# BOOST_WAVE - - -# BOOST_XPRESSIVE() -# ----------------- -# Look for Boost.Xpressive (new since 1.36.0). -AC_DEFUN([BOOST_XPRESSIVE], -[BOOST_FIND_HEADER([boost/xpressive/xpressive.hpp])]) - - -# ----------------- # -# Internal helpers. # -# ----------------- # - - -# _BOOST_PTHREAD_FLAG() -# --------------------- -# Internal helper for BOOST_THREADS. Based on ACX_PTHREAD: -# http://autoconf-archive.cryp.to/acx_pthread.html -AC_DEFUN([_BOOST_PTHREAD_FLAG], -[AC_REQUIRE([AC_PROG_CXX])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_LANG_PUSH([C++])dnl -AC_CACHE_CHECK([for the flags needed to use pthreads], [boost_cv_pthread_flag], -[ boost_cv_pthread_flag= - # The ordering *is* (sometimes) important. Some notes on the - # individual items follow: - # (none): in case threads are in libc; should be tried before -Kthread and - # other compiler flags to prevent continual compiler warnings - # -lpthreads: AIX (must check this before -lpthread) - # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) - # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) - # -llthread: LinuxThreads port on FreeBSD (also preferred to -pthread) - # -pthread: GNU Linux/GCC (kernel threads), BSD/GCC (userland threads) - # -pthreads: Solaris/GCC - # -mthreads: MinGW32/GCC, Lynx/GCC - # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it - # doesn't hurt to check since this sometimes defines pthreads too; - # also defines -D_REENTRANT) - # ... -mt is also the pthreads flag for HP/aCC - # -lpthread: GNU Linux, etc. - # --thread-safe: KAI C++ - case $host_os in #( - *solaris*) - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - boost_pthread_flags="-pthreads -lpthread -mt -pthread";; #( - *) - boost_pthread_flags="-lpthreads -Kthread -kthread -llthread -pthread \ - -pthreads -mthreads -lpthread --thread-safe -mt";; - esac - # Generate the test file. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <pthread.h>], - [pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0);])]) - for boost_pthread_flag in '' $boost_pthread_flags; do - boost_pthread_ok=false -dnl Re-use the test file already generated. - boost_pthreads__save_LIBS=$LIBS - LIBS="$LIBS $boost_pthread_flag" - AC_LINK_IFELSE([], - [if grep ".*$boost_pthread_flag" conftest.err; then - echo "This flag seems to have triggered warnings" >&AS_MESSAGE_LOG_FD - else - boost_pthread_ok=:; boost_cv_pthread_flag=$boost_pthread_flag - fi]) - LIBS=$boost_pthreads__save_LIBS - $boost_pthread_ok && break - done -]) -AC_LANG_POP([C++])dnl -])# _BOOST_PTHREAD_FLAG - - -# _BOOST_gcc_test(MAJOR, MINOR) -# ----------------------------- -# Internal helper for _BOOST_FIND_COMPILER_TAG. -m4_define([_BOOST_gcc_test], -["defined __GNUC__ && __GNUC__ == $1 && __GNUC_MINOR__ == $2 && !defined __ICC @ gcc$1$2"])dnl - - -# _BOOST_FIND_COMPILER_TAG() -# -------------------------- -# Internal. When Boost is installed without --layout=system, each library -# filename will hold a suffix that encodes the compiler used during the -# build. The Boost build system seems to call this a `tag'. -AC_DEFUN([_BOOST_FIND_COMPILER_TAG], -[AC_REQUIRE([AC_PROG_CXX])dnl -AC_CACHE_CHECK([for the toolset name used by Boost for $CXX], [boost_cv_lib_tag], -[AC_LANG_PUSH([C++])dnl - boost_cv_lib_tag=unknown - # The following tests are mostly inspired by boost/config/auto_link.hpp - # The list is sorted to most recent/common to oldest compiler (in order - # to increase the likelihood of finding the right compiler with the - # least number of compilation attempt). - # Beware that some tests are sensible to the order (for instance, we must - # look for MinGW before looking for GCC3). - # I used one compilation test per compiler with a #error to recognize - # each compiler so that it works even when cross-compiling (let me know - # if you know a better approach). - # Known missing tags (known from Boost's tools/build/v2/tools/common.jam): - # como, edg, kcc, bck, mp, sw, tru, xlc - # I'm not sure about my test for `il' (be careful: Intel's ICC pre-defines - # the same defines as GCC's). - # TODO: Move the test on GCC 4.4 up once it's released. - for i in \ - _BOOST_gcc_test(4, 3) \ - _BOOST_gcc_test(4, 2) \ - _BOOST_gcc_test(4, 1) \ - _BOOST_gcc_test(4, 0) \ - "defined __GNUC__ && __GNUC__ == 3 && !defined __ICC \ - && (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \ - || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw" \ - _BOOST_gcc_test(3, 4) \ - _BOOST_gcc_test(3, 3) \ - "defined _MSC_VER && _MSC_VER >= 1400 @ vc80" \ - _BOOST_gcc_test(3, 2) \ - "defined _MSC_VER && _MSC_VER == 1310 @ vc71" \ - _BOOST_gcc_test(3, 1) \ - _BOOST_gcc_test(3, 0) \ - "defined __BORLANDC__ @ bcb" \ - "defined __ICC && (defined __unix || defined __unix__) @ il" \ - "defined __ICL @ iw" \ - "defined _MSC_VER && _MSC_VER == 1300 @ vc7" \ - _BOOST_gcc_test(4, 4) \ - _BOOST_gcc_test(2, 95) \ - "defined __MWERKS__ && __MWERKS__ <= 0x32FF @ cw9" \ - "defined _MSC_VER && _MSC_VER < 1300 && !defined UNDER_CE @ vc6" \ - "defined _MSC_VER && _MSC_VER < 1300 && defined UNDER_CE @ evc4" \ - "defined __MWERKS__ && __MWERKS__ <= 0x31FF @ cw8" - do - boost_tag_test=`expr "X$i" : 'X\([[^@]]*\) @ '` - boost_tag=`expr "X$i" : 'X[[^@]]* @ \(.*\)'` - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if $boost_tag_test -/* OK */ -#else -# error $boost_tag_test -#endif -]])], [boost_cv_lib_tag=$boost_tag; break], []) - done -AC_LANG_POP([C++])dnl - case $boost_cv_lib_tag in #( - # Some newer (>= 1.35?) versions of Boost seem to only use "gcc" as opposed - # to "gcc41" for instance. - *-gcc | *'-gcc ') :;; #( Don't re-add -gcc: it's already in there. - gcc*) - # We can specify multiple tags in this variable because it's used by - # BOOST_FIND_LIB that does a `for tag in -$boost_cv_lib_tag' ... - boost_cv_lib_tag="$boost_cv_lib_tag -gcc" - ;; #( - unknown) - AC_MSG_WARN([[could not figure out which toolset name to use for $CXX]]) - boost_cv_lib_tag= - ;; - esac -])dnl end of AC_CACHE_CHECK -])# _BOOST_FIND_COMPILER_TAG - - -# _BOOST_GUESS_WHETHER_TO_USE_MT() -# -------------------------------- -# Compile a small test to try to guess whether we should favor MT (Multi -# Thread) flavors of Boost. Sets boost_guess_use_mt accordingly. -AC_DEFUN([_BOOST_GUESS_WHETHER_TO_USE_MT], -[# Check whether we do better use `mt' even though we weren't ask to. -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if defined _REENTRANT || defined _MT || defined __MT__ -/* use -mt */ -#else -# error MT not needed -#endif -]])], [boost_guess_use_mt=:], [boost_guess_use_mt=false]) -]) - -# _BOOST_AC_LINK_IFELSE(PROGRAM, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) -# ------------------------------------------------------------------- -# Fork of _AC_LINK_IFELSE that preserves conftest.o across calls. Fragile, -# will break when Autoconf changes its internals. Requires that you manually -# rm -f conftest.$ac_objext in between to really different tests, otherwise -# you will try to link a conftest.o left behind by a previous test. -# Used to aggressively optimize BOOST_FIND_LIB (see the big comment in this -# macro) -m4_define([_BOOST_AC_LINK_IFELSE], -[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl -rm -f conftest$ac_exeext -boost_ac_ext_save=$ac_ext -boost_use_source=: -# If we already have a .o, re-use it. We change $ac_ext so that $ac_link -# tries to link the existing object file instead of compiling from source. -test -f conftest.$ac_objext && ac_ext=$ac_objext && boost_use_source=false && - _AS_ECHO_LOG([re-using the existing conftest.$ac_objext]) -AS_IF([_AC_DO_STDERR($ac_link) && { - test -z "$ac_[]_AC_LANG_ABBREV[]_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_executable_p conftest$ac_exeext -dnl FIXME: use AS_TEST_X instead when 2.61 is widespread enough. - }], - [$2], - [if $boost_use_source; then - _AC_MSG_LOG_CONFTEST - fi - $3]) -dnl Delete also the IPA/IPO (Inter Procedural Analysis/Optimization) -dnl information created by the PGI compiler (conftest_ipa8_conftest.oo), -dnl as it would interfere with the next link command. -rm -f core conftest.err conftest_ipa8_conftest.oo \ - conftest$ac_exeext m4_ifval([$1], [conftest.$ac_ext])[]dnl -])# _BOOST_AC_LINK_IFELSE - -# Local Variables: -# mode: autoconf -# End: diff --git a/build-aux/bootstrap b/build-aux/bootstrap deleted file mode 100755 index 1f2ecd4..0000000 --- a/build-aux/bootstrap +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh -set -x -autoreconf -v -i diff --git a/build-aux/config.guess b/build-aux/config.guess deleted file mode 100755 index 84d5b85..0000000 --- a/build-aux/config.guess +++ /dev/null @@ -1,1574 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2009-02-03' - -# This file 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 2 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, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner <pe...@bo...>. -# Please send patches to <con...@gn...>. Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <con...@gn...>." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (gh...@no... 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -if [ "${UNAME_SYSTEM}" = "Linux" ] ; then - eval $set_cc_for_build - cat << EOF > $dummy.c - #include <features.h> - #ifdef __UCLIBC__ - # ifdef __UCLIBC_CONFIG_VERSION__ - LIBC=uclibc __UCLIBC_CONFIG_VERSION__ - # else - LIBC=uclibc - # endif - #else - LIBC=gnu - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'` -fi - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # ak...@wp... (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - ech... [truncated message content] |
From: Thomas M. <tho...@us...> - 2009-07-02 02:01:16
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via 58e3f50816fe3ee8fe1adcdf1c3a9357b3a98ff7 (commit) from b6ecb51f7bd4f6d95e883cc020eac64f53eee601 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 58e3f50816fe3ee8fe1adcdf1c3a9357b3a98ff7 Author: Thomas Moulard <tho...@gm...> Date: Thu Jul 2 10:55:08 2009 +0900 Use submodules to factorize code. * .gitmodules: New. * build-aux/autotest.at: Remove. * build-aux/autotest.mk: Remove. * build-aux/boost.m4: Remove. * build-aux/bootstrap: Remove. * build-aux/config.guess: Remove. * build-aux/config.sub: Remove. * build-aux/deb.mk: Remove. * build-aux/depcomp: Remove. * build-aux/doxygen.m4: Remove. * build-aux/ebuild.mk: Remove. * build-aux/init.mk: Remove. * build-aux/install-sh: Remove. * build-aux/libtool.m4: Remove. * build-aux/ltmain.sh: Remove. * build-aux/ltoptions.m4: Remove. * build-aux/ltsugar.m4: Remove. * build-aux/ltversion.m4: Remove. * build-aux/lt~obsolete.m4: Remove. * build-aux/missing: Remove. * build-aux/move-if-change: Remove. * build-aux/pkg-config.mk: Remove. * build-aux/pkg-config.pc.in: Remove. * build-aux/roboptim-core.m4: Remove. * build-aux/rpm.mk: Remove. * build-aux/warning.m4: Remove. * build-aux: New. * doc/Doxyfile.in: Remove. * doc/Makefile.am: Remove. * doc/doxygen.css: Remove. * doc/footer.html: Remove. * doc/header.html: Remove. * doc/package.css: Remove. * doc/sf-upload.sh.in: Remove. * doc/tabs.css: Remove. * doc: New. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..55f2f0b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "build-aux"] + path = build-aux + url = sourceforge:roboptim +[submodule "doc"] + path = doc + url = sourceforge:roboptim diff --git a/ChangeLog b/ChangeLog index 67c0b7e..382462e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,43 @@ +2009-07-02 Thomas Moulard <tho...@gm...> + + Use submodules to factorize code. + * .gitmodules: New. + * build-aux/autotest.at: Remove. + * build-aux/autotest.mk: Remove. + * build-aux/boost.m4: Remove. + * build-aux/bootstrap: Remove. + * build-aux/config.guess: Remove. + * build-aux/config.sub: Remove. + * build-aux/deb.mk: Remove. + * build-aux/depcomp: Remove. + * build-aux/doxygen.m4: Remove. + * build-aux/ebuild.mk: Remove. + * build-aux/init.mk: Remove. + * build-aux/install-sh: Remove. + * build-aux/libtool.m4: Remove. + * build-aux/ltmain.sh: Remove. + * build-aux/ltoptions.m4: Remove. + * build-aux/ltsugar.m4: Remove. + * build-aux/ltversion.m4: Remove. + * build-aux/lt~obsolete.m4: Remove. + * build-aux/missing: Remove. + * build-aux/move-if-change: Remove. + * build-aux/pkg-config.mk: Remove. + * build-aux/pkg-config.pc.in: Remove. + * build-aux/roboptim-core.m4: Remove. + * build-aux/rpm.mk: Remove. + * build-aux/warning.m4: Remove. + * build-aux: New. + * doc/Doxyfile.in: Remove. + * doc/Makefile.am: Remove. + * doc/doxygen.css: Remove. + * doc/footer.html: Remove. + * doc/header.html: Remove. + * doc/package.css: Remove. + * doc/sf-upload.sh.in: Remove. + * doc/tabs.css: Remove. + * doc: New. + 2009-06-26 Thomas Moulard <tho...@gm...> Remove debug code. diff --git a/build-aux b/build-aux new file mode 160000 index 0000000..53249c7 --- /dev/null +++ b/build-aux @@ -0,0 +1 @@ +Subproject commit 53249c7a39864b963946d8088c421e367c8e6b75 diff --git a/build-aux/autotest.at b/build-aux/autotest.at deleted file mode 100644 index 75485ee..0000000 --- a/build-aux/autotest.at +++ /dev/null @@ -1,63 +0,0 @@ -# -*-Autoconf-*- -# Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. -# This file is part of the roboptim. -# -# roboptim 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# roboptim 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 roboptim. If not, see <http://www.gnu.org/licenses/>. - -# serial 1 - -m4_pattern_forbid([^CHECK_STDOUT]) - - -# CHECK_STDOUT(BINARY, [DESCRIPTION], -# [SKIP_EXPR = false], [XFAIL_EXPR = false]) -# -------------------------------------------------------------- -# Check against a ``.stdout'' file. -# If the binary can not be built, the test is skipped. -# BINARY: the binary that has to be runned. -# DESCRIPTION: test's description. -# SKIP_EXPR: if shell expression evalutes to true, skip test. -# XFAIL_EXPR: if shell expression evalutes to true, tag test as xfail. -m4_define([CHECK_STDOUT], -[m4_ifset ([$1], [], - [m4_fatal([CHECK_STDOUT has be called with at least one argument])]) -AT_SETUP([m4_default([$2], [Unnamed test])]) - -AT_CHECK([if m4_default([$3], [false]); then - exit 77; else - true; fi], [0], [ignore], [ignore]) - -AT_XFAIL_IF([m4_default([$4], [false])]) -cp $abs_srcdir/$1.stdout expout -AT_CHECK([$CHECK_PREFIX `which $1`], [0], [expout], [ignore]) - -AT_CLEANUP -]) # CHECK_STDOUT - - -# CHECK_STDOUT_SKIP(BINARY, [DESCRIPTION], [XFAIL_EXPR]) -# -------------------------------------------------------------- -# Do a CHECK_STDOUT if the BINARY exists (is in the path). -m4_define([CHECK_STDOUT_SKIPPABLE], -[CHECK_STDOUT([$1], [$2], [test x`which $1` = x], [$3]) -]) # CHECK_STDOUT_SKIP - -# End of autotest.at diff --git a/build-aux/autotest.mk b/build-aux/autotest.mk deleted file mode 100644 index 1308305..0000000 --- a/build-aux/autotest.mk +++ /dev/null @@ -1,87 +0,0 @@ -# -*-Automake-*- -# Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. -# This file is part of the roboptim. -# -# roboptim 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# roboptim 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 roboptim. If not, see <http://www.gnu.org/licenses/>. - -# -------# -# README # -# -------# - -# This file should be included in Makefile.am associated to a directory which -# contains an Autotest test suite. -# -# This file assumes that: -# -# - you include *before* this file init.mk or make sure that any global -# variable can be used with the += syntax. -# - package.m4 is located in $(top_builddir)/tests -# - you provide atlocal and testsuite.at files (see Autotest -# documentation in the Autoconf manual). -# - you define TESTSUITE_AT which contains the list of the .at files -# included by this test suite. - - -# -----# -# TODO # -# -----# - -# - Make it more generic. - - -# Define how autom4te is called to generate the testsuite file. -AUTOTEST = $(AUTOM4TE) --language=autotest -Wall - -# Package following files. -EXTRA_DIST += atlocal testsuite.at $(TESTSUITE) $(TESTSUITE_AT) - -# Run testsuite in this directory. -TESTSUITE = $(srcdir)/testsuite - -# Define where package.m4.in is located. -PACKAGE_M4_IN=$(top_srcdir)/tests/package.m4.in - -# Define m4 dependencies. -TESTSUITE_AT = $(top_srcdir)/build-aux/autotest.at - - -# ----- # -# RULES # -# ----- # - -check-local: atconfig atlocal $(TESTSUITE) - $(SHELL) $(TESTSUITE) $(TESTSUITEFLAGS) - -installcheck-local: atconfig atlocal $(TESTSUITE) - $(SHELL) $(TESTSUITE) AUTOTEST_PATH="$(bindir)" $(TESTSUITEFLAGS) - -clean-local: - test ! -f $(TESTSUITE) || $(SHELL) $(TESTSUITE) --clean - rm -f -r autom4te.cache - -$(TESTSUITE): $(PACKAGE_M4_IN) $(srcdir)/testsuite.at $(TESTSUITE_AT) \ - $(top_srcdir)/configure - $(AUTOTEST) -I'$(srcdir)' -I'$(top_srcdir)/build-aux' \ - -I'$(top_builddir)/tests' $@.at -o $@.tmp - mv $@.tmp $@ - -atconfig: $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status tests/$@ diff --git a/build-aux/boost.m4 b/build-aux/boost.m4 deleted file mode 100644 index a9fc46c..0000000 --- a/build-aux/boost.m4 +++ /dev/null @@ -1,933 +0,0 @@ -# boost.m4: Locate Boost headers and libraries for autoconf-based projects. -# Copyright (C) 2007, 2008, 2009 Benoit Sigoure <ts...@lr...> -# -# 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# serial 10 -# Original sources can be found at http://repo.or.cz/w/boost.m4.git -# You can fetch the latest version of the script by doing: -# wget 'http://repo.or.cz/w/boost.m4.git?a=blob_plain;f=build-aux/boost.m4;hb=HEAD' -O boost.m4 - -# ------ # -# README # -# ------ # - -# This file provides several macros to use the various Boost libraries. -# The first macro is BOOST_REQUIRE. It will simply check if it's possible to -# find the Boost headers of a given (optional) minimum version and it will -# define BOOST_CPPFLAGS accordingly. It will add an option --with-boost to -# your configure so that users can specify non standard locations. -# If the user's environment contains BOOST_ROOT and --with-boost was not -# specified, --with-boost=$BOOST_ROOT is implicitly used. -# For more README and documentation, go to http://repo.or.cz/w/boost.m4.git -# Note: THESE MACROS ASSUME THAT YOU USE LIBTOOL. If you don't, don't worry, -# simply read the README, it will show you what to do step by step. - -m4_pattern_forbid([^_?BOOST_]) - - -# _BOOST_SED_CPP(SED-PROGRAM, PROGRAM, -# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -------------------------------------------------------- -# Same as AC_EGREP_CPP, but leave the result in conftest.i. -# PATTERN is *not* overquoted, as in AC_EGREP_CPP. It could be useful -# to turn this into a macro which extracts the value of any macro. -m4_define([_BOOST_SED_CPP], -[AC_LANG_PREPROC_REQUIRE()dnl -AC_REQUIRE([AC_PROG_SED])dnl -AC_LANG_CONFTEST([AC_LANG_SOURCE([[$2]])]) -AS_IF([dnl eval is necessary to expand ac_cpp. -dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell. -(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | - $SED -n -e "$1" >conftest.i 2>&1], - [$3], - [$4])dnl -rm -f conftest* -])# AC_EGREP_CPP - - - -# BOOST_REQUIRE([VERSION]) -# ------------------------ -# Look for Boost. If version is given, it must either be a literal of the form -# "X.Y.Z" where X, Y and Z are integers (the ".Z" part being optional) or a -# variable "$var". -# Defines the value BOOST_CPPFLAGS. This macro only checks for headers with -# the required version, it does not check for any of the Boost libraries. -# FIXME: Add a 2nd optional argument so that it's not fatal if Boost isn't found -# and add an AC_DEFINE to tell whether HAVE_BOOST. -AC_DEFUN([BOOST_REQUIRE], -[boost_save_IFS=$IFS -boost_version_req="$1" -IFS=. -set x $boost_version_req 0 0 0 -IFS=$boost_save_IFS -shift -boost_version_req=`expr "$[1]" '*' 100000 + "$[2]" '*' 100 + "$[3]"` -AC_ARG_WITH([boost], - [AS_HELP_STRING([--with-boost=DIR], - [prefix of Boost $1 @<:@guess@:>@])])dnl -AC_ARG_VAR([BOOST_ROOT],[Location of Boost installation])dnl -# If BOOST_ROOT is set and the user has not provided a value to -# --with-boost, then treat BOOST_ROOT as if it the user supplied it. -if test x"$BOOST_ROOT" != x; then - if test x"$with_boost" = x; then - AC_MSG_NOTICE([Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT]) - with_boost=$BOOST_ROOT - else - AC_MSG_NOTICE([Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost]) - fi -fi -AC_SUBST([DISTCHECK_CONFIGURE_FLAGS], - ["$DISTCHECK_CONFIGURE_FLAGS '--with-boost=$with_boost'"]) -boost_save_CPPFLAGS=$CPPFLAGS - AC_CACHE_CHECK([for Boost headers version >= $boost_version_req], - [boost_cv_inc_path], - [boost_cv_inc_path=no -AC_LANG_PUSH([C++])dnl -m4_pattern_allow([^BOOST_VERSION$])dnl - AC_LANG_CONFTEST([AC_LANG_PROGRAM([[#include <boost/version.hpp> -#if !defined BOOST_VERSION -# error BOOST_VERSION is not defined -#elif BOOST_VERSION < $boost_version_req -# error Boost headers version < $boost_version_req -#endif -]])]) - # If the user provided a value to --with-boost, use it and only it. - case $with_boost in #( - ''|yes) set x '' /opt/local/include /usr/local/include /opt/include \ - /usr/include C:/Boost/include;; #( - *) set x "$with_boost/include" "$with_boost";; - esac - shift - for boost_dir - do - # Without --layout=system, Boost (or at least some versions) installs - # itself in <prefix>/include/boost-<version>. This inner loop helps to - # find headers in such directories. - # I didn't indent this loop on purpose (to avoid over-indented code) - for boost_inc in "$boost_dir" "$boost_dir"/boost-* - do - test x"$boost_inc" != x && CPPFLAGS="$CPPFLAGS -I$boost_inc" - AC_COMPILE_IFELSE([], [boost_cv_inc_path=yes], [boost_cv_version=no]) - if test x"$boost_cv_inc_path" = xyes; then - if test x"$boost_inc" != x; then - boost_cv_inc_path=$boost_inc - fi - break 2 - fi - done - done -AC_LANG_POP([C++])dnl - ]) - case $boost_cv_inc_path in #( - no) AC_MSG_ERROR([cannot find Boost headers version >= $boost_version_req]);;#( - yes) BOOST_CPPFLAGS=;;#( - *) AC_SUBST([BOOST_CPPFLAGS], ["-I$boost_cv_inc_path"]);; - esac - AC_CACHE_CHECK([for Boost's header version], - [boost_cv_lib_version], - [m4_pattern_allow([^BOOST_LIB_VERSION$])dnl - _BOOST_SED_CPP([/^boost-lib-version = /{s///;s/\"//g;p;g;}], - [#include <boost/version.hpp> -boost-lib-version = BOOST_LIB_VERSION], - [boost_cv_lib_version=`cat conftest.i`])]) - # e.g. "134" for 1_34_1 or "135" for 1_35 - boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'` - case $boost_major_version in #( - '' | *[[!0-9]]*) - AC_MSG_ERROR([Invalid value: boost_major_version=$boost_major_version]) - ;; - esac -CPPFLAGS=$boost_save_CPPFLAGS -])# BOOST_REQUIRE - -# BOOST_STATIC() -# -------------- -# Add the "--enable-static-boost" configure argument. If this argument is given -# on the command line, static versions of the libraries will be looked up. -AC_DEFUN([BOOST_STATIC], - [AC_ARG_ENABLE([static-boost], - [AC_HELP_STRING([--enable-static-boost], - [Prefer the static boost libraries over the shared ones [no]])], - [enable_static_boost=yes], - [enable_static_boost=no])])# BOOST_STATIC - -# BOOST_FIND_HEADER([HEADER-NAME], [ACTION-IF-NOT-FOUND], [ACTION-IF-FOUND]) -# -------------------------------------------------------------------------- -# Wrapper around AC_CHECK_HEADER for Boost headers. Useful to check for -# some parts of the Boost library which are only made of headers and don't -# require linking (such as Boost.Foreach). -# -# Default ACTION-IF-NOT-FOUND: Fail with a fatal error. -# -# Default ACTION-IF-FOUND: define the preprocessor symbol HAVE_<HEADER-NAME> in -# case of success # (where HEADER-NAME is written LIKE_THIS, e.g., -# HAVE_BOOST_FOREACH_HPP). -AC_DEFUN([BOOST_FIND_HEADER], -[AC_REQUIRE([BOOST_REQUIRE])dnl -AC_LANG_PUSH([C++])dnl -boost_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" -AC_CHECK_HEADER([$1], - [m4_default([$3], [AC_DEFINE(AS_TR_CPP([HAVE_$1]), [1], - [Define to 1 if you have <$1>])])], - [m4_default([$2], [AC_MSG_ERROR([cannot find $1])])]) -CPPFLAGS=$boost_save_CPPFLAGS -AC_LANG_POP([C++])dnl -])# BOOST_FIND_HEADER - - -# BOOST_FIND_LIB([LIB-NAME], [PREFERRED-RT-OPT], [HEADER-NAME], [CXX-TEST], -# [CXX-PROLOGUE]) -# ------------------------------------------------------------------------- -# Look for the Boost library LIB-NAME (e.g., LIB-NAME = `thread', for -# libboost_thread). Check that HEADER-NAME works and check that -# libboost_LIB-NAME can link with the code CXX-TEST. The optional argument -# CXX-PROLOGUE can be used to include some C++ code before the `main' -# function. -# -# Invokes BOOST_FIND_HEADER([HEADER-NAME]) (see above). -# -# Boost libraries typically come compiled with several flavors (with different -# runtime options) so PREFERRED-RT-OPT is the preferred suffix. A suffix is one -# or more of the following letters: sgdpn (in that order). s = static -# runtime, d = debug build, g = debug/diagnostic runtime, p = STLPort build, -# n = (unsure) STLPort build without iostreams from STLPort (it looks like `n' -# must always be used along with `p'). Additionally, PREFERRED-RT-OPT can -# start with `mt-' to indicate that there is a preference for multi-thread -# builds. Some sample values for PREFERRED-RT-OPT: (nothing), mt, d, mt-d, gdp -# ... If you want to make sure you have a specific version of Boost -# (eg, >= 1.33) you *must* invoke BOOST_REQUIRE before this macro. -AC_DEFUN([BOOST_FIND_LIB], -[AC_REQUIRE([_BOOST_FIND_COMPILER_TAG])dnl -AC_REQUIRE([BOOST_REQUIRE])dnl -AC_REQUIRE([BOOST_STATIC])dnl -AC_REQUIRE([_BOOST_GUESS_WHETHER_TO_USE_MT])dnl -AC_LANG_PUSH([C++])dnl -AS_VAR_PUSHDEF([Boost_lib], [boost_cv_lib_$1])dnl -AS_VAR_PUSHDEF([Boost_lib_LDFLAGS], [boost_cv_lib_$1_LDFLAGS])dnl -AS_VAR_PUSHDEF([Boost_lib_LIBS], [boost_cv_lib_$1_LIBS])dnl -BOOST_FIND_HEADER([$3]) -boost_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" -# Now let's try to find the library. The algorithm is as follows: first look -# for a given library name according to the user's PREFERRED-RT-OPT. For each -# library name, we prefer to use the ones that carry the tag (toolset name). -# Each library is searched through the various standard paths were Boost is -# usually installed. If we can't find the standard variants, we try to -# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist -# but there's -obviously- libboost_threads-mt.dylib). -AC_CACHE_CHECK([for the Boost $1 library], [Boost_lib], - [Boost_lib=no - case "$2" in #( - mt | mt-) boost_mt=-mt; boost_rtopt=;; #( - mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X$2" : 'Xmt-*\(.*\)'`;; #( - *) boost_mt=; boost_rtopt=$2;; - esac - if test $enable_static_boost = yes; then - boost_rtopt="s$boost_rtopt" - fi - # Find the proper debug variant depending on what we've been asked to find. - case $boost_rtopt in #( - *d*) boost_rt_d=$boost_rtopt;; #( - *[[sgpn]]*) # Insert the `d' at the right place (in between `sg' and `pn') - boost_rt_d=`echo "$boost_rtopt" | sed 's/\(s*g*\)\(p*n*\)/\1\2/'`;; #( - *) boost_rt_d='-d';; - esac - # If the PREFERRED-RT-OPT are not empty, prepend a `-'. - test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt" - $boost_guess_use_mt && boost_mt=-mt - # Look for the abs path the static archive. - # $libext is computed by Libtool but let's make sure it's non empty. - test -z "$libext" && - AC_MSG_ERROR([the libext variable is empty, did you invoke Libtool?]) - boost_save_ac_objext=$ac_objext - # Generate the test file. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <$3> -$5], [$4])]) -dnl Optimization hacks: compiling C++ is slow, especially with Boost. What -dnl we're trying to do here is guess the right combination of link flags -dnl (LIBS / LDFLAGS) to use a given library. This can take several -dnl iterations before it succeeds and is thus *very* slow. So what we do -dnl instead is that we compile the code first (and thus get an object file, -dnl typically conftest.o). Then we try various combinations of link flags -dnl until we succeed to link conftest.o in an executable. The problem is -dnl that the various TRY_LINK / COMPILE_IFELSE macros of Autoconf always -dnl remove all the temporary files including conftest.o. So the trick here -dnl is to temporarily change the value of ac_objext so that conftest.o is -dnl preserved accross tests. This is obviously fragile and I will burn in -dnl hell for not respecting Autoconf's documented interfaces, but in the -dnl mean time, it optimizes the macro by a factor of 5 to 30. -dnl Another small optimization: the first argument of AC_COMPILE_IFELSE left -dnl empty because the test file is generated only once above (before we -dnl start the for loops). - AC_COMPILE_IFELSE([], - [ac_objext=do_not_rm_me_plz], - [AC_MSG_ERROR([Cannot compile a test that uses Boost $1])]) - ac_objext=$boost_save_ac_objext - boost_failed_libs= -# Don't bother to ident the 6 nested for loops, only the 2 innermost ones -# matter. -for boost_tag_ in -$boost_cv_lib_tag ''; do -for boost_ver_ in -$boost_cv_lib_version ''; do -for boost_mt_ in $boost_mt -mt ''; do -for boost_rtopt_ in $boost_rtopt '' -d; do - for boost_lib in \ - boost_$1$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \ - boost_$1$boost_tag_$boost_rtopt_$boost_ver_ \ - boost_$1$boost_tag_$boost_mt_$boost_ver_ \ - boost_$1$boost_tag_$boost_ver_ - do - # Avoid testing twice the same lib - case $boost_failed_libs in #( - *@$boost_lib@*) continue;; - esac - # If with_boost is empty, we'll search in /lib first, which is not quite - # right so instead we'll try to a location based on where the headers are. - boost_tmp_lib=$with_boost - test x"$with_boost" = x && boost_tmp_lib=${boost_cv_inc_path%/include} - for boost_ldpath in "$boost_tmp_lib/lib" '' \ - /opt/local/lib /usr/local/lib /opt/lib /usr/lib \ - "$with_boost" C:/Boost/lib /lib /usr/lib64 /lib64 - do - test -e "$boost_ldpath" || continue - boost_save_LDFLAGS=$LDFLAGS - # Are we looking for a static library? - case $boost_ldpath:$boost_rtopt_ in #( - *?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt) - Boost_lib_LIBS="$boost_ldpath/lib$boost_lib.$libext" - test -e "$Boost_lib_LIBS" || continue;; #( - *) # No: use -lboost_foo to find the shared library. - Boost_lib_LIBS="-l$boost_lib";; - esac - boost_save_LIBS=$LIBS - LIBS="$Boost_lib_LIBS $LIBS" - test x"$boost_ldpath" != x && LDFLAGS="$LDFLAGS -L$boost_ldpath" -dnl First argument of AC_LINK_IFELSE left empty because the test file is -dnl generated only once above (before we start the for loops). - _BOOST_AC_LINK_IFELSE([], - [Boost_lib=yes], [Boost_lib=no]) - ac_objext=$boost_save_ac_objext - LDFLAGS=$boost_save_LDFLAGS - LIBS=$boost_save_LIBS - if test x"$Boost_lib" = xyes; then - Boost_lib_LDFLAGS="-L$boost_ldpath -R$boost_ldpath" - break 6 - else - boost_failed_libs="$boost_failed_libs@$boost_lib@" - fi - done - done -done -done -done -done -rm -f conftest.$ac_objext -]) -case $Boost_lib in #( - no) AC_MSG_ERROR([Could not find the flags to link with Boost $1]) - ;; -esac -AC_SUBST(AS_TR_CPP([BOOST_$1_LDFLAGS]), [$Boost_lib_LDFLAGS]) -AC_SUBST(AS_TR_CPP([BOOST_$1_LIBS]), [$Boost_lib_LIBS]) -CPPFLAGS=$boost_save_CPPFLAGS -AS_VAR_POPDEF([Boost_lib])dnl -AS_VAR_POPDEF([Boost_lib_LDFLAGS])dnl -AS_VAR_POPDEF([Boost_lib_LIBS])dnl -AC_LANG_POP([C++])dnl -])# BOOST_FIND_LIB - - -# --------------------------------------- # -# Checks for the various Boost libraries. # -# --------------------------------------- # - -# List of boost libraries: http://www.boost.org/libs/libraries.htm -# The page http://beta.boost.org/doc/libs is useful: it gives the first release -# version of each library (among other things). - - -# BOOST_ASIO() -# ------------ -# Look for Boost.Asio (new in Boost 1.35). -AC_DEFUN([BOOST_ASIO], -[AC_REQUIRE([BOOST_SYSTEM])dnl -BOOST_FIND_HEADER([boost/asio.hpp])]) - - -# BOOST_BIND() -# ------------ -# Look for Boost.Bind -AC_DEFUN([BOOST_BIND], -[BOOST_FIND_HEADER([boost/bind.hpp])]) - - -# BOOST_CONVERSION() -# ------------------ -# Look for Boost.Conversion (cast / lexical_cast) -AC_DEFUN([BOOST_CONVERSION], -[BOOST_FIND_HEADER([boost/cast.hpp]) -BOOST_FIND_HEADER([boost/lexical_cast.hpp]) -])# BOOST_CONVERSION - - -# BOOST_DATE_TIME([PREFERRED-RT-OPT]) -# ----------------------------------- -# Look for Boost.Date_Time. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_DATE_TIME], -[BOOST_FIND_LIB([date_time], [$1], - [boost/date_time/posix_time/posix_time.hpp], - [boost::posix_time::ptime t;]) -])# BOOST_DATE_TIME - - -# BOOST_FILESYSTEM([PREFERRED-RT-OPT]) -# ------------------------------------ -# Look for Boost.Filesystem. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -# Do not check for boost/filesystem.hpp because this file was introduced in -# 1.34. -AC_DEFUN([BOOST_FILESYSTEM], -[# Do we have to check for Boost.System? This link-time dependency was -# added as of 1.35.0. If we have a version <1.35, we must not attempt to -# find Boost.System as it didn't exist by then. -if test $boost_major_version -ge 135; then -BOOST_SYSTEM([$1]) -fi # end of the Boost.System check. -boost_filesystem_save_LIBS=$LIBS -boost_filesystem_save_LDFLAGS=$LDFLAGS -m4_pattern_allow([^BOOST_SYSTEM_(LIBS|LDFLAGS)$])dnl -LIBS="$LIBS $BOOST_SYSTEM_LIBS" -LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS" -BOOST_FIND_LIB([filesystem], [$1], - [boost/filesystem/path.hpp], [boost::filesystem::path p;]) -LIBS=$boost_filesystem_save_LIBS -LDFLAGS=$boost_filesystem_save_LDFLAGS -])# BOOST_FILESYSTEM - - -# BOOST_FOREACH() -# --------------- -# Look for Boost.Foreach -AC_DEFUN([BOOST_FOREACH], -[BOOST_FIND_HEADER([boost/foreach.hpp])]) - - -# BOOST_FORMAT() -# -------------- -# Look for Boost.Format -# Note: we can't check for boost/format/format_fwd.hpp because the header isn't -# standalone. It can't be compiled because it triggers the following error: -# boost/format/detail/config_macros.hpp:88: error: 'locale' in namespace 'std' -# does not name a type -AC_DEFUN([BOOST_FORMAT], -[BOOST_FIND_HEADER([boost/format.hpp])]) - - -# BOOST_FUNCTION() -# ---------------- -# Look for Boost.Function -AC_DEFUN([BOOST_FUNCTION], -[BOOST_FIND_HEADER([boost/function.hpp])]) - - -# BOOST_FUSTION() -# ---------------- -# Look for Boost.Fusion -AC_DEFUN([BOOST_FUSION], -[BOOST_FIND_HEADER([boost/fusion/include/vector.hpp])]) - - -# BOOST_GRAPH([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.Graphs. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_GRAPH], -[BOOST_FIND_LIB([graph], [$1], - [boost/graph/adjacency_list.hpp], [boost::adjacency_list<> g;]) -])# BOOST_GRAPH - - -# BOOST_IOSTREAMS([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.IOStreams. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_IOSTREAMS], -[BOOST_FIND_LIB([iostreams], [$1], - [boost/iostreams/device/file_descriptor.hpp], - [boost::iostreams::file_descriptor fd(0); fd.close();]) -])# BOOST_IOSTREAMS - - -# BOOST_HASH() -# ------------ -# Look for Boost.Functional/Hash -AC_DEFUN([BOOST_HASH], -[BOOST_FIND_HEADER([boost/functional/hash.hpp])]) - - -# BOOST_LAMBDA() -# -------------- -# Look for Boost.Lambda -AC_DEFUN([BOOST_LAMBDA], -[BOOST_FIND_HEADER([boost/lambda/lambda.hpp])]) - -# BOOST_MPL() -# -------------- -# Look for Boost.MPL -AC_DEFUN([BOOST_MPL], -[BOOST_FIND_HEADER([boost/mpl/void_fwd.hpp])]) - - -# BOOST_OPTIONAL() -# ---------------- -# Look for Boost.Optional -AC_DEFUN([BOOST_OPTIONAL], -[BOOST_FIND_HEADER([boost/optional.hpp])]) - - -# BOOST_PREPROCESSOR() -# -------------------- -# Look for Boost.Preprocessor -AC_DEFUN([BOOST_PREPROCESSOR], -[BOOST_FIND_HEADER([boost/preprocessor/repeat.hpp])]) - - -# BOOST_PROGRAM_OPTIONS([PREFERRED-RT-OPT]) -# ----------------------------------------- -# Look for Boost.Program_options. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_PROGRAM_OPTIONS], -[BOOST_FIND_LIB([program_options], [$1], - [boost/program_options.hpp], - [boost::program_options::options_description d("test");]) -])# BOOST_PROGRAM_OPTIONS - - -# BOOST_REF() -# ----------- -# Look for Boost.Ref -AC_DEFUN([BOOST_REF], -[BOOST_FIND_HEADER([boost/ref.hpp])]) - - -# BOOST_REGEX([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.Regex. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_REGEX], -[BOOST_FIND_LIB([regex], [$1], - [boost/regex.hpp], - [boost::regex exp("*"); boost::regex_match("foo", exp);]) -])# BOOST_REGEX - - -# BOOST_SERIALIZATION([PREFERRED-RT-OPT]) -# --------------------------------------- -# Look for Boost.Serialization. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_SERIALIZATION], -[BOOST_FIND_LIB([serialization], [$1], - [boost/archive/text_oarchive.hpp], - [std::ostream* o = 0; // Cheap way to get an ostream... - boost::archive::text_oarchive t(*o);]) -])# BOOST_SIGNALS - - -# BOOST_SIGNALS([PREFERRED-RT-OPT]) -# --------------------------------- -# Look for Boost.Signals. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_SIGNALS], -[BOOST_FIND_LIB([signals], [$1], - [boost/signal.hpp], - [boost::signal<void ()> s;]) -])# BOOST_SIGNALS - - -# BOOST_SMART_PTR() -# ----------------- -# Look for Boost.SmartPtr -AC_DEFUN([BOOST_SMART_PTR], -[BOOST_FIND_HEADER([boost/scoped_ptr.hpp]) -BOOST_FIND_HEADER([boost/shared_ptr.hpp]) -]) - - -# BOOST_STATICASSERT() -# -------------------- -# Look for Boost.StaticAssert -AC_DEFUN([BOOST_STATICASSERT], -[BOOST_FIND_HEADER([boost/static_assert.hpp])]) - - -# BOOST_STRING_ALGO() -# ------------------- -# Look for Boost.StringAlgo -AC_DEFUN([BOOST_STRING_ALGO], -[BOOST_FIND_HEADER([boost/algorithm/string.hpp]) -]) - - -# BOOST_SYSTEM([PREFERRED-RT-OPT]) -# -------------------------------- -# Look for Boost.System. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. This library was introduced in Boost -# 1.35.0. -AC_DEFUN([BOOST_SYSTEM], -[BOOST_FIND_LIB([system], [$1], - [boost/system/error_code.hpp], - [boost::system::error_code e; e.clear();]) -])# BOOST_SYSTEM - - -# BOOST_TEST([PREFERRED-RT-OPT]) -# ------------------------------ -# Look for Boost.Test. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_TEST], -[m4_pattern_allow([^BOOST_CHECK$])dnl -BOOST_FIND_LIB([unit_test_framework], [$1], - [boost/test/unit_test.hpp], [BOOST_CHECK(2 == 2);], - [using boost::unit_test::test_suite; - test_suite* init_unit_test_suite(int argc, char ** argv) - { return NULL; }]) -])# BOOST_TEST - - -# BOOST_THREADS([PREFERRED-RT-OPT]) -# --------------------------------- -# Look for Boost.Thread. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -# FIXME: Provide an alias "BOOST_THREAD". -AC_DEFUN([BOOST_THREADS], -[dnl Having the pthread flag is required at least on GCC3 where -dnl boost/thread.hpp would complain if we try to compile without -dnl -pthread on GNU/Linux. -AC_REQUIRE([_BOOST_PTHREAD_FLAG])dnl -boost_threads_save_LIBS=$LIBS -boost_threads_save_CPPFLAGS=$CPPFLAGS -LIBS="$LIBS $boost_cv_pthread_flag" -# Yes, we *need* to put the -pthread thing in CPPFLAGS because with GCC3, -# boost/thread.hpp will trigger a #error if -pthread isn't used: -# boost/config/requires_threads.hpp:47:5: #error "Compiler threading support -# is not turned on. Please set the correct command line options for -# threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" -CPPFLAGS="$CPPFLAGS $boost_cv_pthread_flag" -BOOST_FIND_LIB([thread], [$1], - [boost/thread.hpp], [boost::thread t; boost::mutex m;]) -BOOST_THREAD_LIBS="$BOOST_THREAD_LIBS $boost_cv_pthread_flag" -BOOST_CPPFLAGS="$BOOST_CPPFLAGS $boost_cv_pthread_flag" -LIBS=$boost_threads_save_LIBS -CPPFLAGS=$boost_threads_save_CPPFLAGS -])# BOOST_THREADS - - -# BOOST_TOKENIZER() -# ----------------- -# Look for Boost.Tokenizer -AC_DEFUN([BOOST_TOKENIZER], -[BOOST_FIND_HEADER([boost/tokenizer.hpp])]) - - -# BOOST_TRIBOOL() -# --------------- -# Look for Boost.Tribool -AC_DEFUN([BOOST_TRIBOOL], -[BOOST_FIND_HEADER([boost/logic/tribool_fwd.hpp]) -BOOST_FIND_HEADER([boost/logic/tribool.hpp]) -]) - - -# BOOST_TUPLE() -# ------------- -# Look for Boost.Tuple -AC_DEFUN([BOOST_TUPLE], -[BOOST_FIND_HEADER([boost/tuple/tuple.hpp])]) - - -# BOOST_TYPETRAITS() -# -------------------- -# Look for Boost.TypeTraits -AC_DEFUN([BOOST_TYPETRAITS], -[BOOST_FIND_HEADER([boost/type_traits.hpp])]) - - -# BOOST_UTILITY() -# --------------- -# Look for Boost.Utility (noncopyable, result_of, base-from-member idiom, -# etc.) -AC_DEFUN([BOOST_UTILITY], -[BOOST_FIND_HEADER([boost/utility.hpp])]) - - -# BOOST_VARIANT() -# --------------- -# Look for Boost.Variant. -AC_DEFUN([BOOST_VARIANT], -[BOOST_FIND_HEADER([boost/variant/variant_fwd.hpp]) -BOOST_FIND_HEADER([boost/variant.hpp])]) - - -# BOOST_WAVE([PREFERRED-RT-OPT]) -# ------------------------------ -# NOTE: If you intend to use Wave/Spirit with thread support, make sure you -# call BOOST_THREADS first. -# Look for Boost.Wave. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_WAVE], -[AC_REQUIRE([BOOST_FILESYSTEM])dnl -AC_REQUIRE([BOOST_DATE_TIME])dnl -boost_wave_save_LIBS=$LIBS -boost_wave_save_LDFLAGS=$LDFLAGS -m4_pattern_allow([^BOOST_((FILE)?SYSTEM|DATE_TIME|THREAD)_(LIBS|LDFLAGS)$])dnl -LIBS="$LIBS $BOOST_SYSTEM_LIBS $BOOST_FILESYSTEM_LIBS $BOOST_DATE_TIME_LIBS\ -$BOOST_THREAD_LIBS" -LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS $BOOST_FILESYSTEM_LDFLAGS\ -$BOOST_DATE_TIME_LDFLAGS $BOOST_THREAD_LDFLAGS" -BOOST_FIND_LIB([wave], [$1], - [boost/wave.hpp], - [boost::wave::token_id id; get_token_name(id);]) -LIBS=$boost_wave_save_LIBS -LDFLAGS=$boost_wave_save_LDFLAGS -])# BOOST_WAVE - - -# BOOST_XPRESSIVE() -# ----------------- -# Look for Boost.Xpressive (new since 1.36.0). -AC_DEFUN([BOOST_XPRESSIVE], -[BOOST_FIND_HEADER([boost/xpressive/xpressive.hpp])]) - - -# ----------------- # -# Internal helpers. # -# ----------------- # - - -# _BOOST_PTHREAD_FLAG() -# --------------------- -# Internal helper for BOOST_THREADS. Based on ACX_PTHREAD: -# http://autoconf-archive.cryp.to/acx_pthread.html -AC_DEFUN([_BOOST_PTHREAD_FLAG], -[AC_REQUIRE([AC_PROG_CXX])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_LANG_PUSH([C++])dnl -AC_CACHE_CHECK([for the flags needed to use pthreads], [boost_cv_pthread_flag], -[ boost_cv_pthread_flag= - # The ordering *is* (sometimes) important. Some notes on the - # individual items follow: - # (none): in case threads are in libc; should be tried before -Kthread and - # other compiler flags to prevent continual compiler warnings - # -lpthreads: AIX (must check this before -lpthread) - # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) - # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) - # -llthread: LinuxThreads port on FreeBSD (also preferred to -pthread) - # -pthread: GNU Linux/GCC (kernel threads), BSD/GCC (userland threads) - # -pthreads: Solaris/GCC - # -mthreads: MinGW32/GCC, Lynx/GCC - # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it - # doesn't hurt to check since this sometimes defines pthreads too; - # also defines -D_REENTRANT) - # ... -mt is also the pthreads flag for HP/aCC - # -lpthread: GNU Linux, etc. - # --thread-safe: KAI C++ - case $host_os in #( - *solaris*) - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - boost_pthread_flags="-pthreads -lpthread -mt -pthread";; #( - *) - boost_pthread_flags="-lpthreads -Kthread -kthread -llthread -pthread \ - -pthreads -mthreads -lpthread --thread-safe -mt";; - esac - # Generate the test file. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <pthread.h>], - [pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0);])]) - for boost_pthread_flag in '' $boost_pthread_flags; do - boost_pthread_ok=false -dnl Re-use the test file already generated. - boost_pthreads__save_LIBS=$LIBS - LIBS="$LIBS $boost_pthread_flag" - AC_LINK_IFELSE([], - [if grep ".*$boost_pthread_flag" conftest.err; then - echo "This flag seems to have triggered warnings" >&AS_MESSAGE_LOG_FD - else - boost_pthread_ok=:; boost_cv_pthread_flag=$boost_pthread_flag - fi]) - LIBS=$boost_pthreads__save_LIBS - $boost_pthread_ok && break - done -]) -AC_LANG_POP([C++])dnl -])# _BOOST_PTHREAD_FLAG - - -# _BOOST_gcc_test(MAJOR, MINOR) -# ----------------------------- -# Internal helper for _BOOST_FIND_COMPILER_TAG. -m4_define([_BOOST_gcc_test], -["defined __GNUC__ && __GNUC__ == $1 && __GNUC_MINOR__ == $2 && !defined __ICC @ gcc$1$2"])dnl - - -# _BOOST_FIND_COMPILER_TAG() -# -------------------------- -# Internal. When Boost is installed without --layout=system, each library -# filename will hold a suffix that encodes the compiler used during the -# build. The Boost build system seems to call this a `tag'. -AC_DEFUN([_BOOST_FIND_COMPILER_TAG], -[AC_REQUIRE([AC_PROG_CXX])dnl -AC_CACHE_CHECK([for the toolset name used by Boost for $CXX], [boost_cv_lib_tag], -[AC_LANG_PUSH([C++])dnl - boost_cv_lib_tag=unknown - # The following tests are mostly inspired by boost/config/auto_link.hpp - # The list is sorted to most recent/common to oldest compiler (in order - # to increase the likelihood of finding the right compiler with the - # least number of compilation attempt). - # Beware that some tests are sensible to the order (for instance, we must - # look for MinGW before looking for GCC3). - # I used one compilation test per compiler with a #error to recognize - # each compiler so that it works even when cross-compiling (let me know - # if you know a better approach). - # Known missing tags (known from Boost's tools/build/v2/tools/common.jam): - # como, edg, kcc, bck, mp, sw, tru, xlc - # I'm not sure about my test for `il' (be careful: Intel's ICC pre-defines - # the same defines as GCC's). - # TODO: Move the test on GCC 4.4 up once it's released. - for i in \ - _BOOST_gcc_test(4, 3) \ - _BOOST_gcc_test(4, 2) \ - _BOOST_gcc_test(4, 1) \ - _BOOST_gcc_test(4, 0) \ - "defined __GNUC__ && __GNUC__ == 3 && !defined __ICC \ - && (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \ - || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw" \ - _BOOST_gcc_test(3, 4) \ - _BOOST_gcc_test(3, 3) \ - "defined _MSC_VER && _MSC_VER >= 1400 @ vc80" \ - _BOOST_gcc_test(3, 2) \ - "defined _MSC_VER && _MSC_VER == 1310 @ vc71" \ - _BOOST_gcc_test(3, 1) \ - _BOOST_gcc_test(3, 0) \ - "defined __BORLANDC__ @ bcb" \ - "defined __ICC && (defined __unix || defined __unix__) @ il" \ - "defined __ICL @ iw" \ - "defined _MSC_VER && _MSC_VER == 1300 @ vc7" \ - _BOOST_gcc_test(4, 4) \ - _BOOST_gcc_test(2, 95) \ - "defined __MWERKS__ && __MWERKS__ <= 0x32FF @ cw9" \ - "defined _MSC_VER && _MSC_VER < 1300 && !defined UNDER_CE @ vc6" \ - "defined _MSC_VER && _MSC_VER < 1300 && defined UNDER_CE @ evc4" \ - "defined __MWERKS__ && __MWERKS__ <= 0x31FF @ cw8" - do - boost_tag_test=`expr "X$i" : 'X\([[^@]]*\) @ '` - boost_tag=`expr "X$i" : 'X[[^@]]* @ \(.*\)'` - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if $boost_tag_test -/* OK */ -#else -# error $boost_tag_test -#endif -]])], [boost_cv_lib_tag=$boost_tag; break], []) - done -AC_LANG_POP([C++])dnl - case $boost_cv_lib_tag in #( - # Some newer (>= 1.35?) versions of Boost seem to only use "gcc" as opposed - # to "gcc41" for instance. - *-gcc | *'-gcc ') :;; #( Don't re-add -gcc: it's already in there. - gcc*) - # We can specify multiple tags in this variable because it's used by - # BOOST_FIND_LIB that does a `for tag in -$boost_cv_lib_tag' ... - boost_cv_lib_tag="$boost_cv_lib_tag -gcc" - ;; #( - unknown) - AC_MSG_WARN([[could not figure out which toolset name to use for $CXX]]) - boost_cv_lib_tag= - ;; - esac -])dnl end of AC_CACHE_CHECK -])# _BOOST_FIND_COMPILER_TAG - - -# _BOOST_GUESS_WHETHER_TO_USE_MT() -# -------------------------------- -# Compile a small test to try to guess whether we should favor MT (Multi -# Thread) flavors of Boost. Sets boost_guess_use_mt accordingly. -AC_DEFUN([_BOOST_GUESS_WHETHER_TO_USE_MT], -[# Check whether we do better use `mt' even though we weren't ask to. -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if defined _REENTRANT || defined _MT || defined __MT__ -/* use -mt */ -#else -# error MT not needed -#endif -]])], [boost_guess_use_mt=:], [boost_guess_use_mt=false]) -]) - -# _BOOST_AC_LINK_IFELSE(PROGRAM, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) -# ------------------------------------------------------------------- -# Fork of _AC_LINK_IFELSE that preserves conftest.o across calls. Fragile, -# will break when Autoconf changes its internals. Requires that you manually -# rm -f conftest.$ac_objext in between to really different tests, otherwise -# you will try to link a conftest.o left behind by a previous test. -# Used to aggressively optimize BOOST_FIND_LIB (see the big comment in this -# macro) -m4_define([_BOOST_AC_LINK_IFELSE], -[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl -rm -f conftest$ac_exeext -boost_ac_ext_save=$ac_ext -boost_use_source=: -# If we already have a .o, re-use it. We change $ac_ext so that $ac_link -# tries to link the existing object file instead of compiling from source. -test -f conftest.$ac_objext && ac_ext=$ac_objext && boost_use_source=false && - _AS_ECHO_LOG([re-using the existing conftest.$ac_objext]) -AS_IF([_AC_DO_STDERR($ac_link) && { - test -z "$ac_[]_AC_LANG_ABBREV[]_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_executable_p conftest$ac_exeext -dnl FIXME: use AS_TEST_X instead when 2.61 is widespread enough. - }], - [$2], - [if $boost_use_source; then - _AC_MSG_LOG_CONFTEST - fi - $3]) -dnl Delete also the IPA/IPO (Inter Procedural Analysis/Optimization) -dnl information created by the PGI compiler (conftest_ipa8_conftest.oo), -dnl as it would interfere with the next link command. -rm -f core conftest.err conftest_ipa8_conftest.oo \ - conftest$ac_exeext m4_ifval([$1], [conftest.$ac_ext])[]dnl -])# _BOOST_AC_LINK_IFELSE - -# Local Variables: -# mode: autoconf -# End: diff --git a/build-aux/bootstrap b/build-aux/bootstrap deleted file mode 100755 index 1f2ecd4..0000000 --- a/build-aux/bootstrap +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh -set -x -autoreconf -v -i diff --git a/build-aux/config.guess b/build-aux/config.guess deleted file mode 100755 index 84d5b85..0000000 --- a/build-aux/config.guess +++ /dev/null @@ -1,1574 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2009-02-03' - -# This file 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 2 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, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner <pe...@bo...>. -# Please send patches to <con...@gn...>. Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <con...@gn...>." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (gh...@no... 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -if [ "${UNAME_SYSTEM}" = "Linux" ] ; then - eval $set_cc_for_build - cat << EOF > $dummy.c - #include <features.h> - #ifdef __UCLIBC__ - # ifdef __UCLIBC_CONFIG_VERSION__ - LIBC=uclibc __UCLIBC_CONFIG_VERSION__ - # else - LIBC=uclibc - # endif - #else - LIBC=gnu - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'` -fi - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # ak...@wp... (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unkno... [truncated message content] |
From: Thomas M. <tho...@us...> - 2009-07-02 01:45:49
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core-ipopt-plugin has been updated via 3b873d852c590efd7f11b965a2baed8f5f61817f (commit) from f33b18389373bebeb4a02d52f49069c9ede23209 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 3b873d852c590efd7f11b965a2baed8f5f61817f Author: Thomas Moulard <tho...@gm...> Date: Thu Jul 2 10:39:00 2009 +0900 Update build-aux submodule. * build-aux: Update submodule. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 9f44507..7c3def9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-07-02 Thomas Moulard <tho...@gm...> + + Update build-aux submodule. + * build-aux: Update submodule. + 2009-07-01 Thomas Moulard <tho...@gm...> Use submodules to factorize build-aux, doc and tests. diff --git a/build-aux b/build-aux index 8d9c062..53249c7 160000 --- a/build-aux +++ b/build-aux @@ -1 +1 @@ -Subproject commit 8d9c0624ebb36750b1ee81c348196a2073018c67 +Subproject commit 53249c7a39864b963946d8088c421e367c8e6b75 ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ build-aux | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-01 09:53:17
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, build-aux has been updated via 53249c7a39864b963946d8088c421e367c8e6b75 (commit) from 8d9c0624ebb36750b1ee81c348196a2073018c67 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 53249c7a39864b963946d8088c421e367c8e6b75 Author: Thomas Moulard <tho...@gm...> Date: Wed Jul 1 18:46:23 2009 +0900 Add Ipopt Autoconf macros. * acx_pthread.m4: New. * ipopt.m4: New. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 065e0f4..843c25f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2009-07-01 Thomas Moulard <tho...@gm...> + Add Ipopt Autoconf macros. + * acx_pthread.m4: New. + * ipopt.m4: New. + +2009-07-01 Thomas Moulard <tho...@gm...> + Create new build-aux branch. * autotest.at: Rename from build-aux/autotest.at. * autotest.mk: Rename from build-aux/autotest.mk. diff --git a/acx_pthread.m4 b/acx_pthread.m4 new file mode 100644 index 0000000..e4e91d3 --- /dev/null +++ b/acx_pthread.m4 @@ -0,0 +1,242 @@ +dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +dnl +dnl @summary figure out how to build C programs using POSIX threads +dnl +dnl This macro figures out how to build C programs using POSIX threads. +dnl It sets the PTHREAD_LIBS output variable to the threads library and +dnl linker flags, and the PTHREAD_CFLAGS output variable to any special +dnl C compiler flags that are needed. (The user can also force certain +dnl compiler flags/libs to be tested by setting these environment +dnl variables.) +dnl +dnl Also sets PTHREAD_CC to any special C compiler that is needed for +dnl multi-threaded programs (defaults to the value of CC otherwise). +dnl (This is necessary on AIX to use the special cc_r compiler alias.) +dnl +dnl NOTE: You are assumed to not only compile your program with these +dnl flags, but also link it with them as well. e.g. you should link +dnl with $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS +dnl $LIBS +dnl +dnl If you are only building threads programs, you may wish to use +dnl these variables in your default LIBS, CFLAGS, and CC: +dnl +dnl LIBS="$PTHREAD_LIBS $LIBS" +dnl CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +dnl CC="$PTHREAD_CC" +dnl +dnl In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute +dnl constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to +dnl that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). +dnl +dnl ACTION-IF-FOUND is a list of shell commands to run if a threads +dnl library is found, and ACTION-IF-NOT-FOUND is a list of commands to +dnl run it if it is not found. If ACTION-IF-FOUND is not specified, the +dnl default action will define HAVE_PTHREAD. +dnl +dnl Please let the authors know if this macro fails on any platform, or +dnl if you have any other suggestions or comments. This macro was based +dnl on work by SGJ on autoconf scripts for FFTW (www.fftw.org) (with +dnl help from M. Frigo), as well as ac_pthread and hb_pthread macros +dnl posted by Alejandro Forero Cuervo to the autoconf macro repository. +dnl We are also grateful for the helpful feedback of numerous users. +dnl +dnl @category InstalledPackages +dnl @author Steven G. Johnson <st...@al...> +dnl @version 2006-05-29 +dnl @license GPLWithACException + +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# ... -mt is also the pthreads flag for HP/aCC +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthreads/-mt/ + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + pthread-config) + AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no) + if test x"$acx_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include <pthread.h>], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. + AC_MSG_CHECKING([for joinable pthread attribute]) + attr_name=unknown + for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;], + [attr_name=$attr; break]) + done + AC_MSG_RESULT($attr_name) + if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then + AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, + [Define to necessary symbol if this constant + uses a non-standard name on your system.]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with xlc_r or cc_r + if test x"$GCC" != xyes; then + AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) + else + PTHREAD_CC=$CC + fi +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD diff --git a/ipopt.m4 b/ipopt.m4 new file mode 100644 index 0000000..01fd68a --- /dev/null +++ b/ipopt.m4 @@ -0,0 +1,97 @@ +# -*-Autoconf-*- +# Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. +# This file is part of the roboptim. +# +# roboptim 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. +# +# Additional permission under section 7 of the GNU General Public +# License, version 3 ("GPLv3"): +# +# If you convey this file as part of a work that contains a +# configuration script generated by Autoconf, you may do so under +# terms of your choice. +# +# roboptim 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 roboptim. If not, see <http://www.gnu.org/licenses/>. + +# serial 1 + +m4_pattern_forbid([^IPOPT_]) + +# IPOPT_LIB([action-if-found], [action-if-not-found]) +# -------------------------------------------------------------- +# Try to detect the library. +AC_DEFUN([IPOPT_LIB], +[ + # Need gfortran library to work. + AC_SEARCH_LIBS([main], [gfortran], $1, $2) + + # Detect pthread. + ACX_PTHREAD + + # No C symbol in the library. + AC_SEARCH_LIBS([main], [ipopt], $1, $2) +]) # LIB_IPOPT_LIB + + +# IPOPT_HEADERS([action-if-found], [action-if-not-found]) +# ------------------------------------------------------------------ +# Try to detect the library headers. +AC_DEFUN([IPOPT_HEADERS], +[AC_CHECK_HEADER([coin/IpIpoptApplication.hpp], $1, $2) +AC_CHECK_HEADER([coin/IpTNLP.hpp], $1, $2) +]) # LIB_IPOPT_HEADERS + + +# IPOPT_ARG_WITH +# ------------------------------ +# Add an optional dependency toward Ipopt. +AC_DEFUN([IPOPT_ARG_WITH], +[ + AC_ARG_WITH([ipopt], + [AS_HELP_STRING([--with-ipopt], + [enable ipopt support])], + [], + [with_ipopt=check]) + + AC_SUBST([DISTCHECK_CONFIGURE_FLAGS], + ["$DISTCHECK_CONFIGURE_FLAGS \ + '--with-ipopt=$with_ipopt'"]) + + ipopt_fail=no + AS_IF([test "x$with_ipopt" != xno], + [ + # Search for Ipopt library. + IPOPT_LIB([], [ipopt_fail=yes]) + + # Search for Ipopt headers. + IPOPT_HEADERS([], [ipopt_fail=yes]) + + # If both tests are OK, add the library and define the CPP symbol. + AS_IF([test "x$ipopt_fail" = xno], + [AC_SUBST([IPOPT_LIBADD], ["-lipopt -lgfortran"]) + AC_DEFINE([HAVE_IPOPT], [1], + [Define if you have ipopt])]) + + # If the support was explicitly required, but detection has failed, + # this is a fatal error. + AS_IF([test "x$with_ipopt" = xyes && \ + test "x$ipopt_fail" = xyes], + [AC_MSG_FAILURE( + [Ipopt test failed (--without-ipopt to disable)]) + ]) + ]) + + # Define a boolean indicating whether or not the package has been found. + AM_CONDITIONAL([HAVE_IPOPT], + [test "x$with_ipopt" != xno && \ + test "x$ipopt_fail" != xyes]) +]) # IPOPT_ARG_WITH ----------------------------------------------------------------------- Summary of changes: ChangeLog | 6 ++ acx_pthread.m4 | 242 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ipopt.m4 | 97 ++++++++++++++++++++++ 3 files changed, 345 insertions(+), 0 deletions(-) create mode 100644 acx_pthread.m4 create mode 100644 ipopt.m4 hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-07-01 07:59:19
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, shared-tests has been created at a566f94bbf6a9f315e35a982b6b682f91e2b01a1 (commit) - Log ----------------------------------------------------------------- commit a566f94bbf6a9f315e35a982b6b682f91e2b01a1 Author: Thomas Moulard <tho...@gm...> Date: Wed Jul 1 16:53:10 2009 +0900 Create separate shared-tests branch. * build-aux/autotest.at: Remove. * build-aux/autotest.mk: Remove. * build-aux/boost.m4: Remove. * build-aux/bootstrap: Remove. * build-aux/config.guess: Remove. * build-aux/config.sub: Remove. * build-aux/deb.mk: Remove. * build-aux/depcomp: Remove. * build-aux/doxygen.m4: Remove. * build-aux/ebuild.mk: Remove. * build-aux/init.mk: Remove. * build-aux/install-sh: Remove. * build-aux/libtool.m4: Remove. * build-aux/ltmain.sh: Remove. * build-aux/ltoptions.m4: Remove. * build-aux/ltsugar.m4: Remove. * build-aux/ltversion.m4: Remove. * build-aux/lt~obsolete.m4: Remove. * build-aux/missing: Remove. * build-aux/move-if-change: Remove. * build-aux/pkg-config.mk: Remove. * build-aux/pkg-config.pc.in: Remove. * build-aux/roboptim-core.m4: Remove. * build-aux/rpm.mk: Remove. * build-aux/warning.m4: Remove. * doc/Doxyfile.in: Remove. * doc/Makefile.am: Remove. * doc/Makefile.in: Remove. * doc/doxygen.css: Remove. * doc/footer.html: Remove. * doc/header.html: Remove. * doc/package.css: Remove. * doc/sf-upload.sh.in: Remove. * doc/tabs.css: Remove. * hs071.hh: Rename from optimization-tests/hs071.hh. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index a14ed04..fa378ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,42 @@ +2009-07-01 Thomas Moulard <tho...@gm...> + + Create separate shared-tests branch. + * build-aux/autotest.at: Remove. + * build-aux/autotest.mk: Remove. + * build-aux/boost.m4: Remove. + * build-aux/bootstrap: Remove. + * build-aux/config.guess: Remove. + * build-aux/config.sub: Remove. + * build-aux/deb.mk: Remove. + * build-aux/depcomp: Remove. + * build-aux/doxygen.m4: Remove. + * build-aux/ebuild.mk: Remove. + * build-aux/init.mk: Remove. + * build-aux/install-sh: Remove. + * build-aux/libtool.m4: Remove. + * build-aux/ltmain.sh: Remove. + * build-aux/ltoptions.m4: Remove. + * build-aux/ltsugar.m4: Remove. + * build-aux/ltversion.m4: Remove. + * build-aux/lt~obsolete.m4: Remove. + * build-aux/missing: Remove. + * build-aux/move-if-change: Remove. + * build-aux/pkg-config.mk: Remove. + * build-aux/pkg-config.pc.in: Remove. + * build-aux/roboptim-core.m4: Remove. + * build-aux/rpm.mk: Remove. + * build-aux/warning.m4: Remove. + * doc/Doxyfile.in: Remove. + * doc/Makefile.am: Remove. + * doc/Makefile.in: Remove. + * doc/doxygen.css: Remove. + * doc/footer.html: Remove. + * doc/header.html: Remove. + * doc/package.css: Remove. + * doc/sf-upload.sh.in: Remove. + * doc/tabs.css: Remove. + * hs071.hh: Rename from optimization-tests/hs071.hh. + 2009-06-26 Thomas Moulard <tho...@gm...> Add titles to function. diff --git a/build-aux/autotest.at b/build-aux/autotest.at deleted file mode 100644 index 75485ee..0000000 --- a/build-aux/autotest.at +++ /dev/null @@ -1,63 +0,0 @@ -# -*-Autoconf-*- -# Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. -# This file is part of the roboptim. -# -# roboptim 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# roboptim 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 roboptim. If not, see <http://www.gnu.org/licenses/>. - -# serial 1 - -m4_pattern_forbid([^CHECK_STDOUT]) - - -# CHECK_STDOUT(BINARY, [DESCRIPTION], -# [SKIP_EXPR = false], [XFAIL_EXPR = false]) -# -------------------------------------------------------------- -# Check against a ``.stdout'' file. -# If the binary can not be built, the test is skipped. -# BINARY: the binary that has to be runned. -# DESCRIPTION: test's description. -# SKIP_EXPR: if shell expression evalutes to true, skip test. -# XFAIL_EXPR: if shell expression evalutes to true, tag test as xfail. -m4_define([CHECK_STDOUT], -[m4_ifset ([$1], [], - [m4_fatal([CHECK_STDOUT has be called with at least one argument])]) -AT_SETUP([m4_default([$2], [Unnamed test])]) - -AT_CHECK([if m4_default([$3], [false]); then - exit 77; else - true; fi], [0], [ignore], [ignore]) - -AT_XFAIL_IF([m4_default([$4], [false])]) -cp $abs_srcdir/$1.stdout expout -AT_CHECK([$CHECK_PREFIX `which $1`], [0], [expout], [ignore]) - -AT_CLEANUP -]) # CHECK_STDOUT - - -# CHECK_STDOUT_SKIP(BINARY, [DESCRIPTION], [XFAIL_EXPR]) -# -------------------------------------------------------------- -# Do a CHECK_STDOUT if the BINARY exists (is in the path). -m4_define([CHECK_STDOUT_SKIPPABLE], -[CHECK_STDOUT([$1], [$2], [test x`which $1` = x], [$3]) -]) # CHECK_STDOUT_SKIP - -# End of autotest.at diff --git a/build-aux/autotest.mk b/build-aux/autotest.mk deleted file mode 100644 index 1308305..0000000 --- a/build-aux/autotest.mk +++ /dev/null @@ -1,87 +0,0 @@ -# -*-Automake-*- -# Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. -# This file is part of the roboptim. -# -# roboptim 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# roboptim 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 roboptim. If not, see <http://www.gnu.org/licenses/>. - -# -------# -# README # -# -------# - -# This file should be included in Makefile.am associated to a directory which -# contains an Autotest test suite. -# -# This file assumes that: -# -# - you include *before* this file init.mk or make sure that any global -# variable can be used with the += syntax. -# - package.m4 is located in $(top_builddir)/tests -# - you provide atlocal and testsuite.at files (see Autotest -# documentation in the Autoconf manual). -# - you define TESTSUITE_AT which contains the list of the .at files -# included by this test suite. - - -# -----# -# TODO # -# -----# - -# - Make it more generic. - - -# Define how autom4te is called to generate the testsuite file. -AUTOTEST = $(AUTOM4TE) --language=autotest -Wall - -# Package following files. -EXTRA_DIST += atlocal testsuite.at $(TESTSUITE) $(TESTSUITE_AT) - -# Run testsuite in this directory. -TESTSUITE = $(srcdir)/testsuite - -# Define where package.m4.in is located. -PACKAGE_M4_IN=$(top_srcdir)/tests/package.m4.in - -# Define m4 dependencies. -TESTSUITE_AT = $(top_srcdir)/build-aux/autotest.at - - -# ----- # -# RULES # -# ----- # - -check-local: atconfig atlocal $(TESTSUITE) - $(SHELL) $(TESTSUITE) $(TESTSUITEFLAGS) - -installcheck-local: atconfig atlocal $(TESTSUITE) - $(SHELL) $(TESTSUITE) AUTOTEST_PATH="$(bindir)" $(TESTSUITEFLAGS) - -clean-local: - test ! -f $(TESTSUITE) || $(SHELL) $(TESTSUITE) --clean - rm -f -r autom4te.cache - -$(TESTSUITE): $(PACKAGE_M4_IN) $(srcdir)/testsuite.at $(TESTSUITE_AT) \ - $(top_srcdir)/configure - $(AUTOTEST) -I'$(srcdir)' -I'$(top_srcdir)/build-aux' \ - -I'$(top_builddir)/tests' $@.at -o $@.tmp - mv $@.tmp $@ - -atconfig: $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status tests/$@ diff --git a/build-aux/boost.m4 b/build-aux/boost.m4 deleted file mode 100644 index a9fc46c..0000000 --- a/build-aux/boost.m4 +++ /dev/null @@ -1,933 +0,0 @@ -# boost.m4: Locate Boost headers and libraries for autoconf-based projects. -# Copyright (C) 2007, 2008, 2009 Benoit Sigoure <ts...@lr...> -# -# 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# serial 10 -# Original sources can be found at http://repo.or.cz/w/boost.m4.git -# You can fetch the latest version of the script by doing: -# wget 'http://repo.or.cz/w/boost.m4.git?a=blob_plain;f=build-aux/boost.m4;hb=HEAD' -O boost.m4 - -# ------ # -# README # -# ------ # - -# This file provides several macros to use the various Boost libraries. -# The first macro is BOOST_REQUIRE. It will simply check if it's possible to -# find the Boost headers of a given (optional) minimum version and it will -# define BOOST_CPPFLAGS accordingly. It will add an option --with-boost to -# your configure so that users can specify non standard locations. -# If the user's environment contains BOOST_ROOT and --with-boost was not -# specified, --with-boost=$BOOST_ROOT is implicitly used. -# For more README and documentation, go to http://repo.or.cz/w/boost.m4.git -# Note: THESE MACROS ASSUME THAT YOU USE LIBTOOL. If you don't, don't worry, -# simply read the README, it will show you what to do step by step. - -m4_pattern_forbid([^_?BOOST_]) - - -# _BOOST_SED_CPP(SED-PROGRAM, PROGRAM, -# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -------------------------------------------------------- -# Same as AC_EGREP_CPP, but leave the result in conftest.i. -# PATTERN is *not* overquoted, as in AC_EGREP_CPP. It could be useful -# to turn this into a macro which extracts the value of any macro. -m4_define([_BOOST_SED_CPP], -[AC_LANG_PREPROC_REQUIRE()dnl -AC_REQUIRE([AC_PROG_SED])dnl -AC_LANG_CONFTEST([AC_LANG_SOURCE([[$2]])]) -AS_IF([dnl eval is necessary to expand ac_cpp. -dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell. -(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | - $SED -n -e "$1" >conftest.i 2>&1], - [$3], - [$4])dnl -rm -f conftest* -])# AC_EGREP_CPP - - - -# BOOST_REQUIRE([VERSION]) -# ------------------------ -# Look for Boost. If version is given, it must either be a literal of the form -# "X.Y.Z" where X, Y and Z are integers (the ".Z" part being optional) or a -# variable "$var". -# Defines the value BOOST_CPPFLAGS. This macro only checks for headers with -# the required version, it does not check for any of the Boost libraries. -# FIXME: Add a 2nd optional argument so that it's not fatal if Boost isn't found -# and add an AC_DEFINE to tell whether HAVE_BOOST. -AC_DEFUN([BOOST_REQUIRE], -[boost_save_IFS=$IFS -boost_version_req="$1" -IFS=. -set x $boost_version_req 0 0 0 -IFS=$boost_save_IFS -shift -boost_version_req=`expr "$[1]" '*' 100000 + "$[2]" '*' 100 + "$[3]"` -AC_ARG_WITH([boost], - [AS_HELP_STRING([--with-boost=DIR], - [prefix of Boost $1 @<:@guess@:>@])])dnl -AC_ARG_VAR([BOOST_ROOT],[Location of Boost installation])dnl -# If BOOST_ROOT is set and the user has not provided a value to -# --with-boost, then treat BOOST_ROOT as if it the user supplied it. -if test x"$BOOST_ROOT" != x; then - if test x"$with_boost" = x; then - AC_MSG_NOTICE([Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT]) - with_boost=$BOOST_ROOT - else - AC_MSG_NOTICE([Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost]) - fi -fi -AC_SUBST([DISTCHECK_CONFIGURE_FLAGS], - ["$DISTCHECK_CONFIGURE_FLAGS '--with-boost=$with_boost'"]) -boost_save_CPPFLAGS=$CPPFLAGS - AC_CACHE_CHECK([for Boost headers version >= $boost_version_req], - [boost_cv_inc_path], - [boost_cv_inc_path=no -AC_LANG_PUSH([C++])dnl -m4_pattern_allow([^BOOST_VERSION$])dnl - AC_LANG_CONFTEST([AC_LANG_PROGRAM([[#include <boost/version.hpp> -#if !defined BOOST_VERSION -# error BOOST_VERSION is not defined -#elif BOOST_VERSION < $boost_version_req -# error Boost headers version < $boost_version_req -#endif -]])]) - # If the user provided a value to --with-boost, use it and only it. - case $with_boost in #( - ''|yes) set x '' /opt/local/include /usr/local/include /opt/include \ - /usr/include C:/Boost/include;; #( - *) set x "$with_boost/include" "$with_boost";; - esac - shift - for boost_dir - do - # Without --layout=system, Boost (or at least some versions) installs - # itself in <prefix>/include/boost-<version>. This inner loop helps to - # find headers in such directories. - # I didn't indent this loop on purpose (to avoid over-indented code) - for boost_inc in "$boost_dir" "$boost_dir"/boost-* - do - test x"$boost_inc" != x && CPPFLAGS="$CPPFLAGS -I$boost_inc" - AC_COMPILE_IFELSE([], [boost_cv_inc_path=yes], [boost_cv_version=no]) - if test x"$boost_cv_inc_path" = xyes; then - if test x"$boost_inc" != x; then - boost_cv_inc_path=$boost_inc - fi - break 2 - fi - done - done -AC_LANG_POP([C++])dnl - ]) - case $boost_cv_inc_path in #( - no) AC_MSG_ERROR([cannot find Boost headers version >= $boost_version_req]);;#( - yes) BOOST_CPPFLAGS=;;#( - *) AC_SUBST([BOOST_CPPFLAGS], ["-I$boost_cv_inc_path"]);; - esac - AC_CACHE_CHECK([for Boost's header version], - [boost_cv_lib_version], - [m4_pattern_allow([^BOOST_LIB_VERSION$])dnl - _BOOST_SED_CPP([/^boost-lib-version = /{s///;s/\"//g;p;g;}], - [#include <boost/version.hpp> -boost-lib-version = BOOST_LIB_VERSION], - [boost_cv_lib_version=`cat conftest.i`])]) - # e.g. "134" for 1_34_1 or "135" for 1_35 - boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'` - case $boost_major_version in #( - '' | *[[!0-9]]*) - AC_MSG_ERROR([Invalid value: boost_major_version=$boost_major_version]) - ;; - esac -CPPFLAGS=$boost_save_CPPFLAGS -])# BOOST_REQUIRE - -# BOOST_STATIC() -# -------------- -# Add the "--enable-static-boost" configure argument. If this argument is given -# on the command line, static versions of the libraries will be looked up. -AC_DEFUN([BOOST_STATIC], - [AC_ARG_ENABLE([static-boost], - [AC_HELP_STRING([--enable-static-boost], - [Prefer the static boost libraries over the shared ones [no]])], - [enable_static_boost=yes], - [enable_static_boost=no])])# BOOST_STATIC - -# BOOST_FIND_HEADER([HEADER-NAME], [ACTION-IF-NOT-FOUND], [ACTION-IF-FOUND]) -# -------------------------------------------------------------------------- -# Wrapper around AC_CHECK_HEADER for Boost headers. Useful to check for -# some parts of the Boost library which are only made of headers and don't -# require linking (such as Boost.Foreach). -# -# Default ACTION-IF-NOT-FOUND: Fail with a fatal error. -# -# Default ACTION-IF-FOUND: define the preprocessor symbol HAVE_<HEADER-NAME> in -# case of success # (where HEADER-NAME is written LIKE_THIS, e.g., -# HAVE_BOOST_FOREACH_HPP). -AC_DEFUN([BOOST_FIND_HEADER], -[AC_REQUIRE([BOOST_REQUIRE])dnl -AC_LANG_PUSH([C++])dnl -boost_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" -AC_CHECK_HEADER([$1], - [m4_default([$3], [AC_DEFINE(AS_TR_CPP([HAVE_$1]), [1], - [Define to 1 if you have <$1>])])], - [m4_default([$2], [AC_MSG_ERROR([cannot find $1])])]) -CPPFLAGS=$boost_save_CPPFLAGS -AC_LANG_POP([C++])dnl -])# BOOST_FIND_HEADER - - -# BOOST_FIND_LIB([LIB-NAME], [PREFERRED-RT-OPT], [HEADER-NAME], [CXX-TEST], -# [CXX-PROLOGUE]) -# ------------------------------------------------------------------------- -# Look for the Boost library LIB-NAME (e.g., LIB-NAME = `thread', for -# libboost_thread). Check that HEADER-NAME works and check that -# libboost_LIB-NAME can link with the code CXX-TEST. The optional argument -# CXX-PROLOGUE can be used to include some C++ code before the `main' -# function. -# -# Invokes BOOST_FIND_HEADER([HEADER-NAME]) (see above). -# -# Boost libraries typically come compiled with several flavors (with different -# runtime options) so PREFERRED-RT-OPT is the preferred suffix. A suffix is one -# or more of the following letters: sgdpn (in that order). s = static -# runtime, d = debug build, g = debug/diagnostic runtime, p = STLPort build, -# n = (unsure) STLPort build without iostreams from STLPort (it looks like `n' -# must always be used along with `p'). Additionally, PREFERRED-RT-OPT can -# start with `mt-' to indicate that there is a preference for multi-thread -# builds. Some sample values for PREFERRED-RT-OPT: (nothing), mt, d, mt-d, gdp -# ... If you want to make sure you have a specific version of Boost -# (eg, >= 1.33) you *must* invoke BOOST_REQUIRE before this macro. -AC_DEFUN([BOOST_FIND_LIB], -[AC_REQUIRE([_BOOST_FIND_COMPILER_TAG])dnl -AC_REQUIRE([BOOST_REQUIRE])dnl -AC_REQUIRE([BOOST_STATIC])dnl -AC_REQUIRE([_BOOST_GUESS_WHETHER_TO_USE_MT])dnl -AC_LANG_PUSH([C++])dnl -AS_VAR_PUSHDEF([Boost_lib], [boost_cv_lib_$1])dnl -AS_VAR_PUSHDEF([Boost_lib_LDFLAGS], [boost_cv_lib_$1_LDFLAGS])dnl -AS_VAR_PUSHDEF([Boost_lib_LIBS], [boost_cv_lib_$1_LIBS])dnl -BOOST_FIND_HEADER([$3]) -boost_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" -# Now let's try to find the library. The algorithm is as follows: first look -# for a given library name according to the user's PREFERRED-RT-OPT. For each -# library name, we prefer to use the ones that carry the tag (toolset name). -# Each library is searched through the various standard paths were Boost is -# usually installed. If we can't find the standard variants, we try to -# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist -# but there's -obviously- libboost_threads-mt.dylib). -AC_CACHE_CHECK([for the Boost $1 library], [Boost_lib], - [Boost_lib=no - case "$2" in #( - mt | mt-) boost_mt=-mt; boost_rtopt=;; #( - mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X$2" : 'Xmt-*\(.*\)'`;; #( - *) boost_mt=; boost_rtopt=$2;; - esac - if test $enable_static_boost = yes; then - boost_rtopt="s$boost_rtopt" - fi - # Find the proper debug variant depending on what we've been asked to find. - case $boost_rtopt in #( - *d*) boost_rt_d=$boost_rtopt;; #( - *[[sgpn]]*) # Insert the `d' at the right place (in between `sg' and `pn') - boost_rt_d=`echo "$boost_rtopt" | sed 's/\(s*g*\)\(p*n*\)/\1\2/'`;; #( - *) boost_rt_d='-d';; - esac - # If the PREFERRED-RT-OPT are not empty, prepend a `-'. - test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt" - $boost_guess_use_mt && boost_mt=-mt - # Look for the abs path the static archive. - # $libext is computed by Libtool but let's make sure it's non empty. - test -z "$libext" && - AC_MSG_ERROR([the libext variable is empty, did you invoke Libtool?]) - boost_save_ac_objext=$ac_objext - # Generate the test file. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <$3> -$5], [$4])]) -dnl Optimization hacks: compiling C++ is slow, especially with Boost. What -dnl we're trying to do here is guess the right combination of link flags -dnl (LIBS / LDFLAGS) to use a given library. This can take several -dnl iterations before it succeeds and is thus *very* slow. So what we do -dnl instead is that we compile the code first (and thus get an object file, -dnl typically conftest.o). Then we try various combinations of link flags -dnl until we succeed to link conftest.o in an executable. The problem is -dnl that the various TRY_LINK / COMPILE_IFELSE macros of Autoconf always -dnl remove all the temporary files including conftest.o. So the trick here -dnl is to temporarily change the value of ac_objext so that conftest.o is -dnl preserved accross tests. This is obviously fragile and I will burn in -dnl hell for not respecting Autoconf's documented interfaces, but in the -dnl mean time, it optimizes the macro by a factor of 5 to 30. -dnl Another small optimization: the first argument of AC_COMPILE_IFELSE left -dnl empty because the test file is generated only once above (before we -dnl start the for loops). - AC_COMPILE_IFELSE([], - [ac_objext=do_not_rm_me_plz], - [AC_MSG_ERROR([Cannot compile a test that uses Boost $1])]) - ac_objext=$boost_save_ac_objext - boost_failed_libs= -# Don't bother to ident the 6 nested for loops, only the 2 innermost ones -# matter. -for boost_tag_ in -$boost_cv_lib_tag ''; do -for boost_ver_ in -$boost_cv_lib_version ''; do -for boost_mt_ in $boost_mt -mt ''; do -for boost_rtopt_ in $boost_rtopt '' -d; do - for boost_lib in \ - boost_$1$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \ - boost_$1$boost_tag_$boost_rtopt_$boost_ver_ \ - boost_$1$boost_tag_$boost_mt_$boost_ver_ \ - boost_$1$boost_tag_$boost_ver_ - do - # Avoid testing twice the same lib - case $boost_failed_libs in #( - *@$boost_lib@*) continue;; - esac - # If with_boost is empty, we'll search in /lib first, which is not quite - # right so instead we'll try to a location based on where the headers are. - boost_tmp_lib=$with_boost - test x"$with_boost" = x && boost_tmp_lib=${boost_cv_inc_path%/include} - for boost_ldpath in "$boost_tmp_lib/lib" '' \ - /opt/local/lib /usr/local/lib /opt/lib /usr/lib \ - "$with_boost" C:/Boost/lib /lib /usr/lib64 /lib64 - do - test -e "$boost_ldpath" || continue - boost_save_LDFLAGS=$LDFLAGS - # Are we looking for a static library? - case $boost_ldpath:$boost_rtopt_ in #( - *?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt) - Boost_lib_LIBS="$boost_ldpath/lib$boost_lib.$libext" - test -e "$Boost_lib_LIBS" || continue;; #( - *) # No: use -lboost_foo to find the shared library. - Boost_lib_LIBS="-l$boost_lib";; - esac - boost_save_LIBS=$LIBS - LIBS="$Boost_lib_LIBS $LIBS" - test x"$boost_ldpath" != x && LDFLAGS="$LDFLAGS -L$boost_ldpath" -dnl First argument of AC_LINK_IFELSE left empty because the test file is -dnl generated only once above (before we start the for loops). - _BOOST_AC_LINK_IFELSE([], - [Boost_lib=yes], [Boost_lib=no]) - ac_objext=$boost_save_ac_objext - LDFLAGS=$boost_save_LDFLAGS - LIBS=$boost_save_LIBS - if test x"$Boost_lib" = xyes; then - Boost_lib_LDFLAGS="-L$boost_ldpath -R$boost_ldpath" - break 6 - else - boost_failed_libs="$boost_failed_libs@$boost_lib@" - fi - done - done -done -done -done -done -rm -f conftest.$ac_objext -]) -case $Boost_lib in #( - no) AC_MSG_ERROR([Could not find the flags to link with Boost $1]) - ;; -esac -AC_SUBST(AS_TR_CPP([BOOST_$1_LDFLAGS]), [$Boost_lib_LDFLAGS]) -AC_SUBST(AS_TR_CPP([BOOST_$1_LIBS]), [$Boost_lib_LIBS]) -CPPFLAGS=$boost_save_CPPFLAGS -AS_VAR_POPDEF([Boost_lib])dnl -AS_VAR_POPDEF([Boost_lib_LDFLAGS])dnl -AS_VAR_POPDEF([Boost_lib_LIBS])dnl -AC_LANG_POP([C++])dnl -])# BOOST_FIND_LIB - - -# --------------------------------------- # -# Checks for the various Boost libraries. # -# --------------------------------------- # - -# List of boost libraries: http://www.boost.org/libs/libraries.htm -# The page http://beta.boost.org/doc/libs is useful: it gives the first release -# version of each library (among other things). - - -# BOOST_ASIO() -# ------------ -# Look for Boost.Asio (new in Boost 1.35). -AC_DEFUN([BOOST_ASIO], -[AC_REQUIRE([BOOST_SYSTEM])dnl -BOOST_FIND_HEADER([boost/asio.hpp])]) - - -# BOOST_BIND() -# ------------ -# Look for Boost.Bind -AC_DEFUN([BOOST_BIND], -[BOOST_FIND_HEADER([boost/bind.hpp])]) - - -# BOOST_CONVERSION() -# ------------------ -# Look for Boost.Conversion (cast / lexical_cast) -AC_DEFUN([BOOST_CONVERSION], -[BOOST_FIND_HEADER([boost/cast.hpp]) -BOOST_FIND_HEADER([boost/lexical_cast.hpp]) -])# BOOST_CONVERSION - - -# BOOST_DATE_TIME([PREFERRED-RT-OPT]) -# ----------------------------------- -# Look for Boost.Date_Time. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_DATE_TIME], -[BOOST_FIND_LIB([date_time], [$1], - [boost/date_time/posix_time/posix_time.hpp], - [boost::posix_time::ptime t;]) -])# BOOST_DATE_TIME - - -# BOOST_FILESYSTEM([PREFERRED-RT-OPT]) -# ------------------------------------ -# Look for Boost.Filesystem. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -# Do not check for boost/filesystem.hpp because this file was introduced in -# 1.34. -AC_DEFUN([BOOST_FILESYSTEM], -[# Do we have to check for Boost.System? This link-time dependency was -# added as of 1.35.0. If we have a version <1.35, we must not attempt to -# find Boost.System as it didn't exist by then. -if test $boost_major_version -ge 135; then -BOOST_SYSTEM([$1]) -fi # end of the Boost.System check. -boost_filesystem_save_LIBS=$LIBS -boost_filesystem_save_LDFLAGS=$LDFLAGS -m4_pattern_allow([^BOOST_SYSTEM_(LIBS|LDFLAGS)$])dnl -LIBS="$LIBS $BOOST_SYSTEM_LIBS" -LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS" -BOOST_FIND_LIB([filesystem], [$1], - [boost/filesystem/path.hpp], [boost::filesystem::path p;]) -LIBS=$boost_filesystem_save_LIBS -LDFLAGS=$boost_filesystem_save_LDFLAGS -])# BOOST_FILESYSTEM - - -# BOOST_FOREACH() -# --------------- -# Look for Boost.Foreach -AC_DEFUN([BOOST_FOREACH], -[BOOST_FIND_HEADER([boost/foreach.hpp])]) - - -# BOOST_FORMAT() -# -------------- -# Look for Boost.Format -# Note: we can't check for boost/format/format_fwd.hpp because the header isn't -# standalone. It can't be compiled because it triggers the following error: -# boost/format/detail/config_macros.hpp:88: error: 'locale' in namespace 'std' -# does not name a type -AC_DEFUN([BOOST_FORMAT], -[BOOST_FIND_HEADER([boost/format.hpp])]) - - -# BOOST_FUNCTION() -# ---------------- -# Look for Boost.Function -AC_DEFUN([BOOST_FUNCTION], -[BOOST_FIND_HEADER([boost/function.hpp])]) - - -# BOOST_FUSTION() -# ---------------- -# Look for Boost.Fusion -AC_DEFUN([BOOST_FUSION], -[BOOST_FIND_HEADER([boost/fusion/include/vector.hpp])]) - - -# BOOST_GRAPH([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.Graphs. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_GRAPH], -[BOOST_FIND_LIB([graph], [$1], - [boost/graph/adjacency_list.hpp], [boost::adjacency_list<> g;]) -])# BOOST_GRAPH - - -# BOOST_IOSTREAMS([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.IOStreams. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_IOSTREAMS], -[BOOST_FIND_LIB([iostreams], [$1], - [boost/iostreams/device/file_descriptor.hpp], - [boost::iostreams::file_descriptor fd(0); fd.close();]) -])# BOOST_IOSTREAMS - - -# BOOST_HASH() -# ------------ -# Look for Boost.Functional/Hash -AC_DEFUN([BOOST_HASH], -[BOOST_FIND_HEADER([boost/functional/hash.hpp])]) - - -# BOOST_LAMBDA() -# -------------- -# Look for Boost.Lambda -AC_DEFUN([BOOST_LAMBDA], -[BOOST_FIND_HEADER([boost/lambda/lambda.hpp])]) - -# BOOST_MPL() -# -------------- -# Look for Boost.MPL -AC_DEFUN([BOOST_MPL], -[BOOST_FIND_HEADER([boost/mpl/void_fwd.hpp])]) - - -# BOOST_OPTIONAL() -# ---------------- -# Look for Boost.Optional -AC_DEFUN([BOOST_OPTIONAL], -[BOOST_FIND_HEADER([boost/optional.hpp])]) - - -# BOOST_PREPROCESSOR() -# -------------------- -# Look for Boost.Preprocessor -AC_DEFUN([BOOST_PREPROCESSOR], -[BOOST_FIND_HEADER([boost/preprocessor/repeat.hpp])]) - - -# BOOST_PROGRAM_OPTIONS([PREFERRED-RT-OPT]) -# ----------------------------------------- -# Look for Boost.Program_options. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_PROGRAM_OPTIONS], -[BOOST_FIND_LIB([program_options], [$1], - [boost/program_options.hpp], - [boost::program_options::options_description d("test");]) -])# BOOST_PROGRAM_OPTIONS - - -# BOOST_REF() -# ----------- -# Look for Boost.Ref -AC_DEFUN([BOOST_REF], -[BOOST_FIND_HEADER([boost/ref.hpp])]) - - -# BOOST_REGEX([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.Regex. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_REGEX], -[BOOST_FIND_LIB([regex], [$1], - [boost/regex.hpp], - [boost::regex exp("*"); boost::regex_match("foo", exp);]) -])# BOOST_REGEX - - -# BOOST_SERIALIZATION([PREFERRED-RT-OPT]) -# --------------------------------------- -# Look for Boost.Serialization. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_SERIALIZATION], -[BOOST_FIND_LIB([serialization], [$1], - [boost/archive/text_oarchive.hpp], - [std::ostream* o = 0; // Cheap way to get an ostream... - boost::archive::text_oarchive t(*o);]) -])# BOOST_SIGNALS - - -# BOOST_SIGNALS([PREFERRED-RT-OPT]) -# --------------------------------- -# Look for Boost.Signals. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_SIGNALS], -[BOOST_FIND_LIB([signals], [$1], - [boost/signal.hpp], - [boost::signal<void ()> s;]) -])# BOOST_SIGNALS - - -# BOOST_SMART_PTR() -# ----------------- -# Look for Boost.SmartPtr -AC_DEFUN([BOOST_SMART_PTR], -[BOOST_FIND_HEADER([boost/scoped_ptr.hpp]) -BOOST_FIND_HEADER([boost/shared_ptr.hpp]) -]) - - -# BOOST_STATICASSERT() -# -------------------- -# Look for Boost.StaticAssert -AC_DEFUN([BOOST_STATICASSERT], -[BOOST_FIND_HEADER([boost/static_assert.hpp])]) - - -# BOOST_STRING_ALGO() -# ------------------- -# Look for Boost.StringAlgo -AC_DEFUN([BOOST_STRING_ALGO], -[BOOST_FIND_HEADER([boost/algorithm/string.hpp]) -]) - - -# BOOST_SYSTEM([PREFERRED-RT-OPT]) -# -------------------------------- -# Look for Boost.System. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. This library was introduced in Boost -# 1.35.0. -AC_DEFUN([BOOST_SYSTEM], -[BOOST_FIND_LIB([system], [$1], - [boost/system/error_code.hpp], - [boost::system::error_code e; e.clear();]) -])# BOOST_SYSTEM - - -# BOOST_TEST([PREFERRED-RT-OPT]) -# ------------------------------ -# Look for Boost.Test. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_TEST], -[m4_pattern_allow([^BOOST_CHECK$])dnl -BOOST_FIND_LIB([unit_test_framework], [$1], - [boost/test/unit_test.hpp], [BOOST_CHECK(2 == 2);], - [using boost::unit_test::test_suite; - test_suite* init_unit_test_suite(int argc, char ** argv) - { return NULL; }]) -])# BOOST_TEST - - -# BOOST_THREADS([PREFERRED-RT-OPT]) -# --------------------------------- -# Look for Boost.Thread. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -# FIXME: Provide an alias "BOOST_THREAD". -AC_DEFUN([BOOST_THREADS], -[dnl Having the pthread flag is required at least on GCC3 where -dnl boost/thread.hpp would complain if we try to compile without -dnl -pthread on GNU/Linux. -AC_REQUIRE([_BOOST_PTHREAD_FLAG])dnl -boost_threads_save_LIBS=$LIBS -boost_threads_save_CPPFLAGS=$CPPFLAGS -LIBS="$LIBS $boost_cv_pthread_flag" -# Yes, we *need* to put the -pthread thing in CPPFLAGS because with GCC3, -# boost/thread.hpp will trigger a #error if -pthread isn't used: -# boost/config/requires_threads.hpp:47:5: #error "Compiler threading support -# is not turned on. Please set the correct command line options for -# threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" -CPPFLAGS="$CPPFLAGS $boost_cv_pthread_flag" -BOOST_FIND_LIB([thread], [$1], - [boost/thread.hpp], [boost::thread t; boost::mutex m;]) -BOOST_THREAD_LIBS="$BOOST_THREAD_LIBS $boost_cv_pthread_flag" -BOOST_CPPFLAGS="$BOOST_CPPFLAGS $boost_cv_pthread_flag" -LIBS=$boost_threads_save_LIBS -CPPFLAGS=$boost_threads_save_CPPFLAGS -])# BOOST_THREADS - - -# BOOST_TOKENIZER() -# ----------------- -# Look for Boost.Tokenizer -AC_DEFUN([BOOST_TOKENIZER], -[BOOST_FIND_HEADER([boost/tokenizer.hpp])]) - - -# BOOST_TRIBOOL() -# --------------- -# Look for Boost.Tribool -AC_DEFUN([BOOST_TRIBOOL], -[BOOST_FIND_HEADER([boost/logic/tribool_fwd.hpp]) -BOOST_FIND_HEADER([boost/logic/tribool.hpp]) -]) - - -# BOOST_TUPLE() -# ------------- -# Look for Boost.Tuple -AC_DEFUN([BOOST_TUPLE], -[BOOST_FIND_HEADER([boost/tuple/tuple.hpp])]) - - -# BOOST_TYPETRAITS() -# -------------------- -# Look for Boost.TypeTraits -AC_DEFUN([BOOST_TYPETRAITS], -[BOOST_FIND_HEADER([boost/type_traits.hpp])]) - - -# BOOST_UTILITY() -# --------------- -# Look for Boost.Utility (noncopyable, result_of, base-from-member idiom, -# etc.) -AC_DEFUN([BOOST_UTILITY], -[BOOST_FIND_HEADER([boost/utility.hpp])]) - - -# BOOST_VARIANT() -# --------------- -# Look for Boost.Variant. -AC_DEFUN([BOOST_VARIANT], -[BOOST_FIND_HEADER([boost/variant/variant_fwd.hpp]) -BOOST_FIND_HEADER([boost/variant.hpp])]) - - -# BOOST_WAVE([PREFERRED-RT-OPT]) -# ------------------------------ -# NOTE: If you intend to use Wave/Spirit with thread support, make sure you -# call BOOST_THREADS first. -# Look for Boost.Wave. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_WAVE], -[AC_REQUIRE([BOOST_FILESYSTEM])dnl -AC_REQUIRE([BOOST_DATE_TIME])dnl -boost_wave_save_LIBS=$LIBS -boost_wave_save_LDFLAGS=$LDFLAGS -m4_pattern_allow([^BOOST_((FILE)?SYSTEM|DATE_TIME|THREAD)_(LIBS|LDFLAGS)$])dnl -LIBS="$LIBS $BOOST_SYSTEM_LIBS $BOOST_FILESYSTEM_LIBS $BOOST_DATE_TIME_LIBS\ -$BOOST_THREAD_LIBS" -LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS $BOOST_FILESYSTEM_LDFLAGS\ -$BOOST_DATE_TIME_LDFLAGS $BOOST_THREAD_LDFLAGS" -BOOST_FIND_LIB([wave], [$1], - [boost/wave.hpp], - [boost::wave::token_id id; get_token_name(id);]) -LIBS=$boost_wave_save_LIBS -LDFLAGS=$boost_wave_save_LDFLAGS -])# BOOST_WAVE - - -# BOOST_XPRESSIVE() -# ----------------- -# Look for Boost.Xpressive (new since 1.36.0). -AC_DEFUN([BOOST_XPRESSIVE], -[BOOST_FIND_HEADER([boost/xpressive/xpressive.hpp])]) - - -# ----------------- # -# Internal helpers. # -# ----------------- # - - -# _BOOST_PTHREAD_FLAG() -# --------------------- -# Internal helper for BOOST_THREADS. Based on ACX_PTHREAD: -# http://autoconf-archive.cryp.to/acx_pthread.html -AC_DEFUN([_BOOST_PTHREAD_FLAG], -[AC_REQUIRE([AC_PROG_CXX])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_LANG_PUSH([C++])dnl -AC_CACHE_CHECK([for the flags needed to use pthreads], [boost_cv_pthread_flag], -[ boost_cv_pthread_flag= - # The ordering *is* (sometimes) important. Some notes on the - # individual items follow: - # (none): in case threads are in libc; should be tried before -Kthread and - # other compiler flags to prevent continual compiler warnings - # -lpthreads: AIX (must check this before -lpthread) - # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) - # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) - # -llthread: LinuxThreads port on FreeBSD (also preferred to -pthread) - # -pthread: GNU Linux/GCC (kernel threads), BSD/GCC (userland threads) - # -pthreads: Solaris/GCC - # -mthreads: MinGW32/GCC, Lynx/GCC - # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it - # doesn't hurt to check since this sometimes defines pthreads too; - # also defines -D_REENTRANT) - # ... -mt is also the pthreads flag for HP/aCC - # -lpthread: GNU Linux, etc. - # --thread-safe: KAI C++ - case $host_os in #( - *solaris*) - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - boost_pthread_flags="-pthreads -lpthread -mt -pthread";; #( - *) - boost_pthread_flags="-lpthreads -Kthread -kthread -llthread -pthread \ - -pthreads -mthreads -lpthread --thread-safe -mt";; - esac - # Generate the test file. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <pthread.h>], - [pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0);])]) - for boost_pthread_flag in '' $boost_pthread_flags; do - boost_pthread_ok=false -dnl Re-use the test file already generated. - boost_pthreads__save_LIBS=$LIBS - LIBS="$LIBS $boost_pthread_flag" - AC_LINK_IFELSE([], - [if grep ".*$boost_pthread_flag" conftest.err; then - echo "This flag seems to have triggered warnings" >&AS_MESSAGE_LOG_FD - else - boost_pthread_ok=:; boost_cv_pthread_flag=$boost_pthread_flag - fi]) - LIBS=$boost_pthreads__save_LIBS - $boost_pthread_ok && break - done -]) -AC_LANG_POP([C++])dnl -])# _BOOST_PTHREAD_FLAG - - -# _BOOST_gcc_test(MAJOR, MINOR) -# ----------------------------- -# Internal helper for _BOOST_FIND_COMPILER_TAG. -m4_define([_BOOST_gcc_test], -["defined __GNUC__ && __GNUC__ == $1 && __GNUC_MINOR__ == $2 && !defined __ICC @ gcc$1$2"])dnl - - -# _BOOST_FIND_COMPILER_TAG() -# -------------------------- -# Internal. When Boost is installed without --layout=system, each library -# filename will hold a suffix that encodes the compiler used during the -# build. The Boost build system seems to call this a `tag'. -AC_DEFUN([_BOOST_FIND_COMPILER_TAG], -[AC_REQUIRE([AC_PROG_CXX])dnl -AC_CACHE_CHECK([for the toolset name used by Boost for $CXX], [boost_cv_lib_tag], -[AC_LANG_PUSH([C++])dnl - boost_cv_lib_tag=unknown - # The following tests are mostly inspired by boost/config/auto_link.hpp - # The list is sorted to most recent/common to oldest compiler (in order - # to increase the likelihood of finding the right compiler with the - # least number of compilation attempt). - # Beware that some tests are sensible to the order (for instance, we must - # look for MinGW before looking for GCC3). - # I used one compilation test per compiler with a #error to recognize - # each compiler so that it works even when cross-compiling (let me know - # if you know a better approach). - # Known missing tags (known from Boost's tools/build/v2/tools/common.jam): - # como, edg, kcc, bck, mp, sw, tru, xlc - # I'm not sure about my test for `il' (be careful: Intel's ICC pre-defines - # the same defines as GCC's). - # TODO: Move the test on GCC 4.4 up once it's released. - for i in \ - _BOOST_gcc_test(4, 3) \ - _BOOST_gcc_test(4, 2) \ - _BOOST_gcc_test(4, 1) \ - _BOOST_gcc_test(4, 0) \ - "defined __GNUC__ && __GNUC__ == 3 && !defined __ICC \ - && (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \ - || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw" \ - _BOOST_gcc_test(3, 4) \ - _BOOST_gcc_test(3, 3) \ - "defined _MSC_VER && _MSC_VER >= 1400 @ vc80" \ - _BOOST_gcc_test(3, 2) \ - "defined _MSC_VER && _MSC_VER == 1310 @ vc71" \ - _BOOST_gcc_test(3, 1) \ - _BOOST_gcc_test(3, 0) \ - "defined __BORLANDC__ @ bcb" \ - "defined __ICC && (defined __unix || defined __unix__) @ il" \ - "defined __ICL @ iw" \ - "defined _MSC_VER && _MSC_VER == 1300 @ vc7" \ - _BOOST_gcc_test(4, 4) \ - _BOOST_gcc_test(2, 95) \ - "defined __MWERKS__ && __MWERKS__ <= 0x32FF @ cw9" \ - "defined _MSC_VER && _MSC_VER < 1300 && !defined UNDER_CE @ vc6" \ - "defined _MSC_VER && _MSC_VER < 1300 && defined UNDER_CE @ evc4" \ - "defined __MWERKS__ && __MWERKS__ <= 0x31FF @ cw8" - do - boost_tag_test=`expr "X$i" : 'X\([[^@]]*\) @ '` - boost_tag=`expr "X$i" : 'X[[^@]]* @ \(.*\)'` - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if $boost_tag_test -/* OK */ -#else -# error $boost_tag_test -#endif -]])], [boost_cv_lib_tag=$boost_tag; break], []) - done -AC_LANG_POP([C++])dnl - case $boost_cv_lib_tag in #( - # Some newer (>= 1.35?) versions of Boost seem to only use "gcc" as opposed - # to "gcc41" for instance. - *-gcc | *'-gcc ') :;; #( Don't re-add -gcc: it's already in there. - gcc*) - # We can specify multiple tags in this variable because it's used by - # BOOST_FIND_LIB that does a `for tag in -$boost_cv_lib_tag' ... - boost_cv_lib_tag="$boost_cv_lib_tag -gcc" - ;; #( - unknown) - AC_MSG_WARN([[could not figure out which toolset name to use for $CXX]]) - boost_cv_lib_tag= - ;; - esac -])dnl end of AC_CACHE_CHECK -])# _BOOST_FIND_COMPILER_TAG - - -# _BOOST_GUESS_WHETHER_TO_USE_MT() -# -------------------------------- -# Compile a small test to try to guess whether we should favor MT (Multi -# Thread) flavors of Boost. Sets boost_guess_use_mt accordingly. -AC_DEFUN([_BOOST_GUESS_WHETHER_TO_USE_MT], -[# Check whether we do better use `mt' even though we weren't ask to. -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if defined _REENTRANT || defined _MT || defined __MT__ -/* use -mt */ -#else -# error MT not needed -#endif -]])], [boost_guess_use_mt=:], [boost_guess_use_mt=false]) -]) - -# _BOOST_AC_LINK_IFELSE(PROGRAM, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) -# ------------------------------------------------------------------- -# Fork of _AC_LINK_IFELSE that preserves conftest.o across calls. Fragile, -# will break when Autoconf changes its internals. Requires that you manually -# rm -f conftest.$ac_objext in between to really different tests, otherwise -# you will try to link a conftest.o left behind by a previous test. -# Used to aggressively optimize BOOST_FIND_LIB (see the big comment in this -# macro) -m4_define([_BOOST_AC_LINK_IFELSE], -[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl -rm -f conftest$ac_exeext -boost_ac_ext_save=$ac_ext -boost_use_source=: -# If we already have a .o, re-use it. We change $ac_ext so that $ac_link -# tries to link the existing object file instead of compiling from source. -test -f conftest.$ac_objext && ac_ext=$ac_objext && boost_use_source=false && - _AS_ECHO_LOG([re-using the existing conftest.$ac_objext]) -AS_IF([_AC_DO_STDERR($ac_link) && { - test -z "$ac_[]_AC_LANG_ABBREV[]_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_executable_p conftest$ac_exeext -dnl FIXME: use AS_TEST_X instead when 2.61 is widespread enough. - }], - [$2], - [if $boost_use_source; then - _AC_MSG_LOG_CONFTEST - fi - $3]) -dnl Delete also the IPA/IPO (Inter Procedural Analysis/Optimization) -dnl information created by the PGI compiler (conftest_ipa8_conftest.oo), -dnl as it would interfere with the next link command. -rm -f core conftest.err conftest_ipa8_conftest.oo \ - conftest$ac_exeext m4_ifval([$1], [conftest.$ac_ext])[]dnl -])# _BOOST_AC_LINK_IFELSE - -# Local Variables: -# mode: autoconf -# End: diff --git a/build-aux/bootstrap b/build-aux/bootstrap deleted file mode 100755 index 1f2ecd4..0000000 --- a/build-aux/bootstrap +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh -set -x -autoreconf -v -i diff --git a/build-aux/config.guess b/build-aux/config.guess deleted file mode 100755 index 84d5b85..0000000 --- a/build-aux/config.guess +++ /dev/null @@ -1,1574 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2009-02-03' - -# This file 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 2 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, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner <pe...@bo...>. -# Please send patches to <con...@gn...>. Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <con...@gn...>." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (gh...@no... 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -if [ "${UNAME_SYSTEM}" = "Linux" ] ; then - eval $set_cc_for_build - cat << EOF > $dummy.c - #include <features.h> - #ifdef __UCLIBC__ - # ifdef __UCLIBC_CONFIG_VERSION__ - LIBC=uclibc __UCLIBC_CONFIG_VERSION__ - # else - LIBC=uclibc - # endif - #else - LIBC=gnu - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'` -fi - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # ak...@wp... (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifde... [truncated message content] |
From: Thomas M. <tho...@us...> - 2009-07-01 07:53:46
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, doc has been created at 0b2fbeaf61da3b4efce4cfdaf8476d6842efd9e4 (commit) - Log ----------------------------------------------------------------- commit 0b2fbeaf61da3b4efce4cfdaf8476d6842efd9e4 Author: Thomas Moulard <tho...@gm...> Date: Wed Jul 1 16:47:30 2009 +0900 Create new doc branch. * Doxyfile.in: Rename from doc/Doxyfile.in. * Makefile.am: Rename from doc/Makefile.am. * Makefile.in: Rename from doc/Makefile.in. * build-aux/autotest.at: Remove. * build-aux/autotest.mk: Remove. * build-aux/boost.m4: Remove. * build-aux/bootstrap: Remove. * build-aux/config.guess: Remove. * build-aux/config.sub: Remove. * build-aux/deb.mk: Remove. * build-aux/depcomp: Remove. * build-aux/doxygen.m4: Remove. * build-aux/ebuild.mk: Remove. * build-aux/init.mk: Remove. * build-aux/install-sh: Remove. * build-aux/libtool.m4: Remove. * build-aux/ltmain.sh: Remove. * build-aux/ltoptions.m4: Remove. * build-aux/ltsugar.m4: Remove. * build-aux/ltversion.m4: Remove. * build-aux/lt~obsolete.m4: Remove. * build-aux/missing: Remove. * build-aux/move-if-change: Remove. * build-aux/pkg-config.mk: Remove. * build-aux/pkg-config.pc.in: Remove. * build-aux/roboptim-core.m4: Remove. * build-aux/rpm.mk: Remove. * build-aux/warning.m4: Remove. * doxygen.css: Rename from doc/doxygen.css. * footer.html: Rename from doc/footer.html. * header.html: Rename from doc/header.html. * optimization-tests/hs071.hh: Remove. * package.css: Rename from doc/package.css. * sf-upload.sh.in: Rename from doc/sf-upload.sh.in. * tabs.css: Rename from doc/tabs.css. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index a14ed04..138b644 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,42 @@ +2009-07-01 Thomas Moulard <tho...@gm...> + + Create new doc branch. + * Doxyfile.in: Rename from doc/Doxyfile.in. + * Makefile.am: Rename from doc/Makefile.am. + * Makefile.in: Rename from doc/Makefile.in. + * build-aux/autotest.at: Remove. + * build-aux/autotest.mk: Remove. + * build-aux/boost.m4: Remove. + * build-aux/bootstrap: Remove. + * build-aux/config.guess: Remove. + * build-aux/config.sub: Remove. + * build-aux/deb.mk: Remove. + * build-aux/depcomp: Remove. + * build-aux/doxygen.m4: Remove. + * build-aux/ebuild.mk: Remove. + * build-aux/init.mk: Remove. + * build-aux/install-sh: Remove. + * build-aux/libtool.m4: Remove. + * build-aux/ltmain.sh: Remove. + * build-aux/ltoptions.m4: Remove. + * build-aux/ltsugar.m4: Remove. + * build-aux/ltversion.m4: Remove. + * build-aux/lt~obsolete.m4: Remove. + * build-aux/missing: Remove. + * build-aux/move-if-change: Remove. + * build-aux/pkg-config.mk: Remove. + * build-aux/pkg-config.pc.in: Remove. + * build-aux/roboptim-core.m4: Remove. + * build-aux/rpm.mk: Remove. + * build-aux/warning.m4: Remove. + * doxygen.css: Rename from doc/doxygen.css. + * footer.html: Rename from doc/footer.html. + * header.html: Rename from doc/header.html. + * optimization-tests/hs071.hh: Remove. + * package.css: Rename from doc/package.css. + * sf-upload.sh.in: Rename from doc/sf-upload.sh.in. + * tabs.css: Rename from doc/tabs.css. + 2009-06-26 Thomas Moulard <tho...@gm...> Add titles to function. diff --git a/doc/Doxyfile.in b/Doxyfile.in similarity index 100% rename from doc/Doxyfile.in rename to Doxyfile.in diff --git a/doc/Makefile.am b/Makefile.am similarity index 100% rename from doc/Makefile.am rename to Makefile.am diff --git a/doc/Makefile.in b/Makefile.in similarity index 100% rename from doc/Makefile.in rename to Makefile.in diff --git a/build-aux/autotest.at b/build-aux/autotest.at deleted file mode 100644 index 75485ee..0000000 --- a/build-aux/autotest.at +++ /dev/null @@ -1,63 +0,0 @@ -# -*-Autoconf-*- -# Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. -# This file is part of the roboptim. -# -# roboptim 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# roboptim 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 roboptim. If not, see <http://www.gnu.org/licenses/>. - -# serial 1 - -m4_pattern_forbid([^CHECK_STDOUT]) - - -# CHECK_STDOUT(BINARY, [DESCRIPTION], -# [SKIP_EXPR = false], [XFAIL_EXPR = false]) -# -------------------------------------------------------------- -# Check against a ``.stdout'' file. -# If the binary can not be built, the test is skipped. -# BINARY: the binary that has to be runned. -# DESCRIPTION: test's description. -# SKIP_EXPR: if shell expression evalutes to true, skip test. -# XFAIL_EXPR: if shell expression evalutes to true, tag test as xfail. -m4_define([CHECK_STDOUT], -[m4_ifset ([$1], [], - [m4_fatal([CHECK_STDOUT has be called with at least one argument])]) -AT_SETUP([m4_default([$2], [Unnamed test])]) - -AT_CHECK([if m4_default([$3], [false]); then - exit 77; else - true; fi], [0], [ignore], [ignore]) - -AT_XFAIL_IF([m4_default([$4], [false])]) -cp $abs_srcdir/$1.stdout expout -AT_CHECK([$CHECK_PREFIX `which $1`], [0], [expout], [ignore]) - -AT_CLEANUP -]) # CHECK_STDOUT - - -# CHECK_STDOUT_SKIP(BINARY, [DESCRIPTION], [XFAIL_EXPR]) -# -------------------------------------------------------------- -# Do a CHECK_STDOUT if the BINARY exists (is in the path). -m4_define([CHECK_STDOUT_SKIPPABLE], -[CHECK_STDOUT([$1], [$2], [test x`which $1` = x], [$3]) -]) # CHECK_STDOUT_SKIP - -# End of autotest.at diff --git a/build-aux/autotest.mk b/build-aux/autotest.mk deleted file mode 100644 index 1308305..0000000 --- a/build-aux/autotest.mk +++ /dev/null @@ -1,87 +0,0 @@ -# -*-Automake-*- -# Copyright (C) 2009 by Thomas Moulard, AIST, CNRS, INRIA. -# This file is part of the roboptim. -# -# roboptim 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# roboptim 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 roboptim. If not, see <http://www.gnu.org/licenses/>. - -# -------# -# README # -# -------# - -# This file should be included in Makefile.am associated to a directory which -# contains an Autotest test suite. -# -# This file assumes that: -# -# - you include *before* this file init.mk or make sure that any global -# variable can be used with the += syntax. -# - package.m4 is located in $(top_builddir)/tests -# - you provide atlocal and testsuite.at files (see Autotest -# documentation in the Autoconf manual). -# - you define TESTSUITE_AT which contains the list of the .at files -# included by this test suite. - - -# -----# -# TODO # -# -----# - -# - Make it more generic. - - -# Define how autom4te is called to generate the testsuite file. -AUTOTEST = $(AUTOM4TE) --language=autotest -Wall - -# Package following files. -EXTRA_DIST += atlocal testsuite.at $(TESTSUITE) $(TESTSUITE_AT) - -# Run testsuite in this directory. -TESTSUITE = $(srcdir)/testsuite - -# Define where package.m4.in is located. -PACKAGE_M4_IN=$(top_srcdir)/tests/package.m4.in - -# Define m4 dependencies. -TESTSUITE_AT = $(top_srcdir)/build-aux/autotest.at - - -# ----- # -# RULES # -# ----- # - -check-local: atconfig atlocal $(TESTSUITE) - $(SHELL) $(TESTSUITE) $(TESTSUITEFLAGS) - -installcheck-local: atconfig atlocal $(TESTSUITE) - $(SHELL) $(TESTSUITE) AUTOTEST_PATH="$(bindir)" $(TESTSUITEFLAGS) - -clean-local: - test ! -f $(TESTSUITE) || $(SHELL) $(TESTSUITE) --clean - rm -f -r autom4te.cache - -$(TESTSUITE): $(PACKAGE_M4_IN) $(srcdir)/testsuite.at $(TESTSUITE_AT) \ - $(top_srcdir)/configure - $(AUTOTEST) -I'$(srcdir)' -I'$(top_srcdir)/build-aux' \ - -I'$(top_builddir)/tests' $@.at -o $@.tmp - mv $@.tmp $@ - -atconfig: $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status tests/$@ diff --git a/build-aux/boost.m4 b/build-aux/boost.m4 deleted file mode 100644 index a9fc46c..0000000 --- a/build-aux/boost.m4 +++ /dev/null @@ -1,933 +0,0 @@ -# boost.m4: Locate Boost headers and libraries for autoconf-based projects. -# Copyright (C) 2007, 2008, 2009 Benoit Sigoure <ts...@lr...> -# -# 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. -# -# Additional permission under section 7 of the GNU General Public -# License, version 3 ("GPLv3"): -# -# If you convey this file as part of a work that contains a -# configuration script generated by Autoconf, you may do so under -# terms of your choice. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# serial 10 -# Original sources can be found at http://repo.or.cz/w/boost.m4.git -# You can fetch the latest version of the script by doing: -# wget 'http://repo.or.cz/w/boost.m4.git?a=blob_plain;f=build-aux/boost.m4;hb=HEAD' -O boost.m4 - -# ------ # -# README # -# ------ # - -# This file provides several macros to use the various Boost libraries. -# The first macro is BOOST_REQUIRE. It will simply check if it's possible to -# find the Boost headers of a given (optional) minimum version and it will -# define BOOST_CPPFLAGS accordingly. It will add an option --with-boost to -# your configure so that users can specify non standard locations. -# If the user's environment contains BOOST_ROOT and --with-boost was not -# specified, --with-boost=$BOOST_ROOT is implicitly used. -# For more README and documentation, go to http://repo.or.cz/w/boost.m4.git -# Note: THESE MACROS ASSUME THAT YOU USE LIBTOOL. If you don't, don't worry, -# simply read the README, it will show you what to do step by step. - -m4_pattern_forbid([^_?BOOST_]) - - -# _BOOST_SED_CPP(SED-PROGRAM, PROGRAM, -# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -------------------------------------------------------- -# Same as AC_EGREP_CPP, but leave the result in conftest.i. -# PATTERN is *not* overquoted, as in AC_EGREP_CPP. It could be useful -# to turn this into a macro which extracts the value of any macro. -m4_define([_BOOST_SED_CPP], -[AC_LANG_PREPROC_REQUIRE()dnl -AC_REQUIRE([AC_PROG_SED])dnl -AC_LANG_CONFTEST([AC_LANG_SOURCE([[$2]])]) -AS_IF([dnl eval is necessary to expand ac_cpp. -dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell. -(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | - $SED -n -e "$1" >conftest.i 2>&1], - [$3], - [$4])dnl -rm -f conftest* -])# AC_EGREP_CPP - - - -# BOOST_REQUIRE([VERSION]) -# ------------------------ -# Look for Boost. If version is given, it must either be a literal of the form -# "X.Y.Z" where X, Y and Z are integers (the ".Z" part being optional) or a -# variable "$var". -# Defines the value BOOST_CPPFLAGS. This macro only checks for headers with -# the required version, it does not check for any of the Boost libraries. -# FIXME: Add a 2nd optional argument so that it's not fatal if Boost isn't found -# and add an AC_DEFINE to tell whether HAVE_BOOST. -AC_DEFUN([BOOST_REQUIRE], -[boost_save_IFS=$IFS -boost_version_req="$1" -IFS=. -set x $boost_version_req 0 0 0 -IFS=$boost_save_IFS -shift -boost_version_req=`expr "$[1]" '*' 100000 + "$[2]" '*' 100 + "$[3]"` -AC_ARG_WITH([boost], - [AS_HELP_STRING([--with-boost=DIR], - [prefix of Boost $1 @<:@guess@:>@])])dnl -AC_ARG_VAR([BOOST_ROOT],[Location of Boost installation])dnl -# If BOOST_ROOT is set and the user has not provided a value to -# --with-boost, then treat BOOST_ROOT as if it the user supplied it. -if test x"$BOOST_ROOT" != x; then - if test x"$with_boost" = x; then - AC_MSG_NOTICE([Detected BOOST_ROOT; continuing with --with-boost=$BOOST_ROOT]) - with_boost=$BOOST_ROOT - else - AC_MSG_NOTICE([Detected BOOST_ROOT=$BOOST_ROOT, but overridden by --with-boost=$with_boost]) - fi -fi -AC_SUBST([DISTCHECK_CONFIGURE_FLAGS], - ["$DISTCHECK_CONFIGURE_FLAGS '--with-boost=$with_boost'"]) -boost_save_CPPFLAGS=$CPPFLAGS - AC_CACHE_CHECK([for Boost headers version >= $boost_version_req], - [boost_cv_inc_path], - [boost_cv_inc_path=no -AC_LANG_PUSH([C++])dnl -m4_pattern_allow([^BOOST_VERSION$])dnl - AC_LANG_CONFTEST([AC_LANG_PROGRAM([[#include <boost/version.hpp> -#if !defined BOOST_VERSION -# error BOOST_VERSION is not defined -#elif BOOST_VERSION < $boost_version_req -# error Boost headers version < $boost_version_req -#endif -]])]) - # If the user provided a value to --with-boost, use it and only it. - case $with_boost in #( - ''|yes) set x '' /opt/local/include /usr/local/include /opt/include \ - /usr/include C:/Boost/include;; #( - *) set x "$with_boost/include" "$with_boost";; - esac - shift - for boost_dir - do - # Without --layout=system, Boost (or at least some versions) installs - # itself in <prefix>/include/boost-<version>. This inner loop helps to - # find headers in such directories. - # I didn't indent this loop on purpose (to avoid over-indented code) - for boost_inc in "$boost_dir" "$boost_dir"/boost-* - do - test x"$boost_inc" != x && CPPFLAGS="$CPPFLAGS -I$boost_inc" - AC_COMPILE_IFELSE([], [boost_cv_inc_path=yes], [boost_cv_version=no]) - if test x"$boost_cv_inc_path" = xyes; then - if test x"$boost_inc" != x; then - boost_cv_inc_path=$boost_inc - fi - break 2 - fi - done - done -AC_LANG_POP([C++])dnl - ]) - case $boost_cv_inc_path in #( - no) AC_MSG_ERROR([cannot find Boost headers version >= $boost_version_req]);;#( - yes) BOOST_CPPFLAGS=;;#( - *) AC_SUBST([BOOST_CPPFLAGS], ["-I$boost_cv_inc_path"]);; - esac - AC_CACHE_CHECK([for Boost's header version], - [boost_cv_lib_version], - [m4_pattern_allow([^BOOST_LIB_VERSION$])dnl - _BOOST_SED_CPP([/^boost-lib-version = /{s///;s/\"//g;p;g;}], - [#include <boost/version.hpp> -boost-lib-version = BOOST_LIB_VERSION], - [boost_cv_lib_version=`cat conftest.i`])]) - # e.g. "134" for 1_34_1 or "135" for 1_35 - boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'` - case $boost_major_version in #( - '' | *[[!0-9]]*) - AC_MSG_ERROR([Invalid value: boost_major_version=$boost_major_version]) - ;; - esac -CPPFLAGS=$boost_save_CPPFLAGS -])# BOOST_REQUIRE - -# BOOST_STATIC() -# -------------- -# Add the "--enable-static-boost" configure argument. If this argument is given -# on the command line, static versions of the libraries will be looked up. -AC_DEFUN([BOOST_STATIC], - [AC_ARG_ENABLE([static-boost], - [AC_HELP_STRING([--enable-static-boost], - [Prefer the static boost libraries over the shared ones [no]])], - [enable_static_boost=yes], - [enable_static_boost=no])])# BOOST_STATIC - -# BOOST_FIND_HEADER([HEADER-NAME], [ACTION-IF-NOT-FOUND], [ACTION-IF-FOUND]) -# -------------------------------------------------------------------------- -# Wrapper around AC_CHECK_HEADER for Boost headers. Useful to check for -# some parts of the Boost library which are only made of headers and don't -# require linking (such as Boost.Foreach). -# -# Default ACTION-IF-NOT-FOUND: Fail with a fatal error. -# -# Default ACTION-IF-FOUND: define the preprocessor symbol HAVE_<HEADER-NAME> in -# case of success # (where HEADER-NAME is written LIKE_THIS, e.g., -# HAVE_BOOST_FOREACH_HPP). -AC_DEFUN([BOOST_FIND_HEADER], -[AC_REQUIRE([BOOST_REQUIRE])dnl -AC_LANG_PUSH([C++])dnl -boost_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" -AC_CHECK_HEADER([$1], - [m4_default([$3], [AC_DEFINE(AS_TR_CPP([HAVE_$1]), [1], - [Define to 1 if you have <$1>])])], - [m4_default([$2], [AC_MSG_ERROR([cannot find $1])])]) -CPPFLAGS=$boost_save_CPPFLAGS -AC_LANG_POP([C++])dnl -])# BOOST_FIND_HEADER - - -# BOOST_FIND_LIB([LIB-NAME], [PREFERRED-RT-OPT], [HEADER-NAME], [CXX-TEST], -# [CXX-PROLOGUE]) -# ------------------------------------------------------------------------- -# Look for the Boost library LIB-NAME (e.g., LIB-NAME = `thread', for -# libboost_thread). Check that HEADER-NAME works and check that -# libboost_LIB-NAME can link with the code CXX-TEST. The optional argument -# CXX-PROLOGUE can be used to include some C++ code before the `main' -# function. -# -# Invokes BOOST_FIND_HEADER([HEADER-NAME]) (see above). -# -# Boost libraries typically come compiled with several flavors (with different -# runtime options) so PREFERRED-RT-OPT is the preferred suffix. A suffix is one -# or more of the following letters: sgdpn (in that order). s = static -# runtime, d = debug build, g = debug/diagnostic runtime, p = STLPort build, -# n = (unsure) STLPort build without iostreams from STLPort (it looks like `n' -# must always be used along with `p'). Additionally, PREFERRED-RT-OPT can -# start with `mt-' to indicate that there is a preference for multi-thread -# builds. Some sample values for PREFERRED-RT-OPT: (nothing), mt, d, mt-d, gdp -# ... If you want to make sure you have a specific version of Boost -# (eg, >= 1.33) you *must* invoke BOOST_REQUIRE before this macro. -AC_DEFUN([BOOST_FIND_LIB], -[AC_REQUIRE([_BOOST_FIND_COMPILER_TAG])dnl -AC_REQUIRE([BOOST_REQUIRE])dnl -AC_REQUIRE([BOOST_STATIC])dnl -AC_REQUIRE([_BOOST_GUESS_WHETHER_TO_USE_MT])dnl -AC_LANG_PUSH([C++])dnl -AS_VAR_PUSHDEF([Boost_lib], [boost_cv_lib_$1])dnl -AS_VAR_PUSHDEF([Boost_lib_LDFLAGS], [boost_cv_lib_$1_LDFLAGS])dnl -AS_VAR_PUSHDEF([Boost_lib_LIBS], [boost_cv_lib_$1_LIBS])dnl -BOOST_FIND_HEADER([$3]) -boost_save_CPPFLAGS=$CPPFLAGS -CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" -# Now let's try to find the library. The algorithm is as follows: first look -# for a given library name according to the user's PREFERRED-RT-OPT. For each -# library name, we prefer to use the ones that carry the tag (toolset name). -# Each library is searched through the various standard paths were Boost is -# usually installed. If we can't find the standard variants, we try to -# enforce -mt (for instance on MacOSX, libboost_threads.dylib doesn't exist -# but there's -obviously- libboost_threads-mt.dylib). -AC_CACHE_CHECK([for the Boost $1 library], [Boost_lib], - [Boost_lib=no - case "$2" in #( - mt | mt-) boost_mt=-mt; boost_rtopt=;; #( - mt* | mt-*) boost_mt=-mt; boost_rtopt=`expr "X$2" : 'Xmt-*\(.*\)'`;; #( - *) boost_mt=; boost_rtopt=$2;; - esac - if test $enable_static_boost = yes; then - boost_rtopt="s$boost_rtopt" - fi - # Find the proper debug variant depending on what we've been asked to find. - case $boost_rtopt in #( - *d*) boost_rt_d=$boost_rtopt;; #( - *[[sgpn]]*) # Insert the `d' at the right place (in between `sg' and `pn') - boost_rt_d=`echo "$boost_rtopt" | sed 's/\(s*g*\)\(p*n*\)/\1\2/'`;; #( - *) boost_rt_d='-d';; - esac - # If the PREFERRED-RT-OPT are not empty, prepend a `-'. - test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt" - $boost_guess_use_mt && boost_mt=-mt - # Look for the abs path the static archive. - # $libext is computed by Libtool but let's make sure it's non empty. - test -z "$libext" && - AC_MSG_ERROR([the libext variable is empty, did you invoke Libtool?]) - boost_save_ac_objext=$ac_objext - # Generate the test file. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <$3> -$5], [$4])]) -dnl Optimization hacks: compiling C++ is slow, especially with Boost. What -dnl we're trying to do here is guess the right combination of link flags -dnl (LIBS / LDFLAGS) to use a given library. This can take several -dnl iterations before it succeeds and is thus *very* slow. So what we do -dnl instead is that we compile the code first (and thus get an object file, -dnl typically conftest.o). Then we try various combinations of link flags -dnl until we succeed to link conftest.o in an executable. The problem is -dnl that the various TRY_LINK / COMPILE_IFELSE macros of Autoconf always -dnl remove all the temporary files including conftest.o. So the trick here -dnl is to temporarily change the value of ac_objext so that conftest.o is -dnl preserved accross tests. This is obviously fragile and I will burn in -dnl hell for not respecting Autoconf's documented interfaces, but in the -dnl mean time, it optimizes the macro by a factor of 5 to 30. -dnl Another small optimization: the first argument of AC_COMPILE_IFELSE left -dnl empty because the test file is generated only once above (before we -dnl start the for loops). - AC_COMPILE_IFELSE([], - [ac_objext=do_not_rm_me_plz], - [AC_MSG_ERROR([Cannot compile a test that uses Boost $1])]) - ac_objext=$boost_save_ac_objext - boost_failed_libs= -# Don't bother to ident the 6 nested for loops, only the 2 innermost ones -# matter. -for boost_tag_ in -$boost_cv_lib_tag ''; do -for boost_ver_ in -$boost_cv_lib_version ''; do -for boost_mt_ in $boost_mt -mt ''; do -for boost_rtopt_ in $boost_rtopt '' -d; do - for boost_lib in \ - boost_$1$boost_tag_$boost_mt_$boost_rtopt_$boost_ver_ \ - boost_$1$boost_tag_$boost_rtopt_$boost_ver_ \ - boost_$1$boost_tag_$boost_mt_$boost_ver_ \ - boost_$1$boost_tag_$boost_ver_ - do - # Avoid testing twice the same lib - case $boost_failed_libs in #( - *@$boost_lib@*) continue;; - esac - # If with_boost is empty, we'll search in /lib first, which is not quite - # right so instead we'll try to a location based on where the headers are. - boost_tmp_lib=$with_boost - test x"$with_boost" = x && boost_tmp_lib=${boost_cv_inc_path%/include} - for boost_ldpath in "$boost_tmp_lib/lib" '' \ - /opt/local/lib /usr/local/lib /opt/lib /usr/lib \ - "$with_boost" C:/Boost/lib /lib /usr/lib64 /lib64 - do - test -e "$boost_ldpath" || continue - boost_save_LDFLAGS=$LDFLAGS - # Are we looking for a static library? - case $boost_ldpath:$boost_rtopt_ in #( - *?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt) - Boost_lib_LIBS="$boost_ldpath/lib$boost_lib.$libext" - test -e "$Boost_lib_LIBS" || continue;; #( - *) # No: use -lboost_foo to find the shared library. - Boost_lib_LIBS="-l$boost_lib";; - esac - boost_save_LIBS=$LIBS - LIBS="$Boost_lib_LIBS $LIBS" - test x"$boost_ldpath" != x && LDFLAGS="$LDFLAGS -L$boost_ldpath" -dnl First argument of AC_LINK_IFELSE left empty because the test file is -dnl generated only once above (before we start the for loops). - _BOOST_AC_LINK_IFELSE([], - [Boost_lib=yes], [Boost_lib=no]) - ac_objext=$boost_save_ac_objext - LDFLAGS=$boost_save_LDFLAGS - LIBS=$boost_save_LIBS - if test x"$Boost_lib" = xyes; then - Boost_lib_LDFLAGS="-L$boost_ldpath -R$boost_ldpath" - break 6 - else - boost_failed_libs="$boost_failed_libs@$boost_lib@" - fi - done - done -done -done -done -done -rm -f conftest.$ac_objext -]) -case $Boost_lib in #( - no) AC_MSG_ERROR([Could not find the flags to link with Boost $1]) - ;; -esac -AC_SUBST(AS_TR_CPP([BOOST_$1_LDFLAGS]), [$Boost_lib_LDFLAGS]) -AC_SUBST(AS_TR_CPP([BOOST_$1_LIBS]), [$Boost_lib_LIBS]) -CPPFLAGS=$boost_save_CPPFLAGS -AS_VAR_POPDEF([Boost_lib])dnl -AS_VAR_POPDEF([Boost_lib_LDFLAGS])dnl -AS_VAR_POPDEF([Boost_lib_LIBS])dnl -AC_LANG_POP([C++])dnl -])# BOOST_FIND_LIB - - -# --------------------------------------- # -# Checks for the various Boost libraries. # -# --------------------------------------- # - -# List of boost libraries: http://www.boost.org/libs/libraries.htm -# The page http://beta.boost.org/doc/libs is useful: it gives the first release -# version of each library (among other things). - - -# BOOST_ASIO() -# ------------ -# Look for Boost.Asio (new in Boost 1.35). -AC_DEFUN([BOOST_ASIO], -[AC_REQUIRE([BOOST_SYSTEM])dnl -BOOST_FIND_HEADER([boost/asio.hpp])]) - - -# BOOST_BIND() -# ------------ -# Look for Boost.Bind -AC_DEFUN([BOOST_BIND], -[BOOST_FIND_HEADER([boost/bind.hpp])]) - - -# BOOST_CONVERSION() -# ------------------ -# Look for Boost.Conversion (cast / lexical_cast) -AC_DEFUN([BOOST_CONVERSION], -[BOOST_FIND_HEADER([boost/cast.hpp]) -BOOST_FIND_HEADER([boost/lexical_cast.hpp]) -])# BOOST_CONVERSION - - -# BOOST_DATE_TIME([PREFERRED-RT-OPT]) -# ----------------------------------- -# Look for Boost.Date_Time. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_DATE_TIME], -[BOOST_FIND_LIB([date_time], [$1], - [boost/date_time/posix_time/posix_time.hpp], - [boost::posix_time::ptime t;]) -])# BOOST_DATE_TIME - - -# BOOST_FILESYSTEM([PREFERRED-RT-OPT]) -# ------------------------------------ -# Look for Boost.Filesystem. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -# Do not check for boost/filesystem.hpp because this file was introduced in -# 1.34. -AC_DEFUN([BOOST_FILESYSTEM], -[# Do we have to check for Boost.System? This link-time dependency was -# added as of 1.35.0. If we have a version <1.35, we must not attempt to -# find Boost.System as it didn't exist by then. -if test $boost_major_version -ge 135; then -BOOST_SYSTEM([$1]) -fi # end of the Boost.System check. -boost_filesystem_save_LIBS=$LIBS -boost_filesystem_save_LDFLAGS=$LDFLAGS -m4_pattern_allow([^BOOST_SYSTEM_(LIBS|LDFLAGS)$])dnl -LIBS="$LIBS $BOOST_SYSTEM_LIBS" -LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS" -BOOST_FIND_LIB([filesystem], [$1], - [boost/filesystem/path.hpp], [boost::filesystem::path p;]) -LIBS=$boost_filesystem_save_LIBS -LDFLAGS=$boost_filesystem_save_LDFLAGS -])# BOOST_FILESYSTEM - - -# BOOST_FOREACH() -# --------------- -# Look for Boost.Foreach -AC_DEFUN([BOOST_FOREACH], -[BOOST_FIND_HEADER([boost/foreach.hpp])]) - - -# BOOST_FORMAT() -# -------------- -# Look for Boost.Format -# Note: we can't check for boost/format/format_fwd.hpp because the header isn't -# standalone. It can't be compiled because it triggers the following error: -# boost/format/detail/config_macros.hpp:88: error: 'locale' in namespace 'std' -# does not name a type -AC_DEFUN([BOOST_FORMAT], -[BOOST_FIND_HEADER([boost/format.hpp])]) - - -# BOOST_FUNCTION() -# ---------------- -# Look for Boost.Function -AC_DEFUN([BOOST_FUNCTION], -[BOOST_FIND_HEADER([boost/function.hpp])]) - - -# BOOST_FUSTION() -# ---------------- -# Look for Boost.Fusion -AC_DEFUN([BOOST_FUSION], -[BOOST_FIND_HEADER([boost/fusion/include/vector.hpp])]) - - -# BOOST_GRAPH([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.Graphs. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_GRAPH], -[BOOST_FIND_LIB([graph], [$1], - [boost/graph/adjacency_list.hpp], [boost::adjacency_list<> g;]) -])# BOOST_GRAPH - - -# BOOST_IOSTREAMS([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.IOStreams. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_IOSTREAMS], -[BOOST_FIND_LIB([iostreams], [$1], - [boost/iostreams/device/file_descriptor.hpp], - [boost::iostreams::file_descriptor fd(0); fd.close();]) -])# BOOST_IOSTREAMS - - -# BOOST_HASH() -# ------------ -# Look for Boost.Functional/Hash -AC_DEFUN([BOOST_HASH], -[BOOST_FIND_HEADER([boost/functional/hash.hpp])]) - - -# BOOST_LAMBDA() -# -------------- -# Look for Boost.Lambda -AC_DEFUN([BOOST_LAMBDA], -[BOOST_FIND_HEADER([boost/lambda/lambda.hpp])]) - -# BOOST_MPL() -# -------------- -# Look for Boost.MPL -AC_DEFUN([BOOST_MPL], -[BOOST_FIND_HEADER([boost/mpl/void_fwd.hpp])]) - - -# BOOST_OPTIONAL() -# ---------------- -# Look for Boost.Optional -AC_DEFUN([BOOST_OPTIONAL], -[BOOST_FIND_HEADER([boost/optional.hpp])]) - - -# BOOST_PREPROCESSOR() -# -------------------- -# Look for Boost.Preprocessor -AC_DEFUN([BOOST_PREPROCESSOR], -[BOOST_FIND_HEADER([boost/preprocessor/repeat.hpp])]) - - -# BOOST_PROGRAM_OPTIONS([PREFERRED-RT-OPT]) -# ----------------------------------------- -# Look for Boost.Program_options. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_PROGRAM_OPTIONS], -[BOOST_FIND_LIB([program_options], [$1], - [boost/program_options.hpp], - [boost::program_options::options_description d("test");]) -])# BOOST_PROGRAM_OPTIONS - - -# BOOST_REF() -# ----------- -# Look for Boost.Ref -AC_DEFUN([BOOST_REF], -[BOOST_FIND_HEADER([boost/ref.hpp])]) - - -# BOOST_REGEX([PREFERRED-RT-OPT]) -# ------------------------------- -# Look for Boost.Regex. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_REGEX], -[BOOST_FIND_LIB([regex], [$1], - [boost/regex.hpp], - [boost::regex exp("*"); boost::regex_match("foo", exp);]) -])# BOOST_REGEX - - -# BOOST_SERIALIZATION([PREFERRED-RT-OPT]) -# --------------------------------------- -# Look for Boost.Serialization. For the documentation of PREFERRED-RT-OPT, see -# the documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_SERIALIZATION], -[BOOST_FIND_LIB([serialization], [$1], - [boost/archive/text_oarchive.hpp], - [std::ostream* o = 0; // Cheap way to get an ostream... - boost::archive::text_oarchive t(*o);]) -])# BOOST_SIGNALS - - -# BOOST_SIGNALS([PREFERRED-RT-OPT]) -# --------------------------------- -# Look for Boost.Signals. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_SIGNALS], -[BOOST_FIND_LIB([signals], [$1], - [boost/signal.hpp], - [boost::signal<void ()> s;]) -])# BOOST_SIGNALS - - -# BOOST_SMART_PTR() -# ----------------- -# Look for Boost.SmartPtr -AC_DEFUN([BOOST_SMART_PTR], -[BOOST_FIND_HEADER([boost/scoped_ptr.hpp]) -BOOST_FIND_HEADER([boost/shared_ptr.hpp]) -]) - - -# BOOST_STATICASSERT() -# -------------------- -# Look for Boost.StaticAssert -AC_DEFUN([BOOST_STATICASSERT], -[BOOST_FIND_HEADER([boost/static_assert.hpp])]) - - -# BOOST_STRING_ALGO() -# ------------------- -# Look for Boost.StringAlgo -AC_DEFUN([BOOST_STRING_ALGO], -[BOOST_FIND_HEADER([boost/algorithm/string.hpp]) -]) - - -# BOOST_SYSTEM([PREFERRED-RT-OPT]) -# -------------------------------- -# Look for Boost.System. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. This library was introduced in Boost -# 1.35.0. -AC_DEFUN([BOOST_SYSTEM], -[BOOST_FIND_LIB([system], [$1], - [boost/system/error_code.hpp], - [boost::system::error_code e; e.clear();]) -])# BOOST_SYSTEM - - -# BOOST_TEST([PREFERRED-RT-OPT]) -# ------------------------------ -# Look for Boost.Test. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_TEST], -[m4_pattern_allow([^BOOST_CHECK$])dnl -BOOST_FIND_LIB([unit_test_framework], [$1], - [boost/test/unit_test.hpp], [BOOST_CHECK(2 == 2);], - [using boost::unit_test::test_suite; - test_suite* init_unit_test_suite(int argc, char ** argv) - { return NULL; }]) -])# BOOST_TEST - - -# BOOST_THREADS([PREFERRED-RT-OPT]) -# --------------------------------- -# Look for Boost.Thread. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -# FIXME: Provide an alias "BOOST_THREAD". -AC_DEFUN([BOOST_THREADS], -[dnl Having the pthread flag is required at least on GCC3 where -dnl boost/thread.hpp would complain if we try to compile without -dnl -pthread on GNU/Linux. -AC_REQUIRE([_BOOST_PTHREAD_FLAG])dnl -boost_threads_save_LIBS=$LIBS -boost_threads_save_CPPFLAGS=$CPPFLAGS -LIBS="$LIBS $boost_cv_pthread_flag" -# Yes, we *need* to put the -pthread thing in CPPFLAGS because with GCC3, -# boost/thread.hpp will trigger a #error if -pthread isn't used: -# boost/config/requires_threads.hpp:47:5: #error "Compiler threading support -# is not turned on. Please set the correct command line options for -# threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" -CPPFLAGS="$CPPFLAGS $boost_cv_pthread_flag" -BOOST_FIND_LIB([thread], [$1], - [boost/thread.hpp], [boost::thread t; boost::mutex m;]) -BOOST_THREAD_LIBS="$BOOST_THREAD_LIBS $boost_cv_pthread_flag" -BOOST_CPPFLAGS="$BOOST_CPPFLAGS $boost_cv_pthread_flag" -LIBS=$boost_threads_save_LIBS -CPPFLAGS=$boost_threads_save_CPPFLAGS -])# BOOST_THREADS - - -# BOOST_TOKENIZER() -# ----------------- -# Look for Boost.Tokenizer -AC_DEFUN([BOOST_TOKENIZER], -[BOOST_FIND_HEADER([boost/tokenizer.hpp])]) - - -# BOOST_TRIBOOL() -# --------------- -# Look for Boost.Tribool -AC_DEFUN([BOOST_TRIBOOL], -[BOOST_FIND_HEADER([boost/logic/tribool_fwd.hpp]) -BOOST_FIND_HEADER([boost/logic/tribool.hpp]) -]) - - -# BOOST_TUPLE() -# ------------- -# Look for Boost.Tuple -AC_DEFUN([BOOST_TUPLE], -[BOOST_FIND_HEADER([boost/tuple/tuple.hpp])]) - - -# BOOST_TYPETRAITS() -# -------------------- -# Look for Boost.TypeTraits -AC_DEFUN([BOOST_TYPETRAITS], -[BOOST_FIND_HEADER([boost/type_traits.hpp])]) - - -# BOOST_UTILITY() -# --------------- -# Look for Boost.Utility (noncopyable, result_of, base-from-member idiom, -# etc.) -AC_DEFUN([BOOST_UTILITY], -[BOOST_FIND_HEADER([boost/utility.hpp])]) - - -# BOOST_VARIANT() -# --------------- -# Look for Boost.Variant. -AC_DEFUN([BOOST_VARIANT], -[BOOST_FIND_HEADER([boost/variant/variant_fwd.hpp]) -BOOST_FIND_HEADER([boost/variant.hpp])]) - - -# BOOST_WAVE([PREFERRED-RT-OPT]) -# ------------------------------ -# NOTE: If you intend to use Wave/Spirit with thread support, make sure you -# call BOOST_THREADS first. -# Look for Boost.Wave. For the documentation of PREFERRED-RT-OPT, see the -# documentation of BOOST_FIND_LIB above. -AC_DEFUN([BOOST_WAVE], -[AC_REQUIRE([BOOST_FILESYSTEM])dnl -AC_REQUIRE([BOOST_DATE_TIME])dnl -boost_wave_save_LIBS=$LIBS -boost_wave_save_LDFLAGS=$LDFLAGS -m4_pattern_allow([^BOOST_((FILE)?SYSTEM|DATE_TIME|THREAD)_(LIBS|LDFLAGS)$])dnl -LIBS="$LIBS $BOOST_SYSTEM_LIBS $BOOST_FILESYSTEM_LIBS $BOOST_DATE_TIME_LIBS\ -$BOOST_THREAD_LIBS" -LDFLAGS="$LDFLAGS $BOOST_SYSTEM_LDFLAGS $BOOST_FILESYSTEM_LDFLAGS\ -$BOOST_DATE_TIME_LDFLAGS $BOOST_THREAD_LDFLAGS" -BOOST_FIND_LIB([wave], [$1], - [boost/wave.hpp], - [boost::wave::token_id id; get_token_name(id);]) -LIBS=$boost_wave_save_LIBS -LDFLAGS=$boost_wave_save_LDFLAGS -])# BOOST_WAVE - - -# BOOST_XPRESSIVE() -# ----------------- -# Look for Boost.Xpressive (new since 1.36.0). -AC_DEFUN([BOOST_XPRESSIVE], -[BOOST_FIND_HEADER([boost/xpressive/xpressive.hpp])]) - - -# ----------------- # -# Internal helpers. # -# ----------------- # - - -# _BOOST_PTHREAD_FLAG() -# --------------------- -# Internal helper for BOOST_THREADS. Based on ACX_PTHREAD: -# http://autoconf-archive.cryp.to/acx_pthread.html -AC_DEFUN([_BOOST_PTHREAD_FLAG], -[AC_REQUIRE([AC_PROG_CXX])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_LANG_PUSH([C++])dnl -AC_CACHE_CHECK([for the flags needed to use pthreads], [boost_cv_pthread_flag], -[ boost_cv_pthread_flag= - # The ordering *is* (sometimes) important. Some notes on the - # individual items follow: - # (none): in case threads are in libc; should be tried before -Kthread and - # other compiler flags to prevent continual compiler warnings - # -lpthreads: AIX (must check this before -lpthread) - # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) - # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) - # -llthread: LinuxThreads port on FreeBSD (also preferred to -pthread) - # -pthread: GNU Linux/GCC (kernel threads), BSD/GCC (userland threads) - # -pthreads: Solaris/GCC - # -mthreads: MinGW32/GCC, Lynx/GCC - # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it - # doesn't hurt to check since this sometimes defines pthreads too; - # also defines -D_REENTRANT) - # ... -mt is also the pthreads flag for HP/aCC - # -lpthread: GNU Linux, etc. - # --thread-safe: KAI C++ - case $host_os in #( - *solaris*) - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - boost_pthread_flags="-pthreads -lpthread -mt -pthread";; #( - *) - boost_pthread_flags="-lpthreads -Kthread -kthread -llthread -pthread \ - -pthreads -mthreads -lpthread --thread-safe -mt";; - esac - # Generate the test file. - AC_LANG_CONFTEST([AC_LANG_PROGRAM([#include <pthread.h>], - [pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0);])]) - for boost_pthread_flag in '' $boost_pthread_flags; do - boost_pthread_ok=false -dnl Re-use the test file already generated. - boost_pthreads__save_LIBS=$LIBS - LIBS="$LIBS $boost_pthread_flag" - AC_LINK_IFELSE([], - [if grep ".*$boost_pthread_flag" conftest.err; then - echo "This flag seems to have triggered warnings" >&AS_MESSAGE_LOG_FD - else - boost_pthread_ok=:; boost_cv_pthread_flag=$boost_pthread_flag - fi]) - LIBS=$boost_pthreads__save_LIBS - $boost_pthread_ok && break - done -]) -AC_LANG_POP([C++])dnl -])# _BOOST_PTHREAD_FLAG - - -# _BOOST_gcc_test(MAJOR, MINOR) -# ----------------------------- -# Internal helper for _BOOST_FIND_COMPILER_TAG. -m4_define([_BOOST_gcc_test], -["defined __GNUC__ && __GNUC__ == $1 && __GNUC_MINOR__ == $2 && !defined __ICC @ gcc$1$2"])dnl - - -# _BOOST_FIND_COMPILER_TAG() -# -------------------------- -# Internal. When Boost is installed without --layout=system, each library -# filename will hold a suffix that encodes the compiler used during the -# build. The Boost build system seems to call this a `tag'. -AC_DEFUN([_BOOST_FIND_COMPILER_TAG], -[AC_REQUIRE([AC_PROG_CXX])dnl -AC_CACHE_CHECK([for the toolset name used by Boost for $CXX], [boost_cv_lib_tag], -[AC_LANG_PUSH([C++])dnl - boost_cv_lib_tag=unknown - # The following tests are mostly inspired by boost/config/auto_link.hpp - # The list is sorted to most recent/common to oldest compiler (in order - # to increase the likelihood of finding the right compiler with the - # least number of compilation attempt). - # Beware that some tests are sensible to the order (for instance, we must - # look for MinGW before looking for GCC3). - # I used one compilation test per compiler with a #error to recognize - # each compiler so that it works even when cross-compiling (let me know - # if you know a better approach). - # Known missing tags (known from Boost's tools/build/v2/tools/common.jam): - # como, edg, kcc, bck, mp, sw, tru, xlc - # I'm not sure about my test for `il' (be careful: Intel's ICC pre-defines - # the same defines as GCC's). - # TODO: Move the test on GCC 4.4 up once it's released. - for i in \ - _BOOST_gcc_test(4, 3) \ - _BOOST_gcc_test(4, 2) \ - _BOOST_gcc_test(4, 1) \ - _BOOST_gcc_test(4, 0) \ - "defined __GNUC__ && __GNUC__ == 3 && !defined __ICC \ - && (defined WIN32 || defined WINNT || defined _WIN32 || defined __WIN32 \ - || defined __WIN32__ || defined __WINNT || defined __WINNT__) @ mgw" \ - _BOOST_gcc_test(3, 4) \ - _BOOST_gcc_test(3, 3) \ - "defined _MSC_VER && _MSC_VER >= 1400 @ vc80" \ - _BOOST_gcc_test(3, 2) \ - "defined _MSC_VER && _MSC_VER == 1310 @ vc71" \ - _BOOST_gcc_test(3, 1) \ - _BOOST_gcc_test(3, 0) \ - "defined __BORLANDC__ @ bcb" \ - "defined __ICC && (defined __unix || defined __unix__) @ il" \ - "defined __ICL @ iw" \ - "defined _MSC_VER && _MSC_VER == 1300 @ vc7" \ - _BOOST_gcc_test(4, 4) \ - _BOOST_gcc_test(2, 95) \ - "defined __MWERKS__ && __MWERKS__ <= 0x32FF @ cw9" \ - "defined _MSC_VER && _MSC_VER < 1300 && !defined UNDER_CE @ vc6" \ - "defined _MSC_VER && _MSC_VER < 1300 && defined UNDER_CE @ evc4" \ - "defined __MWERKS__ && __MWERKS__ <= 0x31FF @ cw8" - do - boost_tag_test=`expr "X$i" : 'X\([[^@]]*\) @ '` - boost_tag=`expr "X$i" : 'X[[^@]]* @ \(.*\)'` - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if $boost_tag_test -/* OK */ -#else -# error $boost_tag_test -#endif -]])], [boost_cv_lib_tag=$boost_tag; break], []) - done -AC_LANG_POP([C++])dnl - case $boost_cv_lib_tag in #( - # Some newer (>= 1.35?) versions of Boost seem to only use "gcc" as opposed - # to "gcc41" for instance. - *-gcc | *'-gcc ') :;; #( Don't re-add -gcc: it's already in there. - gcc*) - # We can specify multiple tags in this variable because it's used by - # BOOST_FIND_LIB that does a `for tag in -$boost_cv_lib_tag' ... - boost_cv_lib_tag="$boost_cv_lib_tag -gcc" - ;; #( - unknown) - AC_MSG_WARN([[could not figure out which toolset name to use for $CXX]]) - boost_cv_lib_tag= - ;; - esac -])dnl end of AC_CACHE_CHECK -])# _BOOST_FIND_COMPILER_TAG - - -# _BOOST_GUESS_WHETHER_TO_USE_MT() -# -------------------------------- -# Compile a small test to try to guess whether we should favor MT (Multi -# Thread) flavors of Boost. Sets boost_guess_use_mt accordingly. -AC_DEFUN([_BOOST_GUESS_WHETHER_TO_USE_MT], -[# Check whether we do better use `mt' even though we weren't ask to. -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if defined _REENTRANT || defined _MT || defined __MT__ -/* use -mt */ -#else -# error MT not needed -#endif -]])], [boost_guess_use_mt=:], [boost_guess_use_mt=false]) -]) - -# _BOOST_AC_LINK_IFELSE(PROGRAM, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) -# ------------------------------------------------------------------- -# Fork of _AC_LINK_IFELSE that preserves conftest.o across calls. Fragile, -# will break when Autoconf changes its internals. Requires that you manually -# rm -f conftest.$ac_objext in between to really different tests, otherwise -# you will try to link a conftest.o left behind by a previous test. -# Used to aggressively optimize BOOST_FIND_LIB (see the big comment in this -# macro) -m4_define([_BOOST_AC_LINK_IFELSE], -[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl -rm -f conftest$ac_exeext -boost_ac_ext_save=$ac_ext -boost_use_source=: -# If we already have a .o, re-use it. We change $ac_ext so that $ac_link -# tries to link the existing object file instead of compiling from source. -test -f conftest.$ac_objext && ac_ext=$ac_objext && boost_use_source=false && - _AS_ECHO_LOG([re-using the existing conftest.$ac_objext]) -AS_IF([_AC_DO_STDERR($ac_link) && { - test -z "$ac_[]_AC_LANG_ABBREV[]_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_executable_p conftest$ac_exeext -dnl FIXME: use AS_TEST_X instead when 2.61 is widespread enough. - }], - [$2], - [if $boost_use_source; then - _AC_MSG_LOG_CONFTEST - fi - $3]) -dnl Delete also the IPA/IPO (Inter Procedural Analysis/Optimization) -dnl information created by the PGI compiler (conftest_ipa8_conftest.oo), -dnl as it would interfere with the next link command. -rm -f core conftest.err conftest_ipa8_conftest.oo \ - conftest$ac_exeext m4_ifval([$1], [conftest.$ac_ext])[]dnl -])# _BOOST_AC_LINK_IFELSE - -# Local Variables: -# mode: autoconf -# End: diff --git a/build-aux/bootstrap b/build-aux/bootstrap deleted file mode 100755 index 1f2ecd4..0000000 --- a/build-aux/bootstrap +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh -set -x -autoreconf -v -i diff --git a/build-aux/config.guess b/build-aux/config.guess deleted file mode 100755 index 84d5b85..0000000 --- a/build-aux/config.guess +++ /dev/null @@ -1,1574 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2009-02-03' - -# This file 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 2 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, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner <pe...@bo...>. -# Please send patches to <con...@gn...>. Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <con...@gn...>." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (gh...@no... 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -if [ "${UNAME_SYSTEM}" = "Linux" ] ; then - eval $set_cc_for_build - cat << EOF > $dummy.c - #include <features.h> - #ifdef __UCLIBC__ - # ifdef __UCLIBC_CONFIG_VERSION__ - LIBC=uclibc __UCLIBC_CONFIG_VERSION__ - # else - LIBC=uclibc - # endif - #else - LIBC=gnu - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'` -fi - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # ak...@wp... (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-min... [truncated message content] |
From: Thomas M. <tho...@us...> - 2009-07-01 07:50:27
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, share has been deleted was dd1eada2f026638571d2dc3b7f1fd7036259e645 ----------------------------------------------------------------------- dd1eada2f026638571d2dc3b7f1fd7036259e645 Add titles to function. ----------------------------------------------------------------------- hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-06-26 10:49:42
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, trajectory has been updated via 840725cd57a8905c6e205614893a62b3b9fb6ccf (commit) via 7b95b6bae6b0ce57c2abd04d983b0c6acab52815 (commit) via c8c4f3671a9d983b8469d93afc68aac4322f5f0a (commit) via ff7dbd2d5b7c9f7e20c0637067074c284444adbf (commit) from 75d55fdc3f4fc630c29161857a729342fd6a5382 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 840725cd57a8905c6e205614893a62b3b9fb6ccf Author: Thomas Moulard <tho...@gm...> Date: Fri Jun 26 19:44:03 2009 +0900 Use foreach for iterating. * src/spline-length.cc: Here. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 8011cda..85553d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2009-06-26 Thomas Moulard <tho...@gm...> + Use foreach for iterating. + * src/spline-length.cc: Here. + +2009-06-26 Thomas Moulard <tho...@gm...> + Add titles to functions. * include/roboptim/trajectory/trajectory-cost.hh, * include/roboptim/trajectory/trajectory-cost.hxx, diff --git a/src/spline-length.cc b/src/spline-length.cc index 2c66d1c..bb98fb3 100644 --- a/src/spline-length.cc +++ b/src/spline-length.cc @@ -19,6 +19,49 @@ namespace roboptim { + namespace + { + struct SumLength + { + SumLength (const Spline& traj, double& res) + : traj_ (traj), + res_ (res) + {} + + void operator () (const double& t) + { + using namespace boost::numeric::ublas; + double tmp = norm_2 (traj_.derivative (t, 2)); + res_ += tmp * tmp; + } + + private: + const Spline& traj_; + double& res_; + }; + + struct SumLengthGrad + { + SumLengthGrad (const Spline& traj, + SplineLength::gradient_t& grad) + : traj_ (traj), + grad_ (grad) + {} + + void operator () (const double& t) + { + using namespace boost::numeric::ublas; + noalias (grad_) += prod (traj_.derivative (t, 2), + traj_.variationDerivWrtParam (t, 2)); + } + + private: + const Spline& traj_; + SplineLength::gradient_t& grad_; + }; + + } + SplineLength::SplineLength (const Spline& spline, discreteInterval_t interval) throw () @@ -38,15 +81,8 @@ namespace roboptim trajectory_t traj = trajectory_; traj.setParameters (p); - using namespace boost; - using namespace boost::numeric::ublas; - - for (value_type t = get<0> (interval_); t <= get<1> (interval_); - t += get<2> (interval_)) - { - double tmp = norm_2 (traj.derivative (t, 2)); - res[0] += tmp * tmp; - } + SumLength sumlength (traj, res[0]); + foreach (interval_, sumlength); res[0] /= 2.; } @@ -61,12 +97,7 @@ namespace roboptim trajectory_t traj = trajectory_; traj.setParameters (p); - using namespace boost; - using namespace boost::numeric::ublas; - - for (value_type t = get<0> (interval_); t <= get<1> (interval_); - t += get<2> (interval_)) - noalias (grad) += prod (traj.derivative (t, 2), - traj.variationDerivWrtParam (t, 2)); + SumLengthGrad sumlengthgrad (traj, grad); + foreach (interval_, sumlengthgrad); } } // end of namespace roboptim. commit 7b95b6bae6b0ce57c2abd04d983b0c6acab52815 Author: Thomas Moulard <tho...@gm...> Date: Fri Jun 26 17:21:43 2009 +0900 Add titles to functions. * include/roboptim/trajectory/trajectory-cost.hh, * include/roboptim/trajectory/trajectory-cost.hxx, * src/spline-length.cc: Add titles to function. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 37c50b9..8011cda 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-06-26 Thomas Moulard <tho...@gm...> + + Add titles to functions. + * include/roboptim/trajectory/trajectory-cost.hh, + * include/roboptim/trajectory/trajectory-cost.hxx, + * src/spline-length.cc: Add titles to function. + 2009-06-16 Thomas Moulard <tho...@gm...> Regenerate test suite output on 32-bits machine. diff --git a/include/roboptim/trajectory/trajectory-cost.hh b/include/roboptim/trajectory/trajectory-cost.hh index 1488f60..04a0bcb 100644 --- a/include/roboptim/trajectory/trajectory-cost.hh +++ b/include/roboptim/trajectory/trajectory-cost.hh @@ -43,7 +43,9 @@ namespace roboptim /// \brief Concret class should call this constructor. /// /// \param traj trajectory on which the cost is computed - TrajectoryCost (const trajectory_t& traj) throw (); + /// \param name function's name + TrajectoryCost (const trajectory_t& traj, + std::string name = std::string ()) throw (); virtual ~TrajectoryCost () throw (); protected: /// \brief Input trajectory. diff --git a/include/roboptim/trajectory/trajectory-cost.hxx b/include/roboptim/trajectory/trajectory-cost.hxx index c0eeedc..0d1cb32 100644 --- a/include/roboptim/trajectory/trajectory-cost.hxx +++ b/include/roboptim/trajectory/trajectory-cost.hxx @@ -21,8 +21,9 @@ namespace roboptim { template <typename T> - TrajectoryCost<T>::TrajectoryCost (const trajectory_t& traj) throw () - : DerivableFunction (traj.parameters ().size (), 1), + TrajectoryCost<T>::TrajectoryCost (const trajectory_t& traj, + std::string name) throw () + : DerivableFunction (traj.parameters ().size (), 1, name), trajectory_ (traj) { } diff --git a/src/spline-length.cc b/src/spline-length.cc index 8b20124..2c66d1c 100644 --- a/src/spline-length.cc +++ b/src/spline-length.cc @@ -22,7 +22,7 @@ namespace roboptim SplineLength::SplineLength (const Spline& spline, discreteInterval_t interval) throw () - : TrajectoryCost<Spline> (spline), + : TrajectoryCost<Spline> (spline, "spline length"), interval_ (interval) { } commit c8c4f3671a9d983b8469d93afc68aac4322f5f0a Author: Moulard <tho...@gm...> Date: Tue Jun 16 22:42:34 2009 +0900 Regenerate test suite output on 32-bits machine. * tests/spline-gradient.stdout, * tests/spline-optimization.stdout: Regenerate. Signed-off-by: Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 7ea29bd..37c50b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2009-06-16 Thomas Moulard <tho...@gm...> + Regenerate test suite output on 32-bits machine. + * tests/spline-gradient.stdout, + * tests/spline-optimization.stdout: Regenerate. + +2009-06-16 Thomas Moulard <tho...@gm...> + Fix pkg-config file. * configure.ac: Here. diff --git a/tests/spline-gradient.stdout b/tests/spline-gradient.stdout index e890347..42d1dfe 100644 --- a/tests/spline-gradient.stdout +++ b/tests/spline-gradient.stdout @@ -245,7 +245,7 @@ plot '-' title 'spline' with line 2.37 8.78906e-06 2.38 2.60417e-06 2.39 3.25521e-07 -2.4 2.77556e-17 +2.4 0 2.41 0 2.42 0 2.43 0 @@ -409,8 +409,8 @@ plot '-' title 'spline' with line e plot '-' title 'spline derivative' with line -0 0 -0.01 -9.76562e-05 +0 -2.08167e-16 +0.01 -9.76563e-05 0.02 -0.000390625 0.03 -0.000878906 0.04 -0.0015625 @@ -813,13 +813,13 @@ plot '-' title 'spline derivative' with line e plot '-' title 'spline 2nd derivative' with line -0 8.88178e-16 -0.01 -0.0195313 +0 -2.25514e-17 +0.01 -0.0195312 0.02 -0.0390625 0.03 -0.0585937 0.04 -0.078125 -0.05 -0.0976563 -0.06 -0.117188 +0.05 -0.0976562 +0.06 -0.117187 0.07 -0.136719 0.08 -0.15625 0.09 -0.175781 @@ -831,7 +831,7 @@ plot '-' title 'spline 2nd derivative' with line 0.15 -0.292969 0.16 -0.3125 0.17 -0.332031 -0.18 -0.351562 +0.18 -0.351563 0.19 -0.371094 0.2 -0.390625 0.21 -0.410156 @@ -839,7 +839,7 @@ plot '-' title 'spline 2nd derivative' with line 0.23 -0.449219 0.24 -0.46875 0.25 -0.488281 -0.26 -0.507813 +0.26 -0.507812 0.27 -0.527344 0.28 -0.546875 0.29 -0.566406 @@ -847,7 +847,7 @@ plot '-' title 'spline 2nd derivative' with line 0.31 -0.605469 0.32 -0.625 0.33 -0.644531 -0.34 -0.664062 +0.34 -0.664063 0.35 -0.683594 0.36 -0.703125 0.37 -0.722656 @@ -855,7 +855,7 @@ plot '-' title 'spline 2nd derivative' with line 0.39 -0.761719 0.4 -0.78125 0.41 -0.800781 -0.42 -0.820312 +0.42 -0.820313 0.43 -0.839844 0.44 -0.859375 0.45 -0.878906 @@ -865,7 +865,7 @@ plot '-' title 'spline 2nd derivative' with line 0.49 -0.957031 0.5 -0.976562 0.51 -0.996094 -0.52 -1.01562 +0.52 -1.01563 0.53 -1.03516 0.54 -1.05469 0.55 -1.07422 @@ -873,7 +873,7 @@ plot '-' title 'spline 2nd derivative' with line 0.57 -1.11328 0.58 -1.13281 0.59 -1.15234 -0.6 -1.17187 +0.6 -1.17188 0.61 -1.19141 0.62 -1.21094 0.63 -1.23047 @@ -933,7 +933,7 @@ plot '-' title 'spline 2nd derivative' with line 1.17 -0.117187 1.18 -0.078125 1.19 -0.0390625 -1.2 2.88658e-15 +1.2 2.86446e-15 1.21 0.0390625 1.22 0.078125 1.23 0.117188 @@ -1457,7 +1457,7 @@ plot '-' title 'configuration (0)' with line 2.37 8.78906e-06 2.38 2.60417e-06 2.39 3.25521e-07 -2.4 2.77556e-17 +2.4 -9.26993e-18 2.41 0 2.42 0 2.43 0 @@ -1622,7 +1622,7 @@ e plot '-' title 'derivative (0)' with line 0 0 -0.01 -9.76562e-05 +0.01 -9.76563e-05 0.02 -0.000390625 0.03 -0.000878906 0.04 -0.0015625 @@ -2026,9 +2026,9 @@ e plot '-' title '2nd derivative (0)' with line 0 8.88178e-16 -0.01 -0.0195313 +0.01 -0.0195312 0.02 -0.0390625 -0.03 -0.0585937 +0.03 -0.0585938 0.04 -0.078125 0.05 -0.0976563 0.06 -0.117188 @@ -2043,7 +2043,7 @@ plot '-' title '2nd derivative (0)' with line 0.15 -0.292969 0.16 -0.3125 0.17 -0.332031 -0.18 -0.351562 +0.18 -0.351563 0.19 -0.371094 0.2 -0.390625 0.21 -0.410156 @@ -2051,7 +2051,7 @@ plot '-' title '2nd derivative (0)' with line 0.23 -0.449219 0.24 -0.46875 0.25 -0.488281 -0.26 -0.507813 +0.26 -0.507812 0.27 -0.527344 0.28 -0.546875 0.29 -0.566406 @@ -2059,7 +2059,7 @@ plot '-' title '2nd derivative (0)' with line 0.31 -0.605469 0.32 -0.625 0.33 -0.644531 -0.34 -0.664062 +0.34 -0.664063 0.35 -0.683594 0.36 -0.703125 0.37 -0.722656 @@ -2067,7 +2067,7 @@ plot '-' title '2nd derivative (0)' with line 0.39 -0.761719 0.4 -0.78125 0.41 -0.800781 -0.42 -0.820312 +0.42 -0.820313 0.43 -0.839844 0.44 -0.859375 0.45 -0.878906 @@ -2085,7 +2085,7 @@ plot '-' title '2nd derivative (0)' with line 0.57 -1.11328 0.58 -1.13281 0.59 -1.15234 -0.6 -1.17187 +0.6 -1.17188 0.61 -1.19141 0.62 -1.21094 0.63 -1.23047 @@ -2749,7 +2749,7 @@ plot '-' title 'configuration (1)' with line 3.17 8.78906e-06 3.18 2.60417e-06 3.19 3.25521e-07 -3.2 2.77556e-17 +3.2 -9.26993e-18 3.21 0 3.22 0 3.23 0 @@ -4041,7 +4041,7 @@ plot '-' title 'configuration (2)' with line 3.97 8.78906e-06 3.98 2.60417e-06 3.99 3.25521e-07 -4 2.77556e-17 +4 -9.26993e-18 e plot '-' title 'derivative (2)' with line @@ -5013,7 +5013,7 @@ plot '-' title 'configuration (3)' with line 1.57 0 1.58 0 1.59 0 -1.6 2.77556e-17 +1.6 0 1.61 3.25521e-07 1.62 2.60417e-06 1.63 8.78906e-06 @@ -6391,7 +6391,7 @@ plot '-' title 'spline' with line 3.17 8.78906e-06 3.18 2.60417e-06 3.19 3.25521e-07 -3.2 2.77556e-17 +3.2 -9.26993e-18 3.21 0 3.22 0 3.23 0 @@ -7523,7 +7523,7 @@ plot '-' title 'configuration (0)' with line 2.37 8.78906e-06 2.38 2.60417e-06 2.39 3.25521e-07 -2.4 2.77556e-17 +2.4 -9.26993e-18 2.41 0 2.42 0 2.43 0 @@ -7688,7 +7688,7 @@ e plot '-' title 'derivative (0)' with line 0 0 -0.01 -9.76562e-05 +0.01 -9.76563e-05 0.02 -0.000390625 0.03 -0.000878906 0.04 -0.0015625 @@ -8092,9 +8092,9 @@ e plot '-' title '2nd derivative (0)' with line 0 8.88178e-16 -0.01 -0.0195313 +0.01 -0.0195312 0.02 -0.0390625 -0.03 -0.0585937 +0.03 -0.0585938 0.04 -0.078125 0.05 -0.0976563 0.06 -0.117188 @@ -8109,7 +8109,7 @@ plot '-' title '2nd derivative (0)' with line 0.15 -0.292969 0.16 -0.3125 0.17 -0.332031 -0.18 -0.351562 +0.18 -0.351563 0.19 -0.371094 0.2 -0.390625 0.21 -0.410156 @@ -8117,7 +8117,7 @@ plot '-' title '2nd derivative (0)' with line 0.23 -0.449219 0.24 -0.46875 0.25 -0.488281 -0.26 -0.507813 +0.26 -0.507812 0.27 -0.527344 0.28 -0.546875 0.29 -0.566406 @@ -8125,7 +8125,7 @@ plot '-' title '2nd derivative (0)' with line 0.31 -0.605469 0.32 -0.625 0.33 -0.644531 -0.34 -0.664062 +0.34 -0.664063 0.35 -0.683594 0.36 -0.703125 0.37 -0.722656 @@ -8133,7 +8133,7 @@ plot '-' title '2nd derivative (0)' with line 0.39 -0.761719 0.4 -0.78125 0.41 -0.800781 -0.42 -0.820312 +0.42 -0.820313 0.43 -0.839844 0.44 -0.859375 0.45 -0.878906 @@ -8151,7 +8151,7 @@ plot '-' title '2nd derivative (0)' with line 0.57 -1.11328 0.58 -1.13281 0.59 -1.15234 -0.6 -1.17187 +0.6 -1.17188 0.61 -1.19141 0.62 -1.21094 0.63 -1.23047 @@ -8815,7 +8815,7 @@ plot '-' title 'configuration (1)' with line 3.17 8.78906e-06 3.18 2.60417e-06 3.19 3.25521e-07 -3.2 2.77556e-17 +3.2 -9.26993e-18 3.21 0 3.22 0 3.23 0 @@ -10107,7 +10107,7 @@ plot '-' title 'configuration (2)' with line 3.97 8.78906e-06 3.98 2.60417e-06 3.99 3.25521e-07 -4 2.77556e-17 +4 -9.26993e-18 e plot '-' title 'derivative (2)' with line @@ -11079,7 +11079,7 @@ plot '-' title 'configuration (3)' with line 1.57 0 1.58 0 1.59 0 -1.6 2.77556e-17 +1.6 0 1.61 3.25521e-07 1.62 2.60417e-06 1.63 8.78906e-06 @@ -12537,7 +12537,7 @@ plot '-' title 'spline' with line 3.97 8.78906e-06 3.98 2.60417e-06 3.99 3.25521e-07 -4 2.77556e-17 +4 -9.26993e-18 e plot '-' title 'spline derivative' with line @@ -13589,7 +13589,7 @@ plot '-' title 'configuration (0)' with line 2.37 8.78906e-06 2.38 2.60417e-06 2.39 3.25521e-07 -2.4 2.77556e-17 +2.4 -9.26993e-18 2.41 0 2.42 0 2.43 0 @@ -13754,7 +13754,7 @@ e plot '-' title 'derivative (0)' with line 0 0 -0.01 -9.76562e-05 +0.01 -9.76563e-05 0.02 -0.000390625 0.03 -0.000878906 0.04 -0.0015625 @@ -14158,9 +14158,9 @@ e plot '-' title '2nd derivative (0)' with line 0 8.88178e-16 -0.01 -0.0195313 +0.01 -0.0195312 0.02 -0.0390625 -0.03 -0.0585937 +0.03 -0.0585938 0.04 -0.078125 0.05 -0.0976563 0.06 -0.117188 @@ -14175,7 +14175,7 @@ plot '-' title '2nd derivative (0)' with line 0.15 -0.292969 0.16 -0.3125 0.17 -0.332031 -0.18 -0.351562 +0.18 -0.351563 0.19 -0.371094 0.2 -0.390625 0.21 -0.410156 @@ -14183,7 +14183,7 @@ plot '-' title '2nd derivative (0)' with line 0.23 -0.449219 0.24 -0.46875 0.25 -0.488281 -0.26 -0.507813 +0.26 -0.507812 0.27 -0.527344 0.28 -0.546875 0.29 -0.566406 @@ -14191,7 +14191,7 @@ plot '-' title '2nd derivative (0)' with line 0.31 -0.605469 0.32 -0.625 0.33 -0.644531 -0.34 -0.664062 +0.34 -0.664063 0.35 -0.683594 0.36 -0.703125 0.37 -0.722656 @@ -14199,7 +14199,7 @@ plot '-' title '2nd derivative (0)' with line 0.39 -0.761719 0.4 -0.78125 0.41 -0.800781 -0.42 -0.820312 +0.42 -0.820313 0.43 -0.839844 0.44 -0.859375 0.45 -0.878906 @@ -14217,7 +14217,7 @@ plot '-' title '2nd derivative (0)' with line 0.57 -1.11328 0.58 -1.13281 0.59 -1.15234 -0.6 -1.17187 +0.6 -1.17188 0.61 -1.19141 0.62 -1.21094 0.63 -1.23047 @@ -14881,7 +14881,7 @@ plot '-' title 'configuration (1)' with line 3.17 8.78906e-06 3.18 2.60417e-06 3.19 3.25521e-07 -3.2 2.77556e-17 +3.2 -9.26993e-18 3.21 0 3.22 0 3.23 0 @@ -16173,7 +16173,7 @@ plot '-' title 'configuration (2)' with line 3.97 8.78906e-06 3.98 2.60417e-06 3.99 3.25521e-07 -4 2.77556e-17 +4 -9.26993e-18 e plot '-' title 'derivative (2)' with line @@ -17145,7 +17145,7 @@ plot '-' title 'configuration (3)' with line 1.57 0 1.58 0 1.59 0 -1.6 2.77556e-17 +1.6 0 1.61 3.25521e-07 1.62 2.60417e-06 1.63 8.78906e-06 @@ -19007,7 +19007,7 @@ plot '-' title 'spline derivative' with line 3.97 0.000878906 3.98 0.000390625 3.99 9.76563e-05 -4 0 +4 -2.08167e-16 e plot '-' title 'spline 2nd derivative' with line @@ -19291,7 +19291,7 @@ plot '-' title 'spline 2nd derivative' with line 2.77 0.117188 2.78 0.078125 2.79 0.0390625 -2.8 6.23945e-14 +2.8 6.24028e-14 2.81 -0.0390625 2.82 -0.078125 2.83 -0.117187 @@ -19411,7 +19411,7 @@ plot '-' title 'spline 2nd derivative' with line 3.97 -0.0585938 3.98 -0.0390625 3.99 -0.0195313 -4 -7.99361e-14 +4 -7.97591e-14 e plot '-' title 'configuration (0)' with line @@ -19655,7 +19655,7 @@ plot '-' title 'configuration (0)' with line 2.37 8.78906e-06 2.38 2.60417e-06 2.39 3.25521e-07 -2.4 2.77556e-17 +2.4 -9.26993e-18 2.41 0 2.42 0 2.43 0 @@ -19820,7 +19820,7 @@ e plot '-' title 'derivative (0)' with line 0 0 -0.01 -9.76562e-05 +0.01 -9.76563e-05 0.02 -0.000390625 0.03 -0.000878906 0.04 -0.0015625 @@ -20224,9 +20224,9 @@ e plot '-' title '2nd derivative (0)' with line 0 8.88178e-16 -0.01 -0.0195313 +0.01 -0.0195312 0.02 -0.0390625 -0.03 -0.0585937 +0.03 -0.0585938 0.04 -0.078125 0.05 -0.0976563 0.06 -0.117188 @@ -20241,7 +20241,7 @@ plot '-' title '2nd derivative (0)' with line 0.15 -0.292969 0.16 -0.3125 0.17 -0.332031 -0.18 -0.351562 +0.18 -0.351563 0.19 -0.371094 0.2 -0.390625 0.21 -0.410156 @@ -20249,7 +20249,7 @@ plot '-' title '2nd derivative (0)' with line 0.23 -0.449219 0.24 -0.46875 0.25 -0.488281 -0.26 -0.507813 +0.26 -0.507812 0.27 -0.527344 0.28 -0.546875 0.29 -0.566406 @@ -20257,7 +20257,7 @@ plot '-' title '2nd derivative (0)' with line 0.31 -0.605469 0.32 -0.625 0.33 -0.644531 -0.34 -0.664062 +0.34 -0.664063 0.35 -0.683594 0.36 -0.703125 0.37 -0.722656 @@ -20265,7 +20265,7 @@ plot '-' title '2nd derivative (0)' with line 0.39 -0.761719 0.4 -0.78125 0.41 -0.800781 -0.42 -0.820312 +0.42 -0.820313 0.43 -0.839844 0.44 -0.859375 0.45 -0.878906 @@ -20283,7 +20283,7 @@ plot '-' title '2nd derivative (0)' with line 0.57 -1.11328 0.58 -1.13281 0.59 -1.15234 -0.6 -1.17187 +0.6 -1.17188 0.61 -1.19141 0.62 -1.21094 0.63 -1.23047 @@ -20947,7 +20947,7 @@ plot '-' title 'configuration (1)' with line 3.17 8.78906e-06 3.18 2.60417e-06 3.19 3.25521e-07 -3.2 2.77556e-17 +3.2 -9.26993e-18 3.21 0 3.22 0 3.23 0 @@ -22239,7 +22239,7 @@ plot '-' title 'configuration (2)' with line 3.97 8.78906e-06 3.98 2.60417e-06 3.99 3.25521e-07 -4 2.77556e-17 +4 -9.26993e-18 e plot '-' title 'derivative (2)' with line @@ -23211,7 +23211,7 @@ plot '-' title 'configuration (3)' with line 1.57 0 1.58 0 1.59 0 -1.6 2.77556e-17 +1.6 0 1.61 3.25521e-07 1.62 2.60417e-06 1.63 8.78906e-06 diff --git a/tests/spline-optimization.stdout b/tests/spline-optimization.stdout index 0dd93d1..a8e37df 100644 --- a/tests/spline-optimization.stdout +++ b/tests/spline-optimization.stdout @@ -4,16 +4,16 @@ # [2](100,100) # 1st derivative: # [2](0,0) -# [2](42.9688,28.3203) -# [2](0,0) +# [2](42.9687,28.3203) +# [2](-2.08167e-14,-2.08167e-14) # 2nd derivative: # [2](0,0) # [2](-39.0625,253.906) -# [2](-1.13687e-13,-1.13687e-13) +# [2](-6.84452e-14,-6.84452e-14) # variationConfigWrtParam: # [2,8]((1,0,0,0,0,0,0,0),(0,1,0,0,0,0,0,0)) # [2,8]((0,0,0.111654,0,0.652018,0,0.236328,0),(0,0,0,0.111654,0,0.652018,0,0.236328)) -# [2,8]((0,0,0,0,2.77556e-17,0,1,0),(0,0,0,0,0,2.77556e-17,0,1)) +# [2,8]((0,0,0,0,-9.26993e-18,0,1,0),(0,0,0,0,0,-9.26993e-18,0,1)) #!/usr/bin/gnuplot # Generated by RobOptim core library 0.2 set terminal wxt persist commit ff7dbd2d5b7c9f7e20c0637067074c284444adbf Author: Moulard <tho...@gm...> Date: Tue Jun 16 16:11:03 2009 +0900 Fix pkg-config file. * configure.ac: Here. Signed-off-by: Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index 7fede25..7ea29bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2009-06-16 Thomas Moulard <tho...@gm...> + Fix pkg-config file. + * configure.ac: Here. + +2009-06-16 Thomas Moulard <tho...@gm...> + Do not use boost::make_shared. * include/roboptim/trajectory/freeze.hxx: Here. diff --git a/configure.ac b/configure.ac index e2c0c09..1044814 100644 --- a/configure.ac +++ b/configure.ac @@ -65,10 +65,10 @@ ROBOPTIM_CORE_PKG_CONFIG([roboptim-core >= 0.2]) ## Pkg-config. ## ## ------------ ## -AC_SUBST([PKGCONFIG_DESCRIPTION], ['RobOptim core library']) +AC_SUBST([PKGCONFIG_DESCRIPTION], ['RobOptim trajectory library']) AC_SUBST([PKGCONFIG_REQUIRES], ["roboptim-core >= 0.2"]) AC_SUBST([PKGCONFIG_CONFLICTS], []) -AC_SUBST([PKGCONFIG_LIBS], [-lroboptim-core]) +AC_SUBST([PKGCONFIG_LIBS], [-lroboptim-trajectory]) AC_SUBST([PKGCONFIG_CFLAGS], []) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 23 ++++ configure.ac | 4 +- include/roboptim/trajectory/trajectory-cost.hh | 4 +- include/roboptim/trajectory/trajectory-cost.hxx | 5 +- src/spline-length.cc | 65 ++++++++--- tests/spline-gradient.stdout | 134 +++++++++++----------- tests/spline-optimization.stdout | 8 +- 7 files changed, 150 insertions(+), 93 deletions(-) hooks/post-receive -- roboptim |
From: Thomas M. <tho...@us...> - 2009-06-26 10:20:59
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "roboptim". The branch, core has been updated via b6ecb51f7bd4f6d95e883cc020eac64f53eee601 (commit) from 0793bf10a57fc949e0d614daf985db2bf18ba7bd (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b6ecb51f7bd4f6d95e883cc020eac64f53eee601 Author: Thomas Moulard <tho...@gm...> Date: Fri Jun 26 19:15:39 2009 +0900 Remove debug code. * include/roboptim/core/function.hh: Remove debug code. * tests/simple.stdout: Regenerate. Signed-off-by: Thomas Moulard <tho...@gm...> diff --git a/ChangeLog b/ChangeLog index f560217..67c0b7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2009-06-26 Thomas Moulard <tho...@gm...> + Remove debug code. + * include/roboptim/core/function.hh: Remove debug code. + * tests/simple.stdout: Regenerate. + +2009-06-26 Thomas Moulard <tho...@gm...> + Add method to allow safe iteration on a discrete interval. * include/roboptim/core/function.hh: Implement foreach. * tests/simple.cc: Test foreach. diff --git a/include/roboptim/core/function.hh b/include/roboptim/core/function.hh index 5075c13..4302978 100644 --- a/include/roboptim/core/function.hh +++ b/include/roboptim/core/function.hh @@ -229,8 +229,6 @@ namespace roboptim { const value_type t = getLowerBound (interval) + i * getStep (interval); - std::cout << i << std::endl; - std::cout << t << std::endl; assert (getLowerBound (interval) <= t && t <= getUpperBound (interval)); functor (t); diff --git a/tests/simple.stdout b/tests/simple.stdout index a881daf..1f93055 100644 --- a/tests/simple.stdout +++ b/tests/simple.stdout @@ -28,78 +28,30 @@ Problem: Starting value: [1](0) Infinity value (for all functions): inf The dummy solver always fail. -0 -2.3 Discrete point: 2.3 (cnt: 1) -1 -2.8 Discrete point: 2.8 (cnt: 2) -0 -2 Discrete point: 2 (cnt: 1) -1 -2.1 Discrete point: 2.1 (cnt: 2) -2 -2.2 Discrete point: 2.2 (cnt: 3) -3 -2.3 Discrete point: 2.3 (cnt: 4) -4 -2.4 Discrete point: 2.4 (cnt: 5) -5 -2.5 Discrete point: 2.5 (cnt: 6) -6 -2.6 Discrete point: 2.6 (cnt: 7) -7 -2.7 Discrete point: 2.7 (cnt: 8) -8 -2.8 Discrete point: 2.8 (cnt: 9) -9 -2.9 Discrete point: 2.9 (cnt: 10) -10 -3 Discrete point: 3 (cnt: 11) -0 -0.8 Discrete point: 0.8 (cnt: 1) -1 -1.8 Discrete point: 1.8 (cnt: 2) -2 -2.8 Discrete point: 2.8 (cnt: 3) -3 -3.8 Discrete point: 3.8 (cnt: 4) -4 -4.8 Discrete point: 4.8 (cnt: 5) -5 -5.8 Discrete point: 5.8 (cnt: 6) -6 -6.8 Discrete point: 6.8 (cnt: 7) -7 -7.8 Discrete point: 7.8 (cnt: 8) -8 -8.8 Discrete point: 8.8 (cnt: 9) -9 -9.8 Discrete point: 9.8 (cnt: 10) -10 -10.8 Discrete point: 10.8 (cnt: 11) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 6 ++++ include/roboptim/core/function.hh | 2 - tests/simple.stdout | 48 ------------------------------------- 3 files changed, 6 insertions(+), 50 deletions(-) hooks/post-receive -- roboptim |