Olena-patches
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- 9625 discussions
05 May '08
https://svn.lrde.epita.fr/svn/oln/trunk/milena
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Fix Doxygen documentation after the reorganization of tests/.
* tests/algebra/mat.cc,
* tests/algebra/mat2.cc,
* tests/algebra/vec.cc,
* tests/algebra/vec2.cc,
* tests/all_headers.cc,
* tests/border/resize_image1d_1.cc,
* tests/border/resize_image1d_2.cc,
* tests/border/resize_image1d_3.cc,
* tests/border/resize_image2d_1.cc,
* tests/border/resize_image2d_2.cc,
* tests/border/resize_image2d_3.cc,
* tests/border/resize_image3d_1.cc,
* tests/border/resize_image3d_2.cc,
* tests/border/resize_image3d_3.cc,
* tests/border/resize_image_if.cc,
* tests/border/resize_sub_image.cc,
* tests/convert/to_image.cc,
* tests/convert/to_p_array.cc,
* tests/convert/to_p_set.cc,
* tests/convert/to_tiles.cc,
* tests/convert/to_window.cc,
* tests/core/box1d.cc,
* tests/core/box2d.cc,
* tests/core/box3d.cc,
* tests/core/cast_image.cc,
* tests/core/decorated_image.cc,
* tests/core/dpoint1d.cc,
* tests/core/dpoint2d.cc,
* tests/core/dpoint3d.cc,
* tests/core/fi_adaptor.cc,
* tests/core/hexa.cc,
* tests/core/image1d.cc,
* tests/core/image2d.cc,
* tests/core/image2d_h.cc,
* tests/core/image3d.cc,
* tests/core/image_if.cc,
* tests/core/image_if_interval.cc,
* tests/core/image_if_value.cc,
* tests/core/interpolated.cc,
* tests/core/line_piter.cc,
* tests/core/p_set.cc,
* tests/core/pixel.cc,
* tests/core/pixter1d.cc,
* tests/core/pixter1d_more.cc,
* tests/core/pixter2d.cc,
* tests/core/pixter2d_more.cc,
* tests/core/pixter3d.cc,
* tests/core/pixter3d_more.cc,
* tests/core/plain.cc,
* tests/core/point1d.cc,
* tests/core/point2d.cc,
* tests/core/point3d.cc,
* tests/core/pset_if.cc,
* tests/core/safe_image.cc,
* tests/core/sub_image.cc,
* tests/core/translate_image.cc,
* tests/core/w_window1d_int.cc,
* tests/core/w_window2d_int.cc,
* tests/core/w_window3d_int.cc,
* tests/core/window1d.cc,
* tests/core/window2d.cc,
* tests/core/window3d.cc,
* tests/estim/mean.cc,
* tests/histo/to_image1d.cc,
* tests/level/sort_points.cc,
* tests/linear/convolve.cc,
* tests/linear/gaussian.cc,
* tests/linear/lap.cc,
* tests/linear/line_convolve.cc,
* tests/linear/local/convolve.cc,
* tests/linear/log.cc,
* tests/linear/sobel.cc,
* tests/metal/converts_to.cc,
* tests/metal/is.cc,
* tests/metal/math/pow.cc,
* tests/metal/unconst.cc,
* tests/test/positive.cc,
* tests/trait/ch_value.cc,
* tests/trait/image/images.cc,
* tests/trait/op/plus.cc,
* tests/trait/op/uminus.cc,
* tests/trait/super.cc,
* tests/trait/value/values.cc,
* tests/value/stack.cc,
* tools/seed2tiling.cc:
Fix name of files in Doxygen headers.
tests/algebra/mat.cc | 2 +-
tests/algebra/mat2.cc | 2 +-
tests/algebra/vec.cc | 2 +-
tests/algebra/vec2.cc | 2 +-
tests/all_headers.cc | 2 +-
tests/border/resize_image1d_1.cc | 2 +-
tests/border/resize_image1d_2.cc | 2 +-
tests/border/resize_image1d_3.cc | 2 +-
tests/border/resize_image2d_1.cc | 2 +-
tests/border/resize_image2d_2.cc | 2 +-
tests/border/resize_image2d_3.cc | 2 +-
tests/border/resize_image3d_1.cc | 2 +-
tests/border/resize_image3d_2.cc | 2 +-
tests/border/resize_image3d_3.cc | 2 +-
tests/border/resize_image_if.cc | 2 +-
tests/border/resize_sub_image.cc | 2 +-
tests/convert/to_image.cc | 2 +-
tests/convert/to_p_array.cc | 2 +-
tests/convert/to_p_set.cc | 2 +-
tests/convert/to_tiles.cc | 2 +-
tests/convert/to_window.cc | 2 +-
tests/core/box1d.cc | 2 +-
tests/core/box2d.cc | 2 +-
tests/core/box3d.cc | 2 +-
tests/core/cast_image.cc | 2 +-
tests/core/decorated_image.cc | 2 +-
tests/core/dpoint1d.cc | 2 +-
tests/core/dpoint2d.cc | 2 +-
tests/core/dpoint3d.cc | 2 +-
tests/core/fi_adaptor.cc | 2 +-
tests/core/hexa.cc | 2 +-
tests/core/image1d.cc | 2 +-
tests/core/image2d.cc | 2 +-
tests/core/image2d_h.cc | 2 +-
tests/core/image3d.cc | 2 +-
tests/core/image_if.cc | 2 +-
tests/core/image_if_interval.cc | 2 +-
tests/core/image_if_value.cc | 2 +-
tests/core/interpolated.cc | 2 +-
tests/core/line_piter.cc | 2 +-
tests/core/p_set.cc | 2 +-
tests/core/pixel.cc | 2 +-
tests/core/pixter1d.cc | 2 +-
tests/core/pixter1d_more.cc | 2 +-
tests/core/pixter2d.cc | 2 +-
tests/core/pixter2d_more.cc | 2 +-
tests/core/pixter3d.cc | 2 +-
tests/core/pixter3d_more.cc | 2 +-
tests/core/plain.cc | 2 +-
tests/core/point1d.cc | 2 +-
tests/core/point2d.cc | 2 +-
tests/core/point3d.cc | 2 +-
tests/core/pset_if.cc | 2 +-
tests/core/safe_image.cc | 2 +-
tests/core/sub_image.cc | 2 +-
tests/core/translate_image.cc | 2 +-
tests/core/w_window1d_int.cc | 2 +-
tests/core/w_window2d_int.cc | 2 +-
tests/core/w_window3d_int.cc | 2 +-
tests/core/window1d.cc | 2 +-
tests/core/window2d.cc | 2 +-
tests/core/window3d.cc | 2 +-
tests/estim/mean.cc | 2 +-
tests/histo/to_image1d.cc | 2 +-
tests/level/sort_points.cc | 2 +-
tests/linear/convolve.cc | 2 +-
tests/linear/gaussian.cc | 2 +-
tests/linear/lap.cc | 2 +-
tests/linear/line_convolve.cc | 2 +-
tests/linear/local/convolve.cc | 2 +-
tests/linear/log.cc | 2 +-
tests/linear/sobel.cc | 2 +-
tests/metal/converts_to.cc | 2 +-
tests/metal/is.cc | 2 +-
tests/metal/math/pow.cc | 4 ++--
tests/metal/unconst.cc | 2 +-
tests/test/positive.cc | 2 +-
tests/trait/ch_value.cc | 2 +-
tests/trait/image/images.cc | 2 +-
tests/trait/op/plus.cc | 2 +-
tests/trait/op/uminus.cc | 2 +-
tests/trait/super.cc | 2 +-
tests/trait/value/values.cc | 2 +-
tests/value/stack.cc | 2 +-
tools/seed2tiling.cc | 4 ++--
85 files changed, 87 insertions(+), 87 deletions(-)
Index: tools/seed2tiling.cc
--- tools/seed2tiling.cc (revision 1921)
+++ tools/seed2tiling.cc (working copy)
@@ -25,9 +25,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/seed2tiling.cc
+/*! \file tools/seed2tiling.cc
*
- * \brief Tests on mln::geom::seed2tiling.
+ * \brief Tool using mln::geom::seed2tiling.
*/
Index: tests/trait/image/images.cc
--- tests/trait/image/images.cc (revision 1921)
+++ tests/trait/image/images.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/trait_images.cc
+/*! \file tests/trait/image/images.cc
*
* \brief Tests on mln::trait::images.
*/
Index: tests/trait/super.cc
--- tests/trait/super.cc (revision 1921)
+++ tests/trait/super.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/trait_super.cc
+/*! \file tests/trait/super.cc
*
* \brief Tests on mln::trait::solve.
*/
Index: tests/trait/ch_value.cc
--- tests/trait/ch_value.cc (revision 1921)
+++ tests/trait/ch_value.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/trait_ch_value.cc
+/*! \file tests/trait/ch_value.cc
*
* \brief Tests on mln::trait::ch_value.
*/
Index: tests/trait/value/values.cc
--- tests/trait/value/values.cc (revision 1921)
+++ tests/trait/value/values.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/trait_value.cc
+/*! \file tests/trait/value/values.cc
*
* \brief Tests on mln::trait::ch_value.
*/
Index: tests/trait/op/uminus.cc
--- tests/trait/op/uminus.cc (revision 1921)
+++ tests/trait/op/uminus.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/trait_op_uminus.cc
+/*! \file tests/trait/op/uminus.cc
*
* \brief Tests on mln::trait::op::uminus.
*/
Index: tests/trait/op/plus.cc
--- tests/trait/op/plus.cc (revision 1921)
+++ tests/trait/op/plus.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/trait_op_plus.cc
+/*! \file tests/trait/op/plus.cc
*
* \brief Tests on mln::trait::op::plus.
*/
Index: tests/histo/to_image1d.cc
--- tests/histo/to_image1d.cc (revision 1921)
+++ tests/histo/to_image1d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/histo_to_image1d.cc
+/*! \file tests/histo/to_image1d.cc
*
* \brief Tests on mln::accu::histo and mln::histo::data.
*/
Index: tests/all_headers.cc
--- tests/all_headers.cc (revision 1921)
+++ tests/all_headers.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/all.cc
+/*! \file tests/all_headers.cc
*
* \brief Tests with all headers. (check norris tests)
*/
Index: tests/core/window1d.cc
--- tests/core/window1d.cc (revision 1921)
+++ tests/core/window1d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/window1d.cc
+/*! \file tests/core/window1d.cc
*
* \brief Tests on mln::window1d.
*/
Index: tests/core/image_if_value.cc
--- tests/core/image_if_value.cc (revision 1921)
+++ tests/core/image_if_value.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/image_if_value.cc
+/*! \file tests/core/image_if_value.cc
*
* \brief Tests on mln::image_if_value.
*/
Index: tests/core/w_window1d_int.cc
--- tests/core/w_window1d_int.cc (revision 1921)
+++ tests/core/w_window1d_int.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/w_window1d_int.cc
+/*! \file tests/core/w_window1d_int.cc
*
* \brief Tests on mln::w_window1d_int.
*/
Index: tests/core/w_window2d_int.cc
--- tests/core/w_window2d_int.cc (revision 1921)
+++ tests/core/w_window2d_int.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/w_window2d_int.cc
+/*! \file tests/core/w_window2d_int.cc
*
* \brief Tests on mln::w_window2d_int.
*/
Index: tests/core/window2d.cc
--- tests/core/window2d.cc (revision 1921)
+++ tests/core/window2d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/window2d.cc
+/*! \file tests/core/window2d.cc
*
* \brief Tests on mln::window2d.
*/
Index: tests/core/window3d.cc
--- tests/core/window3d.cc (revision 1921)
+++ tests/core/window3d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/window3d.cc
+/*! \file tests/core/window3d.cc
*
* \brief Tests on mln::window3d.
*/
Index: tests/core/w_window3d_int.cc
--- tests/core/w_window3d_int.cc (revision 1921)
+++ tests/core/w_window3d_int.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/w_window3d_int.cc
+/*! \file tests/core/w_window3d_int.cc
*
* \brief Tests on mln::w_window3d_int.
*/
Index: tests/core/image_if_interval.cc
--- tests/core/image_if_interval.cc (revision 1921)
+++ tests/core/image_if_interval.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/image_if_interval.cc
+/*! \file tests/core/image_if_interval.cc
*
* \brief Tests on mln::image_if_interval.
*/
Index: tests/core/p_set.cc
--- tests/core/p_set.cc (revision 1921)
+++ tests/core/p_set.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/core_p_set.cc
+/*! \file tests/core/p_set.cc
*
* \brief Tests on mln::p_set.
*/
Index: tests/core/pixter2d_more.cc
--- tests/core/pixter2d_more.cc (revision 1921)
+++ tests/core/pixter2d_more.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/pixter2d.cc
+/*! \file tests/core/pixter2d.cc
*
* \brief Tests on mln::fwd_pixter2d.
*/
Index: tests/core/cast_image.cc
--- tests/core/cast_image.cc (revision 1921)
+++ tests/core/cast_image.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/cast_image.cc
+/*! \file tests/core/cast_image.cc
*
* \brief Tests on mln::cast_image.
*/
Index: tests/core/pixter1d.cc
--- tests/core/pixter1d.cc (revision 1921)
+++ tests/core/pixter1d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/level/pixter1d.cc
+/// \file tests/core/pixter1d.cc
/// \brief Tests on 1-D image pixters.
#include <mln/core/image1d.hh>
Index: tests/core/pixter2d.cc
--- tests/core/pixter2d.cc (revision 1921)
+++ tests/core/pixter2d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/level/pixter2d.cc
+/// \file tests/core/pixter2d.cc
/// \brief Tests on 2-D image pixters.
#include <mln/core/image2d.hh>
Index: tests/core/pixter3d.cc
--- tests/core/pixter3d.cc (revision 1921)
+++ tests/core/pixter3d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/// \file tests/level/pixter3d.cc
+/// \file tests/core/pixter3d.cc
/// \brief Tests on 3-D image pixters.
#include <mln/core/image3d.hh>
Index: tests/core/box1d.cc
--- tests/core/box1d.cc (revision 1921)
+++ tests/core/box1d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/box1d.cc
+/*! \file tests/core/box1d.cc
*
* \brief Tests on mln::box1d.
*/
Index: tests/core/box2d.cc
--- tests/core/box2d.cc (revision 1921)
+++ tests/core/box2d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/box2d.cc
+/*! \file tests/core/box2d.cc
*
* \brief Tests on mln::box2d.
*/
Index: tests/core/box3d.cc
--- tests/core/box3d.cc (revision 1921)
+++ tests/core/box3d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/box3d.cc
+/*! \file tests/core/box3d.cc
*
* \brief Tests on mln::box3d.
*/
Index: tests/core/pixel.cc
--- tests/core/pixel.cc (revision 1921)
+++ tests/core/pixel.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/pixel.cc
+/*! \file tests/core/pixel.cc
*
* \brief Tests on mln::pixel.
*/
Index: tests/core/pixter3d_more.cc
--- tests/core/pixter3d_more.cc (revision 1921)
+++ tests/core/pixter3d_more.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/pixter3d.cc
+/*! \file tests/core/pixter3d.cc
*
* \brief Tests on mln::fwd_pixter3d.
*/
Index: tests/core/pset_if.cc
--- tests/core/pset_if.cc (revision 1921)
+++ tests/core/pset_if.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/core_pset_if.cc
+/*! \file tests/core/pset_if.cc
*
* \brief Tests on mln::pset_if.
*/
Index: tests/core/sub_image.cc
--- tests/core/sub_image.cc (revision 1921)
+++ tests/core/sub_image.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/sub_image.cc
+/*! \file tests/core/sub_image.cc
*
* \brief Tests on mln::sub_image.
*/
Index: tests/core/plain.cc
--- tests/core/plain.cc (revision 1921)
+++ tests/core/plain.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/plain.cc
+/*! \file tests/core/plain.cc
*
* \brief Test on mln::plain.
*/
Index: tests/core/image1d.cc
--- tests/core/image1d.cc (revision 1921)
+++ tests/core/image1d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/image1d.cc
+/*! \file tests/core/image1d.cc
*
* \brief Tests on mln::image1d.
*/
Index: tests/core/image2d.cc
--- tests/core/image2d.cc (revision 1921)
+++ tests/core/image2d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/image2d.cc
+/*! \file tests/core/image2d.cc
*
* \brief Tests on mln::image2d.
*/
Index: tests/core/fi_adaptor.cc
--- tests/core/fi_adaptor.cc (revision 1921)
+++ tests/core/fi_adaptor.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/fi_adaptor.cc
+/*! \file tests/core/fi_adaptor.cc
*
* \brief Test on mln::fi_adaptor.
*/
Index: tests/core/image3d.cc
--- tests/core/image3d.cc (revision 1921)
+++ tests/core/image3d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/image3d.cc
+/*! \file tests/core/image3d.cc
*
* \brief Tests on mln::image3d.
*/
Index: tests/core/image2d_h.cc
--- tests/core/image2d_h.cc (revision 1921)
+++ tests/core/image2d_h.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/image2d_h.cc
+/*! \file tests/core/image2d_h.cc
*
* \brief Tests on mln::image2d_h
*/
Index: tests/core/dpoint1d.cc
--- tests/core/dpoint1d.cc (revision 1921)
+++ tests/core/dpoint1d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/dpoint1d.cc
+/*! \file tests/core/dpoint1d.cc
*
* \brief Tests on mln::dpoint1d.
*/
Index: tests/core/dpoint2d.cc
--- tests/core/dpoint2d.cc (revision 1921)
+++ tests/core/dpoint2d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/dpoint2d.cc
+/*! \file tests/core/dpoint2d.cc
*
* \brief Tests on mln::dpoint2d.
*/
Index: tests/core/dpoint3d.cc
--- tests/core/dpoint3d.cc (revision 1921)
+++ tests/core/dpoint3d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/dpoint3d.cc
+/*! \file tests/core/dpoint3d.cc
*
* \brief Tests on mln::dpoint3d.
*/
Index: tests/core/decorated_image.cc
--- tests/core/decorated_image.cc (revision 1921)
+++ tests/core/decorated_image.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/decorated_image.cc
+/*! \file tests/core/decorated_image.cc
*
* \brief Tests on mln::decorated_image.
* \todo Make this test work.
Index: tests/core/translate_image.cc
--- tests/core/translate_image.cc (revision 1921)
+++ tests/core/translate_image.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/translate_image.cc
+/*! \file tests/core/translate_image.cc
*
* \brief Tests on mln::core::translate_image.hh.
*/
Index: tests/core/image_if.cc
--- tests/core/image_if.cc (revision 1921)
+++ tests/core/image_if.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/image_if.cc
+/*! \file tests/core/image_if.cc
*
* \brief Tests on mln::image_if.
*/
Index: tests/core/point1d.cc
--- tests/core/point1d.cc (revision 1921)
+++ tests/core/point1d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/point1d.cc
+/*! \file tests/core/point1d.cc
*
* \brief Tests on mln::point1d.
*/
Index: tests/core/point2d.cc
--- tests/core/point2d.cc (revision 1921)
+++ tests/core/point2d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/point2d.cc
+/*! \file tests/core/point2d.cc
*
* \brief Tests on mln::point2d.
*/
Index: tests/core/safe_image.cc
--- tests/core/safe_image.cc (revision 1921)
+++ tests/core/safe_image.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/safe_image.cc
+/*! \file tests/core/safe_image.cc
*
* \brief Tests on mln::safe_image.
*/
Index: tests/core/point3d.cc
--- tests/core/point3d.cc (revision 1921)
+++ tests/core/point3d.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/point3d.cc
+/*! \file tests/core/point3d.cc
*
* \brief Tests on mln::point3d.
*/
Index: tests/core/pixter1d_more.cc
--- tests/core/pixter1d_more.cc (revision 1921)
+++ tests/core/pixter1d_more.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/pixter1d.cc
+/*! \file tests/core/pixter1d.cc
*
* \brief Tests on mln::fwd_pixter1d.
*/
Index: tests/core/hexa.cc
--- tests/core/hexa.cc (revision 1921)
+++ tests/core/hexa.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/hexa.cc
+/*! \file tests/core/hexa.cc
*
* \brief Tests on mln::hexa
*/
Index: tests/core/interpolated.cc
--- tests/core/interpolated.cc (revision 1921)
+++ tests/core/interpolated.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/interpolated.cc
+/*! \file tests/core/interpolated.cc
*
* \brief Tests on mln::interpolated.
*/
Index: tests/core/line_piter.cc
--- tests/core/line_piter.cc (revision 1921)
+++ tests/core/line_piter.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/line_piter.cc
+/*! \file tests/core/line_piter.cc
*
* \brief Tests on mln::line_piter.
*/
Index: tests/metal/is.cc
--- tests/metal/is.cc (revision 1921)
+++ tests/metal/is.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/metal_is.cc
+/*! \file tests/metal/is.cc
*
* \brief Test on mln::metal::is.
*/
Index: tests/metal/math/pow.cc
--- tests/metal/math/pow.cc (revision 1921)
+++ tests/metal/math/pow.cc (working copy)
@@ -25,9 +25,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/metal_pow.cc
+/*! \file tests/metal/math/pow.cc
*
- * \brief Test on mln::metal::math.
+ * \brief Test on mln::metal::math::pow.
*/
#include <iostream>
Index: tests/metal/converts_to.cc
--- tests/metal/converts_to.cc (revision 1921)
+++ tests/metal/converts_to.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/metal_converts_to.cc
+/*! \file tests/metal/converts_to.cc
*
* \brief Test on mln::metal::converts_to.
*/
Index: tests/metal/unconst.cc
--- tests/metal/unconst.cc (revision 1921)
+++ tests/metal/unconst.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/metal_unconst.cc
+/*! \file tests/metal/unconst.cc
*
* \brief Test on mln::metal::unconst.
*/
Index: tests/level/sort_points.cc
--- tests/level/sort_points.cc (revision 1921)
+++ tests/level/sort_points.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/level_sort_points.cc
+/*! \file tests/level/sort_points.cc
*
* \brief Tests on mln::level::sort_points.
*/
Index: tests/linear/convolve.cc
--- tests/linear/convolve.cc (revision 1921)
+++ tests/linear/convolve.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/linear_convolve.cc
+/*! \file tests/linear/convolve.cc
*
* \brief Tests on mln::linear::convolve.
*/
Index: tests/linear/lap.cc
--- tests/linear/lap.cc (revision 1921)
+++ tests/linear/lap.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/linear_lap.cc
+/*! \file tests/linear/lap.cc
*
* \brief Tests on mln::linear::lap_4.
*/
Index: tests/linear/log.cc
--- tests/linear/log.cc (revision 1921)
+++ tests/linear/log.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/linear_log.cc
+/*! \file tests/linear/log.cc
*
* \brief Tests on mln::linear.
*/
Index: tests/linear/line_convolve.cc
--- tests/linear/line_convolve.cc (revision 1921)
+++ tests/linear/line_convolve.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/line_convolve.cc
+/*! \file tests/linear/line_convolve.cc
*
* \brief Tests on mln::linear::line_convolve.
*/
Index: tests/linear/sobel.cc
--- tests/linear/sobel.cc (revision 1921)
+++ tests/linear/sobel.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/linear_sobel.cc
+/*! \file tests/linear/sobel.cc
*
* \brief Tests on mln::linear::sobel.
*/
Index: tests/linear/local/convolve.cc
--- tests/linear/local/convolve.cc (revision 1921)
+++ tests/linear/local/convolve.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/local_convolve.cc
+/*! \file tests/linear/local/convolve.cc
*
* \brief Tests on mln::linear::local::convolve.
*/
Index: tests/linear/gaussian.cc
--- tests/linear/gaussian.cc (revision 1921)
+++ tests/linear/gaussian.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/linear_gaussian.cc
+/*! \file tests/linear/gaussian.cc
*
* \brief Test on mln::linear::gaussian.
*/
Index: tests/value/stack.cc
--- tests/value/stack.cc (revision 1921)
+++ tests/value/stack.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/stack.cc
+/*! \file tests/value/stack.cc
*
* \brief Tests on mln::value::stack.
*/
Index: tests/border/resize_image1d_1.cc
--- tests/border/resize_image1d_1.cc (revision 1921)
+++ tests/border/resize_image1d_1.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border_resize_image1d_1.cc
+/*! \file tests/border/resize_image1d_1.cc
*
* \brief Tests on mln::border::resize.
*/
Index: tests/border/resize_image2d_1.cc
--- tests/border/resize_image2d_1.cc (revision 1921)
+++ tests/border/resize_image2d_1.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border_resize_image2d_1.cc
+/*! \file tests/border/resize_image2d_1.cc
*
* \brief Tests on mln::border::resize.
*/
Index: tests/border/resize_image1d_2.cc
--- tests/border/resize_image1d_2.cc (revision 1921)
+++ tests/border/resize_image1d_2.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border_resize_image1d_2.cc
+/*! \file tests/border/resize_image1d_2.cc
*
* \brief Tests on mln::border::resize.
*/
Index: tests/border/resize_image1d_3.cc
--- tests/border/resize_image1d_3.cc (revision 1921)
+++ tests/border/resize_image1d_3.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border_resize_image1d_3.cc
+/*! \file tests/border/resize_image1d_3.cc
*
* \brief Tests on mln::border::resize.
*/
Index: tests/border/resize_image2d_2.cc
--- tests/border/resize_image2d_2.cc (revision 1921)
+++ tests/border/resize_image2d_2.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border_resize_image2d_2.cc
+/*! \file tests/border/resize_image2d_2.cc
*
* \brief Tests on mln::border::resize.
*/
Index: tests/border/resize_image3d_1.cc
--- tests/border/resize_image3d_1.cc (revision 1921)
+++ tests/border/resize_image3d_1.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border_resize_image3d_1.cc
+/*! \file tests/border/resize_image3d_1.cc
*
* \brief Tests on mln::border::resize.
*/
Index: tests/border/resize_image2d_3.cc
--- tests/border/resize_image2d_3.cc (revision 1921)
+++ tests/border/resize_image2d_3.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border_resize_image2d_3.cc
+/*! \file tests/border/resize_image2d_3.cc
*
* \brief Tests on mln::border::resize.
*/
Index: tests/border/resize_image3d_2.cc
--- tests/border/resize_image3d_2.cc (revision 1921)
+++ tests/border/resize_image3d_2.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border_resize_image3d_2.cc
+/*! \file tests/border/resize_image3d_2.cc
*
* \brief Tests on mln::border::resize.
*/
Index: tests/border/resize_image3d_3.cc
--- tests/border/resize_image3d_3.cc (revision 1921)
+++ tests/border/resize_image3d_3.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border_resize_image3d_3.cc
+/*! \file tests/border/resize_image3d_3.cc
*
* \brief Tests on mln::border::resize.
*/
Index: tests/border/resize_sub_image.cc
--- tests/border/resize_sub_image.cc (revision 1921)
+++ tests/border/resize_sub_image.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border_resize_sub_image.cc
+/*! \file tests/border/resize_sub_image.cc
*
* \brief Tests on mln::border::resize.
*/
Index: tests/border/resize_image_if.cc
--- tests/border/resize_image_if.cc (revision 1921)
+++ tests/border/resize_image_if.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/border_resize_image_if.cc
+/*! \file tests/border/resize_image_if.cc
*
* \brief Tests on mln::border::resize.
*/
Index: tests/test/positive.cc
--- tests/test/positive.cc (revision 1921)
+++ tests/test/positive.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/test_positive.cc
+/*! \file tests/test/test_positive.cc
*
* \brief Tests on mln::test::positive.
*/
Index: tests/convert/to_p_set.cc
--- tests/convert/to_p_set.cc (revision 1921)
+++ tests/convert/to_p_set.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/convert_to_p_set.cc
+/*! \file tests/convert/to_p_set.cc
*
* \brief Tests on mln::convert::to_p_set.
*/
Index: tests/convert/to_p_array.cc
--- tests/convert/to_p_array.cc (revision 1921)
+++ tests/convert/to_p_array.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/convert_to_p_array.cc
+/*! \file tests/convert/to_p_array.cc
*
* \brief Tests on mln::convert::to_p_array.
*/
Index: tests/convert/to_tiles.cc
--- tests/convert/to_tiles.cc (revision 1921)
+++ tests/convert/to_tiles.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/convert_to_tiles.cc
+/*! \file tests/convert/to_tiles.cc
*
* \brief Tests on mln::convert::to_tiles.
*/
Index: tests/convert/to_image.cc
--- tests/convert/to_image.cc (revision 1921)
+++ tests/convert/to_image.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/convert_to_image.cc
+/*! \file tests/convert/to_image.cc
*
* \brief Tests on mln::convert::to_image.
*/
Index: tests/convert/to_window.cc
--- tests/convert/to_window.cc (revision 1921)
+++ tests/convert/to_window.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/convert_to_window.cc
+/*! \file tests/convert/to_window.cc
*
* \brief Tests on mln::convert::to_window.
*/
Index: tests/estim/mean.cc
--- tests/estim/mean.cc (revision 1921)
+++ tests/estim/mean.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/estim_mean.cc
+/*! \file tests/estim/mean.cc
*
* \brief Tests on mln::estim::mean.
*/
Index: tests/algebra/vec.cc
--- tests/algebra/vec.cc (revision 1921)
+++ tests/algebra/vec.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/metal_vec.cc
+/*! \file tests/algebra/vec.cc
*
* \brief Test on mln::algebra::vec.
*/
Index: tests/algebra/vec2.cc
--- tests/algebra/vec2.cc (revision 1921)
+++ tests/algebra/vec2.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/vec.cc
+/*! \file tests/algebra/vec2.cc
*
* \brief Tests on mln::algebra::vec.
*/
Index: tests/algebra/mat.cc
--- tests/algebra/mat.cc (revision 1921)
+++ tests/algebra/mat.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/mat.cc
+/*! \file tests/algebra/mat.cc
*
* \brief Tests on mln::algebra::mat.
*/
Index: tests/algebra/mat2.cc
--- tests/algebra/mat2.cc (revision 1921)
+++ tests/algebra/mat2.cc (working copy)
@@ -25,7 +25,7 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/metal_mat.cc
+/*! \file tests/algebra/mat2.cc
*
* \brief Test on mln::algebra::mat.
*/
1
0
https://svn.lrde.epita.fr/svn/oln/trunk
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Update the list of Makefiles to be configured.
* configure.ac: Configure milena/tests/algebra/Makefile,
milena/tests/binarization/Makefile,
milena/tests/subsampling/Makefile and
milena/tests/test/Makefile.
configure.ac | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Index: configure.ac
--- configure.ac (revision 1920)
+++ configure.ac (working copy)
@@ -99,12 +99,14 @@
# data (images) from tests.
AC_CONFIG_FILES([milena/tests/data.hh])
-# FIXME: Should be performed through oln.m4 macros, as we did in Olena 0.11?
# Ask for the creation of tests' Makefiles.
+# FIXME: Should it be achieved through oln.m4 macros, as we did in Olena 0.11?
AC_CONFIG_FILES([
milena/tests/Makefile
milena/tests/accu/Makefile
+ milena/tests/algebra/Makefile
milena/tests/arith/Makefile
+ milena/tests/binarization/Makefile
milena/tests/border/Makefile
milena/tests/canvas/Makefile
milena/tests/canvas/browsing/Makefile
@@ -148,7 +150,9 @@
milena/tests/norm/Makefile
milena/tests/pw/Makefile
milena/tests/set/Makefile
+ milena/tests/subsampling/Makefile
milena/tests/tag/Makefile
+ milena/tests/test/Makefile
milena/tests/trace/Makefile
milena/tests/trait/Makefile
milena/tests/trait/image/Makefile
1
0
https://svn.lrde.epita.fr/svn/oln/trunk/milena
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Reorganize the tests/ directory.
* tests/algebra/, tests/test/: New directories.
* tests/all.cc,
* tests/border_resize_image1d_1.cc,
* tests/border_resize_image1d_2.cc,
* tests/border_resize_image1d_3.cc,
* tests/border_resize_image2d_1.cc,
* tests/border_resize_image2d_2.cc,
* tests/border_resize_image2d_3.cc,
* tests/border_resize_image3d_1.cc,
* tests/border_resize_image3d_2.cc,
* tests/border_resize_image3d_3.cc,
* tests/border_resize_image_if.cc,
* tests/border_resize_sub_image.cc,
* tests/box1d.cc,
* tests/box2d.cc,
* tests/box3d.cc,
* tests/cast_image.cc,
* tests/clock_neighb2d.cc,
* tests/clock_test.cc,
* tests/convert_to_image.cc,
* tests/convert_to_p_array.cc,
* tests/convert_to_p_set.cc,
* tests/convert_to_tiles.cc,
* tests/convert_to_window.cc,
* tests/core_p_set.cc,
* tests/core_pset_if.cc,
* tests/decorated_image.cc,
* tests/dpoint1d.cc,
* tests/dpoint2d.cc,
* tests/dpoint3d.cc,
* tests/estim_mean.cc,
* tests/fi_adaptor.cc,
* tests/hexa.cc,
* tests/histo_to_image1d.cc,
* tests/image1d.cc,
* tests/image2d.cc,
* tests/image2d_h.cc,
* tests/image3d.cc,
* tests/image_if.cc,
* tests/image_if_interval.cc,
* tests/image_if_value.cc,
* tests/interpolated.cc,
* tests/level_sort_points.cc,
* tests/line_convolve.cc,
* tests/line_piter.cc,
* tests/linear_convolve.cc,
* tests/linear_gaussian.cc,
* tests/linear_lap.cc,
* tests/linear_log.cc,
* tests/local_convolve.cc,
* tests/main.cc,
* tests/mat.cc,
* tests/metal_converts_to.cc,
* tests/metal_is.cc,
* tests/metal_mat.cc,
* tests/metal_pow.cc,
* tests/metal_unconst.cc,
* tests/metal_vec.cc,
* tests/pixel.cc,
* tests/pixter1d.cc,
* tests/pixter2d.cc,
* tests/pixter3d.cc,
* tests/plain.cc,
* tests/point1d.cc,
* tests/point2d.cc,
* tests/point3d.cc,
* tests/safe_image.cc,
* tests/seed2tiling.cc,
* tests/stack.cc,
* tests/sub_image.cc,
* tests/test_positive.cc,
* tests/trait_ch_value.cc,
* tests/trait_images.cc,
* tests/trait_op_plus.cc,
* tests/trait_op_uminus.cc,
* tests/trait_super.cc,
* tests/trait_value.cc,
* tests/translate_image.cc,
* tests/vec.cc,
* tests/w_window1d_int.cc,
* tests/w_window2d_int.cc,
* tests/w_window3d_int.cc,
* tests/window1d.cc,
* tests/window2d.cc,
* tests/window3d.cc:
Move/rename as...
* tests/all_headers.cc,
* tests/border/resize_image1d_1.cc,
* tests/border/resize_image1d_2.cc,
* tests/border/resize_image1d_3.cc,
* tests/border/resize_image2d_1.cc,
* tests/border/resize_image2d_2.cc,
* tests/border/resize_image2d_3.cc,
* tests/border/resize_image3d_1.cc,
* tests/border/resize_image3d_2.cc,
* tests/border/resize_image3d_3.cc,
* tests/border/resize_image_if.cc,
* tests/border/resize_sub_image.cc,
* tests/core/box1d.cc,
* tests/core/box2d.cc,
* tests/core/box3d.cc,
* tests/core/cast_image.cc,
* tests/core/clock_neighb2d.cc,
* tests/core/clock_test.cc,
* tests/convert/to_image.cc,
* tests/convert/to_p_array.cc,
* tests/convert/to_p_set.cc,
* tests/convert/to_tiles.cc,
* tests/convert/to_window.cc,
* tests/core/p_set.cc,
* tests/core/pset_if.cc,
* tests/core/decorated_image.cc,
* tests/core/dpoint1d.cc,
* tests/core/dpoint2d.cc,
* tests/core/dpoint3d.cc,
* tests/estim/mean.cc,
* tests/core/fi_adaptor.cc,
* tests/core/hexa.cc,
* tests/histo/to_image1d.cc,
* tests/core/image1d.cc,
* tests/core/image2d.cc,
* tests/core/image2d_h.cc,
* tests/core/image3d.cc,
* tests/core/image_if.cc,
* tests/core/image_if_interval.cc,
* tests/core/image_if_value.cc,
* tests/core/interpolated.cc,
* tests/level/sort_points.cc,
* tests/linear/line_convolve.cc,
* tests/core/line_piter.cc,
* tests/linear/convolve.cc,
* tests/linear/gaussian.cc,
* tests/linear/lap.cc,
* tests/linear/log.cc,
* tests/linear/local/convolve.cc,
* tests/morpho/combined.cc,
* tests/algebra/mat.cc,
* tests/metal/converts_to.cc,
* tests/metal/is.cc,
* tests/algebra/mat2.cc,
* tests/metal/math/pow.cc,
* tests/metal/unconst.cc,
* tests/algebra/vec.cc,
* tests/core/pixel.cc,
* tests/core/pixter1d_more.cc,
* tests/core/pixter2d_more.cc,
* tests/core/pixter3d_more.cc,
* tests/core/plain.cc,
* tests/core/point1d.cc,
* tests/core/point2d.cc,
* tests/core/point3d.cc,
* tests/core/safe_image.cc,
* tools/seed2tiling.cc,
* tests/value/stack.cc,
* tests/core/sub_image.cc,
* tests/test/positive.cc,
* tests/trait/ch_value.cc,
* tests/trait/image/images.cc,
* tests/trait/op/plus.cc,
* tests/trait/op/uminus.cc,
* tests/trait/super.cc,
* tests/trait/value/values.cc,
* tests/core/translate_image.cc,
* tests/algebra/vec2.cc,
* tests/core/w_window1d_int.cc,
* tests/core/w_window2d_int.cc,
* tests/core/w_window3d_int.cc,
* tests/core/window1d.cc,
* tests/core/window2d.cc,
* tests/core/window3d.cc:
...these.
* tests/Makefile.am,
* tests/border/Makefile.am,
* tests/canvas/Makefile.am,
* tests/convert/Makefile.am,
* tests/core/Makefile.am,
* tests/estim/Makefile.am,
* tests/histo/Makefile.am,
* tests/level/Makefile.am,
* tests/linear/Makefile.am,
* tests/linear/local/Makefile.am,
* tests/literal/Makefile.am,
* tests/metal/Makefile.am,
* tests/metal/math/Makefile.am,
* tests/morpho/Makefile.am,
* tests/trait/Makefile.am,
* tests/trait/image/Makefile.am,
* tests/trait/op/Makefile.am,
* tests/trait/value/Makefile.am,
* tests/value/Makefile.am,
* tools/Makefile.am:
Adjust.
* tests/algebra/Makefile.am,
* tests/binarization/Makefile.am,
* tests/subsampling/Makefile.am,
* tests/test/Makefile.am:
New.
tests/Makefile.am | 204 +++--------------------------------------
tests/algebra/Makefile.am | 16 +++
tests/binarization/Makefile.am | 10 ++
tests/border/Makefile.am | 22 ++++
tests/canvas/Makefile.am | 2
tests/convert/Makefile.am | 15 +++
tests/core/Makefile.am | 118 +++++++++++++++++++++++
tests/estim/Makefile.am | 7 +
tests/histo/Makefile.am | 4
tests/level/Makefile.am | 6 -
tests/linear/Makefile.am | 12 ++
tests/linear/local/Makefile.am | 7 +
tests/literal/Makefile.am | 15 +++
tests/metal/Makefile.am | 13 ++
tests/metal/math/Makefile.am | 7 +
tests/morpho/Makefile.am | 3
tests/morpho/combined.cc | 11 --
tests/subsampling/Makefile.am | 10 ++
tests/test/Makefile.am | 10 ++
tests/trait/Makefile.am | 11 ++
tests/trait/image/Makefile.am | 7 +
tests/trait/op/Makefile.am | 9 +
tests/trait/value/Makefile.am | 7 +
tests/value/Makefile.am | 26 +++--
tools/Makefile.am | 7 +
tools/seed2tiling.cc | 2
26 files changed, 350 insertions(+), 211 deletions(-)
Index: tests/subsampling/Makefile.am
--- tests/subsampling/Makefile.am (revision 0)
+++ tests/subsampling/Makefile.am (revision 0)
@@ -0,0 +1,10 @@
+## Process this file through Automake to create Makefile.in -*- Makefile -*-
+
+include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ type
+
+type_SOURCES = type.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/literal/Makefile.am
--- tests/literal/Makefile.am (revision 1919)
+++ tests/literal/Makefile.am (working copy)
@@ -1,3 +1,18 @@
## Process this file through Automake to create Makefile.in -*- Makefile -*-
include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ black \
+ medium_gray \
+ one \
+ white \
+ zero
+
+black_SOURCES = black.cc
+medium_gray_SOURCES = medium_gray.cc
+one_SOURCES = one.cc
+white_SOURCES = white.cc
+zero_SOURCES = zero.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/metal/math/Makefile.am
--- tests/metal/math/Makefile.am (revision 1919)
+++ tests/metal/math/Makefile.am (working copy)
@@ -1,3 +1,10 @@
## Process this file through Automake to create Makefile.in -*- Makefile -*-
include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ pow
+
+pow_SOURCES = pow.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/metal/Makefile.am
--- tests/metal/Makefile.am (revision 1919)
+++ tests/metal/Makefile.am (working copy)
@@ -1,3 +1,16 @@
## Process this file through Automake to create Makefile.in -*- Makefile -*-
include $(top_srcdir)/milena/tests/tests.mk
+
+SUBDIRS = make math
+
+check_PROGRAMS = \
+ converts_to \
+ is \
+ unconst
+
+converts_to_SOURCES = converts_to.cc
+is_SOURCES = is.cc
+unconst_SOURCES = unconst.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/level/Makefile.am
--- tests/level/Makefile.am (revision 1919)
+++ tests/level/Makefile.am (working copy)
@@ -1,9 +1,9 @@
## Process this file through Automake to create Makefile.in -*- Makefile -*-
-SUBDIRS = approx naive
-
include $(top_srcdir)/milena/tests/tests.mk
+SUBDIRS = approx naive
+
check_PROGRAMS = \
abs \
all_headers \
@@ -20,6 +20,7 @@
memset_ \
paste \
saturate \
+ sort_points \
sort_psites \
sort_psites_full \
stretch \
@@ -41,6 +42,7 @@
memset__SOURCES = memset_.cc
paste_SOURCES = paste.cc
saturate_SOURCES = saturate.cc
+sort_points_SOURCES = sort_points.cc
sort_psites_SOURCES = sort_psites.cc
stretch_SOURCES = stretch.cc
take_SOURCES = take.cc
Index: tests/linear/Makefile.am
--- tests/linear/Makefile.am (revision 1919)
+++ tests/linear/Makefile.am (working copy)
@@ -2,9 +2,21 @@
include $(top_srcdir)/milena/tests/tests.mk
+SUBDIRS = local
+
check_PROGRAMS = \
+ convolve \
+ gaussian \
+ lap \
+ line_convolve \
+ log \
sobel
+convolve_SOURCES = convolve.cc
+gaussian_SOURCES = gaussian.cc
+lap_SOURCES = lap.cc
+line_convolve_SOURCES = line_convolve.cc
+log_SOURCES = log.cc
sobel_SOURCES = sobel.cc
TESTS = $(check_PROGRAMS)
Index: tests/linear/local/Makefile.am
--- tests/linear/local/Makefile.am (revision 1919)
+++ tests/linear/local/Makefile.am (working copy)
@@ -1,3 +1,10 @@
## Process this file through Automake to create Makefile.in -*- Makefile -*-
include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ convolve
+
+convolve_SOURCES = convolve.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/value/Makefile.am
--- tests/value/Makefile.am (revision 1919)
+++ tests/value/Makefile.am (working copy)
@@ -7,47 +7,57 @@
## ...
SUBDIRS = \
- concept \
- builtin
+ builtin \
+ concept
check_PROGRAMS = \
bool \
equiv \
- float01_bis \
float01 \
+ float01_bis \
float01_f \
graylevel \
- interop \
- int_s16 \
+ graylevel_f \
int_s \
+ int_s16 \
int_u8 \
+ interop \
label \
+ macros \
quat \
rgb8 \
scalar \
- set
+ set \
+ stack
# FIXME: Enable when make check_full works.
# check_full_PROGRAMS = \
+# graylevel_full \
+# graylevel_f_full \
# rgb_full
bool_SOURCES = bool.cc
equiv_SOURCES = equiv.cc
-float01_bis_SOURCES = float01_bis.cc
float01_SOURCES = float01.cc
+float01_bis_SOURCES = float01_bis.cc
float01_f_SOURCES = float01_f.cc
graylevel_SOURCES = graylevel.cc
+graylevel_f_SOURCES = graylevel_f.cc
interop_SOURCES = interop.cc
-int_s16_SOURCES = int_s16.cc
int_s_SOURCES = int_s.cc
+int_s16_SOURCES = int_s16.cc
int_u8_SOURCES = int_u8.cc
label_SOURCES = label.cc
+macros_SOURCES = macros.cc
quat_SOURCES = quat.cc
rgb8_SOURCES = rgb8.cc
scalar_SOURCES = scalar.cc
set_SOURCES = set.cc
+stack_SOURCES = stack.cc
# FIXME: Enable when make check_full works.
+# graylevel_f_full_SOURCES = graylevel_f_full.cc
+# graylevel_full_SOURCES = graylevel_full.cc
# rgb_full_SOURCES = rgb_full.cc
TESTS = $(check_PROGRAMS)
Index: tests/border/Makefile.am
--- tests/border/Makefile.am (revision 1919)
+++ tests/border/Makefile.am (working copy)
@@ -11,6 +11,17 @@
find \
get \
mirror \
+ resize_image1d_1 \
+ resize_image1d_2 \
+ resize_image1d_3 \
+ resize_image2d_1 \
+ resize_image2d_2 \
+ resize_image2d_3 \
+ resize_image3d_1 \
+ resize_image3d_2 \
+ resize_image3d_3 \
+ resize_image_if \
+ resize_sub_image \
resize
adjust_SOURCES = adjust.cc
@@ -21,6 +32,17 @@
find_SOURCES = find.cc
get_SOURCES = get.cc
mirror_SOURCES = mirror.cc
+resize_image1d_1_SOURCES = resize_image1d_1.cc
+resize_image1d_2_SOURCES = resize_image1d_2.cc
+resize_image1d_3_SOURCES = resize_image1d_3.cc
+resize_image2d_1_SOURCES = resize_image2d_1.cc
+resize_image2d_2_SOURCES = resize_image2d_2.cc
+resize_image2d_3_SOURCES = resize_image2d_3.cc
+resize_image3d_1_SOURCES = resize_image3d_1.cc
+resize_image3d_2_SOURCES = resize_image3d_2.cc
+resize_image3d_3_SOURCES = resize_image3d_3.cc
+resize_image_if_SOURCES = resize_image_if.cc
+resize_sub_image_SOURCES = resize_sub_image.cc
resize_SOURCES = resize.cc
TESTS = $(check_PROGRAMS)
Index: tests/binarization/Makefile.am
--- tests/binarization/Makefile.am (revision 0)
+++ tests/binarization/Makefile.am (revision 0)
@@ -0,0 +1,10 @@
+## Process this file through Automake to create Makefile.in -*- Makefile -*-
+
+include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ thresholding
+
+thresholding_SOURCES = thresholding.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/algebra/Makefile.am
--- tests/algebra/Makefile.am (revision 0)
+++ tests/algebra/Makefile.am (revision 0)
@@ -0,0 +1,16 @@
+## Process this file through Automake to create Makefile.in -*- Makefile -*-
+
+include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ mat \
+ mat2 \
+ vec \
+ vec2
+
+mat_SOURCES = mat.cc
+mat2_SOURCES = mat2.cc
+vec_SOURCES = vec.cc
+vec2_SOURCES = vec2.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/canvas/Makefile.am
--- tests/canvas/Makefile.am (revision 1919)
+++ tests/canvas/Makefile.am (working copy)
@@ -2,7 +2,7 @@
include $(top_srcdir)/milena/tests/tests.mk
-SUBDIRS = browsing
+SUBDIRS = browsing morpho
check_PROGRAMS = \
chamfer
Index: tests/trait/image/Makefile.am
--- tests/trait/image/Makefile.am (revision 1919)
+++ tests/trait/image/Makefile.am (working copy)
@@ -1,3 +1,10 @@
## Process this file through Automake to create Makefile.in -*- Makefile -*-
include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ images
+
+images_SOURCES = images.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/trait/Makefile.am
--- tests/trait/Makefile.am (revision 1919)
+++ tests/trait/Makefile.am (working copy)
@@ -1,3 +1,14 @@
## Process this file through Automake to create Makefile.in -*- Makefile -*-
include $(top_srcdir)/milena/tests/tests.mk
+
+SUBDIRS = image op value
+
+check_PROGRAMS = \
+ ch_value \
+ super
+
+ch_value_SOURCES = ch_value.cc
+super_SOURCES = super.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/trait/value/Makefile.am
--- tests/trait/value/Makefile.am (revision 1919)
+++ tests/trait/value/Makefile.am (working copy)
@@ -1,3 +1,10 @@
## Process this file through Automake to create Makefile.in -*- Makefile -*-
include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ values
+
+values_SOURCES = values.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/trait/op/Makefile.am
--- tests/trait/op/Makefile.am (revision 1919)
+++ tests/trait/op/Makefile.am (working copy)
@@ -1,3 +1,12 @@
## Process this file through Automake to create Makefile.in -*- Makefile -*-
include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ plus \
+ uminus
+
+plus_SOURCES = plus.cc
+uminus_SOURCES = uminus.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/histo/Makefile.am
--- tests/histo/Makefile.am (revision 1919)
+++ tests/histo/Makefile.am (working copy)
@@ -3,8 +3,10 @@
include $(top_srcdir)/milena/tests/tests.mk
check_PROGRAMS = \
- compute
+ compute \
+ to_image1d
compute_SOURCES = compute.cc
+to_image1d_SOURCES = to_image1d.cc
TESTS = $(check_PROGRAMS)
Index: tests/core/Makefile.am
--- tests/core/Makefile.am (revision 1919)
+++ tests/core/Makefile.am (working copy)
@@ -3,70 +3,186 @@
include $(top_srcdir)/milena/tests/tests.mk
check_PROGRAMS = \
+ box1d \
+ box2d \
+ box3d \
+ \
+ cast_image \
category \
+ clock_neighb2d \
+ clock_test \
clone \
+ \
+ decorated_image \
+ dpoint1d \
+ dpoint2d \
+ dpoint3d \
dpoints_pixter \
+ \
exact \
+ \
h_vec \
+ hexa \
+ \
+ image1d \
+ image2d \
+ image2d_h \
+ image3d \
+ image_if \
+ image_if_interval \
+ image_if_value \
initialize \
+ interpolated \
+ \
graph_elt_neighborhood \
graph_elt_window \
graph_image \
+ \
line_graph_elt_neighborhood \
line_graph_elt_window \
line_graph_image \
line_graph_image_wst \
+ line_piter \
+ \
mono_obased_rle_image \
mono_rle_image \
+ \
neighb \
+ \
obased_rle_image \
+ \
p_priority_queue \
p_priority_queue_fast \
p_priority_queue_fast_with_array \
p_queue \
p_queue_fast \
p_runs \
+ p_set \
+ pixel \
pixter1d \
+ pixter1d_more \
pixter2d \
+ pixter2d_more \
pixter3d \
+ pixter3d_more \
+ plain \
+ point1d \
+ point2d \
+ point3d \
point_set_compatibility \
pset_array \
+ pset_if \
+ \
rle_image \
+ \
+ safe_image \
sparse_image \
+ sub_image \
+ \
t_image \
- tr_image
+ tr_image \
+ translate_image \
+ \
+ window1d \
+ window2d \
+ window3d \
+ w_window1d_int \
+ w_window2d_int \
+ w_window3d_int
+box1d_SOURCES = box1d.cc
+box2d_SOURCES = box2d.cc
+box3d_SOURCES = box3d.cc
+
+cast_image_SOURCES = cast_image.cc
category_SOURCES = category.cc
+clock_neighb2d_SOURCES = clock_neighb2d.cc
+clock_test_SOURCES = clock_test.cc
clone_SOURCES = clone.cc
+
+decorated_image_SOURCES = decorated_image.cc
+dpoint1d_SOURCES = dpoint1d.cc
+dpoint2d_SOURCES = dpoint2d.cc
+dpoint3d_SOURCES = dpoint3d.cc
dpoints_pixter_SOURCES = dpoints_pixter.cc
+
exact_SOURCES = exact.cc
+
h_vec_SOURCES = h_vec.cc
+hexa_SOURCES = hexa.cc
+
+image1d_SOURCES = image1d.cc
+image2d_SOURCES = image2d.cc
+image2d_h_SOURCES = image2d_h.cc
+image3d_SOURCES = image3d.cc
+image_if_SOURCES = image_if.cc
+image_if_interval_SOURCES = image_if_interval.cc
+image_if_value_SOURCES = image_if_value.cc
initialize_SOURCES = initialize.cc
+interpolated_SOURCES = interpolated.cc
+
graph_elt_neighborhood_SOURCES = graph_elt_neighborhood.cc
graph_elt_window_SOURCES = graph_elt_window.cc
graph_image_SOURCES = graph_image.cc
+
line_graph_elt_neighborhood_SOURCES = line_graph_elt_neighborhood.cc
line_graph_elt_window_SOURCES = line_graph_elt_window.cc
line_graph_image_SOURCES = line_graph_image.cc
line_graph_image_wst_SOURCES = line_graph_image_wst.cc
+line_piter_SOURCES = line_piter.cc
+
mono_obased_rle_image_SOURCES = mono_obased_rle_image.cc
mono_rle_image_SOURCES = mono_rle_image.cc
+
neighb_SOURCES = neighb.cc
+
obased_rle_image_SOURCES = obased_rle_image.cc
+
p_priority_queue_SOURCES = p_priority_queue.cc
p_priority_queue_fast_SOURCES = p_priority_queue_fast.cc
p_priority_queue_fast_with_array_SOURCES = p_priority_queue_fast.cc
p_queue_SOURCES = p_priority_queue_fast.cc
p_queue_fast_SOURCES = p_priority_queue_fast.cc
p_runs_SOURCES = p_runs.cc
+p_set_SOURCES = p_set.cc
+pixel_SOURCES = pixel.cc
pixter1d_SOURCES = pixter1d.cc
+pixter1d_more_SOURCES = pixter1d_more.cc
pixter2d_SOURCES = pixter2d.cc
+pixter2d_more_SOURCES = pixter2d_more.cc
pixter3d_SOURCES = pixter3d.cc
+pixter3d_more_SOURCES = pixter3d_more.cc
+plain_SOURCES = plain.cc
+point1d_SOURCES = point1d.cc
+point2d_SOURCES = point2d.cc
+point3d_SOURCES = point3d.cc
point_set_compatibility_SOURCES = point_set_compatibility.cc
pset_array_SOURCES = pset_array.cc
+pset_if_SOURCES = pset_if.cc
+
rle_image_SOURCES = rle_image.cc
+
+safe_image_SOURCES = safe_image.cc
sparse_image_SOURCES = sparse_image.cc
+sub_image_SOURCES = sub_image.cc
+
t_image_SOURCES = t_image.cc
tr_image_SOURCES = tr_image.cc
+translate_image_SOURCES = translate_image.cc
+
+window1d_SOURCES = window1d.cc
+window2d_SOURCES = window2d.cc
+window3d_SOURCES = window3d.cc
+w_window1d_int_SOURCES = w_window1d_int.cc
+w_window2d_int_SOURCES = w_window2d_int.cc
+w_window3d_int_SOURCES = w_window3d_int.cc
+
+# Tests depending on the FreeImagePlus library.
+if FREEIMAGEPLUS
+ check_PROGRAMS += fi_adaptor
+ fi_adaptor_SOURCES = fi_adaptor.cc
+ fi_adaptor_CPPFLAGS = $(AM_CPPFLAGS) $(FREEIMAGEPLUS_CPPFLAGS)
+ fi_adaptor_LDFLAGS = $(AM_LDFLAGS) $(FREEIMAGEPLUS_LDFLAGS)
+endif
TESTS = $(check_PROGRAMS)
Index: tests/test/Makefile.am
--- tests/test/Makefile.am (revision 0)
+++ tests/test/Makefile.am (revision 0)
@@ -0,0 +1,10 @@
+## Process this file through Automake to create Makefile.in -*- Makefile -*-
+
+include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ positive
+
+positive_SOURCES = positive.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/convert/Makefile.am
--- tests/convert/Makefile.am (revision 1919)
+++ tests/convert/Makefile.am (working copy)
@@ -1,3 +1,18 @@
## Process this file through Automake to create Makefile.in -*- Makefile -*-
include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ to_image \
+ to_p_array \
+ to_p_set \
+ to_tiles \
+ to_window
+
+to_image_SOURCES = to_image.cc
+to_p_array_SOURCES = to_p_array.cc
+to_p_set_SOURCES = to_p_set.cc
+to_tiles_SOURCES = to_tiles.cc
+to_window_SOURCES = to_window.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/estim/Makefile.am
--- tests/estim/Makefile.am (revision 1919)
+++ tests/estim/Makefile.am (working copy)
@@ -1,3 +1,10 @@
## Process this file through Automake to create Makefile.in -*- Makefile -*-
include $(top_srcdir)/milena/tests/tests.mk
+
+check_PROGRAMS = \
+ mean
+
+mean_SOURCES = mean.cc
+
+TESTS = $(check_PROGRAMS)
Index: tests/morpho/combined.cc
--- tests/morpho/combined.cc (revision 1919)
+++ tests/morpho/combined.cc (working copy)
@@ -25,15 +25,8 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-// FIXME: Rename (and possibly move) this file.
-
-/*!
- * \file tests/main.cc
- *
- * \brief Test on mln::morpho.
- *
- *
- */
+/// \file tests/morpho/combined.cc
+/// \brief Test on several mln::morpho entities.
#include <cmath>
Index: tests/morpho/Makefile.am
--- tests/morpho/Makefile.am (revision 1919)
+++ tests/morpho/Makefile.am (working copy)
@@ -4,6 +4,7 @@
check_PROGRAMS = \
closing_area \
+ combined \
contrast \
dilation \
dilation_max_h \
@@ -40,6 +41,8 @@
meyer_wst_SOURCES = meyer_wst.cc
+combined_SOURCES = combined.cc
+
# --------------- #
# Complex tests. #
# --------------- #
Index: tests/Makefile.am
--- tests/Makefile.am (revision 1919)
+++ tests/Makefile.am (working copy)
@@ -3,214 +3,46 @@
include $(top_srcdir)/milena/tests/tests.mk
SUBDIRS = \
- arith \
accu \
+ algebra \
+ arith \
+ binarization \
border \
canvas \
+ convert \
core \
- display \
debug \
+ display \
draw \
+ estim \
fun \
geom \
histo \
+ io \
labeling \
level \
+ linear \
+ literal \
logical \
+ math \
+ metal \
morpho \
neighb \
norm \
pw \
set \
+ subsampling \
+ tag \
+ test \
+ trace \
+ trait \
util \
value \
win
check_PROGRAMS = \
- border_resize_image1d_1 \
- border_resize_image1d_2 \
- border_resize_image1d_3 \
- border_resize_image2d_1 \
- border_resize_image2d_2 \
- border_resize_image2d_3 \
- border_resize_image3d_1 \
- border_resize_image3d_2 \
- border_resize_image3d_3 \
- border_resize_image_if \
- border_resize_sub_image \
- box1d \
- box2d \
- box3d \
- \
- cast_image \
- convert_to_image \
- convert_to_tiles \
- convert_to_p_array \
- \
- decorated_image \
- dpoint1d \
- dpoint2d \
- dpoint3d \
- \
- estim_mean \
- \
- hexa \
- histo_to_image1d \
- \
- image1d \
- image2d \
- image2d_h \
- image3d \
- image_if \
- image_if_interval \
- image_if_value \
- interpolated \
- \
- level_sort_points \
- linear_convolve \
- linear_gaussian \
- linear_lap \
- linear_log \
- line_convolve \
- line_piter \
- local_convolve \
- \
- main \
- mat \
- metal_converts_to \
- metal_is \
- metal_mat \
- metal_pow \
- metal_unconst \
- metal_vec \
- \
- pixel \
- pixter1d \
- pixter2d \
- pixter3d \
- plain \
- point1d \
- point2d \
- point3d \
- \
- safe_image \
- seed2tiling \
- stack \
- sub_image \
- \
- test_positive \
- trait_ch_value \
- trait_images \
- trait_op_plus \
- trait_op_uminus \
- trait_super \
- trait_value \
- translate_image \
- \
- vec \
- \
- window1d \
- window2d \
- window3d \
- w_window1d_int \
- w_window2d_int \
- w_window3d_int
-
-border_resize_image1d_1_SOURCES = border_resize_image1d_1.cc
-border_resize_image1d_2_SOURCES = border_resize_image1d_2.cc
-border_resize_image1d_3_SOURCES = border_resize_image1d_3.cc
-border_resize_image2d_1_SOURCES = border_resize_image2d_1.cc
-border_resize_image2d_2_SOURCES = border_resize_image2d_2.cc
-border_resize_image2d_3_SOURCES = border_resize_image2d_3.cc
-border_resize_image3d_1_SOURCES = border_resize_image3d_1.cc
-border_resize_image3d_2_SOURCES = border_resize_image3d_2.cc
-border_resize_image3d_3_SOURCES = border_resize_image3d_3.cc
-border_resize_image_if_SOURCES = border_resize_image_if.cc
-border_resize_sub_image_SOURCES = border_resize_sub_image.cc
-box1d_SOURCES = box1d.cc
-box2d_SOURCES = box2d.cc
-box3d_SOURCES = box3d.cc
-
-cast_image_SOURCES = cast_image.cc
-convert_to_image_SOURCES = convert_to_image.cc
-convert_to_tiles_SOURCES = convert_to_tiles.cc
-convert_to_p_array_SOURCES = convert_to_p_array.cc
-
-decorated_image_SOURCES = decorated_image.cc
-dpoint1d_SOURCES = dpoint1d.cc
-dpoint2d_SOURCES = dpoint2d.cc
-dpoint3d_SOURCES = dpoint3d.cc
-
-estim_mean_SOURCES = estim_mean.cc
-
-hexa_SOURCES = hexa.cc
-histo_to_image1d_SOURCES = histo_to_image1d.cc
-
-image1d_SOURCES = image1d.cc
-image2d_SOURCES = image2d.cc
-image2d_h_SOURCES = image2d_h.cc
-image3d_SOURCES = image3d.cc
-image_if_SOURCES = image_if.cc
-image_if_interval_SOURCES = image_if_interval.cc
-image_if_value_SOURCES = image_if_value.cc
-interpolated_SOURCES = interpolated.cc
-
-level_sort_points_SOURCES = level_sort_points.cc
-linear_convolve_SOURCES = linear_convolve.cc
-linear_gaussian_SOURCES = linear_gaussian.cc
-linear_lap_SOURCES = linear_lap.cc
-linear_log_SOURCES = linear_log.cc
-line_convolve_SOURCES = line_convolve.cc
-line_piter_SOURCES = line_piter.cc
-local_convolve_SOURCES = local_convolve.cc
-
-main_SOURCES = main.cc
-mat_SOURCES = mat.cc
-metal_converts_to_SOURCES = metal_converts_to.cc
-metal_is_SOURCES = metal_is.cc
-metal_mat_SOURCES = metal_mat.cc
-metal_pow_SOURCES = metal_pow.cc
-metal_unconst_SOURCES = metal_unconst.cc
-metal_vec_SOURCES = metal_vec.cc
-
-pixel_SOURCES = pixel.cc
-pixter1d_SOURCES = pixter1d.cc
-pixter2d_SOURCES = pixter2d.cc
-pixter3d_SOURCES = pixter3d.cc
-plain_SOURCES = plain.cc
-point1d_SOURCES = point1d.cc
-point2d_SOURCES = point2d.cc
-point3d_SOURCES = point3d.cc
-
-safe_image_SOURCES = safe_image.cc
-seed2tiling_SOURCES = seed2tiling.cc
-stack_SOURCES = stack.cc
-sub_image_SOURCES = sub_image.cc
-
-test_positive_SOURCES = test_positive.cc
-trait_ch_value_SOURCES = trait_ch_value.cc
-trait_images_SOURCES = trait_images.cc
-trait_op_plus_SOURCES = trait_op_plus.cc
-trait_op_uminus_SOURCES = trait_op_uminus.cc
-trait_super_SOURCES = trait_super.cc
-trait_value_SOURCES = trait_value.cc
-translate_image_SOURCES = translate_image.cc
-
-vec_SOURCES = vec.cc
-
-window1d_SOURCES = window1d.cc
-window2d_SOURCES = window2d.cc
-window3d_SOURCES = window3d.cc
-w_window1d_int_SOURCES = w_window1d_int.cc
-w_window2d_int_SOURCES = w_window2d_int.cc
-w_window3d_int_SOURCES = w_window3d_int.cc
+ all_headers
-# Tests depending on the FreeImage library.
-if FREEIMAGEPLUS
- check_PROGRAMS += fi_adaptor
- fi_adaptor_SOURCES = fi_adaptor.cc
- fi_adaptor_CPPFLAGS = $(AM_CPPFLAGS) $(FREEIMAGEPLUS_CPPFLAGS)
- fi_adaptor_LDFLAGS = $(AM_LDFLAGS) $(FREEIMAGEPLUS_LDFLAGS)
-endif
+all_headers_SOURCES = all_headers.cc
TESTS = $(check_PROGRAMS)
Index: tools/Makefile.am
--- tools/Makefile.am (revision 1919)
+++ tools/Makefile.am (working copy)
@@ -2,6 +2,11 @@
include $(top_srcdir)/milena/tools/tools.mk
-bin_PROGRAMS = area_flooding
+bin_PROGRAMS = \
+ area_flooding \
+ seed2tiling
area_flooding_SOURCES = area_flooding.cc
+seed2tiling_SOURCES = seed2tiling.cc
+
+# FIXME: Add some tests for these tools.
Index: tools/seed2tiling.cc
--- tools/seed2tiling.cc (revision 1919)
+++ tools/seed2tiling.cc (working copy)
@@ -57,8 +57,6 @@
int main(int argc, char* argv[])
{
- // FIXME: A test should not be interactive. Maybe this program
- // should be moved elsewehere.
if (argc < 2)
{
std::cerr << "missing argument: "
1
0
https://svn.lrde.epita.fr/svn/oln/trunk/milena
Attention aux d�tails ! Il faut lancer `make check' r�guli�rement pour
v�rifier que tout fonctionne correctement.
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Fix tests/fun/v2v/.
* tests/fun/v2v/rgb_hsi_conversion.cc: Add copyright header.
Don't use hard-coded paths for I/O operations.
* tests/fun/v2v/Makefile.am (check_PROGRAMS): Add
rgb_hsi_conversion.
(norm_SOURCES): Remove rgb_hsi_conversion.cc.
(rgb_hsi_conversion_SOURCES): New.
Makefile.am | 5 +++--
rgb_hsi_conversion.cc | 37 ++++++++++++++++++++++++++++++++++---
2 files changed, 37 insertions(+), 5 deletions(-)
Index: tests/fun/v2v/rgb_hsi_conversion.cc
--- tests/fun/v2v/rgb_hsi_conversion.cc (revision 1918)
+++ tests/fun/v2v/rgb_hsi_conversion.cc (working copy)
@@ -1,8 +1,38 @@
-#include <mln/value/hsi.hh>
-#include <mln/fun/v2v/rgb_to_hsi.hh>
+// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+/// \file tests/fun/v2v/rgb_hsi_conversion.cc
+/// \brief Test RGB-to-HSI conversion.
#include <cmath>
+#include <mln/value/hsi.hh>
+#include <mln/fun/v2v/rgb_to_hsi.hh>
+
#include <mln/core/image2d.hh>
#include <mln/value/rgb8.hh>
@@ -11,6 +41,7 @@
#include <mln/math/round.hh>
#include <mln/level/transform.hh>
+#include "tests/data.hh"
template <typename I1, typename I2>
@@ -49,7 +80,7 @@
using namespace mln;
image2d<value::rgb8> lena;
- io::ppm::load(lena, "../../img/lena.ppm");
+ io::ppm::load(lena, MLN_IMG_DIR "/lena.ppm");
image2d<value::hsi_f> lena_hsi = level::transform(lena,
fun::v2v::f_rgb_to_hsi_f);
Index: tests/fun/v2v/Makefile.am
--- tests/fun/v2v/Makefile.am (revision 1918)
+++ tests/fun/v2v/Makefile.am (working copy)
@@ -2,8 +2,9 @@
include $(top_srcdir)/milena/tests/tests.mk
-check_PROGRAMS = norm
+check_PROGRAMS = norm rgb_hsi_conversion
-norm_SOURCES = norm.cc rgb_hsi_conversion.cc
+norm_SOURCES = norm.cc
+rgb_hsi_conversion_SOURCES = rgb_hsi_conversion.cc
TESTS = $(check_PROGRAMS)
1
0
Hum, cette fois-ci, c'était de ma faute...
Index: milena/ChangeLog
===================================================================
--- milena/ChangeLog (revision 1917)
+++ milena/ChangeLog (revision 1918)
@@ -964,6 +964,14 @@
s/CXXFLAGS_SPEED/TESTS_CXXFLAGS_SPEED/.
(dilation_CXXFLAGS): New. Set to $(TESTS_CXXFLAGS_SPEED).
+2008-04-14 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Add a test on regular neighborhoods.
+
+ * milena/tests/core/neighb.cc: New.
+ * milena/tests/core/Makefile.am (check_PROGRAMS): Add neighb.
+ (neighb_SOURCES): New.
+
2008-04-11 Ugo Jardonnet <ugo.jardonnet(a)lrde.epita.fr>
Sandbox: ICP: Add bench script and clean testes up.
Index: ChangeLog
===================================================================
--- ChangeLog (revision 1917)
+++ ChangeLog (revision 1918)
@@ -7,14 +7,6 @@
2008-04-14 Roland Levillain <roland(a)lrde.epita.fr>
- Add a test on regular neighborhoods.
-
- * milena/tests/core/neighb.cc: New.
- * milena/tests/core/Makefile.am (check_PROGRAMS): Add neighb.
- (neighb_SOURCES): New.
-
-2008-04-14 Roland Levillain <roland(a)lrde.epita.fr>
-
Fix TOOLS_CXXFLAGS.
* configure.ac (TOOLS_CXXFLAGS): s/-NDEBUG/-DNDEBUG/.
1
0
Attention à enregistrer les patches depuis le bon répertoire ! Je ne
devrais pas à avoir à faire ce genre de correction si souvent.
Index: milena/ChangeLog
===================================================================
--- milena/ChangeLog (revision 1916)
+++ milena/ChangeLog (revision 1917)
@@ -660,6 +660,20 @@
* sandbox/jardonnet/registration/quat7.hh: Minor fix.
* sandbox/jardonnet/registration/icp.hh: Minor fix.
+2008-04-22 Alexandre Abraham <abraham(a)lrde.epita.fr>
+
+ W-watershed implemented, dummy tikz output.
+
+ * sandbox/abraham/morpho/basic_najman.hh: Fix bugs.
+ * sandbox/abraham/morpho/images/test_2.pgm: New.
+ * sandbox/abraham/morpho/images/test_3.pgm: New.
+ * sandbox/abraham/morpho/images/test_4.pgm: New.
+ * sandbox/abraham/morpho/tikz.h: New
+ (mln::io::tikz::save) New, working on 2d grayscale images.
+ * sandbox/abraham/morpho/test_watershed.cc:
+ Add tikz output.
+ * sandbox/abraham/morpho/Makefile: .
+
2008-04-22 Caroline Vigouroux <vigour_c(a)epita.fr>
Add literals.
Index: ChangeLog
===================================================================
--- ChangeLog (revision 1916)
+++ ChangeLog (revision 1917)
@@ -1,17 +1,3 @@
-2008-04-22 Alexandre Abraham <abraham(a)lrde.epita.fr>
-
- W-watershed implemented, dummy tikz output.
-
- * milena/sandbox/abraham/morpho/basic_najman.hh: Fix bugs.
- * milena/sandbox/abraham/morpho/images/test_2.pgm: New.
- * milena/sandbox/abraham/morpho/images/test_3.pgm: New.
- * milena/sandbox/abraham/morpho/images/test_4.pgm: New.
- * milena/sandbox/abraham/morpho/tikz.h: New
- (mln::io::tikz::save) New, working on 2d grayscale images.
- * milena/sandbox/abraham/morpho/test_watershed.cc:
- Add tikz output.
- * milena/sandbox/abraham/morpho/Makefile: .
-
2008-04-14 Roland Levillain <roland(a)lrde.epita.fr>
More on CXXFLAGS in configure.ac.
1
0
https://svn.lrde.epita.fr/svn/oln/trunk/milena
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Fix pretty printing of graph vicinity piters.
* mln/core/internal/graph_vicinity_piter.hh
(operator<<(std::ostream&, const graph_vicinity_piter_<P, E>&)):
New.
* mln/core/internal/line_graph_vicinity_piter.hh,
* mln/core/p_graph.hh, mln/core/p_line_graph.hh:
Aesthetic changes.
internal/graph_vicinity_piter.hh | 18 ++++++++++++++++++
internal/line_graph_vicinity_piter.hh | 1 +
p_line_graph.hh | 0
3 files changed, 19 insertions(+)
Index: mln/core/internal/graph_vicinity_piter.hh
--- mln/core/internal/graph_vicinity_piter.hh (revision 1915)
+++ mln/core/internal/graph_vicinity_piter.hh (working copy)
@@ -132,6 +132,15 @@
point p_;
};
+ /* FIXME: This hand-made delegation is painful. We should rely on
+ the general mechanism provided by Point_Site. But then again, we
+ need to refine/adjust the interface of Point_Site w.r.t. the
+ mandatory conversions to points. */
+ template <typename P, typename E>
+ inline
+ std::ostream&
+ operator<<(std::ostream& ostr, const graph_vicinity_piter_<P, E>& p);
+
# ifndef MLN_INCLUDE_ONLY
@@ -204,6 +213,15 @@
return p_[i];
}
+
+ template <typename P, typename E>
+ inline
+ std::ostream&
+ operator<<(std::ostream& ostr, const graph_vicinity_piter_<P, E>& p)
+ {
+ return ostr << p.to_psite();
+ }
+
# endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln::internal
Index: mln/core/internal/line_graph_vicinity_piter.hh
--- mln/core/internal/line_graph_vicinity_piter.hh (revision 1915)
+++ mln/core/internal/line_graph_vicinity_piter.hh (working copy)
@@ -203,6 +203,7 @@
return p_[i];
}
+
template <typename P, typename E>
inline
std::ostream&
Index: mln/core/p_graph.hh
Index: mln/core/p_line_graph.hh
1
0
05 May '08
https://svn.lrde.epita.fr/svn/oln/trunk/milena
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Complete the overhauling of delta-point pixel iterators.
* mln/core/dpoints_pixter.hh
(mln::dpoints_fwd_pixter<I>::i_)
(mln::dpoints_bkd_pixter<I>::i_): Turn indices into iterators.
(mln::dpoints_fwd_pixter<I>::update)
(mln::dpoints_fwd_pixter<I>::start)
(mln::dpoints_fwd_pixter<I>::next_)
(mln::dpoints_fwd_pixter<I>::is_valid)
(mln::dpoints_fwd_pixter<I>::invalidate)
(mln::dpoints_bkd_pixter<I>::update)
(mln::dpoints_bkd_pixter<I>::start)
(mln::dpoints_bkd_pixter<I>::next_)
(mln::dpoints_bkd_pixter<I>::is_valid)
(mln::dpoints_bkd_pixter<I>::invalidate):
Adjust.
* mln/make/pixel.hh: Typos in documentation.
core/dpoints_pixter.hh | 32 +++++++++++++++-----------------
make/pixel.hh | 10 ++++------
2 files changed, 19 insertions(+), 23 deletions(-)
Index: mln/core/dpoints_pixter.hh
--- mln/core/dpoints_pixter.hh (revision 1914)
+++ mln/core/dpoints_pixter.hh (working copy)
@@ -113,8 +113,7 @@
/// i-1 to pixel i.
std::vector<int> offset_;
/// Current offset.
- // FIXME: Why not an iterator on vector offset_?
- unsigned i_;
+ typename std::vector<int>::const_iterator i_;
/// \brief Reference value or pixel.
///
@@ -197,8 +196,7 @@
/// from pixel i+1 to pixel i.
std::vector<int> offset_;
/// Current offset.
- // FIXME: Why not an iterator on vector offset_?
- int i_;
+ typename std::vector<int>::const_reverse_iterator i_;
/// \brief Reference value or pixel.
///
@@ -284,9 +282,9 @@
if (is_valid())
{
if (p_ref_)
- this->value_ptr_ = & image_(*p_ref_) + offset_[i_];
+ this->value_ptr_ = & image_(*p_ref_) + *i_;
else
- this->value_ptr_ = * value_ref_ + offset_[i_];
+ this->value_ptr_ = * value_ref_ + *i_;
}
}
@@ -295,7 +293,7 @@
void
dpoints_fwd_pixter<I>::start()
{
- i_ = 0;
+ i_ = offset_.begin();
update();
}
@@ -306,7 +304,7 @@
{
++i_;
if (is_valid())
- this->value_ptr_ += offset_[i_];
+ this->value_ptr_ += *i_;
}
template <typename I>
@@ -314,7 +312,7 @@
bool
dpoints_fwd_pixter<I>::is_valid() const
{
- return i_ != offset_.size();
+ return i_ != offset_.end();
}
template <typename I>
@@ -322,7 +320,7 @@
void
dpoints_fwd_pixter<I>::invalidate()
{
- i_ = offset_.size();
+ i_ = offset_.end();
}
@@ -395,9 +393,9 @@
if (is_valid())
{
if (p_ref_)
- this->value_ptr_ = & image_(*p_ref_) + offset_[i_];
+ this->value_ptr_ = & image_(*p_ref_) + *i_;
else
- this->value_ptr_ = * value_ref_ + offset_[i_];
+ this->value_ptr_ = * value_ref_ + *i_;
}
}
@@ -406,7 +404,7 @@
void
dpoints_bkd_pixter<I>::start()
{
- i_ = offset_.size() - 1;
+ i_ = offset_.rbegin();
update();
}
@@ -415,9 +413,9 @@
void
dpoints_bkd_pixter<I>::next_()
{
- --i_;
+ ++i_;
if (is_valid())
- this->value_ptr_ += offset_[i_];
+ this->value_ptr_ += *i_;
}
template <typename I>
@@ -425,7 +423,7 @@
bool
dpoints_bkd_pixter<I>::is_valid() const
{
- return i_ >= 0;
+ return i_ != offset_.rend();
}
template <typename I>
@@ -433,7 +431,7 @@
void
dpoints_bkd_pixter<I>::invalidate()
{
- i_ = -1;
+ i_ = offset_.rend();
}
#endif // ! MLN_INCLUDE_ONLY
Index: mln/make/pixel.hh
--- mln/make/pixel.hh (revision 1914)
+++ mln/make/pixel.hh (working copy)
@@ -28,10 +28,8 @@
#ifndef MLN_MAKE_PIXEL_HH
# define MLN_MAKE_PIXEL_HH
-/*! \file mln/make/pixel.hh
- *
- * \brief Routine to construct an mln::pixel.
- */
+/// \file mln/make/pixel.hh
+/// \brief Routine to construct an mln::pixel.
# include <mln/core/concept/image.hh>
# include <mln/core/pixel.hh>
@@ -43,11 +41,11 @@
namespace make
{
- /// Create an mln::pixel from a constant image \p ima and a point \p p.
+ /// Create a mln::pixel from a constant image \p ima and a point \p p.
template <typename I>
mln::pixel<const I> pixel(const Image<I>& ima, const mln_point(I)& p);
- /// Create an mln::pixel from a mutable image \p ima and a point \p p.
+ /// Create a mln::pixel from a mutable image \p ima and a point \p p.
template <typename I>
mln::pixel<I> pixel(Image<I>& ima, const mln_point(I)& p);
1
0
https://svn.lrde.epita.fr/svn/oln/trunk/milena
This supplements Matthieu's patch r1749. Don't forget to re-run tests to
ensure your changes covers the whole source tree!
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Catch up with the new name of mln::util::tree_node.
* mln/util/tree_to_fast.hh,
* tests/util/branch_iter.cc,
* tests/util/branch_iter_ind.cc,
* tests/util/tree.cc,
* tests/util/tree_to_fast.cc,
* tests/util/tree_to_image.cc:
s/util::node/util::tree_node/.
mln/util/tree_to_fast.hh | 7 ++++---
tests/util/branch_iter.cc | 14 +++++++-------
tests/util/branch_iter_ind.cc | 14 +++++++-------
tests/util/tree.cc | 6 +++---
tests/util/tree_to_fast.cc | 6 +++---
tests/util/tree_to_image.cc | 2 +-
6 files changed, 25 insertions(+), 24 deletions(-)
Index: mln/util/tree_to_fast.hh
--- mln/util/tree_to_fast.hh (revision 1913)
+++ mln/util/tree_to_fast.hh (working copy)
@@ -68,10 +68,11 @@
template<typename T>
inline
void
- tree_to_fast_(node<T>* input, tree_fast<T>& tree, unsigned p, unsigned& i)
+ tree_to_fast_(tree_node<T>* input, tree_fast<T>& tree,
+ unsigned p, unsigned& i)
{
- typename node<T>::children_t child = input->children ();
- typename node<T>::children_t::iterator it = child.begin ();
+ typename tree_node<T>::children_t child = input->children ();
+ typename tree_node<T>::children_t::iterator it = child.begin ();
for (; it != child.end (); ++it)
{
Index: tests/util/branch_iter.cc
--- tests/util/branch_iter.cc (revision 1913)
+++ tests/util/branch_iter.cc (working copy)
@@ -40,10 +40,10 @@
{
using namespace mln;
- util::node<int> n(11);
+ util::tree_node<int> n(11);
util::tree<int> t(&n);
- util::node<int>* f = n.add_child(21);
- util::node<int>* g = f->add_child(31);
+ util::tree_node<int>* f = n.add_child(21);
+ util::tree_node<int>* g = f->add_child(31);
f->add_child(32);
g->add_child(41)->add_child(51)->add_child(61)->add_child(71)
@@ -55,16 +55,16 @@
util::branch<int> b(t, n);
- std::vector< util::node<int>* >::iterator it;
+ std::vector< util::tree_node<int>* >::iterator it;
util::branch_iter<int> p(b);
int prev;
int current;
- for(p.start(), prev = util::node<int>(p).elt(), p.next();
+ for(p.start(), prev = util::tree_node<int>(p).elt(), p.next();
p.is_valid();
- prev = util::node<int>(p).elt(), p.next())
+ prev = util::tree_node<int>(p).elt(), p.next())
{
- current = util::node<int>(p).elt ();
+ current = util::tree_node<int>(p).elt ();
// children
if (prev + 10 == current)
Index: tests/util/branch_iter_ind.cc
--- tests/util/branch_iter_ind.cc (revision 1913)
+++ tests/util/branch_iter_ind.cc (working copy)
@@ -40,10 +40,10 @@
{
using namespace mln;
- util::node<int> n(11);
+ util::tree_node<int> n(11);
util::tree<int> t(&n);
- util::node<int>* f = n.add_child(21);
- util::node<int>* g = f->add_child(31);
+ util::tree_node<int>* f = n.add_child(21);
+ util::tree_node<int>* g = f->add_child(31);
f->add_child(32);
g->add_child(41)->add_child(51)->add_child(61)->add_child(71)
@@ -55,16 +55,16 @@
util::branch<int> b(t, n);
- std::vector< util::node<int>* >::iterator it;
+ std::vector< util::tree_node<int>* >::iterator it;
util::branch_iter_ind<int> p(b);
int prev;
int current;
- for(p.start(), prev = util::node<int>(p).elt(), p.next();
+ for(p.start(), prev = util::tree_node<int>(p).elt(), p.next();
p.is_valid();
- prev = util::node<int>(p).elt(), p.next())
+ prev = util::tree_node<int>(p).elt(), p.next())
{
- current = util::node<int>(p).elt ();
+ current = util::tree_node<int>(p).elt ();
// children
if (prev + 10 == current)
Index: tests/util/tree.cc
--- tests/util/tree.cc (revision 1913)
+++ tests/util/tree.cc (working copy)
@@ -45,13 +45,13 @@
unsigned elt5 = 5;
unsigned elt6 = 42;
- util::node<unsigned> node(elt1);
- util::node<unsigned>* node2 = node.add_child(elt2);
+ util::tree_node<unsigned> node(elt1);
+ util::tree_node<unsigned>* node2 = node.add_child(elt2);
node.add_child(elt3);
mln_assertion(node2);
node2->add_child(elt4);
node2->add_child(elt5);
- util::node<unsigned>* node3 = node.search(elt4);
+ util::tree_node<unsigned>* node3 = node.search(elt4);
mln_assertion(node3);
node3 = node2->search(elt1);
mln_assertion(!node3);
Index: tests/util/tree_to_fast.cc
--- tests/util/tree_to_fast.cc (revision 1913)
+++ tests/util/tree_to_fast.cc (working copy)
@@ -47,13 +47,13 @@
unsigned elt5 = 5;
unsigned elt6= 42;
- util::node<unsigned> node(elt1);
- util::node<unsigned>* node2 = node.add_child(elt2);
+ util::tree_node<unsigned> node(elt1);
+ util::tree_node<unsigned>* node2 = node.add_child(elt2);
node.add_child(elt3);
mln_assertion(node2);
node2->add_child(elt4);
node2->add_child(elt5);
- util::node<unsigned>* node3 = node.search(elt4);
+ util::tree_node<unsigned>* node3 = node.search(elt4);
mln_assertion(node3);
node3 = node2->search(elt1);
mln_assertion(!node3);
Index: tests/util/tree_to_image.cc
--- tests/util/tree_to_image.cc (revision 1913)
+++ tests/util/tree_to_image.cc (working copy)
@@ -101,7 +101,7 @@
s7.points.insert(point2d(i, j));
s7.value = 10;
- util::node<I> node(s1);
+ util::tree_node<I> node(s1);
node.add_child(s2);
node.add_child(s3);
node.add_child(s4);
1
0
https://svn.lrde.epita.fr/svn/oln/trunk/milena
This patches addresses most of (if not all) the tasks from ticket #141
(https://trac.lrde.org/olena/ticket/141)
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Complete delta-point pixel iterators.
* mln/core/dpoints_pixter.hh: Aesthetic changes.
Add some more documentation.
(dpoints_fwd_pixter(const Generalized_Pixel<Pref>& const Dps&)):
Use const_cast instead of legacy casts.
(mln::dpoints_bkd_pixter<I>): New pixel iterator class.
* mln/core/pixel.hh (mln::pixel<I>::pixel (I&)): Don't set member
value_ptr_ to 0, since the super class' ctor already takes care of
this.
* mln/core/image1d.hh
(mln::trait::bkd_qixter< image1d<T>, W >)
(mln::trait::bkd_qixter< const image1d<T>, W >)
(mln::trait::fwd_nixter< image1d<T>, W >)
(mln::trait::fwd_nixter< const image1d<T>, W >)
(mln::trait::bkd_nixter< image1d<T>, W >)
(mln::trait::bkd_nixter< const image1d<T>, W >)
* mln/core/image2d.hh
(mln::trait::bkd_qixter< image2d<T>, W >)
(mln::trait::bkd_qixter< const image2d<T>, W >)
(mln::trait::bkd_nixter< image2d<T>, W >)
(mln::trait::bkd_nixter< const image2d<T>, W >)
* mln/core/image3d.hh
(mln::trait::bkd_qixter< image3d<T>, W >)
(mln::trait::bkd_qixter< const image3d<T>, W >)
(mln::trait::fwd_nixter< image3d<T>, W >)
(mln::trait::fwd_nixter< const image3d<T>, W >)
(mln::trait::bkd_nixter< image3d<T>, W >)
(mln::trait::bkd_nixter< const image3d<T>, W >):
Define these specialisations.
* mln/core/internal/force_exact.hh (mln::internal::force_exact):
Use ptrdiff_t instead of int to store the pointer difference.
Remove dead code.
* mln/core/macros.hh
(mln_fwd_qixter_, mln_bkd_qixter_, mln_qixter_)
(mln_fwd_nixter_, mln_bkd_nixter_, mln_nixter_):
New macros.
* tests/dpoints_pixter.cc: Move...
* tests/core/dpoints_pixter.cc: ...here.
Exercise mln::dpoints_bkd_pixter as well.
* tests/Makefile.am (check_PROGRAMS): Remove dpoints_pixter.
(dpoints_pixter_SOURCES): Move...
* tests/core/Makefile.am: ...here.
(check_PROGRAMS): Add dpoints_pixter.
mln/core/dpoints_pixter.hh | 283 +++++++++++++++++++++++++++++++++------
mln/core/image1d.hh | 43 ++++-
mln/core/image2d.hh | 26 ++-
mln/core/image3d.hh | 43 ++++-
mln/core/internal/force_exact.hh | 35 +---
mln/core/macros.hh | 12 +
mln/core/pixel.hh | 1
tests/Makefile.am | 2
tests/core/Makefile.am | 2
tests/core/dpoints_pixter.cc | 38 ++---
10 files changed, 377 insertions(+), 108 deletions(-)
Index: mln/core/dpoints_pixter.hh
--- mln/core/dpoints_pixter.hh (revision 1912)
+++ mln/core/dpoints_pixter.hh (working copy)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,11 +28,10 @@
#ifndef MLN_CORE_DPOINTS_PIXTER_HH
# define MLN_CORE_DPOINTS_PIXTER_HH
-/*! \file mln/core/dpoints_pixter.hh
- *
- * \brief Definition of forward and backward mln::dpoint_ based
- * iterators for pixels iterations.
- */
+/// \file mln/core/dpoints_pixter.hh
+///
+/// \brief Definition of forward and backward mln::dpoint-based
+/// iterators for pixels iterations.
# include <cassert>
# include <vector>
@@ -42,88 +41,183 @@
# include <mln/core/internal/pixel_impl.hh>
-
namespace mln
{
- /*! \brief A generic forward iterator on pixels of windows and of
- * neighborhoods.
- *
- * The parameter \c I is the image type.
- */
+ /*------------------------.
+ | dpoints_fwd_pixter<I>. |
+ `------------------------*/
+
+ /// \brief A generic forward iterator on the pixels of a
+ /// dpoint-based window or neighborhood.
+ ///
+ /// Parameter \c I is the image type.
template <typename I>
- class dpoints_fwd_pixter : public Pixel_Iterator< dpoints_fwd_pixter<I> >,
+ class dpoints_fwd_pixter
+ : public Pixel_Iterator< dpoints_fwd_pixter<I> >,
public internal::pixel_impl_< I, dpoints_fwd_pixter<I> >
{
typedef typename internal::pixel_impl_< I, dpoints_fwd_pixter<I> > super_;
- public:
- /*! \brief Constructor.
- *
- * \param[in] image Image subject to iteration.
- * \param[in] dps Object that can provide a set of delta-points.
- * \param[in] p_ref Center point to iterate around.
- */
+ public:
+ /// \brief Constructor (using an image).
+ ///
+ /// \param[in] image The image to iterate over.
+ /// \param[in] dps An object (neighborhood or window) that can
+ /// provide a set of delta-points.
+ /// \param[in] p_ref Center (resp. reference) point of the
+ /// neighborhood (resp. window).
template <typename Dps, typename Pref>
dpoints_fwd_pixter(I& image,
const Dps& dps,
const Point_Site<Pref>& p_ref);
- /*! \brief Constructor.
- *
- * \param[in] pxl_ref Center (generalized) pixel to iterate around.
- * \param[in] dps Object that can provide a set of delta-points.
- */
+ /// \brief Constructor (using a generalized pixel).
+ ///
+ /// \param[in] pxl_ref Center (generalized) pixel to iterate around.
+ /// \param[in] dps An object (neighborhood or window) that can
+ /// provide a set of delta-points.
template <typename Dps, typename Pref>
dpoints_fwd_pixter(const Generalized_Pixel<Pref>& pxl_ref,
const Dps& dps);
+ /// Manipulation.
+ /// \{
/// Start an iteration.
void start();
-
/// Go to the next pixel.
void next_();
/// Invalidate the iterator.
void invalidate();
-
/// Test the iterator validity.
bool is_valid() const;
/// Force this iterator to update its location to take into
/// account that its center point may have moved.
void update();
+ /// \}
/// The value around which this iterator moves.
const mln_value(I)& center_val() const;
private:
+ template <typename Dps>
+ void init_(const Dps& dps);
- /// offset of each dpoints
+ private:
+ /// \brief Offset of each delta-point.
+ ///
+ /// offset_[0] is absolute, while other offsets are relative
+ /// (i.e., offset_[i] is the memory difference to go from pixel
+ /// i-1 to pixel i.
std::vector<int> offset_;
-
- /// current offset
+ /// Current offset.
+ // FIXME: Why not an iterator on vector offset_?
unsigned i_;
- /// reference pixel / point in the image
+ /// \brief Reference value or pixel.
+ ///
+ /// One and only one of these pointers should be non-null.
+ /// \{
+ /// Reference value the image
mln_qlf_value(I)** value_ref_;
- // or:
+ /// Reference pixel / point in the image
const mln_point(I)* p_ref_;
+ /// \}
+ };
+
+
+ /*------------------------.
+ | dpoints_bkd_pixter<I>. |
+ `------------------------*/
+
+ /// \brief A generic backward iterator on the pixels of a
+ /// dpoint-based window or neighborhood.
+ ///
+ /// Parameter \c I is the image type.
+ template <typename I>
+ class dpoints_bkd_pixter
+ : public Pixel_Iterator< dpoints_bkd_pixter<I> >,
+ public internal::pixel_impl_< I, dpoints_bkd_pixter<I> >
+ {
+ typedef typename internal::pixel_impl_< I, dpoints_bkd_pixter<I> > super_;
+ public:
+ /// \brief Constructor (using an image).
+ ///
+ /// \param[in] image The image to iterate over.
+ /// \param[in] dps An object (neighborhood or window) that can
+ /// provide a set of delta-points.
+ /// \param[in] p_ref Center (resp. reference) point of the
+ /// neighborhood (resp. window).
+ template <typename Dps, typename Pref>
+ dpoints_bkd_pixter(I& image,
+ const Dps& dps,
+ const Point_Site<Pref>& p_ref);
+
+ /// \brief Constructor (using a generalized pixel).
+ ///
+ /// \param[in] pxl_ref Center (generalized) pixel to iterate around.
+ /// \param[in] dps An object (neighborhood or window) that can
+ /// provide a set of delta-points.
+ template <typename Dps, typename Pref>
+ dpoints_bkd_pixter(const Generalized_Pixel<Pref>& pxl_ref,
+ const Dps& dps);
+
+ /// Manipulation.
+ /// \{
+ /// Start an iteration.
+ void start();
+ /// Go to the next pixel.
+ void next_();
+
+ /// Invalidate the iterator.
+ void invalidate();
+ /// Test the iterator validity.
+ bool is_valid() const;
+
+ /// Force this iterator to update its location to take into
+ /// account that its center point may have moved.
+ void update();
+ /// \}
+ /// The value around which this iterator moves.
+ const mln_value(I)& center_val() const;
+
+ private:
template <typename Dps>
void init_(const Dps& dps);
- };
-
- // FIXME: dpoints_bkd_pixter<I>
+ private:
+ /// \brief Offset of each delta-point.
+ ///
+ /// offset_[dps.ndpoints() - 1] is absolute, while other offsets
+ /// are relative (i.e., offset_[i] is the memory difference to go
+ /// from pixel i+1 to pixel i.
+ std::vector<int> offset_;
+ /// Current offset.
+ // FIXME: Why not an iterator on vector offset_?
+ int i_;
+
+ /// \brief Reference value or pixel.
+ ///
+ /// One and only one of these pointers should be non-null.
+ /// \{
+ /// Reference value the image
+ mln_qlf_value(I)** value_ref_;
+ /// Reference pixel / point in the image
+ const mln_point(I)* p_ref_;
+ /// \}
+ };
#ifndef MLN_INCLUDE_ONLY
-
- // dpoints_fwd_pixter<I>
+ /*------------------------.
+ | dpoints_fwd_pixter<I>. |
+ `------------------------*/
template <typename I>
template <typename Dps, typename Pref>
@@ -149,8 +243,8 @@
const Pref& pxl_ref = internal::force_exact<Pref>(pxl_ref_);
mln_precondition(pxl_ref.ima().has_data());
p_ref_ = 0;
- // potential promotion from (T**) to (const T**) shall be forced:
- value_ref_ = (mln_qlf_value(I)**)(void*)(pxl_ref.address_());
+ // Potential promotion from (T**) to (const T**) shall be forced.
+ value_ref_ = const_cast<mln_qlf_value(I)**>(pxl_ref.address_());
init_(dps);
}
@@ -231,6 +325,117 @@
i_ = offset_.size();
}
+
+ /*------------------------.
+ | dpoints_bkd_pixter<I>. |
+ `------------------------*/
+
+ template <typename I>
+ template <typename Dps, typename Pref>
+ inline
+ dpoints_bkd_pixter<I>::dpoints_bkd_pixter(I& image,
+ const Dps& dps,
+ const Point_Site<Pref>& p_ref)
+ : super_(image)
+ {
+ mln_precondition(image.has_data());
+ p_ref_ = & exact(p_ref).to_point();
+ value_ref_ = 0;
+ init_(dps);
+ }
+
+ template <typename I>
+ template <typename Dps, typename Pref>
+ inline
+ dpoints_bkd_pixter<I>::dpoints_bkd_pixter(const Generalized_Pixel<Pref>& pxl_ref_,
+ const Dps& dps)
+ : super_(internal::force_exact<Pref>(pxl_ref_).ima())
+ {
+ const Pref& pxl_ref = internal::force_exact<Pref>(pxl_ref_);
+ mln_precondition(pxl_ref.ima().has_data());
+ p_ref_ = 0;
+ // Potential promotion from (T**) to (const T**) shall be forced.
+ value_ref_ = const_cast<mln_qlf_value(I)**>(pxl_ref.address_());
+ init_(dps);
+ }
+
+ template <typename I>
+ inline
+ const mln_value(I)&
+ dpoints_bkd_pixter<I>::center_val() const
+ {
+ mln_invariant(value_ref_ != 0 || p_ref_ != 0);
+ if (p_ref_)
+ return image_(*p_ref_);
+ else
+ return **value_ref_;
+ }
+
+ template <typename I>
+ template <typename Dps>
+ inline
+ void
+ dpoints_bkd_pixter<I>::init_(const Dps& dps)
+ {
+ for (unsigned i = 0; i < dps.ndpoints(); ++i)
+ offset_.push_back(this->image_.offset(dps.dp(i)));
+ // offset_[ndpoints() - 1] is absolute
+ // other offsets are relative:
+ if (dps.ndpoints() > 1)
+ for (unsigned i = 0; i < dps.ndpoints() - 1; ++i)
+ offset_[i] -= offset_[i + 1];
+ invalidate();
+ }
+
+ template <typename I>
+ inline
+ void
+ dpoints_bkd_pixter<I>::update()
+ {
+ if (is_valid())
+ {
+ if (p_ref_)
+ this->value_ptr_ = & image_(*p_ref_) + offset_[i_];
+ else
+ this->value_ptr_ = * value_ref_ + offset_[i_];
+ }
+ }
+
+ template <typename I>
+ inline
+ void
+ dpoints_bkd_pixter<I>::start()
+ {
+ i_ = offset_.size() - 1;
+ update();
+ }
+
+ template <typename I>
+ inline
+ void
+ dpoints_bkd_pixter<I>::next_()
+ {
+ --i_;
+ if (is_valid())
+ this->value_ptr_ += offset_[i_];
+ }
+
+ template <typename I>
+ inline
+ bool
+ dpoints_bkd_pixter<I>::is_valid() const
+ {
+ return i_ >= 0;
+ }
+
+ template <typename I>
+ inline
+ void
+ dpoints_bkd_pixter<I>::invalidate()
+ {
+ i_ = -1;
+ }
+
#endif // ! MLN_INCLUDE_ONLY
} // end of namespace mln
Index: mln/core/pixel.hh
--- mln/core/pixel.hh (revision 1912)
+++ mln/core/pixel.hh (working copy)
@@ -74,7 +74,6 @@
pixel<I>::pixel(I& image)
: super(image)
{
- this->value_ptr_ = 0;
}
template <typename I>
Index: mln/core/image1d.hh
--- mln/core/image1d.hh (revision 1912)
+++ mln/core/image1d.hh (working copy)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +28,8 @@
#ifndef MLN_CORE_IMAGE1D_HH
# define MLN_CORE_IMAGE1D_HH
-/*! \file mln/core/image1d.hh
- *
- * \brief Definition of the basic mln::image1d class.
- */
+/// \file mln/core/image1d.hh
+/// \brief Definition of the basic mln::image1d class.
# include <mln/core/internal/fixme.hh>
# include <mln/core/internal/image_primary.hh>
@@ -553,11 +551,40 @@
template <typename T, typename W>
struct bkd_qixter< image1d<T>, W >
{
- // FIXME: Implement dpoints_bkd_pixter.
- typedef mln::internal::fixme ret;
+ typedef dpoints_bkd_pixter< image1d<T> > ret;
+ };
+
+ template <typename T, typename W>
+ struct bkd_qixter< const image1d<T>, W >
+ {
+ typedef dpoints_bkd_pixter< const image1d<T> > ret;
+ };
+
+ // nixter
+
+ template <typename T, typename W>
+ struct fwd_nixter< image1d<T>, W >
+ {
+ typedef dpoints_fwd_pixter< image1d<T> > ret;
+ };
+
+ template <typename T, typename W>
+ struct fwd_nixter< const image1d<T>, W >
+ {
+ typedef dpoints_fwd_pixter< const image1d<T> > ret;
+ };
+
+ template <typename T, typename W>
+ struct bkd_nixter< image1d<T>, W >
+ {
+ typedef dpoints_bkd_pixter< image1d<T> > ret;
};
- // FIXME: Nixters (see in image2d.hh)
+ template <typename T, typename W>
+ struct bkd_nixter< const image1d<T>, W >
+ {
+ typedef dpoints_bkd_pixter< const image1d<T> > ret;
+ };
} // end of namespace mln::trait
Index: mln/core/image2d.hh
--- mln/core/image2d.hh (revision 1912)
+++ mln/core/image2d.hh (working copy)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +28,8 @@
#ifndef MLN_CORE_IMAGE2D_HH
# define MLN_CORE_IMAGE2D_HH
-/*! \file mln/core/image2d.hh
- *
- * \brief Definition of the basic mln::image2d class.
- */
+/// \file mln/core/image2d.hh
+/// \brief Definition of the basic mln::image2d class.
# include <mln/core/internal/image_primary.hh>
# include <mln/core/internal/fixme.hh>
@@ -581,8 +579,13 @@
template <typename T, typename W>
struct bkd_qixter< image2d<T>, W >
{
- // FIXME: Implement dpoints_bkd_pixter.
- typedef mln::internal::fixme ret;
+ typedef dpoints_bkd_pixter< image2d<T> > ret;
+ };
+
+ template <typename T, typename W>
+ struct bkd_qixter< const image2d<T>, W >
+ {
+ typedef dpoints_bkd_pixter< const image2d<T> > ret;
};
// nixter
@@ -602,8 +605,13 @@
template <typename T, typename N>
struct bkd_nixter< image2d<T>, N >
{
- // FIXME: Implement dpoints_bkd_pixter.
- typedef mln::internal::fixme ret;
+ typedef dpoints_bkd_pixter< image2d<T> > ret;
+ };
+
+ template <typename T, typename N>
+ struct bkd_nixter< const image2d<T>, N >
+ {
+ typedef dpoints_bkd_pixter< const image2d<T> > ret;
};
} // end of namespace mln::trait
Index: mln/core/image3d.hh
--- mln/core/image3d.hh (revision 1912)
+++ mln/core/image3d.hh (working copy)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,10 +28,8 @@
#ifndef MLN_CORE_IMAGE3D_HH
# define MLN_CORE_IMAGE3D_HH
-/*! \file mln/core/image3d.hh
- *
- * \brief Definition of the basic mln::image3d class.
- */
+/// \file mln/core/image3d.hh
+/// \brief Definition of the basic mln::image3d class.
# include <mln/core/internal/fixme.hh>
# include <mln/core/internal/image_primary.hh>
@@ -593,11 +591,40 @@
template <typename T, typename W>
struct bkd_qixter< image3d<T>, W >
{
- // FIXME: Implement dpoints_bkd_pixter.
- typedef mln::internal::fixme ret;
+ typedef dpoints_bkd_pixter< image3d<T> > ret;
+ };
+
+ template <typename T, typename W>
+ struct bkd_qixter< const image3d<T>, W >
+ {
+ typedef dpoints_bkd_pixter< const image3d<T> > ret;
+ };
+
+ // nixter
+
+ template <typename T, typename W>
+ struct fwd_nixter< image3d<T>, W >
+ {
+ typedef dpoints_fwd_pixter< image3d<T> > ret;
+ };
+
+ template <typename T, typename W>
+ struct fwd_nixter< const image3d<T>, W >
+ {
+ typedef dpoints_fwd_pixter< const image3d<T> > ret;
+ };
+
+ template <typename T, typename W>
+ struct bkd_nixter< image3d<T>, W >
+ {
+ typedef dpoints_bkd_pixter< image3d<T> > ret;
};
- // FIXME: Nixters (see in image2d.hh)
+ template <typename T, typename W>
+ struct bkd_nixter< const image3d<T>, W >
+ {
+ typedef dpoints_bkd_pixter< const image3d<T> > ret;
+ };
} // end of namespace mln::trait
Index: mln/core/internal/force_exact.hh
--- mln/core/internal/force_exact.hh (revision 1912)
+++ mln/core/internal/force_exact.hh (working copy)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,12 +28,10 @@
#ifndef MLN_CORE_INTERNAL_FORCE_EXACT_HH
# define MLN_CORE_INTERNAL_FORCE_EXACT_HH
-/*! \file mln/core/internal/force_exact.hh
- *
- * \brief Definition of a violent cast for internal use only.
- *
- */
+/// \file mln/core/internal/force_exact.hh
+/// \brief Definition of a violent cast for internal use only.
+#include <cstddef>
namespace mln
@@ -42,27 +40,20 @@
namespace internal
{
- /*! \internal Violent cast.
- * This cast is an alternative to the mln::exact cast.
- * It is used for objects that do not derive from
- * mln::Object.
- * Warning Do not to use this cast!
- * see mln::exact
- */
+ /** \internal Violent cast.
+
+ This cast is an alternative to the mln::exact cast. It is
+ used for objects that do not derive from mln::Object.
+ Warning: Do not use this cast, unless you know what you are
+ doing.
+
+ \see mln::exact. */
template <typename E, typename T>
E& force_exact(const T& ref)
{
- /*
- static const E exact_obj;
- static const Type& exact_obj_ref = exact_obj;
- static const int exact_offset =
- (const char*)(void*)(&exact_obj_ref)
- - (const char*)(void*)(&exact_obj);
- return *(E*)((char*)(this_) - exact_offset);
- */
static const E* exact_obj;
static const T& exact_obj_ref = *exact_obj;
- static const int exact_offset =
+ static const ptrdiff_t exact_offset =
(const char*)(void*)(&exact_obj_ref)
- (const char*)(void*)( exact_obj);
return *(E*)((char*)(&ref) - exact_offset);
Index: mln/core/macros.hh
--- mln/core/macros.hh (revision 1912)
+++ mln/core/macros.hh (working copy)
@@ -293,15 +293,23 @@
# define mln_fwd_qixter(I, W) typename mln::trait::fwd_qixter< I, W >::ret
+# define mln_fwd_qixter_(I, W) mln::trait::fwd_qixter< I, W >::ret
+
# define mln_bkd_qixter(I, W) typename mln::trait::bkd_qixter< I, W >::ret
+# define mln_bkd_qixter_(I, W) mln::trait::bkd_qixter< I, W >::ret
+
# define mln_qixter(I, W) mln_fwd_qixter(I, W)
+# define mln_qixter_(I, W) mln_fwd_qixter_(I, W)
# define mln_fwd_nixter(I, N) typename mln::trait::fwd_nixter< I, N >::ret
-# define mln_bkd_nixter(I, N) typename mln::trait::bkd_nixter< I, N >::ret
-# define mln_nixter(I, N) mln_fwd_nixter(I, N)
+# define mln_fwd_nixter_(I, N) mln::trait::fwd_nixter< I, N >::ret
+# define mln_bkd_nixter(I, N) typename mln::trait::bkd_nixter< I, N >::ret
+# define mln_bkd_nixter_(I, N) mln::trait::bkd_nixter< I, N >::ret
+# define mln_nixter(I, N) mln_fwd_nixter(I, N)
+# define mln_nixter_(I, N) mln_fwd_nixter_(I, N)
#endif // ! MLN_CORE_MACROS_HH
Index: tests/core/dpoints_pixter.cc
--- tests/core/dpoints_pixter.cc (revision 1912)
+++ tests/core/dpoints_pixter.cc (working copy)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007 EPITA Research and Development Laboratory
+// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -25,45 +25,49 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/dpoints_pixter.cc
- *
- * \brief Test on mln::dpoints_fwd_pixter.
- */
+/// \file tests/dpoints_pixter.cc
+/// \brief Test on mln::dpoints_fwd_pixter and mln::dpoints_bkd_pixter.
#include <mln/core/image2d.hh>
#include <mln/win/rectangle2d.hh>
#include <mln/make/pixel.hh>
-
template <typename I, typename W>
void test_fill(I& ima, const W& win)
{
mln_piter(I) p(ima.domain());
- mln_qixter(I, W) q(ima, win, p);
+ mln_fwd_qixter(I, W) fq(ima, win, p);
+ for_all(p)
+ {
+ unsigned i = 0;
+ for_all(fq)
+ ++i, fq.val() = 51;
+ mln_assertion(i == 9);
+ }
+ mln_bkd_qixter(I, W) bq(ima, win, p);
for_all(p)
{
unsigned i = 0;
- for_all(q)
- ++i, q.val() = 51;
+ for_all(bq)
+ ++i, bq.val() = 42;
mln_assertion(i == 9);
}
}
-
-// FIXME: test promotion and other constructions
-
+// FIXME: Test promotion and other constructions.
template <typename P, typename W>
void test_pixel(const P& pxl, const W& win)
{
- mln_qixter(mln_image(P), W) q(pxl, win);
- for_all(q)
- q.val() = 2 * q.val();
+ mln_fwd_qixter(mln_image(P), W) fq(pxl, win);
+ for_all(fq)
+ fq.val() = 2 * fq.val();
+ mln_bkd_qixter(mln_image(P), W) bq(pxl, win);
+ for_all(bq)
+ bq.val() = bq.val() + 1;
}
-
-
int main()
{
using namespace mln;
Index: tests/Makefile.am
--- tests/Makefile.am (revision 1912)
+++ tests/Makefile.am (working copy)
@@ -51,7 +51,6 @@
dpoint1d \
dpoint2d \
dpoint3d \
- dpoints_pixter \
\
estim_mean \
\
@@ -141,7 +140,6 @@
dpoint1d_SOURCES = dpoint1d.cc
dpoint2d_SOURCES = dpoint2d.cc
dpoint3d_SOURCES = dpoint3d.cc
-dpoints_pixter_SOURCES = dpoints_pixter.cc
estim_mean_SOURCES = estim_mean.cc
Index: tests/core/Makefile.am
--- tests/core/Makefile.am (revision 1912)
+++ tests/core/Makefile.am (working copy)
@@ -5,6 +5,7 @@
check_PROGRAMS = \
category \
clone \
+ dpoints_pixter \
exact \
h_vec \
initialize \
@@ -37,6 +38,7 @@
category_SOURCES = category.cc
clone_SOURCES = clone.cc
+dpoints_pixter_SOURCES = dpoints_pixter.cc
exact_SOURCES = exact.cc
h_vec_SOURCES = h_vec.cc
initialize_SOURCES = initialize.cc
1
0