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
* mln/core/concept/window.hh: rename from_to as from_to_.
* mln/core/site_set/operators.hh: remove the inclusion of from_to.hh
and directly call from_to_ overloads instead of the facade.
---
milena/ChangeLog | 9 +++++++++
milena/mln/core/concept/window.hh | 2 +-
milena/mln/core/site_set/operators.hh | 11 +++++------
3 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 8e4bb36..d822b99 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,12 @@
+2008-12-30 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix from_to related errors.
+
+ * mln/core/concept/window.hh: rename from_to as from_to_.
+
+ * mln/core/site_set/operators.hh: remove the inclusion of from_to.hh
+ and directly call from_to_ overloads instead of the facade.
+
2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
Fix issues with GCC 2.95.
diff --git a/milena/mln/core/concept/window.hh b/milena/mln/core/concept/window.hh
index 71b22d6..0b6ba51 100644
--- a/milena/mln/core/concept/window.hh
+++ b/milena/mln/core/concept/window.hh
@@ -317,7 +317,7 @@ namespace mln
template <typename W, typename I>
void
- from_to(const Window<W>& win_, Image<I>& ima_)
+ from_to_(const Window<W>& win_, Image<I>& ima_)
{
mln_is_simple_window(W)::check();
typedef mln_psite(I) P;
diff --git a/milena/mln/core/site_set/operators.hh b/milena/mln/core/site_set/operators.hh
index fd2b7b7..ff788b2 100644
--- a/milena/mln/core/site_set/operators.hh
+++ b/milena/mln/core/site_set/operators.hh
@@ -37,7 +37,6 @@
# include <algorithm>
-# include <mln/convert/from_to.hh>
# include <mln/core/concept/site_set.hh>
@@ -125,8 +124,8 @@ namespace mln
typedef mln_site(Sl) P;
mlc_converts_to(mln_psite(Sr), P)::check();
std::set< P, util::ord<P> > sl, sr, sd;
- convert::from_to(lhs, sl);
- convert::from_to(rhs, sr);
+ convert::over_load::from_to_(lhs, sl);
+ convert::over_load::from_to_(rhs, sr);
std::set_symmetric_difference(sl.begin(), sl.end(),
sr.begin(), sr.end(),
std::inserter(sd, sd.begin()),
@@ -140,7 +139,7 @@ namespace mln
to_std_set(const Site_Set<S>& s)
{
std::set< mln_site(S), util::ord<mln_site(S)> > std_s;
- convert::from_to(s, std_s);
+ convert::over_load::from_to_(s, std_s);
return std_s;
}
@@ -152,8 +151,8 @@ namespace mln
typedef mln_site(Sl) P;
mlc_converts_to(mln_psite(Sr), P)::check();
std::set< P, util::ord<P> > sl, sr;
- convert::from_to(lhs, sl);
- convert::from_to(rhs, sr);
+ convert::over_load::from_to_(lhs, sl);
+ convert::over_load::from_to_(rhs, sr);
return std::includes(sr.begin(), sr.end(),
sl.begin(), sl.end(),
util::ord<P>());
--
1.5.6.5
1
0
* mln/value/internal/limits.hh: add support for std::numeric_limits with gcc 2.95.
* headers.mk: add limits.hh.
* mln/topo/complex.hh,
* mln/topo/face.hh,
* mln/topo/n_face.hh,
* mln/value/builtin/floatings.hh,
* mln/value/builtin/integers.hh: use value::internal::limits.
* mln/util/internal/graph_base.hh,
* mln/util/tree.hh: use <iostream> instead of <ostream>.
* mln/core/dpoint.hh,
* mln/core/point.hh: Help the compiler resolving 'G::dim' in method return type.
* mln/value/float01.hh: use '&&' operator instead of 'and'.
* tests/unit_test/Makefile.am,
* tests/unit_test/mln_value_internal_limits.cc: Add new unit test.
---
milena/ChangeLog | 26 +++
milena/headers.mk | 1 +
milena/mln/core/dpoint.hh | 47 ++---
milena/mln/core/point.hh | 61 +++---
milena/mln/topo/complex.hh | 49 ++---
milena/mln/topo/face.hh | 24 +-
milena/mln/topo/n_face.hh | 20 +-
milena/mln/util/internal/graph_base.hh | 2 +-
milena/mln/util/tree.hh | 2 +-
milena/mln/value/builtin/floatings.hh | 22 +-
milena/mln/value/builtin/integers.hh | 14 +-
milena/mln/value/float01.hh | 4 +-
milena/mln/value/internal/limits.hh | 220 ++++++++++++++++++++
milena/tests/unit_test/Makefile.am | 8 +
.../tests/unit_test/mln_value_internal_limits.cc | 11 +
15 files changed, 386 insertions(+), 125 deletions(-)
create mode 100644 milena/mln/value/internal/limits.hh
create mode 100644 milena/tests/unit_test/mln_value_internal_limits.cc
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 1ae05f4..8e4bb36 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,31 @@
2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Fix issues with GCC 2.95.
+
+ * mln/value/internal/limits.hh: add support for std::numeric_limits with gcc 2.95.
+
+ * headers.mk: add limits.hh.
+
+ * mln/topo/complex.hh,
+ * mln/topo/face.hh,
+ * mln/topo/n_face.hh,
+ * mln/value/builtin/floatings.hh,
+ * mln/value/builtin/integers.hh: use value::internal::limits.
+
+
+ * mln/util/internal/graph_base.hh,
+ * mln/util/tree.hh: use <iostream> instead of <ostream>.
+
+ * mln/core/dpoint.hh,
+ * mln/core/point.hh: Help the compiler resolving 'G::dim' in method return type.
+
+ * mln/value/float01.hh: use '&&' operator instead of 'and'.
+
+ * tests/unit_test/Makefile.am,
+ * tests/unit_test/mln_value_internal_limits.cc: Add new unit test.
+
+2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Update tutorial according to the last renamings.
* apps/statues/mesh-complex-segm.cc,
diff --git a/milena/headers.mk b/milena/headers.mk
index 7111d16..faea509 100644
--- a/milena/headers.mk
+++ b/milena/headers.mk
@@ -287,6 +287,7 @@ mln/value/internal/gray_f.hh \
mln/value/internal/all.hh \
mln/value/internal/value_like.hh \
mln/value/internal/iterable_set.hh \
+mln/value/internal/limits.hh \
mln/value/internal/encoding.hh \
mln/value/internal/convert.hh \
mln/value/internal/gray_.hh \
diff --git a/milena/mln/core/dpoint.hh b/milena/mln/core/dpoint.hh
index f634cc3..4cb55bd 100644
--- a/milena/mln/core/dpoint.hh
+++ b/milena/mln/core/dpoint.hh
@@ -29,10 +29,9 @@
#ifndef MLN_CORE_DPOINT_HH
# define MLN_CORE_DPOINT_HH
-/*! \file mln/core/dpoint.hh
- *
- * \brief Definition of the generic delta-point class mln::dpoint.
- */
+/// \file mln/core/dpoint.hh
+///
+/// Definition of the generic delta-point class mln::dpoint.
# include <mln/core/def/coord.hh>
# include <mln/core/concept/gdpoint.hh>
@@ -44,7 +43,7 @@
namespace mln
{
- /// \{ Fwd decls.
+ /// \{ Forward declarations.
template <typename G, typename C> struct point;
namespace literal {
struct zero_t;
@@ -53,19 +52,17 @@ namespace mln
/// \}
- /*! \brief Generic delta-point class.
- *
- * Parameters are \c G the dimension of the space and \c C the
- * coordinate type in this space.
- */
+ /// Generic delta-point class.
+ ///
+ /// Parameters are \c G the dimension of the space and \c C the
+ /// coordinate type in this space.
template <typename G, typename C>
struct dpoint : public Gdpoint< dpoint<G,C> >,
public internal::mutable_coord_impl_< G::dim, C, dpoint<G,C> >
{
- /*! \var dim
- * \brief Dimension of the space.
- * \invariant dim > 0
- */
+ /// \var dim
+ /// Dimension of the space.
+ /// \invariant dim > 0
enum { dim = G::dim };
/// Grid associated type.
@@ -83,16 +80,14 @@ namespace mln
/// Algebra vector (vec) associated type.
typedef algebra::vec<G::dim, C> vec;
- /*! \brief Read-only access to the \p i-th coordinate value.
- * \param[in] i The coordinate index.
- * \pre \p i < \c dim
- */
+ /// Read-only access to the \p i-th coordinate value.
+ /// \param[in] i The coordinate index.
+ /// \pre \p i < \c dim
C operator[](unsigned i) const;
- /*! \brief Read-write access to the \p i-th coordinate value.
- * \param[in] i The coordinate index.
- * \pre \p i < \c dim
- */
+ /// Read-write access to the \p i-th coordinate value.
+ /// \param[in] i The coordinate index.
+ /// \pre \p i < \c dim
C& operator[](unsigned i);
/// Constructor without argument.
@@ -126,10 +121,10 @@ namespace mln
/// Conversion towards a algebra::vec.
template <typename Q>
- operator mln::algebra::vec<G::dim, Q>() const;
+ operator mln::algebra::vec<dpoint<G,C>::dim, Q>() const;
/// Explicit conversion.
- const mln::algebra::vec<G::dim, C>& to_vec() const;
+ const vec& to_vec() const;
protected:
mln::algebra::vec<G::dim, C> coord_;
@@ -251,14 +246,14 @@ namespace mln
template <typename G, typename C>
template <typename Q>
inline
- dpoint<G,C>::operator mln::algebra::vec<G::dim, Q> () const
+ dpoint<G,C>::operator mln::algebra::vec<dpoint<G,C>::dim, Q> () const
{
return coord_;
}
template <typename G, typename C>
inline
- const mln::algebra::vec<G::dim, C>&
+ const typename dpoint<G,C>::vec&
dpoint<G,C>::to_vec() const
{
return coord_;
diff --git a/milena/mln/core/point.hh b/milena/mln/core/point.hh
index 25b7bc9..4153a49 100644
--- a/milena/mln/core/point.hh
+++ b/milena/mln/core/point.hh
@@ -1,4 +1,5 @@
// 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 +29,10 @@
#ifndef MLN_CORE_POINT_HH
# define MLN_CORE_POINT_HH
-/*! \file mln/core/point.hh
- *
- * \brief Definition of the generic point class mln::point.
- */
+/// \file mln/core/point.hh
+///
+/// Definition of the generic point class mln::point.
+
# include <mln/core/def/coord.hh>
# include <mln/core/concept/gpoint.hh>
@@ -49,7 +50,7 @@
namespace mln
{
- /// \{ Fwd decls.
+ /// \{ Forward declarations.
template <typename G, typename C> struct point;
template <typename G, typename C> struct dpoint;
namespace literal {
@@ -76,11 +77,10 @@ namespace mln
- /*! \brief Generic point class.
- *
- * Parameters are \c n the dimension of the space and \c C the
- * coordinate type in this space.
- */
+ /// Generic point class.
+ ///
+ /// Parameters are \c n the dimension of the space and \c C the
+ /// coordinate type in this space.
template <typename G, typename C>
struct point : public Gpoint< point<G,C> >,
public internal::mutable_coord_impl_< G::dim, C, point<G,C> >
@@ -90,10 +90,9 @@ namespace mln
typedef point psite;
- /*! \var dim
- * \brief Dimension of the space.
- * \invariant dim > 0
- */
+ /// \var dim
+ /// Dimension of the space.
+ /// \invariant dim > 0
enum { dim = G::dim };
/// Grid associated type.
@@ -111,16 +110,17 @@ namespace mln
/// Algebra vector (vec) associated type.
typedef algebra::vec<G::dim, C> vec;
- /*! \brief Read-only access to the \p i-th coordinate value.
- * \param[in] i The coordinate index.
- * \pre \p i < \c dim
- */
+ /// Algebra hexagonal vector (hvec) associated type.
+ typedef algebra::h_vec<G::dim, C> h_vec;
+
+ /// Read-only access to the \p i-th coordinate value.
+ /// \param[in] i The coordinate index.
+ /// \pre \p i < \c dim
const C& operator[](unsigned i) const;
- /*! \brief Read-write access to the \p i-th coordinate value.
- * \param[in] i The coordinate index.
- * \pre \p i < \c dim
- */
+ /// Read-write access to the \p i-th coordinate value.
+ /// \param[in] i The coordinate index.
+ /// \pre \p i < \c dim
C& operator[](unsigned i);
@@ -187,10 +187,10 @@ namespace mln
#endif
/// Explicit conversion towards mln::algebra::vec.
- const algebra::vec<G::dim, C>& to_vec() const;
+ const vec& to_vec() const;
/// Transform to point in homogene coordinate system.
- algebra::h_vec<G::dim, C> to_h_vec() const;
+ h_vec to_h_vec() const;
/// Point with all coordinates set to the maximum value.
static const point<G,C>& plus_infty();
@@ -206,7 +206,7 @@ namespace mln
/// FIXME...
template <typename G, typename C>
- const algebra::vec<G::dim - 1, C>& cut_(const point<G,C>& p);
+ const algebra::vec<point<G,C>::dim - 1, C>& cut_(const point<G,C>& p);
template <typename C>
const util::yes& cut_(const point<grid::tick,C>& p);
@@ -405,15 +405,16 @@ namespace mln
template <typename G, typename C>
inline
- const algebra::vec<G::dim, C>&
+ const typename point<G,C>::vec&
point<G,C>::to_vec() const
{
return coord_;
}
-
+
template <typename G, typename C>
inline
- algebra::h_vec<G::dim, C> point<G,C>::to_h_vec() const
+ typename point<G,C>::h_vec
+ point<G,C>::to_h_vec() const
{
algebra::h_vec<G::dim, C> tmp;
for (unsigned i = 0; i < dim; ++i)
@@ -444,10 +445,10 @@ namespace mln
template <typename G, typename C>
inline
- const algebra::vec<G::dim - 1, C>&
+ const algebra::vec<point<G,C>::dim - 1, C>&
cut_(const point<G,C>& p)
{
- return *(const algebra::vec<G::dim - 1, C>*)(& p.to_vec());
+ return *(const algebra::vec<point<G,C>::dim - 1, C>*)(& p.to_vec());
}
template <typename C>
diff --git a/milena/mln/topo/complex.hh b/milena/mln/topo/complex.hh
index 619c3ca..2b392ac 100644
--- a/milena/mln/topo/complex.hh
+++ b/milena/mln/topo/complex.hh
@@ -29,14 +29,13 @@
# define MLN_TOPO_COMPLEX_HH
/// \file mln/topo/complex.hh
-/// \brief Structures for general complexes.
+/// Structures for general complexes.
///
/// A complex defines a topological space which can be used as a
/// support for an image (i.e., as site sets).
# include <cstddef>
-# include <limits>
# include <iosfwd>
# include <mln/metal/bool.hh>
@@ -82,7 +81,7 @@ namespace mln
| Complex. |
`----------*/
- /// \brief General complex of dimension \p D.
+ /// General complex of dimension \p D.
template <unsigned D>
class complex
{
@@ -107,10 +106,10 @@ namespace mln
/// Create a new \p D-complex.
complex();
- /// \brief Add a 0-face to the complex.
+ /// Add a 0-face to the complex.
n_face<0u, D> add_face();
- /// \brief Add a \p (N+1)-face to the complex (with \p N >= 0).
+ /// Add a \p (N+1)-face to the complex (with \p N >= 0).
///
/// \param adjacent_faces The (\p N-1)-faces adjacent to the new
/// \p N-face.
@@ -118,24 +117,24 @@ namespace mln
n_face<N + 1, D> add_face(const n_faces_set<N, D>& adjacent_faces);
/// \}
- /// \brief Static manipulators.
+ /// Static manipulators.
///
/// These methods use statically-known input.
/// \{
- /// \brief Return the total number of faces, whatever their
+ /// Return the total number of faces, whatever their
/// dimension.
unsigned nfaces() const;
- /// \brief Return the number of \p N-faces.
+ /// Return the number of \p N-faces.
template <unsigned N>
unsigned nfaces() const;
/// \}
- /// \brief Dynamic manipulators.
+ /// Dynamic manipulators.
///
/// These methods use input know as run time.
/// \{
- /// \brief Return the number of \a n-faces.
+ /// Return the number of \a n-faces.
///
/// Warning, this function has a complexity linear in term of N,
/// since each n_faces_set is checked (the present implementation
@@ -153,7 +152,7 @@ namespace mln
void print_faces(std::ostream& ostr) const;
/// \}
- /// \brief Get the address of the data of this complex.
+ /// Get the address of the data of this complex.
///
/// This address is a concise and useful information to print
/// and track the actual content of this complex.
@@ -186,7 +185,7 @@ namespace mln
/* FIXME: Replace F and ACCU by a Milena accumulator? */
- /** \brief Apply a kind of static fold left operator to the
+ /** Apply a kind of static fold left operator to the
implicit list of n_faces_set using a functor \a f and a value \a
accu.
@@ -198,13 +197,13 @@ namespace mln
template <typename BinaryFunction, typename T>
T fold_left_(const BinaryFunction& f, const T& accu) const;
- /// \brief Apply a functor \a f to this list of \a n-faces.
+ /// Apply a functor \a f to this list of \a n-faces.
template <typename UnaryFunction>
typename UnaryFunction::result_type
apply_if_dim_matches_(unsigned n, const UnaryFunction& f) const;
/// \}
- /// \brief Connect two algebraic faces.
+ /// Connect two algebraic faces.
///
/// \param f1 An algebraic face of dimension \p N
/// \param f2 A face of dimension \p N + 1
@@ -232,7 +231,7 @@ namespace mln
| Complex data. |
`---------------*/
- /** \brief Complex data.
+ /** Complex data.
Data is aggregated as follows in an mln::topo::complex<D>:
@@ -291,7 +290,7 @@ namespace mln
template <unsigned N, unsigned D>
struct faces_set_mixin;
- /// \brief Complex data.
+ /// Complex data.
template <unsigned D>
struct complex_data : faces_set_mixin<D, D>
{
@@ -319,7 +318,7 @@ namespace mln
// mln::topo::internal::faces_set_mixin. //
// -------------------------------------- //
- /// \brief Recursive mixins of set of faces.
+ /// Recursive mixins of set of faces.
/// \{
template <unsigned N, unsigned D> struct faces_set_mixin;
@@ -339,11 +338,11 @@ namespace mln
/// Functional meta-manipulators.
/// \{
- /// \brief Fold left.
+ /// Fold left.
/// \see mln::complex<D>::fold_left_.
template <typename BinaryFunction, typename T>
T fold_left_(const BinaryFunction& f, const T& accu) const;
- /// \brief Apply a functor \a f to the list of faces if \a n == \p D.
+ /// Apply a functor \a f to the list of faces if \a n == \p D.
/// \see mln::complex<D>::apply_if_dim_matches_.
template <typename UnaryFunction>
typename UnaryFunction::result_type
@@ -370,11 +369,11 @@ namespace mln
/// Functional meta-manipulators.
/// \{
- /// \brief Fold left.
+ /// Fold left.
/// \see mln::complex<D>::fold_left_.
template <typename BinaryFunction, typename T>
T fold_left_(const BinaryFunction& f, const T& accu) const;
- /// \brief Apply a functor \a f to the list of faces if \a n == \p N.
+ /// Apply a functor \a f to the list of faces if \a n == \p N.
/// \see mln::complex<D>::apply_if_dim_matches_.
template <typename UnaryFunction>
typename UnaryFunction::result_type
@@ -397,11 +396,11 @@ namespace mln
/// Functional meta-manipulators.
/// \{
- /// \brief Fold left.
+ /// Fold left.
/// \see mln::complex<D>::fold_left_.
template <typename BinaryFunction, typename T>
T fold_left_(const BinaryFunction& f, const T& accu) const;
- /// \brief Apply a functor \a f to the list of faces if \a n == 0.
+ /// Apply a functor \a f to the list of faces if \a n == 0.
/// \see mln::complex<D>::apply_if_dim_matches_.
template <typename UnaryFunction>
typename UnaryFunction::result_type
@@ -424,11 +423,11 @@ namespace mln
/// Functional meta-manipulators.
/// \{
- /// \brief Fold left.
+ /// Fold left.
/// \see mln::complex<D>::fold_left_.
template <typename BinaryFunction, typename T>
T fold_left_(const BinaryFunction& f, const T& accu) const;
- /// \brief Apply a functor \a f to the list of faces if \a n == 0.
+ /// Apply a functor \a f to the list of faces if \a n == 0.
/// \see mln::complex<D>::apply_if_dim_matches_.
template <typename UnaryFunction>
typename UnaryFunction::result_type
diff --git a/milena/mln/topo/face.hh b/milena/mln/topo/face.hh
index 3d25954..74077f1 100644
--- a/milena/mln/topo/face.hh
+++ b/milena/mln/topo/face.hh
@@ -29,12 +29,12 @@
# define MLN_TOPO_FACE_HH
/// \file mln/topo/face.hh
-/// \brief Face of a complex.
+/// Face of a complex.
# include <iostream>
-# include <limits>
# include <vector>
+# include <mln/value/internal/limits.hh>
# include <mln/core/contract.hh>
# include <mln/metal/bool.hh>
@@ -56,7 +56,7 @@ namespace mln
| Face. |
`-------*/
- /// \brief Face handle in a complex; the face dimension is dynamic.
+ /// Face handle in a complex; the face dimension is dynamic.
///
/// Contrary to an mln::topo::n_face, the dimension of an
/// mln::topo::face is not fixed.
@@ -121,14 +121,14 @@ namespace mln
/// \}
private:
- /// \brief The complex the face belongs to.
+ /// The complex the face belongs to.
///
/// A const face can be used to modify a complex.
mutable complex<D> cplx_;
/// The dimension of the face.
// FIXME: Rename as `dim_'?
unsigned n_;
- /// \brief The id of the face.
+ /// The id of the face.
// FIXME: Rename as `id_'?
unsigned face_id_;
};
@@ -137,21 +137,21 @@ namespace mln
/// Comparison of two instances of mln::topo::face.
/// \{
- /// \brief Is \a lhs equal to \a rhs?
+ /// Is \a lhs equal to \a rhs?
///
/// \pre Arguments \a lhs and \a rhs must belong to the same
/// mln::topo::complex.
template <unsigned D>
bool operator==(const face<D>& lhs, const face<D>& rhs);
- /// \brief Is \a lhs different from \a rhs?
+ /// Is \a lhs different from \a rhs?
///
/// \pre Arguments \a lhs and \a rhs must belong to the same
/// mln::topo::complex.
template <unsigned D>
bool operator!=(const face<D>& lhs, const face<D>& rhs);
- /// \brief Is \a lhs ``less'' than \a rhs?
+ /// Is \a lhs ``less'' than \a rhs?
///
/// This comparison is required by algorithms sorting face handles.
///
@@ -177,8 +177,8 @@ namespace mln
inline
face<D>::face()
: cplx_(),
- n_(std::numeric_limits<unsigned>::max()),
- face_id_(std::numeric_limits<unsigned>::max())
+ n_(value::internal::limits<unsigned>::max()),
+ face_id_(value::internal::limits<unsigned>::max())
{
}
@@ -214,8 +214,8 @@ namespace mln
void
face<D>::invalidate()
{
- set_n(std::numeric_limits<unsigned>::max());
- set_face_id(std::numeric_limits<unsigned>::max());
+ set_n(value::internal::limits<unsigned>::max());
+ set_face_id(value::internal::limits<unsigned>::max());
}
template <unsigned D>
diff --git a/milena/mln/topo/n_face.hh b/milena/mln/topo/n_face.hh
index e7a6475..ee146a8 100644
--- a/milena/mln/topo/n_face.hh
+++ b/milena/mln/topo/n_face.hh
@@ -30,12 +30,12 @@
/// \file mln/topo/n_face.hh
///
-/// \brief n-face of a complex.
+/// n-face of a complex.
# include <iostream>
-# include <limits>
# include <vector>
+# include <mln/value/internal/limits.hh>
# include <mln/core/contract.hh>
# include <mln/metal/bool.hh>
@@ -55,7 +55,7 @@ namespace mln
| n-Face. |
`---------*/
- /// \brief \p N-face handle in a complex.
+ /// \p N-face handle in a complex.
///
/// Contrary to an mln::topo::face, the dimension of an
/// mln::topo::n_face is fixed.
@@ -108,11 +108,11 @@ namespace mln
/// \}
private:
- /// \brief The complex the face belongs to.
+ /// The complex the face belongs to.
///
/// A const mln::topo::n_face can be used to modify a complex.
mutable complex<D> cplx_;
- /// \brief The id of the face.
+ /// The id of the face.
// FIXME: Rename as `id_'?
unsigned face_id_;
};
@@ -121,21 +121,21 @@ namespace mln
/// Comparison of two instances of mln::topo::n_face.
/// \{
- /// \brief Is \a lhs equal to \a rhs?
+ /// Is \a lhs equal to \a rhs?
///
/// \pre Arguments \a lhs and \a rhs must belong to the same
/// mln::topo::complex.
template <unsigned N, unsigned D>
bool operator==(const n_face<N, D>& lhs, const n_face<N, D>& rhs);
- /// \brief Is \a lhs different from \a rhs?
+ /// Is \a lhs different from \a rhs?
///
/// \pre Arguments \a lhs and \a rhs must belong to the same
/// mln::topo::complex.
template <unsigned N, unsigned D>
bool operator!=(const n_face<N, D>& lhs, const n_face<N, D>& rhs);
- /// \brief Is \a lhs ``less'' than \a rhs?
+ /// Is \a lhs ``less'' than \a rhs?
///
/// This comparison is required by algorithms sorting face handles.
///
@@ -159,7 +159,7 @@ namespace mln
template <unsigned N, unsigned D>
inline
n_face<N, D>::n_face()
- : cplx_(), face_id_(std::numeric_limits<unsigned>::max())
+ : cplx_(), face_id_(value::internal::limits<unsigned>::max())
{
// Ensure N is compatible with D.
metal::bool_< N <= D >::check();
@@ -188,7 +188,7 @@ namespace mln
void
n_face<N, D>::invalidate()
{
- set_face_id(std::numeric_limits<unsigned>::max());
+ set_face_id(value::internal::limits<unsigned>::max());
}
template <unsigned N, unsigned D>
diff --git a/milena/mln/util/internal/graph_base.hh b/milena/mln/util/internal/graph_base.hh
index ac6099e..f011324 100644
--- a/milena/mln/util/internal/graph_base.hh
+++ b/milena/mln/util/internal/graph_base.hh
@@ -37,7 +37,7 @@
# include <algorithm>
# include <vector>
# include <set>
-# include <ostream>
+# include <iostream>
# include <mln/core/concept/object.hh>
# include <mln/core/concept/graph.hh>
diff --git a/milena/mln/util/tree.hh b/milena/mln/util/tree.hh
index 0f09dcf..fc0b029 100644
--- a/milena/mln/util/tree.hh
+++ b/milena/mln/util/tree.hh
@@ -30,7 +30,7 @@
# include <vector>
# include <algorithm>
-# include <ostream>
+# include <iostream>
# include <algorithm>
# include <mln/core/contract.hh>
diff --git a/milena/mln/value/builtin/floatings.hh b/milena/mln/value/builtin/floatings.hh
index 9afbde1..3fd0b50 100644
--- a/milena/mln/value/builtin/floatings.hh
+++ b/milena/mln/value/builtin/floatings.hh
@@ -1,4 +1,5 @@
// 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 +29,11 @@
#ifndef MLN_VALUE_BUILTIN_FLOATINGS_HH
# define MLN_VALUE_BUILTIN_FLOATINGS_HH
-/*! \file mln/value/builtin/floatings.hh
- *
- * \brief Some definitions about built-in floating types.
- */
+/// \file mln/value/builtin/floatings.hh
+///
+/// Some definitions about built-in floating types.
-# include <limits>
+# include <mln/value/internal/limits.hh>
# include <mln/value/concept/built_in.hh>
# include <mln/value/concept/floating.hh>
@@ -74,17 +74,17 @@ namespace mln
static float min()
{
- static const float min_ = std::numeric_limits<float>::min();
+ static const float min_ = mln::value::internal::limits<float>::min();
return min_;
}
static float max()
{
- static const float max_ = std::numeric_limits<float>::max();
+ static const float max_ = mln::value::internal::limits<float>::max();
return max_;
}
static float epsilon()
{
- static const float epsilon_ = std::numeric_limits<float>::epsilon();
+ static const float epsilon_ = mln::value::internal::limits<float>::epsilon();
return epsilon_;
}
@@ -105,17 +105,17 @@ namespace mln
static double min()
{
- static const double min_ = std::numeric_limits<double>::min();
+ static const double min_ = mln::value::internal::limits<double>::min();
return min_;
}
static double max()
{
- static const double max_ = std::numeric_limits<double>::max();
+ static const double max_ = mln::value::internal::limits<double>::max();
return max_;
}
static double epsilon()
{
- static const double epsilon_ = std::numeric_limits<double>::epsilon();
+ static const double epsilon_ = mln::value::internal::limits<double>::epsilon();
return epsilon_;
}
diff --git a/milena/mln/value/builtin/integers.hh b/milena/mln/value/builtin/integers.hh
index 09dd233..cb4cced 100644
--- a/milena/mln/value/builtin/integers.hh
+++ b/milena/mln/value/builtin/integers.hh
@@ -1,4 +1,5 @@
// 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 +29,11 @@
#ifndef MLN_VALUE_BUILTIN_INTEGERS_HH
# define MLN_VALUE_BUILTIN_INTEGERS_HH
-/*! \file mln/value/builtin/integers.hh
- *
- * \brief Some definitions about built-in integer types.
- */
+/// \file mln/value/builtin/integers.hh
+///
+/// Some definitions about built-in integer types.
-# include <limits>
+# include <mln/value/internal/limits.hh>
# include <mln/value/concept/built_in.hh>
# include <mln/value/concept/integer.hh>
@@ -81,8 +81,8 @@ namespace mln
typedef trait::value::kind::data kind;
typedef mln_value_quant_from_(card) quant;
- static const E min() { return std::numeric_limits<E>::min(); }
- static const E max() { return std::numeric_limits<E>::max(); }
+ static const E min() { return mln::value::internal::limits<E>::min(); }
+ static const E max() { return mln::value::internal::limits<E>::max(); }
typedef float sum;
};
diff --git a/milena/mln/value/float01.hh b/milena/mln/value/float01.hh
index f5348b0..577aa10 100644
--- a/milena/mln/value/float01.hh
+++ b/milena/mln/value/float01.hh
@@ -254,7 +254,7 @@ namespace mln
inline
bool operator==(const float01& lhs, const float01& rhs)
{
- mln_precondition(lhs.nbits() != 0 and rhs.nbits() != 0);
+ mln_precondition(lhs.nbits() != 0 && rhs.nbits() != 0);
if (rhs.nbits() == lhs.nbits())
return lhs.value_ind() == rhs.value_ind();
@@ -270,7 +270,7 @@ namespace mln
inline
bool operator<(const float01& lhs, const float01& rhs)
{
- mln_precondition(lhs.nbits() != 0 and rhs.nbits() != 0);
+ mln_precondition(lhs.nbits() != 0 && rhs.nbits() != 0);
if (rhs.nbits() == lhs.nbits())
return lhs.value() < rhs.value();
if (lhs.nbits() > rhs.nbits())
diff --git a/milena/mln/value/internal/limits.hh b/milena/mln/value/internal/limits.hh
new file mode 100644
index 0000000..61f6f75
--- /dev/null
+++ b/milena/mln/value/internal/limits.hh
@@ -0,0 +1,220 @@
+// 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.
+
+#ifndef MLN_VALUE_INTERNAL_LIMITS_HH
+# define MLN_VALUE_INTERNAL_LIMITS_HH
+
+/// \file mln/value/internal/limits.hh
+///
+/// Define built-in type limits.
+
+# if defined(__GNUC__) && __GNUC__ < 3
+# include <cfloat>
+# include <climits>
+# else
+# include <limits>
+# endif
+
+namespace mln
+{
+
+ namespace value
+ {
+
+ namespace internal
+ {
+
+ template<typename T>
+ struct limits
+# if !defined(__GNUC__) || __GNUC__ >= 3
+ : std::numeric_limits<T>
+ { };
+# else
+ {
+ static const bool is_specialized = false;
+ };
+
+ template<>
+ struct limits<bool>
+ {
+ static bool min() throw() { return false; }
+ static bool max() throw() { return false; }
+ static bool epsilon() throw()
+ { return false; }
+ };
+
+ template<>
+ struct limits<char>
+ {
+ static char min() throw() { return CHAR_MIN; }
+ static char max() throw() { return CHAR_MAX; }
+ static char epsilon() throw()
+ { return 0; }
+ };
+
+ template<>
+ struct limits<signed char>
+ {
+ static signed char min() throw() { return SCHAR_MIN; }
+ static signed char max() throw() { return SCHAR_MAX; }
+ static signed char epsilon() throw()
+ { return 0; }
+ };
+
+ template<>
+ struct limits<unsigned char>
+ {
+ static unsigned char min() throw() { return 0; }
+ static unsigned char max() throw() { return UCHAR_MAX; }
+ static unsigned char epsilon() throw()
+ { return 0; }
+ };
+
+ template<>
+ struct limits<short>
+ {
+ static short min() throw() { return SHRT_MIN; }
+ static short max() throw() { return SHRT_MAX; }
+ static short epsilon() throw()
+ { return 0; }
+ };
+
+ template<>
+ struct limits<unsigned short>
+ {
+ static unsigned short min() throw() { return 0; }
+ static unsigned short max() throw() { return USHRT_MAX; }
+ static unsigned short epsilon() throw()
+ { return 0; }
+ };
+
+ template<>
+ struct limits<int>
+ {
+ static int min() throw() { return INT_MIN; }
+ static int max() throw() { return INT_MAX; }
+ static int epsilon() throw()
+ { return 0; }
+ };
+
+ template<>
+ struct limits<unsigned int>
+ {
+ static unsigned int min() throw() { return 0; }
+ static unsigned int max() throw() { return UINT_MAX; }
+ static unsigned int epsilon() throw()
+ { return 0; }
+ };
+
+ template<>
+ struct limits<long>
+ {
+ static long min() throw() { return LONG_MIN; }
+ static long max() throw() { return LONG_MAX; }
+ static long epsilon() throw()
+ { return 0; }
+ };
+
+ template<>
+ struct limits<unsigned long>
+ {
+ static unsigned long min() throw() { return 0; }
+ static unsigned long max() throw() { return ULONG_MAX; }
+ static unsigned long epsilon() throw()
+ { return 0; }
+ };
+
+
+/*
+** Some pre-ANSI-C99 systems like Linux/GCC 2.95 define
+** ULONGLONG_MAX, LONGLONG_MIN, LONGLONG_MAX; we use them if they're defined.
+*/
+
+# if defined(HAVE_LONG_LONG) && !defined(LONGLONG_MIN)
+# define LONGLONG_MIN((long long) 0x8000000000000000LL)
+# define LONGLONG_MAX((long long) 0x7FFFFFFFFFFFFFFFLL)
+# endif
+
+
+# if defined(HAVE_LONG_LONG) && !defined(ULONGLONG_MAX)
+ /* First check for ANSI C99 definition: */
+# ifdef ULLONG_MAX
+# define ULONGLONG_MAX ULLONG_MAX
+# else
+# define ULONGLONG_MAX ((unsigned long long)(~0ULL))
+# endif
+
+# endif /* defined (HAVE_LONG_LONG) && !defined(ULONGLONG_MAX)*/
+
+
+# if defined(HAVE_LONG_LONG)
+ template<>
+ struct limits<long long>
+ {
+ static long long min() throw() { return LONGLONG_MIN; }
+ static long long max() throw() { return LONGLONG_MAX; }
+ static long long epsilon() throw()
+ { return 0; }
+ };
+
+ template<>
+ struct limits<unsigned long long>
+ {
+ static unsigned long long min() throw() { return 0; }
+ static unsigned long long max() throw() { return ULONGLONG_MAX; }
+ static unsigned long long epsilon() throw()
+ { return 0; }
+ };
+# endif
+
+ template<>
+ struct limits<float>
+ {
+ static float min() throw() { return FLT_MIN; }
+ static float max() throw() { return FLT_MAX; }
+ static float epsilon() throw()
+ { return FLT_EPSILON; }
+ };
+
+ template<>
+ struct limits<double>
+ {
+ static float min() throw() { return DBL_MIN; }
+ static float max() throw() { return DBL_MAX; }
+ static float epsilon() throw()
+ { return DBL_EPSILON; }
+ };
+
+# endif
+ } // end of namespace mln::value::internal
+
+ } // end of namespace mln::value
+
+} // end of namespace mln
+
+#endif // ! MLN_VALUE_INTERNAL_LIMITS_HH
diff --git a/milena/tests/unit_test/Makefile.am b/milena/tests/unit_test/Makefile.am
index a3c3035..2f3426e 100644
--- a/milena/tests/unit_test/Makefile.am
+++ b/milena/tests/unit_test/Makefile.am
@@ -187,6 +187,7 @@ mln_fun_vv2v_min \
mln_fun_vv2v_essential \
mln_fun_internal_array_base \
mln_fun_internal_x2x_linear_impl \
+mln_fun_internal_ch_function_value_impl \
mln_fun_internal_selector \
mln_fun_v2w_w2v_norm \
mln_fun_p2v_ternary \
@@ -209,6 +210,7 @@ mln_fun_v2v_dec \
mln_fun_v2v_abs \
mln_fun_v2v_rgb_to_hsl \
mln_fun_v2v_cast \
+mln_fun_v2v_ch_function_value \
mln_fun_v2v_rgb_to_hsi \
mln_fun_v2v_enc \
mln_fun_v2v_convert \
@@ -283,6 +285,7 @@ mln_value_internal_gray_f \
mln_value_internal_all \
mln_value_internal_value_like \
mln_value_internal_iterable_set \
+mln_value_internal_limits \
mln_value_internal_encoding \
mln_value_internal_convert \
mln_value_internal_gray_ \
@@ -434,6 +437,7 @@ mln_trait_value_essential \
mln_trait_images \
mln_trait_window_props \
mln_trait_window_print \
+mln_trait_ch_function_value \
mln_trait_ch_value \
mln_trait_solve \
mln_trait_solve_unary \
@@ -1190,6 +1194,7 @@ mln_fun_vv2v_min_SOURCES = mln_fun_vv2v_min.cc
mln_fun_vv2v_essential_SOURCES = mln_fun_vv2v_essential.cc
mln_fun_internal_array_base_SOURCES = mln_fun_internal_array_base.cc
mln_fun_internal_x2x_linear_impl_SOURCES = mln_fun_internal_x2x_linear_impl.cc
+mln_fun_internal_ch_function_value_impl_SOURCES = mln_fun_internal_ch_function_value_impl.cc
mln_fun_internal_selector_SOURCES = mln_fun_internal_selector.cc
mln_fun_v2w_w2v_norm_SOURCES = mln_fun_v2w_w2v_norm.cc
mln_fun_p2v_ternary_SOURCES = mln_fun_p2v_ternary.cc
@@ -1212,6 +1217,7 @@ mln_fun_v2v_dec_SOURCES = mln_fun_v2v_dec.cc
mln_fun_v2v_abs_SOURCES = mln_fun_v2v_abs.cc
mln_fun_v2v_rgb_to_hsl_SOURCES = mln_fun_v2v_rgb_to_hsl.cc
mln_fun_v2v_cast_SOURCES = mln_fun_v2v_cast.cc
+mln_fun_v2v_ch_function_value_SOURCES = mln_fun_v2v_ch_function_value.cc
mln_fun_v2v_rgb_to_hsi_SOURCES = mln_fun_v2v_rgb_to_hsi.cc
mln_fun_v2v_enc_SOURCES = mln_fun_v2v_enc.cc
mln_fun_v2v_convert_SOURCES = mln_fun_v2v_convert.cc
@@ -1286,6 +1292,7 @@ mln_value_internal_gray_f_SOURCES = mln_value_internal_gray_f.cc
mln_value_internal_all_SOURCES = mln_value_internal_all.cc
mln_value_internal_value_like_SOURCES = mln_value_internal_value_like.cc
mln_value_internal_iterable_set_SOURCES = mln_value_internal_iterable_set.cc
+mln_value_internal_limits_SOURCES = mln_value_internal_limits.cc
mln_value_internal_encoding_SOURCES = mln_value_internal_encoding.cc
mln_value_internal_convert_SOURCES = mln_value_internal_convert.cc
mln_value_internal_gray__SOURCES = mln_value_internal_gray_.cc
@@ -1437,6 +1444,7 @@ mln_trait_value_essential_SOURCES = mln_trait_value_essential.cc
mln_trait_images_SOURCES = mln_trait_images.cc
mln_trait_window_props_SOURCES = mln_trait_window_props.cc
mln_trait_window_print_SOURCES = mln_trait_window_print.cc
+mln_trait_ch_function_value_SOURCES = mln_trait_ch_function_value.cc
mln_trait_ch_value_SOURCES = mln_trait_ch_value.cc
mln_trait_solve_SOURCES = mln_trait_solve.cc
mln_trait_solve_unary_SOURCES = mln_trait_solve_unary.cc
diff --git a/milena/tests/unit_test/mln_value_internal_limits.cc b/milena/tests/unit_test/mln_value_internal_limits.cc
new file mode 100644
index 0000000..5dd172a
--- /dev/null
+++ b/milena/tests/unit_test/mln_value_internal_limits.cc
@@ -0,0 +1,11 @@
+// Unit test for mln/value/internal/limits.hh.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/value/internal/limits.hh>
+#include <mln/value/internal/limits.hh>
+
+int main()
+{
+ // Nothing.
+}
--
1.5.6.5
1
0
URL: https://svn.lrde.epita.fr/svn/oln/branches/cleanup-2008
ChangeLog:
2008-11-10 Matthieu Garrigues <garrigues(a)lrde.epita.fr>
Put Licence to 70 cols.
* milena/doc/benchmark/morpho/erosion.cc: .
* milena/mln/accu/count_adjacent_vertices.hh: .
* milena/mln/accu/height.hh: .
* milena/mln/border/fill.hh: .
* milena/mln/border/get.hh: .
* milena/mln/canvas/morpho/algebraic_union_find.hh: .
* milena/mln/convert/to_p_array.hh: .
* milena/mln/convert/to_upper_window.hh: .
* milena/mln/convert/to_window.hh: .
* milena/mln/core/alias/dpoint1d.hh: .
* milena/mln/core/alias/dpoint2d.hh: .
* milena/mln/core/alias/dpoint2d_h.hh: .
* milena/mln/core/alias/dpoint3d.hh: .
* milena/mln/core/alias/point1d.hh: .
* milena/mln/core/alias/point2d.hh: .
* milena/mln/core/alias/point2d_h.hh: .
* milena/mln/core/alias/point3d.hh: .
* milena/mln/core/alias/point3df.hh: .
* milena/mln/core/alias/window1d.hh: .
* milena/mln/core/alias/window3d.hh: .
* milena/mln/core/dpoints_pixter.hh: .
* milena/mln/core/image/bgraph_image.hh: .
* milena/mln/core/image/bgraph_psite.hh: .
* milena/mln/core/image/decorated_image.hh: .
* milena/mln/core/image/fi_adaptor.hh: .
* milena/mln/core/image/graph_elt_neighborhood.hh: .
* milena/mln/core/image/graph_elt_window.hh: .
* milena/mln/core/image/graph_image.hh: .
* milena/mln/core/image/graph_neighborhood_piter.hh: .
* milena/mln/core/image/graph_window_piter.hh: .
* milena/mln/core/image/line_graph_elt_neighborhood.hh: .
* milena/mln/core/image/line_graph_elt_window.hh: .
* milena/mln/core/image/line_graph_image.hh: .
* milena/mln/core/image/line_graph_neighborhood_piter.hh: .
* milena/mln/core/image/line_graph_psite.hh: .
* milena/mln/core/image/line_graph_window_piter.hh: .
* milena/mln/core/internal/force_exact.hh: .
* milena/mln/core/internal/image_value_morpher.hh: .
* milena/mln/core/internal/line_graph_vicinity_piter.hh: .
* milena/mln/core/internal/pixel_iterator_base.hh: .
* milena/mln/core/pixter1d.hh: .
* milena/mln/core/pixter2d.hh: .
* milena/mln/core/pixter3d.hh: .
* milena/mln/core/site_set/p_bgraph.hh: .
* milena/mln/core/site_set/p_bgraph_piter.hh: .
* milena/mln/core/site_set/p_edges.hh: .
* milena/mln/core/site_set/p_graph.hh: .
* milena/mln/core/site_set/p_graph_piter.hh: .
* milena/mln/core/site_set/p_line_graph.hh: .
* milena/mln/core/site_set/p_line_graph_piter.hh: .
* milena/mln/core/site_set/p_vertices.hh: .
* milena/mln/core/trait/qlf_value.hh: .
* milena/mln/debug/graph.hh: .
* milena/mln/geom/seeds2tiling.hh: .
* milena/mln/geom/seeds2tiling_roundness.hh: .
* milena/mln/labeling/background.hh: .
* milena/mln/labeling/flat_zones.hh: .
* milena/mln/labeling/foreground.hh: .
* milena/mln/labeling/regional_maxima.hh: .
* milena/mln/labeling/regional_minima.hh: .
* milena/mln/level/memset_.hh: .
* milena/mln/linear/gaussian.hh: .
* milena/mln/make/voronoi.hh: .
* milena/mln/math/abs.hh: .
* milena/mln/metal/abort.hh: .
* milena/mln/morpho/closing_area.hh: .
* milena/mln/morpho/closing_area_on_vertices.hh: .
* milena/mln/morpho/closing_attribute.hh: .
* milena/mln/morpho/closing_height.hh: .
* milena/mln/morpho/closing_volume.hh: .
* milena/mln/morpho/opening_area.hh: .
* milena/mln/morpho/opening_area_on_vertices.hh: .
* milena/mln/morpho/opening_attribute.hh: .
* milena/mln/morpho/opening_height.hh: .
* milena/mln/morpho/opening_volume.hh: .
* milena/mln/set/inter.hh: .
* milena/mln/tag/skeleton.hh: .
* milena/mln/trait/ch_value.hh: .
* milena/mln/util/graph.hh: .
* milena/mln/util/greater_point.hh: .
* milena/mln/util/greater_psite.hh: .
* milena/mln/util/internal/boost_graph.hh: .
* milena/mln/util/internal/boost_graph_access.hh: .
* milena/mln/util/internal/boost_graph_property.hh: .
* milena/mln/util/internal/boost_graph_structure.hh: .
* milena/mln/util/internal/graph_base.hh: .
* milena/mln/util/ord_pair.hh: .
* milena/mln/value/int_u_sat.hh: .
* milena/mln/value/proxy.hh: .
* milena/mln/value/stack.hh: .
* milena/mln/win/line.hh: .
* milena/sandbox/garrigues/ocr/check.sh: .
* milena/sandbox/garrigues/ocr/ocr_with_preprocess.cc: .
* milena/sandbox/garrigues/ocr/skeleton.hh: .
* milena/sandbox/jardonnet/array/old/1d.hh: .
* milena/sandbox/jardonnet/array/old/2d.hh: .
* milena/sandbox/jardonnet/array/old/3d.hh: .
* milena/sandbox/jardonnet/array/old/all.hh: .
* milena/sandbox/jardonnet/array/old/nd.hh: .
* milena/sandbox/jardonnet/array/old/objs.hh: .
* milena/sandbox/levillain/morpho/lower_completion.hh: .
* milena/sandbox/levillain/morpho/shortest_path_watershed.hh: .
* milena/sandbox/nivault/dmap.hh: .
* milena/sandbox/pellegrin/set/core/p_bgraph.hh: .
* milena/sandbox/pellegrin/set/core/p_graph.hh: .
* milena/sandbox/pellegrin/set/core/p_line_graph.hh: .
* milena/sandbox/vigouroux/color.hh: .
* milena/sandbox/vigouroux/color/color.hh: .
* milena/sandbox/vigouroux/color/hsi.hh: .
* milena/sandbox/vigouroux/color/hsl.hh: .
* milena/sandbox/vigouroux/color/hsv.hh: .
* milena/sandbox/vigouroux/color/nrgb.hh: .
* milena/sandbox/vigouroux/color/rgb.hh: .
* milena/sandbox/vigouroux/color/xyz.hh: .
* milena/sandbox/vigouroux/color/yiq.hh: .
* milena/sandbox/vigouroux/color/yuv.hh: .
* milena/sandbox/vigouroux/convert/abstract/colorconv.hh: .
* milena/sandbox/vigouroux/convert/abstract/conversion.hh: .
* milena/sandbox/vigouroux/convert/basics.hh: .
* milena/sandbox/vigouroux/convert/bound.hh: .
* milena/sandbox/vigouroux/convert/cast.hh: .
* milena/sandbox/vigouroux/convert/conversion.hh: .
* milena/sandbox/vigouroux/convert/conversion_ng_se.hh: .
* milena/sandbox/vigouroux/convert/force.hh: .
* milena/sandbox/vigouroux/convert/nrgbxyz.hh: .
* milena/sandbox/vigouroux/convert/rgbhsi.hh: .
* milena/sandbox/vigouroux/convert/rgbhsl.hh: .
* milena/sandbox/vigouroux/convert/rgbhsv.hh: .
* milena/sandbox/vigouroux/convert/rgbnrgb.hh: .
* milena/sandbox/vigouroux/convert/rgbxyz.hh: .
* milena/sandbox/vigouroux/convert/rgbyiq.hh: .
* milena/sandbox/vigouroux/convert/rgbyuv.hh: .
* milena/sandbox/vigouroux/convert/stretch.hh: .
* milena/tests/timer.hh: .
---
doc/benchmark/morpho/erosion.cc | 10 ++-
mln/accu/count_adjacent_vertices.hh | 3 -
mln/accu/height.hh | 3 -
mln/border/fill.hh | 3 -
mln/border/get.hh | 3 -
mln/canvas/morpho/algebraic_union_find.hh | 3 -
mln/convert/to_p_array.hh | 3 -
mln/convert/to_upper_window.hh | 3 -
mln/convert/to_window.hh | 3 -
mln/core/alias/dpoint1d.hh | 3 -
mln/core/alias/dpoint2d.hh | 3 -
mln/core/alias/dpoint2d_h.hh | 3 -
mln/core/alias/dpoint3d.hh | 3 -
mln/core/alias/point1d.hh | 3 -
mln/core/alias/point2d.hh | 3 -
mln/core/alias/point2d_h.hh | 3 -
mln/core/alias/point3d.hh | 3 -
mln/core/alias/point3df.hh | 3 -
mln/core/alias/window1d.hh | 3 -
mln/core/alias/window3d.hh | 3 -
mln/core/dpoints_pixter.hh | 3 -
mln/core/image/bgraph_image.hh | 3 -
mln/core/image/bgraph_psite.hh | 3 -
mln/core/image/decorated_image.hh | 3 -
mln/core/image/fi_adaptor.hh | 3 -
mln/core/image/graph_elt_neighborhood.hh | 3 -
mln/core/image/graph_elt_window.hh | 3 -
mln/core/image/graph_image.hh | 3 -
mln/core/image/graph_neighborhood_piter.hh | 3 -
mln/core/image/graph_window_piter.hh | 3 -
mln/core/image/line_graph_elt_neighborhood.hh | 3 -
mln/core/image/line_graph_elt_window.hh | 3 -
mln/core/image/line_graph_image.hh | 3 -
mln/core/image/line_graph_neighborhood_piter.hh | 3 -
mln/core/image/line_graph_psite.hh | 3 -
mln/core/image/line_graph_window_piter.hh | 3 -
mln/core/internal/force_exact.hh | 3 -
mln/core/internal/image_value_morpher.hh | 3 -
mln/core/internal/line_graph_vicinity_piter.hh | 3 -
mln/core/internal/pixel_iterator_base.hh | 3 -
mln/core/pixter1d.hh | 3 -
mln/core/pixter2d.hh | 3 -
mln/core/pixter3d.hh | 3 -
mln/core/site_set/p_bgraph.hh | 3 -
mln/core/site_set/p_bgraph_piter.hh | 3 -
mln/core/site_set/p_graph.hh | 3 -
mln/core/site_set/p_graph_piter.hh | 3 -
mln/core/site_set/p_line_graph.hh | 3 -
mln/core/site_set/p_line_graph_piter.hh | 3 -
mln/core/trait/qlf_value.hh | 3 -
mln/debug/graph.hh | 3 -
mln/geom/seeds2tiling.hh | 3 -
mln/geom/seeds2tiling_roundness.hh | 3 -
mln/labeling/background.hh | 3 -
mln/labeling/flat_zones.hh | 3 -
mln/labeling/foreground.hh | 3 -
mln/labeling/regional_maxima.hh | 3 -
mln/labeling/regional_minima.hh | 3 -
mln/level/memset_.hh | 3 -
mln/linear/gaussian.hh | 2
mln/make/voronoi.hh | 3 -
mln/math/abs.hh | 3 -
mln/metal/abort.hh | 3 -
mln/morpho/closing_area.hh | 3 -
mln/morpho/closing_area_on_vertices.hh | 3 -
mln/morpho/closing_attribute.hh | 3 -
mln/morpho/closing_height.hh | 3 -
mln/morpho/closing_volume.hh | 3 -
mln/morpho/opening_area.hh | 3 -
mln/morpho/opening_area_on_vertices.hh | 3 -
mln/morpho/opening_attribute.hh | 3 -
mln/morpho/opening_height.hh | 3 -
mln/morpho/opening_volume.hh | 3 -
mln/set/inter.hh | 3 -
mln/tag/skeleton.hh | 3 -
mln/trait/ch_value.hh | 3 -
mln/util/graph.hh | 3 -
mln/util/greater_point.hh | 3 -
mln/util/greater_psite.hh | 3 -
mln/util/internal/boost_graph.hh | 3 -
mln/util/internal/boost_graph_access.hh | 3 -
mln/util/internal/boost_graph_property.hh | 3 -
mln/util/internal/boost_graph_structure.hh | 3 -
mln/util/internal/graph_base.hh | 3 -
mln/util/ord_pair.hh | 3 -
mln/value/int_u_sat.hh | 3 -
mln/value/proxy.hh | 3 -
mln/value/stack.hh | 3 -
sandbox/garrigues/ocr/check.sh | 11 ++-
sandbox/garrigues/ocr/ocr_with_preprocess.cc | 49 +++++++++-------
sandbox/garrigues/ocr/skeleton.hh | 58 ++++++++++++--------
sandbox/jardonnet/array/old/1d.hh | 3 -
sandbox/jardonnet/array/old/2d.hh | 3 -
sandbox/jardonnet/array/old/3d.hh | 3 -
sandbox/jardonnet/array/old/all.hh | 3 -
sandbox/jardonnet/array/old/objs.hh | 3 -
sandbox/levillain/morpho/lower_completion.hh | 3 -
sandbox/levillain/morpho/shortest_path_watershed.hh | 3 -
sandbox/nivault/dmap.hh | 3 -
sandbox/pellegrin/set/core/p_bgraph.hh | 3 -
sandbox/pellegrin/set/core/p_graph.hh | 3 -
sandbox/pellegrin/set/core/p_line_graph.hh | 3 -
sandbox/vigouroux/color.hh | 3 -
sandbox/vigouroux/color/color.hh | 3 -
sandbox/vigouroux/color/hsi.hh | 3 -
sandbox/vigouroux/color/hsl.hh | 3 -
sandbox/vigouroux/color/hsv.hh | 3 -
sandbox/vigouroux/color/nrgb.hh | 3 -
sandbox/vigouroux/color/rgb.hh | 3 -
sandbox/vigouroux/color/xyz.hh | 3 -
sandbox/vigouroux/color/yiq.hh | 3 -
sandbox/vigouroux/color/yuv.hh | 3 -
sandbox/vigouroux/convert/abstract/colorconv.hh | 3 -
sandbox/vigouroux/convert/abstract/conversion.hh | 3 -
sandbox/vigouroux/convert/basics.hh | 3 -
sandbox/vigouroux/convert/bound.hh | 3 -
sandbox/vigouroux/convert/cast.hh | 3 -
sandbox/vigouroux/convert/conversion.hh | 3 -
sandbox/vigouroux/convert/force.hh | 3 -
sandbox/vigouroux/convert/nrgbxyz.hh | 3 -
sandbox/vigouroux/convert/rgbhsi.hh | 3 -
sandbox/vigouroux/convert/rgbhsl.hh | 3 -
sandbox/vigouroux/convert/rgbhsv.hh | 3 -
sandbox/vigouroux/convert/rgbnrgb.hh | 3 -
sandbox/vigouroux/convert/rgbxyz.hh | 3 -
sandbox/vigouroux/convert/rgbyiq.hh | 3 -
sandbox/vigouroux/convert/rgbyuv.hh | 3 -
sandbox/vigouroux/convert/stretch.hh | 3 -
tests/timer.hh | 3 -
129 files changed, 326 insertions(+), 176 deletions(-)
Index: branches/cleanup-2008/milena/tests/timer.hh
===================================================================
--- branches/cleanup-2008/milena/tests/timer.hh (revision 2837)
+++ branches/cleanup-2008/milena/tests/timer.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/doc/benchmark/morpho/erosion.cc
===================================================================
--- branches/cleanup-2008/milena/doc/benchmark/morpho/erosion.cc (revision 2837)
+++ branches/cleanup-2008/milena/doc/benchmark/morpho/erosion.cc (revision 2838)
@@ -41,6 +41,7 @@
#include <mln/value/int_u8.hh>
#include <mln/morpho/erosion.hh>
+#include <mln/arith/diff_abs.hh>
#include "tests/data.hh"
#include "tests/timer.hh"
@@ -84,7 +85,7 @@
// trace::quiet = false;
timer t;
-
+ /*
// Rectangle
std::cout << "-------------------------- Rectangle: " << std::endl;
@@ -271,9 +272,9 @@
mln_assertion(test);
std::cout << " " << (test ? "OK" : "KO!!!") << std::endl;
}
-
+ */
std::cout << "-------------------------- Octagon: " << std::endl;
-
+ border::thickness = 0;
// Octagon
{
t.start();
@@ -286,6 +287,9 @@
t.start();
out = morpho::erosion(lena, oct);
std::cout << "dispach on octagon: " << t << std::endl;
+ io::pgm::save(out, "out_oct.pgm");
+ io::pgm::save(arith::diff_abs(out, ref), "diff.pgm");
+
bool test = out == ref;
mln_assertion(test);
std::cout << " " << (test ? "OK" : "KO!!!") << std::endl;
Index: branches/cleanup-2008/milena/mln/trait/ch_value.hh
===================================================================
--- branches/cleanup-2008/milena/mln/trait/ch_value.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/trait/ch_value.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/debug/graph.hh
===================================================================
--- branches/cleanup-2008/milena/mln/debug/graph.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/debug/graph.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/site_set/p_line_graph.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/site_set/p_line_graph.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/site_set/p_line_graph.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/site_set/p_line_graph_piter.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/site_set/p_line_graph_piter.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/site_set/p_line_graph_piter.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/site_set/p_graph.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/site_set/p_graph.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/site_set/p_graph.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/site_set/p_bgraph.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/site_set/p_bgraph.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/site_set/p_bgraph.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/site_set/p_graph_piter.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/site_set/p_graph_piter.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/site_set/p_graph_piter.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/site_set/p_bgraph_piter.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/site_set/p_bgraph_piter.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/site_set/p_bgraph_piter.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/site_set/p_vertices.hh
===================================================================
Index: branches/cleanup-2008/milena/mln/core/site_set/p_edges.hh
===================================================================
Index: branches/cleanup-2008/milena/mln/core/image/decorated_image.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/decorated_image.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/decorated_image.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/line_graph_neighborhood_piter.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/line_graph_neighborhood_piter.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/line_graph_neighborhood_piter.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/line_graph_window_piter.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/line_graph_window_piter.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/line_graph_window_piter.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/graph_image.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/graph_image.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/graph_image.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/line_graph_elt_neighborhood.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/line_graph_elt_neighborhood.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/line_graph_elt_neighborhood.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/line_graph_elt_window.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/line_graph_elt_window.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/line_graph_elt_window.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/line_graph_image.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/line_graph_image.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/line_graph_image.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/line_graph_psite.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/line_graph_psite.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/line_graph_psite.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/graph_window_piter.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/graph_window_piter.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/graph_window_piter.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/graph_neighborhood_piter.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/graph_neighborhood_piter.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/graph_neighborhood_piter.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/graph_elt_window.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/graph_elt_window.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/graph_elt_window.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/graph_elt_neighborhood.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/graph_elt_neighborhood.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/graph_elt_neighborhood.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/bgraph_image.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/bgraph_image.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/bgraph_image.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/bgraph_psite.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/bgraph_psite.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/bgraph_psite.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/image/fi_adaptor.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/image/fi_adaptor.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/image/fi_adaptor.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/trait/qlf_value.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/trait/qlf_value.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/trait/qlf_value.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/pixter1d.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/pixter1d.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/pixter1d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/pixter2d.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/pixter2d.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/pixter2d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/pixter3d.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/pixter3d.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/pixter3d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/dpoints_pixter.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/dpoints_pixter.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/dpoints_pixter.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/internal/pixel_iterator_base.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/internal/pixel_iterator_base.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/internal/pixel_iterator_base.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/internal/force_exact.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/internal/force_exact.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/internal/force_exact.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/internal/line_graph_vicinity_piter.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/internal/line_graph_vicinity_piter.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/internal/line_graph_vicinity_piter.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/internal/image_value_morpher.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/internal/image_value_morpher.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/internal/image_value_morpher.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/alias/dpoint1d.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/alias/dpoint1d.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/alias/dpoint1d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/alias/dpoint2d.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/alias/dpoint2d.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/alias/dpoint2d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/alias/dpoint3d.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/alias/dpoint3d.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/alias/dpoint3d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/alias/point2d_h.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/alias/point2d_h.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/alias/point2d_h.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/alias/point3df.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/alias/point3df.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/alias/point3df.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/alias/dpoint2d_h.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/alias/dpoint2d_h.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/alias/dpoint2d_h.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/alias/window1d.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/alias/window1d.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/alias/window1d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/alias/window3d.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/alias/window3d.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/alias/window3d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/alias/point1d.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/alias/point1d.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/alias/point1d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/alias/point2d.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/alias/point2d.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/alias/point2d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/core/alias/point3d.hh
===================================================================
--- branches/cleanup-2008/milena/mln/core/alias/point3d.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/core/alias/point3d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/math/abs.hh
===================================================================
--- branches/cleanup-2008/milena/mln/math/abs.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/math/abs.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/metal/abort.hh
===================================================================
--- branches/cleanup-2008/milena/mln/metal/abort.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/metal/abort.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/level/memset_.hh
===================================================================
--- branches/cleanup-2008/milena/mln/level/memset_.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/level/memset_.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/linear/gaussian.hh
===================================================================
--- branches/cleanup-2008/milena/mln/linear/gaussian.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/linear/gaussian.hh (revision 2838)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2008 EPITA Research and Development
+// Copyright (C) 2001, 2002, 2003, 2004, 2008 EPITA Research and
// Laboratory
//
// This file is part of the Olena Library. This library is free
Index: branches/cleanup-2008/milena/mln/tag/skeleton.hh
===================================================================
--- branches/cleanup-2008/milena/mln/tag/skeleton.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/tag/skeleton.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/accu/count_adjacent_vertices.hh
===================================================================
--- branches/cleanup-2008/milena/mln/accu/count_adjacent_vertices.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/accu/count_adjacent_vertices.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/accu/height.hh
===================================================================
--- branches/cleanup-2008/milena/mln/accu/height.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/accu/height.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/value/proxy.hh
===================================================================
--- branches/cleanup-2008/milena/mln/value/proxy.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/value/proxy.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/value/int_u_sat.hh
===================================================================
--- branches/cleanup-2008/milena/mln/value/int_u_sat.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/value/int_u_sat.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/value/stack.hh
===================================================================
--- branches/cleanup-2008/milena/mln/value/stack.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/value/stack.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/make/voronoi.hh
===================================================================
--- branches/cleanup-2008/milena/mln/make/voronoi.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/make/voronoi.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/border/fill.hh
===================================================================
--- branches/cleanup-2008/milena/mln/border/fill.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/border/fill.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/border/get.hh
===================================================================
--- branches/cleanup-2008/milena/mln/border/get.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/border/get.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/convert/to_upper_window.hh
===================================================================
--- branches/cleanup-2008/milena/mln/convert/to_upper_window.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/convert/to_upper_window.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/convert/to_p_array.hh
===================================================================
--- branches/cleanup-2008/milena/mln/convert/to_p_array.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/convert/to_p_array.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/convert/to_window.hh
===================================================================
--- branches/cleanup-2008/milena/mln/convert/to_window.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/convert/to_window.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/geom/seeds2tiling.hh
===================================================================
--- branches/cleanup-2008/milena/mln/geom/seeds2tiling.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/geom/seeds2tiling.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/geom/seeds2tiling_roundness.hh
===================================================================
--- branches/cleanup-2008/milena/mln/geom/seeds2tiling_roundness.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/geom/seeds2tiling_roundness.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/set/inter.hh
===================================================================
--- branches/cleanup-2008/milena/mln/set/inter.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/set/inter.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/morpho/closing_volume.hh
===================================================================
--- branches/cleanup-2008/milena/mln/morpho/closing_volume.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/morpho/closing_volume.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/morpho/closing_area.hh
===================================================================
--- branches/cleanup-2008/milena/mln/morpho/closing_area.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/morpho/closing_area.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/morpho/closing_height.hh
===================================================================
--- branches/cleanup-2008/milena/mln/morpho/closing_height.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/morpho/closing_height.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/morpho/opening_area_on_vertices.hh
===================================================================
--- branches/cleanup-2008/milena/mln/morpho/opening_area_on_vertices.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/morpho/opening_area_on_vertices.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/morpho/closing_attribute.hh
===================================================================
--- branches/cleanup-2008/milena/mln/morpho/closing_attribute.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/morpho/closing_attribute.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/morpho/opening_attribute.hh
===================================================================
--- branches/cleanup-2008/milena/mln/morpho/opening_attribute.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/morpho/opening_attribute.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/morpho/opening_volume.hh
===================================================================
--- branches/cleanup-2008/milena/mln/morpho/opening_volume.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/morpho/opening_volume.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/morpho/closing_area_on_vertices.hh
===================================================================
--- branches/cleanup-2008/milena/mln/morpho/closing_area_on_vertices.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/morpho/closing_area_on_vertices.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/morpho/opening_height.hh
===================================================================
--- branches/cleanup-2008/milena/mln/morpho/opening_height.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/morpho/opening_height.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/morpho/opening_area.hh
===================================================================
--- branches/cleanup-2008/milena/mln/morpho/opening_area.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/morpho/opening_area.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/canvas/morpho/algebraic_union_find.hh
===================================================================
--- branches/cleanup-2008/milena/mln/canvas/morpho/algebraic_union_find.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/canvas/morpho/algebraic_union_find.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/labeling/flat_zones.hh
===================================================================
--- branches/cleanup-2008/milena/mln/labeling/flat_zones.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/labeling/flat_zones.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/labeling/foreground.hh
===================================================================
--- branches/cleanup-2008/milena/mln/labeling/foreground.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/labeling/foreground.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/labeling/regional_minima.hh
===================================================================
--- branches/cleanup-2008/milena/mln/labeling/regional_minima.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/labeling/regional_minima.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/labeling/regional_maxima.hh
===================================================================
--- branches/cleanup-2008/milena/mln/labeling/regional_maxima.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/labeling/regional_maxima.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/labeling/background.hh
===================================================================
--- branches/cleanup-2008/milena/mln/labeling/background.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/labeling/background.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/util/greater_psite.hh
===================================================================
--- branches/cleanup-2008/milena/mln/util/greater_psite.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/util/greater_psite.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2005, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2005, 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
Index: branches/cleanup-2008/milena/mln/util/ord_pair.hh
===================================================================
--- branches/cleanup-2008/milena/mln/util/ord_pair.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/util/ord_pair.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/util/graph.hh
===================================================================
--- branches/cleanup-2008/milena/mln/util/graph.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/util/graph.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/util/greater_point.hh
===================================================================
--- branches/cleanup-2008/milena/mln/util/greater_point.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/util/greater_point.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2005, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2005, 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
Index: branches/cleanup-2008/milena/mln/util/internal/boost_graph_structure.hh
===================================================================
--- branches/cleanup-2008/milena/mln/util/internal/boost_graph_structure.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/util/internal/boost_graph_structure.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/util/internal/boost_graph_access.hh
===================================================================
--- branches/cleanup-2008/milena/mln/util/internal/boost_graph_access.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/util/internal/boost_graph_access.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/util/internal/graph_base.hh
===================================================================
--- branches/cleanup-2008/milena/mln/util/internal/graph_base.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/util/internal/graph_base.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/util/internal/boost_graph.hh
===================================================================
--- branches/cleanup-2008/milena/mln/util/internal/boost_graph.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/util/internal/boost_graph.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/mln/util/internal/boost_graph_property.hh
===================================================================
--- branches/cleanup-2008/milena/mln/util/internal/boost_graph_property.hh (revision 2837)
+++ branches/cleanup-2008/milena/mln/util/internal/boost_graph_property.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/sandbox/levillain/morpho/lower_completion.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/levillain/morpho/lower_completion.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/levillain/morpho/lower_completion.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2005, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2005, 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
Index: branches/cleanup-2008/milena/sandbox/levillain/morpho/shortest_path_watershed.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/levillain/morpho/shortest_path_watershed.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/levillain/morpho/shortest_path_watershed.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2005, 2008 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2005, 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
Index: branches/cleanup-2008/milena/sandbox/pellegrin/set/core/p_bgraph.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/pellegrin/set/core/p_bgraph.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/pellegrin/set/core/p_bgraph.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/sandbox/pellegrin/set/core/p_line_graph.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/pellegrin/set/core/p_line_graph.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/pellegrin/set/core/p_line_graph.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/sandbox/pellegrin/set/core/p_graph.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/pellegrin/set/core/p_graph.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/pellegrin/set/core/p_graph.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE)
+// 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
Index: branches/cleanup-2008/milena/sandbox/nivault/dmap.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/nivault/dmap.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/nivault/dmap.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/jardonnet/array/old/nd.hh
===================================================================
Index: branches/cleanup-2008/milena/sandbox/jardonnet/array/old/1d.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/jardonnet/array/old/1d.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/jardonnet/array/old/1d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/jardonnet/array/old/2d.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/jardonnet/array/old/2d.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/jardonnet/array/old/2d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/jardonnet/array/old/3d.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/jardonnet/array/old/3d.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/jardonnet/array/old/3d.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/jardonnet/array/old/all.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/jardonnet/array/old/all.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/jardonnet/array/old/all.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/jardonnet/array/old/objs.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/jardonnet/array/old/objs.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/jardonnet/array/old/objs.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/garrigues/ocr/skeleton.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/garrigues/ocr/skeleton.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/garrigues/ocr/skeleton.hh (revision 2838)
@@ -83,11 +83,11 @@
initialize(is_crest, input);
level::fill(is_crest, false);
- mln_piter_(image2d<value::int_u8>) p(dist_map.domain());
+ mln_piter_(image2d<bool>) p(input.domain());
mln_niter_(neighb2d) n(nbh, p);
for_all(p)
{
- if (!input(p) || dist_map(p) < 10)
+ if (!input(p) || dist_map(p) < 0)
continue;
unsigned nb_eq = 0;
@@ -108,8 +108,12 @@
return is_crest;
}
+
image2d<bool>
- skeleton(const image2d<bool>& input, unsigned nbh_i)
+ skeleton_with_constraint(const image2d<bool>& input,
+ unsigned nbh_i,
+ const image2d<bool>& K,
+ const image2d<value::int_u8>& priority)
{
mln_assertion(nbh_i == 4 || nbh_i == 8);
@@ -117,24 +121,6 @@
image2d<bool> output;
initialize(output, input);
-
- int vals[] = { 0, 9, 0, 9, 0,
- 9, 6, 4, 6, 9,
- 0, 4, 0, 4, 0, // Values of distances.
- 9, 6, 4, 6, 9,
- 0, 9, 0, 9, 0 };
-
- image2d<value::int_u8> dist_map_n = transform::distance(value::int_u8(), logical::not_(input), nbh, make::w_window2d_int(vals));
- image2d<value::int_u8> dist_map = arith::revert(dist_map_n);
-
- io::pgm::save(dist_map, "distance.pgm");
- io::pgm::save(dist_map_n, "distance_n.pgm");
-
- // Make K
- image2d<bool> K = crest(input, dist_map_n, nbh);
-
- io::pbm::save(K, "K.pbm");
-
typedef mln_site_(image2d<bool>) P;
p_priority<value::int_u8, p_queue_fast<P> > q;
@@ -147,7 +133,7 @@
for_all(p)
if (!input(p) &&
is_simple_point2d(input, nbh_i, p)) // p is a simple point of background
- q.push(dist_map(p), p);
+ q.push(priority(p), p);
}
// Propagation.
@@ -169,7 +155,7 @@
{
output(n) = false; // Remove n from object
// save_state(output);
- q.push(dist_map(n), n);
+ q.push(priority(n), n);
}
}
}
@@ -177,6 +163,32 @@
return output;
}
+
+ image2d<bool>
+ skeleton(const image2d<bool>& input, unsigned nbh_i)
+ {
+ mln_assertion(nbh_i == 4 || nbh_i == 8);
+ neighb2d nbh = int_to_neighb(nbh_i);
+
+ int vals[] = { 0, 9, 0, 9, 0,
+ 9, 6, 4, 6, 9,
+ 0, 4, 0, 4, 0, // Values of distances.
+ 9, 6, 4, 6, 9,
+ 0, 9, 0, 9, 0 };
+
+ image2d<value::int_u8> dist_map_n = transform::distance(value::int_u8(), logical::not_(input), nbh, make::w_window2d_int(vals));
+ image2d<value::int_u8> dist_map = arith::revert(dist_map_n);
+
+ io::pgm::save(dist_map, "distance.pgm");
+ io::pgm::save(dist_map_n, "distance_n.pgm");
+
+ // Make K
+ image2d<bool> K = crest(input, dist_map_n, nbh);
+ io::pbm::save(K, "K.pbm");
+
+ return skeleton_with_constraint(input, nbh_i, K, dist_map);
+ }
+
} // end of namespace mln
#endif
Index: branches/cleanup-2008/milena/sandbox/garrigues/ocr/check.sh
===================================================================
--- branches/cleanup-2008/milena/sandbox/garrigues/ocr/check.sh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/garrigues/ocr/check.sh (revision 2838)
@@ -1,20 +1,23 @@
+output_dir=tmp/`date '+%y_%m_%d__%H_%M_%S'`
+mkdir $output_dir
for i in input/*.pbm ; do
echo "==========================================="
echo "--------- $i"
echo "==========================================="
ref="$i.txt"
+ echo "______________________________Reference"
cat $ref
sed -e 's/\(.\)/\1\n/g' $ref > tmp/ref
total=`cat tmp/ref | wc -l `
- ./ocr_without_preprocess $i tmp/`basename $i` > tmp/without
- echo "_______________without preprocessing"
+ echo "______________________________without preprocessing"
+ ./ocr_without_preprocess $i > tmp/without
cat tmp/without
cat tmp/without | sed -e 's/\(.\)/\1\n/g' > tmp/without
- ./ocr_with_preprocess $i tmp/`basename $i` > tmp/with
- echo "_______________with preprocessing"
+ echo "______________________________with preprocessing"
+ ./ocr_with_preprocess $i $output_dir/`basename $i` > tmp/with
cat tmp/with
cat tmp/with | sed -e 's/\(.\)/\1\n/g' > tmp/with
Index: branches/cleanup-2008/milena/sandbox/garrigues/ocr/ocr_with_preprocess.cc
===================================================================
--- branches/cleanup-2008/milena/sandbox/garrigues/ocr/ocr_with_preprocess.cc (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/garrigues/ocr/ocr_with_preprocess.cc (revision 2838)
@@ -50,6 +50,7 @@
#include <mln/labeling/regional_maxima.hh>
#include <mln/morpho/dilation.hh>
#include <mln/win/octagon2d.hh>
+#include <mln/border/resize.hh>
#include <mln/io/pgm/load.hh>
#include <mln/io/pgm/save.hh>
@@ -63,12 +64,13 @@
// _COMPILATION_
// g++ -DNDEBUG -O3 -I../../.. ocr.cc -L/usr/lib -ltesseract_full -lpthread
+// image2d<int_u8> tmp = clone(cast_image<int_u8>(Var)); \
+
#if 1
# define OCR_TEST(Var) \
{ \
- image2d<int_u8> tmp = clone(cast_image<int_u8>(Var)); \
float score = 0.f; \
- char* s = tesseract("fra", tmp, &score); \
+ char* s = tesseract("fra", Var, &score); \
std::cerr << #Var << ": " << score << std::endl << s; \
delete[] s; \
}
@@ -93,10 +95,11 @@
mln::border::thickness = 0;
io::pbm::load(input, argv[1]);
- OCR_TEST(input);
+// OCR_TEST(input);
// Resize
image2d<int_u8> enlarged = enlarge(logical::not_(input), 2);
+ image2d<bool> big = geom::resize(logical::not_(input), 4);
io::pgm::save(enlarged, std::string(argv[2]) + "_1_enlarge.pgm");
OCR_TEST(enlarged);
@@ -124,25 +127,9 @@
OCR_TEST(skel);
// Dilation
- image2d<bool> dilate;
win::octagon2d oct(5);
- { // FIXME?
-#if 1
- image2d<int_u8> tmp;
- initialize(tmp, skel);
- initialize(dilate, skel);
- mln_piter_(image2d<int_u8>) p(tmp.domain());
- for_all(p)
- tmp(p) = skel(p);
- tmp = morpho::dilation(tmp, oct);
- for_all(p)
- dilate(p) = tmp(p);
-#else
- // Should be using this but it doesn't work :(
- dilate = morpho::dilation(skel, oct);
-#endif
- }
-
+ image2d<bool> dilate = morpho::dilation(skel, oct);
+ border::resize(dilate, 0);
io::pbm::save(dilate, std::string(argv[2]) + "_5_dilation.pbm");
OCR_TEST(dilate);
@@ -153,6 +140,26 @@
io::pbm::save(subsampled, argv[2]);
+
+ image2d<bool> K = crest(big, blur, c4());
+ OCR_TEST(K);
+ io::pbm::save(K, std::string(argv[2]) + "_7_K.pbm");
+
+ image2d<bool> skel_on_gaussian = skeleton_with_constraint(big, 4, K, arith::revert(blur));
+ OCR_TEST(skel_on_gaussian);
+ io::pbm::save(skel_on_gaussian, std::string(argv[2]) + "_8_skeleton_on_blur.pbm");
+
+ // Dilation
+ image2d<bool> dilate_on_gaussian = morpho::dilation(skel_on_gaussian, oct);
+ border::resize(dilate_on_gaussian, 0);
+ io::pbm::save(dilate_on_gaussian, std::string(argv[2]) + "_9_dilation_on_gaussian.pbm");
+ OCR_TEST(dilate_on_gaussian);
+
+ // Subsampling
+ image2d<bool> subsampled_on_gaussian = subsampling::subsampling(dilate_on_gaussian, dpoint2d(1,1), 2);
+ io::pbm::save(subsampled_on_gaussian, std::string(argv[2]) + "_91_subsampling_on_gaussian.pbm");
+ OCR_TEST(subsampled_on_gaussian);
+
{
float score = 0;
char* s = tesseract("fra", subsampled, &score);
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbhsl.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbhsl.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbhsl.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbnrgb.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbnrgb.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbnrgb.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbxyz.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbxyz.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbxyz.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/conversion.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/conversion.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/conversion.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/cast.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/cast.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/cast.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbhsv.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbhsv.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbhsv.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbyiq.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbyiq.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbyiq.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/force.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/force.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/force.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/conversion_ng_se.hh
===================================================================
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/nrgbxyz.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/nrgbxyz.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/nrgbxyz.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/basics.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/basics.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/basics.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/abstract/colorconv.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/abstract/colorconv.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/abstract/colorconv.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/abstract/conversion.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/abstract/conversion.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/abstract/conversion.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/bound.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/bound.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/bound.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/stretch.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/stretch.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/stretch.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbyuv.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbyuv.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbyuv.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbhsi.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbhsi.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/convert/rgbhsi.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/color.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/color.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/color.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/color/hsi.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/color/hsi.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/color/hsi.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/color/yuv.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/color/yuv.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/color/yuv.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/color/hsl.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/color/hsl.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/color/hsl.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/color/nrgb.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/color/nrgb.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/color/nrgb.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/color/xyz.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/color/xyz.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/color/xyz.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/color/hsv.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/color/hsv.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/color/hsv.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/color/yiq.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/color/yiq.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/color/yiq.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/color/rgb.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/color/rgb.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/color/rgb.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003 EPITA Research and Development
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
Index: branches/cleanup-2008/milena/sandbox/vigouroux/color/color.hh
===================================================================
--- branches/cleanup-2008/milena/sandbox/vigouroux/color/color.hh (revision 2837)
+++ branches/cleanup-2008/milena/sandbox/vigouroux/color/color.hh (revision 2838)
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory
+// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and
+// Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
2
1
* apps/statues/mesh-complex-segm.cc,
* doc/benchmark/canvas.cc,
* doc/oldies/2006__tour_1.txt,
* doc/oldies/2006__tour_2.txt,
* doc/tutorial/examples/image_plain.cc,
* doc/tutorial/examples/sub_image.cc,
* doc/tutorial/samples/fill-call-1.cc,
* doc/tutorial/samples/fill-part-image.cc,
* doc/tutorial/samples/fill-subdomain-shorter.cc,
* doc/tutorial/samples/fill-subdomain.cc,
* doc/tutorial/samples/fill-subimage-cfun.cc,
* doc/tutorial/samples/ima2d-7.cc,
* doc/tutorial/samples/ima2d-rot.cc,
* doc/tutorial/samples/paste-call-1.cc,
* doc/tutorial/tutorial.tex: rename level::fill/paste as
data::fill/paste.
---
milena/ChangeLog | 21 ++++++++++++++++++++
milena/apps/statues/mesh-complex-segm.cc | 2 +-
milena/doc/benchmark/canvas.cc | 4 +-
milena/doc/oldies/2006__tour_1.txt | 10 ++++----
milena/doc/oldies/2006__tour_2.txt | 4 +-
milena/doc/tutorial/examples/image_plain.cc | 6 ++--
milena/doc/tutorial/examples/sub_image.cc | 4 +-
milena/doc/tutorial/samples/fill-call-1.cc | 4 +-
milena/doc/tutorial/samples/fill-part-image.cc | 4 +-
.../doc/tutorial/samples/fill-subdomain-shorter.cc | 4 +-
milena/doc/tutorial/samples/fill-subdomain.cc | 8 +++---
milena/doc/tutorial/samples/fill-subimage-cfun.cc | 4 +-
milena/doc/tutorial/samples/ima2d-7.cc | 2 +-
milena/doc/tutorial/samples/ima2d-rot.cc | 4 +-
milena/doc/tutorial/samples/paste-call-1.cc | 4 +-
milena/doc/tutorial/tutorial.tex | 20 +++++++++---------
16 files changed, 63 insertions(+), 42 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index e1a51ee..1ae05f4 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,26 @@
2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Update tutorial according to the last renamings.
+
+ * apps/statues/mesh-complex-segm.cc,
+ * doc/benchmark/canvas.cc,
+ * doc/oldies/2006__tour_1.txt,
+ * doc/oldies/2006__tour_2.txt,
+ * doc/tutorial/examples/image_plain.cc,
+ * doc/tutorial/examples/sub_image.cc,
+ * doc/tutorial/samples/fill-call-1.cc,
+ * doc/tutorial/samples/fill-part-image.cc,
+ * doc/tutorial/samples/fill-subdomain-shorter.cc,
+ * doc/tutorial/samples/fill-subdomain.cc,
+ * doc/tutorial/samples/fill-subimage-cfun.cc,
+ * doc/tutorial/samples/ima2d-7.cc,
+ * doc/tutorial/samples/ima2d-rot.cc,
+ * doc/tutorial/samples/paste-call-1.cc,
+ * doc/tutorial/tutorial.tex: rename level::fill/paste as
+ data::fill/paste.
+
+2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Fix compilation issues.
* tests/unit_test/Makefile.am,
diff --git a/milena/apps/statues/mesh-complex-segm.cc b/milena/apps/statues/mesh-complex-segm.cc
index 05fffe0..00c9d13 100644
--- a/milena/apps/statues/mesh-complex-segm.cc
+++ b/milena/apps/statues/mesh-complex-segm.cc
@@ -146,7 +146,7 @@ int main(int argc, char* argv[])
`---------*/
mln::rgb8_2complex_image3df output(wshed.domain());
- mln::level::fill(output, mln::literal::white);
+ mln::data::fill(output, mln::literal::white);
// FIXME: Use a colorize functor instead.
// Choose random colors for each basin number.
diff --git a/milena/doc/benchmark/canvas.cc b/milena/doc/benchmark/canvas.cc
index b40a6c3..fd7f698 100644
--- a/milena/doc/benchmark/canvas.cc
+++ b/milena/doc/benchmark/canvas.cc
@@ -110,10 +110,10 @@ namespace mln
labeling<F>::init()
{
initialize(deja_vu, f.input);
- mln::level::fill(deja_vu, false);
+ mln::data::fill(deja_vu, false);
initialize(parent, f.input);
initialize(output, f.input);
- mln::level::fill(output, L(literal::zero));
+ mln::data::fill(output, L(literal::zero));
nlabels = 0;
}
diff --git a/milena/doc/oldies/2006__tour_1.txt b/milena/doc/oldies/2006__tour_1.txt
index b083281..26be330 100644
--- a/milena/doc/oldies/2006__tour_1.txt
+++ b/milena/doc/oldies/2006__tour_1.txt
@@ -25,7 +25,7 @@ image1d<T> and image3d<T> are similarly constructed
char[] values = { 'a', 'b', 'c',
'd', 'e', 'f' };
image2d<char> ima(2, 3);
-level::fill(ima, values);
+data::fill(ima, values);
debug::print(ima.bbox());
// [(0, 0)..(1, 2)]
@@ -54,7 +54,7 @@ debug::print(ima, p);
bbox2d bb = set(from(1,5), to(2,7));
image2d<char> ima2(bb);
ima2.set_name("ima2");
-level::fill(ima2, values);
+data::fill(ima2, values);
debug::print(ima2);
// 5 6 7
@@ -127,7 +127,7 @@ int[] values = { 0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 0, 0, 0, 0 };
image2d<bool> ima(from(1,1), to(4,4));
-level::fill(ima, values);
+data::fill(ima, values);
debug::print(ima);
// 1 2 3 4 5
// - - - - -
@@ -145,7 +145,7 @@ debug::print(ima2);
// 3| 0 0 0 0 0
// 4| 0 0 0 0 0
-actually, after level::fill we have:
+actually, after data::fill we have:
// 0 1 2 3 4 5 6
// - - - - - - -
@@ -232,7 +232,7 @@ int[] values = { 0, 1, 1, 1, 0,
0, 1, 1, 1, 0,
0, 0, 0, 0, 0 };
image2d_without_border<bool> ima(from(1,1), to(4,4));
-level::fill(ima, values);
+data::fill(ima, values);
debug::print(ima);
// 1 2 3 4 5
// - - - - -
diff --git a/milena/doc/oldies/2006__tour_2.txt b/milena/doc/oldies/2006__tour_2.txt
index e4d7011..ea06530 100644
--- a/milena/doc/oldies/2006__tour_2.txt
+++ b/milena/doc/oldies/2006__tour_2.txt
@@ -21,7 +21,7 @@ T: value type
int[] values = { 'a', 'b', 'c',
'd', 'e', 'f' };
image2d<char> ima(2, 3);
-level::fill(ima, values);
+data::fill(ima, values);
debug::print(ima.bbox());
// [(0, 0)..(1, 2)]
@@ -51,7 +51,7 @@ debug::print(ima, p);
bbox2d bb = set(from(1,5), to(2,7));
image2d<char> ima2(bb);
ima2.set_name("ima2");
-level::fill(ima2, values);
+data::fill(ima2, values);
debug::print(ima2);
// 5 6 7
diff --git a/milena/doc/tutorial/examples/image_plain.cc b/milena/doc/tutorial/examples/image_plain.cc
index 94ad5c6..4bfdf79 100644
--- a/milena/doc/tutorial/examples/image_plain.cc
+++ b/milena/doc/tutorial/examples/image_plain.cc
@@ -2,7 +2,7 @@
# include <mln/core/image/plain.hh>
# include <mln/debug/println.hh>
# include <mln/debug/iota.hh>
-# include <mln/level/fill_with_value.hh>
+# include <mln/data/fill_with_value.hh>
# include <mln/opt/at.hh>
@@ -36,7 +36,7 @@ int main()
debug::println(ima);
image2d<I_> mos(2, 2);
- level::fill_with_value(mos, ima);
- level::fill_with_value(opt::at(mos, 1,1), 0);
+ data::fill_with_value(mos, ima);
+ data::fill_with_value(opt::at(mos, 1,1), 0);
picture(mos);
}
diff --git a/milena/doc/tutorial/examples/sub_image.cc b/milena/doc/tutorial/examples/sub_image.cc
index 533ffe7..0321d30 100644
--- a/milena/doc/tutorial/examples/sub_image.cc
+++ b/milena/doc/tutorial/examples/sub_image.cc
@@ -6,7 +6,7 @@
# include <mln/debug/println.hh>
# include <mln/morpho/elementary/gradient.hh>
-# include <mln/level/fill_with_value.hh>
+# include <mln/data/fill_with_value.hh>
int main()
@@ -22,7 +22,7 @@ int main()
debug::println(sub);
debug::println(morpho::elementary::gradient(sub, c4()));
- level::fill_with_value((ima | box2d(2,3)).rw(), 0);
+ data::fill_with_value((ima | box2d(2,3)).rw(), 0);
debug::println(ima);
trait::image::print(sub);
diff --git a/milena/doc/tutorial/samples/fill-call-1.cc b/milena/doc/tutorial/samples/fill-call-1.cc
index d41a5d9..1afba03 100644
--- a/milena/doc/tutorial/samples/fill-call-1.cc
+++ b/milena/doc/tutorial/samples/fill-call-1.cc
@@ -8,11 +8,11 @@ int main()
// \}
// \{
- level::fill(imga, 'a');
+ data::fill(imga, 'a');
// \}
// \{
- level::fill((imga | box2d(1,2)).rw(), 'a');
+ data::fill((imga | box2d(1,2)).rw(), 'a');
// \}
}
diff --git a/milena/doc/tutorial/samples/fill-part-image.cc b/milena/doc/tutorial/samples/fill-part-image.cc
index 0c90f35..e3ad3a2 100644
--- a/milena/doc/tutorial/samples/fill-part-image.cc
+++ b/milena/doc/tutorial/samples/fill-part-image.cc
@@ -29,13 +29,13 @@ int main()
// contained in arr and fill these ones
// with 0.
// We must call "rw()" here.
- level::fill((ima | arr).rw(), 0);
+ data::fill((ima | arr).rw(), 0);
debug::println((ima | arr));
mln_VAR(ima2, ima | arr);
// We do not need to call "rw()" here.
- level::fill(ima2, 0);
+ data::fill(ima2, 0);
// \}
debug::println(ima2);
diff --git a/milena/doc/tutorial/samples/fill-subdomain-shorter.cc b/milena/doc/tutorial/samples/fill-subdomain-shorter.cc
index 7526682..fc4d725 100644
--- a/milena/doc/tutorial/samples/fill-subdomain-shorter.cc
+++ b/milena/doc/tutorial/samples/fill-subdomain-shorter.cc
@@ -26,8 +26,8 @@ int main()
image2d<rgb8> ima2;
initialize(ima2, ima);
- level::fill(ima2, literal::black);
+ data::fill(ima2, literal::black);
- level::fill((ima2 | (pw::value(lab) == pw::cst(2u))).rw(), literal::red);
+ data::fill((ima2 | (pw::value(lab) == pw::cst(2u))).rw(), literal::red);
// \}
}
diff --git a/milena/doc/tutorial/samples/fill-subdomain.cc b/milena/doc/tutorial/samples/fill-subdomain.cc
index efe8d58..a5ec65e 100644
--- a/milena/doc/tutorial/samples/fill-subdomain.cc
+++ b/milena/doc/tutorial/samples/fill-subdomain.cc
@@ -36,8 +36,8 @@ int main()
image2d<label_8> tmp;
initialize(tmp, lbl);
- level::fill(tmp, 0);
- level::fill((tmp | lbl_2.domain()).rw(), 1);
+ data::fill(tmp, 0);
+ data::fill((tmp | lbl_2.domain()).rw(), 1);
doc::ppmsave(debug::colorize(rgb8(), tmp, 1), "fill-subdomain");
// Create a black image from ima.
@@ -45,9 +45,9 @@ int main()
// \{
image2d<rgb8> ima2;
initialize(ima2, ima);
- level::fill(ima2, literal::black);
+ data::fill(ima2, literal::black);
- level::fill((ima2 | lbl_2.domain()).rw(), literal::red);
+ data::fill((ima2 | lbl_2.domain()).rw(), literal::red);
// \}
doc::ppmsave(ima2, "fill-subdomain");
diff --git a/milena/doc/tutorial/samples/fill-subimage-cfun.cc b/milena/doc/tutorial/samples/fill-subimage-cfun.cc
index 6f3a4dd..2ff6c6c 100644
--- a/milena/doc/tutorial/samples/fill-subimage-cfun.cc
+++ b/milena/doc/tutorial/samples/fill-subimage-cfun.cc
@@ -30,9 +30,9 @@ int main()
// \{
image2d<rgb8> ima2;
initialize(ima2, ima);
- level::fill(ima2, literal::black);
+ data::fill(ima2, literal::black);
- level::fill((ima2 | row_oddity).rw(), literal::red);
+ data::fill((ima2 | row_oddity).rw(), literal::red);
// \}
doc::ppmsave(ima2, "fill-subimage-cfun");
diff --git a/milena/doc/tutorial/samples/ima2d-7.cc b/milena/doc/tutorial/samples/ima2d-7.cc
index d15d3b9..3f4cd35 100644
--- a/milena/doc/tutorial/samples/ima2d-7.cc
+++ b/milena/doc/tutorial/samples/ima2d-7.cc
@@ -8,6 +8,6 @@ int main()
image2d<value::int_u8> img2b;
initialize(img2b, img2a);
- level::fill(img2b, img2a);
+ data::fill(img2b, img2a);
// \}
}
diff --git a/milena/doc/tutorial/samples/ima2d-rot.cc b/milena/doc/tutorial/samples/ima2d-rot.cc
index 84cd1ad..6463a5c 100644
--- a/milena/doc/tutorial/samples/ima2d-rot.cc
+++ b/milena/doc/tutorial/samples/ima2d-rot.cc
@@ -12,14 +12,14 @@ int main()
// Declare the image to be rotated.
image2d<value::rgb8> ima1_(220, 220);
- level::fill(ima1_, literal::cyan);
+ data::fill(ima1_, literal::cyan);
border::fill(ima1_, literal::yellow);
// Set an infinite extension.
mln_VAR(ima1, extend(ima1_, pw::cst(literal::yellow)));
// Declare the output image.
image2d<value::rgb8> ima2(220, 220);
- level::fill(ima2, literal::cyan);
+ data::fill(ima2, literal::cyan);
border::fill(ima2, literal::yellow);
box2d extended_domain= ima1.domain();
diff --git a/milena/doc/tutorial/samples/paste-call-1.cc b/milena/doc/tutorial/samples/paste-call-1.cc
index 88d4f88..01a8bc5 100644
--- a/milena/doc/tutorial/samples/paste-call-1.cc
+++ b/milena/doc/tutorial/samples/paste-call-1.cc
@@ -9,10 +9,10 @@ int main()
image2d<unsigned char> imga(imgb.domain());
// Initialize the image values.
- level::fill(imgb, 'b');
+ data::fill(imgb, 'b');
// Paste the content of imgb in imga.
- level::paste(imgb, imga);
+ data::paste(imgb, imga);
debug::println(imga);
// \}
diff --git a/milena/doc/tutorial/tutorial.tex b/milena/doc/tutorial/tutorial.tex
index f8e758b..a2affa1 100644
--- a/milena/doc/tutorial/tutorial.tex
+++ b/milena/doc/tutorial/tutorial.tex
@@ -1031,7 +1031,7 @@ Sometimes, you may want to initialize an image from another one:
\var{img2b} is declared without specifying a domain. Its border size is set to
the default one, e.g 0. By using \code{initialize} \var{img2b} is initialized
with the same domain and border/extension as \var{img2a}. The data is not
- copied though. Other routines like \code{level::fill} can be called in order to
+ copied though. Other routines like \code{data::fill} can be called in order to
do so (See also \doxyref{fillop}).
@@ -1405,7 +1405,7 @@ passed as parameter. These macros can be used with any container like images or
site sets.
Here follow an example with the implemantions of the most basic routines which
-use the \code{for\_all} loop: \code{level::fill()} and \code{level::paste()}.
+use the \code{for\_all} loop: \code{data::fill()} and \code{data::paste()}.
\doxycode{fill}
@@ -1474,9 +1474,9 @@ Routine name & Description \\ \hline
level::clone() & creates a deep copy of an object. Any shared data is
duplicated. \\
-level::fill() & fill an object with a value. \\
+data::fill() & fill an object with a value. \\
-level::paste() & paste object data to another object. \\
+data::paste() & paste object data to another object. \\
labeling::blobs() & find and label the different components of an image. \\
@@ -1497,17 +1497,17 @@ have not been initialized yet. So we fill \var{imga} with the value 'a':
\doxycode[2]{fill-call-1}
-The ``\code{fill}'' algorithm is located in the sub-namespace "\namespace{mln::level}" since this
-algorithm deals with the ``level'' of site values.
+The ``\code{fill}'' algorithm is located in the sub-namespace "\namespace{mln::data}" since this
+algorithm deals with the site values.
Note that the term "level" refers to the fact that an image can be considered as
a landscape where the elevation at a particular location/site is given by
the corresponding site value.
-The full name of this routine is ``\namespace{mln::level::fill}''.
+The full name of this routine is ``\namespace{mln::data::fill}''.
To access to a particular algorithm, the proper file shall be included.
The file names of algorithms strictly map their C++ name; so
-\namespace{mln::level::fill} is defined in the file \header{mln/level/fill.hh}.
+\namespace{mln::data::fill} is defined in the file \header{mln/data/fill.hh}.
%----------------
\subsection*{Note}
@@ -1515,7 +1515,7 @@ Most algorithms in Olena are constructed following the classical scheme: "output
algo(input)", where the input image is only read. However some few algorithms
take an input image in order to modify it. To enforce this particular feature,
the user shall explicitly state that the image is provided so that its data is
-modified "read/write". The algorithm call shall be ``\code{level::fill(ima.rw(),
+modified "read/write". The algorithm call shall be ``\code{data::fill(ima.rw(),
val)}''. When forgetting the ``\code{rw()}'' call it does not compile.
\doxycode[3]{fill-call-1}
@@ -1551,7 +1551,7 @@ Gives:
The notion of site sets plays an important role in Olena. Many tests are
performed at run-time to ensure that the program is correct.
-For instance, the algorithm level::paste tests that the set of sites of imgb
+For instance, the algorithm data::paste tests that the set of sites of imgb
(whose values are to be pasted) is a subset of the destination image.
--
1.5.6.5
1
0
* configure.ac: here.
* INSTALL: fix content about DNDEBUG.
---
ChangeLog | 8 ++++++++
INSTALL | 17 ++++++++---------
configure.ac | 1 +
3 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 25aeb2a..5f2cd3b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-12-22 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix configure.ac and INSTALL files.
+
+ * configure.ac: here.
+
+ * INSTALL: fix content about DNDEBUG.
+
2008-12-19 Guillaume Lazzara <z(a)lrde.epita.fr>
Enable the generation of version.hh.
diff --git a/INSTALL b/INSTALL
index 354f7c0..9a6bba1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -143,15 +143,14 @@ for Olena. This is a problem for GCC 2.95 and probably other compilers.
need other flags. If you know these flags, add them to `CXXFLAGS'.
-1.3.3 Debugging flags make Olena slow
--------------------------------------
-
-Because Olena depends on C++ optimizations to provide the best
-performance, and enabling debugging flags often disable optimizations,
-you are advised to override the `CXXFLAGS_OPTIMIZE' with any options
-that gives the best optimization/conformance tradeoff. However, note
-that passing `-DNDEBUG' disable many sanity checks, while providing
-only a poor performance improvement.
+1.3.3 Debugging flags
+---------------------
+
+All over the code, many sanity checks are enabled by default. They are
+convenient since they make sure nothing wrong is passed to the functions.
+However, once the program is stable they may not be necessary anymore.
+Passing `-DNDEBUG' to the CXXFLAGS disable many sanity checks, while providing
+*high* performance improvement.
diff --git a/configure.ac b/configure.ac
index 1d5ca57..5d7b719 100644
--- a/configure.ac
+++ b/configure.ac
@@ -191,6 +191,7 @@ AC_CONFIG_FILES([
milena/tests/core/other/Makefile
milena/tests/core/routine/Makefile
milena/tests/core/site_set/Makefile
+ milena/tests/data/Makefile
milena/tests/debug/Makefile
milena/tests/display/Makefile
milena/tests/draw/Makefile
--
1.5.6.5
1
0
* tests/unit_test/Makefile.am,
* headers.mk: remove entries related to non-commited files.
* mln/convert/impl/from_image_to_site_set.hh,
* mln/convert/from_to.hh: Use forward declarations.
* mln/core/routine/init.hh: fix wrong include.
* mln/core/site_set/operators.hh: add a missing forward declaration.
---
milena/ChangeLog | 14 ++++++++++++++
milena/headers.mk | 5 -----
milena/mln/convert/from_to.hh | 19 +++++++++++--------
milena/mln/convert/impl/from_image_to_site_set.hh | 7 +++++--
milena/mln/core/routine/init.hh | 2 +-
milena/mln/core/site_set/operators.hh | 9 +++++----
milena/tests/unit_test/Makefile.am | 6 ------
7 files changed, 36 insertions(+), 26 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index c713b83..e1a51ee 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,19 @@
2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Fix compilation issues.
+
+ * tests/unit_test/Makefile.am,
+ * headers.mk: remove entries related to non-commited files.
+
+ * mln/convert/impl/from_image_to_site_set.hh,
+ * mln/convert/from_to.hh: Use forward declarations.
+
+ * mln/core/routine/init.hh: fix wrong include.
+
+ * mln/core/site_set/operators.hh: add a missing forward declaration.
+
+2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Propagate renaming level::fill/paste as data::fill/paste (again).
* doc/examples/erosion.cc,
diff --git a/milena/headers.mk b/milena/headers.mk
index 24043ff..7111d16 100644
--- a/milena/headers.mk
+++ b/milena/headers.mk
@@ -777,7 +777,6 @@ mln/core/category.hh \
mln/core/macros.hh \
mln/core/box_runstart_piter.hh \
mln/core/tags.hh \
-mln/core/w_window.hh.orig \
mln/core/dpoint.hh \
mln/core/alias/dpoint2d_h.hh \
mln/core/alias/p_run2d.hh \
@@ -841,14 +840,12 @@ mln/core/concept/weighted_window.hh \
mln/core/concept/all.hh \
mln/core/concept/gpoint.hh \
mln/core/concept/site_iterator.hh \
-mln/core/concept/window.hh.LOCAL.2903.hh \
mln/core/concept/point.hh \
mln/core/concept/literal.hh \
mln/core/concept/pixel_iterator.hh \
mln/core/concept/README \
mln/core/concept/value_iterator.hh \
mln/core/concept/meta_accumulator.hh \
-mln/core/concept/window.hh.BASE.2903.hh \
mln/core/concept/gdpoint.hh \
mln/core/concept/regular_grid.hh \
mln/core/concept/mesh.hh \
@@ -864,8 +861,6 @@ mln/core/concept/meta_fun.hh \
mln/core/concept/delta_point_site.hh \
mln/core/concept/status.txt \
mln/core/concept/neighborhood.hh \
-mln/core/concept/window.hh.orig \
-mln/core/concept/window.hh.REMOTE.2903.hh \
mln/core/concept/browsing.hh \
mln/core/pixel.hh \
mln/core/clock_neighb2d.hh \
diff --git a/milena/mln/convert/from_to.hh b/milena/mln/convert/from_to.hh
index ceaada6..149b115 100644
--- a/milena/mln/convert/from_to.hh
+++ b/milena/mln/convert/from_to.hh
@@ -33,25 +33,27 @@
/// General conversion procedure between two objects.
///
/// \todo Test the effectiveness of guards.
-/// \todo Add fwd decls.
/// \todo Dispatch code in appropriate files.
-# include <mln/core/concept/object.hh>
-# include <mln/core/concept/gpoint.hh>
-# include <mln/value/concept/all.hh>
-
# include <mln/convert/impl/all.hh>
# include <mln/convert/from_to.hxx>
-# include <mln/algebra/vec.hh>
-# include <mln/metal/is.hh>
# include <mln/metal/abort.hh>
+# include <mln/metal/converts_to.hh>
+# include <mln/metal/is.hh>
+# include <mln/metal/is_a.hh>
namespace mln
{
+ // Forward declarations.
+ template <typename E> struct Object;
+ template <typename E> struct Value;
+ template <typename E> struct Site_Set;
+ template <typename E> struct Image;
+
namespace convert
{
@@ -149,7 +151,8 @@ namespace mln
from_to_dispatch(metal::true_, const F& from,
metal::true_, T& to)
{
- internal::from_to_dispatch(typename mlc_converts_to(F, T)::eval(),
+ typedef mlc_converts_to(F, T) F_converts_to_T;
+ internal::from_to_dispatch(F_converts_to_T(),
exact(from), exact(to));
}
diff --git a/milena/mln/convert/impl/from_image_to_site_set.hh b/milena/mln/convert/impl/from_image_to_site_set.hh
index 0af1a7a..6304117 100644
--- a/milena/mln/convert/impl/from_image_to_site_set.hh
+++ b/milena/mln/convert/impl/from_image_to_site_set.hh
@@ -37,8 +37,6 @@
/// \todo Add (?) the case p_run-based -> site set.
# include <utility>
-# include <mln/core/concept/image.hh>
-# include <mln/core/concept/site_set.hh>
# include <mln/core/site_set/p_run.hh>
# include <mln/metal/converts_to.hh>
@@ -47,6 +45,11 @@
namespace mln
{
+ // Forward declarations.
+ template <typename E> struct Site_Set;
+ template <typename E> struct Image;
+ template <typename E> struct Gpoint;
+
namespace convert
{
diff --git a/milena/mln/core/routine/init.hh b/milena/mln/core/routine/init.hh
index 476c374..03bf405 100644
--- a/milena/mln/core/routine/init.hh
+++ b/milena/mln/core/routine/init.hh
@@ -37,7 +37,7 @@
# include <mln/geom/bbox.hh>
# include <mln/border/find.hh>
-# include <core/routine/init.hxx>
+# include <mln/core/routine/init.hxx>
namespace mln
diff --git a/milena/mln/core/site_set/operators.hh b/milena/mln/core/site_set/operators.hh
index 4c34368..fd2b7b7 100644
--- a/milena/mln/core/site_set/operators.hh
+++ b/milena/mln/core/site_set/operators.hh
@@ -37,6 +37,7 @@
# include <algorithm>
+# include <mln/convert/from_to.hh>
# include <mln/core/concept/site_set.hh>
@@ -122,7 +123,7 @@ namespace mln
sym_diff_std_set(const Site_Set<Sl>& lhs, const Site_Set<Sr>& rhs)
{
typedef mln_site(Sl) P;
- mlc_converts_to(mln_psite(Sr), P)::check();
+ mlc_converts_to(mln_psite(Sr), P)::check();
std::set< P, util::ord<P> > sl, sr, sd;
convert::from_to(lhs, sl);
convert::from_to(rhs, sr);
@@ -149,7 +150,7 @@ namespace mln
leq_std_set(const Site_Set<Sl>& lhs, const Site_Set<Sr>& rhs)
{
typedef mln_site(Sl) P;
- mlc_converts_to(mln_psite(Sr), P)::check();
+ mlc_converts_to(mln_psite(Sr), P)::check();
std::set< P, util::ord<P> > sl, sr;
convert::from_to(lhs, sl);
convert::from_to(rhs, sr);
@@ -172,7 +173,7 @@ namespace mln
++n;
return n;
}
-
+
template <typename S>
inline
unsigned set_card_dispatch_(mln::trait::site_set::nsites::known,
@@ -180,7 +181,7 @@ namespace mln
{
return s.nsites();
}
-
+
template <typename S>
inline
unsigned set_card(const Site_Set<S>& s)
diff --git a/milena/tests/unit_test/Makefile.am b/milena/tests/unit_test/Makefile.am
index c8fc350..a3c3035 100644
--- a/milena/tests/unit_test/Makefile.am
+++ b/milena/tests/unit_test/Makefile.am
@@ -814,13 +814,11 @@ mln_core_concept_weighted_window \
mln_core_concept_all \
mln_core_concept_gpoint \
mln_core_concept_site_iterator \
-mln_core_concept_window_LOCAL_2903.cc \
mln_core_concept_point \
mln_core_concept_literal \
mln_core_concept_pixel_iterator \
mln_core_concept_value_iterator \
mln_core_concept_meta_accumulator \
-mln_core_concept_window_BASE_2903.cc \
mln_core_concept_gdpoint \
mln_core_concept_regular_grid \
mln_core_concept_mesh \
@@ -834,7 +832,6 @@ mln_core_concept_object \
mln_core_concept_meta_fun \
mln_core_concept_delta_point_site \
mln_core_concept_neighborhood \
-mln_core_concept_window_REMOTE_2903.cc \
mln_core_concept_browsing \
mln_core_pixel \
mln_core_clock_neighb2d \
@@ -1820,13 +1817,11 @@ mln_core_concept_weighted_window_SOURCES = mln_core_concept_weighted_window.cc
mln_core_concept_all_SOURCES = mln_core_concept_all.cc
mln_core_concept_gpoint_SOURCES = mln_core_concept_gpoint.cc
mln_core_concept_site_iterator_SOURCES = mln_core_concept_site_iterator.cc
-mln_core_concept_window_LOCAL_2903_SOURCES = mln_core_concept_window.cc_LOCAL_2903.cc
mln_core_concept_point_SOURCES = mln_core_concept_point.cc
mln_core_concept_literal_SOURCES = mln_core_concept_literal.cc
mln_core_concept_pixel_iterator_SOURCES = mln_core_concept_pixel_iterator.cc
mln_core_concept_value_iterator_SOURCES = mln_core_concept_value_iterator.cc
mln_core_concept_meta_accumulator_SOURCES = mln_core_concept_meta_accumulator.cc
-mln_core_concept_window_BASE_2903_SOURCES = mln_core_concept_window.cc_BASE_2903.cc
mln_core_concept_gdpoint_SOURCES = mln_core_concept_gdpoint.cc
mln_core_concept_regular_grid_SOURCES = mln_core_concept_regular_grid.cc
mln_core_concept_mesh_SOURCES = mln_core_concept_mesh.cc
@@ -1840,7 +1835,6 @@ mln_core_concept_object_SOURCES = mln_core_concept_object.cc
mln_core_concept_meta_fun_SOURCES = mln_core_concept_meta_fun.cc
mln_core_concept_delta_point_site_SOURCES = mln_core_concept_delta_point_site.cc
mln_core_concept_neighborhood_SOURCES = mln_core_concept_neighborhood.cc
-mln_core_concept_window_REMOTE_2903_SOURCES = mln_core_concept_window.cc_REMOTE_2903.cc
mln_core_concept_browsing_SOURCES = mln_core_concept_browsing.cc
mln_core_pixel_SOURCES = mln_core_pixel.cc
mln_core_clock_neighb2d_SOURCES = mln_core_clock_neighb2d.cc
--
1.5.6.5
1
0
3085: Propagate renaming level::fill/paste as data::fill/paste (again).
by Guillaume Lazzara 29 Dec '08
by Guillaume Lazzara 29 Dec '08
29 Dec '08
* doc/examples/erosion.cc,
* doc/examples/labeling_algo.cc,
* doc/examples/tuto_bis.cc,
* doc/oldies/2008__tour1.cc,
* doc/oldies/2008__tour3.cc,
* doc/tutorial/examples/box.cc,
* doc/tutorial/examples/for_Z.cc,
* doc/tutorial/examples/image_safe.cc,
* doc/tutorial/examples/p_array.2.cc,
* doc/tutorial/examples/p_array.cc,
* doc/tutorial/examples/p_image.cc,
* doc/tutorial/examples/p_key.cc,
* doc/tutorial/examples/p_line2d.cc,
* doc/tutorial/examples/p_queue.cc,
* doc/tutorial/examples/p_vaccess.cc,
* doc/tutorial/examples/proxy.cc,
* doc/tutorial/examples/sub_image_if.cc,
* tools/seed2tiling.cc: update
---
milena/ChangeLog | 23 ++++++++++++++++++++++
milena/doc/examples/erosion.cc | 6 +---
milena/doc/examples/labeling_algo.cc | 4 +-
milena/doc/examples/tuto_bis.cc | 16 +++++++-------
milena/doc/oldies/2008__tour1.cc | 27 ++++++++++---------------
milena/doc/oldies/2008__tour3.cc | 4 +-
milena/doc/tutorial/examples/box.cc | 4 +-
milena/doc/tutorial/examples/for_Z.cc | 6 ++--
milena/doc/tutorial/examples/image_safe.cc | 8 +++---
milena/doc/tutorial/examples/p_array.2.cc | 6 ++--
milena/doc/tutorial/examples/p_array.cc | 4 +-
milena/doc/tutorial/examples/p_image.cc | 4 +-
milena/doc/tutorial/examples/p_key.cc | 4 +-
milena/doc/tutorial/examples/p_line2d.cc | 6 ++--
milena/doc/tutorial/examples/p_queue.cc | 4 +-
milena/doc/tutorial/examples/p_vaccess.cc | 14 ++++++------
milena/doc/tutorial/examples/proxy.cc | 4 +-
milena/doc/tutorial/examples/sub_image_if.cc | 4 +-
milena/tools/seed2tiling.cc | 9 +++----
19 files changed, 86 insertions(+), 71 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 5936533..c713b83 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,28 @@
2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Propagate renaming level::fill/paste as data::fill/paste (again).
+
+ * doc/examples/erosion.cc,
+ * doc/examples/labeling_algo.cc,
+ * doc/examples/tuto_bis.cc,
+ * doc/oldies/2008__tour1.cc,
+ * doc/oldies/2008__tour3.cc,
+ * doc/tutorial/examples/box.cc,
+ * doc/tutorial/examples/for_Z.cc,
+ * doc/tutorial/examples/image_safe.cc,
+ * doc/tutorial/examples/p_array.2.cc,
+ * doc/tutorial/examples/p_array.cc,
+ * doc/tutorial/examples/p_image.cc,
+ * doc/tutorial/examples/p_key.cc,
+ * doc/tutorial/examples/p_line2d.cc,
+ * doc/tutorial/examples/p_queue.cc,
+ * doc/tutorial/examples/p_vaccess.cc,
+ * doc/tutorial/examples/proxy.cc,
+ * doc/tutorial/examples/sub_image_if.cc,
+ * tools/seed2tiling.cc: update
+
+2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Add forward declarations for all init_() functions.
* core/routine/init.hh: include init.hxx.
diff --git a/milena/doc/examples/erosion.cc b/milena/doc/examples/erosion.cc
index 8d0d51c..7903f6e 100644
--- a/milena/doc/examples/erosion.cc
+++ b/milena/doc/examples/erosion.cc
@@ -39,7 +39,6 @@
# include <mln/binarization/threshold.hh>
# include <mln/morpho/hit_or_miss.hh>
-# include <mln/level/fill.hh>
# include <mln/border/fill.hh>
# include <mln/io/pbm/load.hh>
# include <mln/io/pgm/load.hh>
@@ -49,9 +48,8 @@
# include <mln/morpho/opening.hh>
# include <mln/trait/value_.hh>
# include <mln/value/int_u8.hh>
-# include <mln/level/paste.hh>
+# include <mln/data/paste.hh>
# include <mln/labeling/blobs.hh>
-# include <mln/level/fill.hh>
# include <mln/pw/all.hh>
# include <mln/convert/to_fun.hh>
# include <mln/geom/bbox.hh>
@@ -69,7 +67,7 @@ void clean_lines(mln::image2d<bool>& in,
for (unsigned i = nlabels; i > 0; --i)
{
- level::paste(pw::cst(false)
+ data::paste(pw::cst(false)
| geom::bbox(lbl | (pw::value(lbl) == pw::cst(i))),//.to_larger(bbox_larger),
in);
}
diff --git a/milena/doc/examples/labeling_algo.cc b/milena/doc/examples/labeling_algo.cc
index 6cf27b0..3891e36 100644
--- a/milena/doc/examples/labeling_algo.cc
+++ b/milena/doc/examples/labeling_algo.cc
@@ -33,7 +33,7 @@
# include <mln/core/image/sub_image.hh>
# include <mln/core/alias/neighb2d.hh>
# include <mln/value/int_u8.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/fill.hh>
# include <mln/level/stretch.hh>
# include <mln/border/fill.hh>
# include <mln/io/pbm/load.hh>
@@ -60,7 +60,7 @@ int main()
std::vector<int_u8> vec;
image2d<int> input(in.domain());
- level::fill(input, lab);
+ data::fill(input, lab);
opt::at(lab, 0,0) = 0;
image2d<unsigned> inte = geom::seeds2tiling(lab, c4 ());
diff --git a/milena/doc/examples/tuto_bis.cc b/milena/doc/examples/tuto_bis.cc
index 3dd2c09..bfacf7d 100644
--- a/milena/doc/examples/tuto_bis.cc
+++ b/milena/doc/examples/tuto_bis.cc
@@ -18,8 +18,8 @@
# include <mln/fun/i2v/array.hh>
# include <mln/fun/p2v/iota.hh>
-# include <mln/level/paste.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/paste.hh>
+# include <mln/data/fill.hh>
# include <mln/level/transform.hh>
# include <mln/extension/fill.hh>
@@ -144,7 +144,7 @@ int main()
mln_VAR(ima, ima_ | domain);
mln_VAR(cell, ima | is_cell);
- level::fill(cell, fun::p2v::iota());
+ data::fill(cell, fun::p2v::iota());
debug::println(cell);
// 1 2 3
//
@@ -152,7 +152,7 @@ int main()
mln_VAR(edge, extend((ima | is_edge).rw(), ima));
- level::paste(morpho::gradient(edge, e2c.win()), edge);
+ data::paste(morpho::gradient(edge, e2c.win()), edge);
// ^^^
// edge -> neighboring cells
debug::println(edge);
@@ -161,7 +161,7 @@ int main()
// 1 1
image2d<unsigned> label(domain, 0);
- level::fill(label, 9);
+ data::fill(label, 9);
debug::println(label);
// 9 9 9 9 9
// 9 9 9 9 9
@@ -176,7 +176,7 @@ int main()
unsigned nbasins;
- level::fill(wst, morpho::meyer_wst(edge, e2e, nbasins));
+ data::fill(wst, morpho::meyer_wst(edge, e2e, nbasins));
// ^^^
// edge -> neighboring edges
debug::println(wst);
@@ -230,7 +230,7 @@ int main()
// 9 9 9
- level::paste(morpho::dilation(extend(lab, label),
+ data::paste(morpho::dilation(extend(lab, label),
c4().win()),
label);
@@ -263,7 +263,7 @@ int main()
for (unsigned i = 1; i <= nbasins; ++i)
std::cout << "mean value of basin #" << i << " is " << m(i) << std::endl;
-// level::fill(cell, level::transform(lab, m));
+// data::fill(cell, level::transform(lab, m));
// debug::println(cell);
// // 2 2 2
// //
diff --git a/milena/doc/oldies/2008__tour1.cc b/milena/doc/oldies/2008__tour1.cc
index 4d148c8..94e8fcb 100644
--- a/milena/doc/oldies/2008__tour1.cc
+++ b/milena/doc/oldies/2008__tour1.cc
@@ -32,8 +32,8 @@
#include <oln/arith/plus.hh> // arith
-#include <oln/level/fill.hh> // level
-#include <oln/level/paste.hh>
+#include <oln/data/fill.hh> // data
+#include <oln/data/paste.hh>
#include <oln/debug/println.hh> // debug
@@ -166,20 +166,15 @@ int main()
// Memory has been allocated so data can be stored but pixel values
// have not been initialized yet. So we fill img3a, that is, all
// pixels of img3a, with the value 'a':
- level::fill(img3a, 'a');
+ data::fill(img3a, 'a');
- // The "fill" algorithm is located in the sub-namespace "level"
- // since this algorithm deals with the "level" of pixel values.
+ // The "fill" algorithm is located in the sub-namespace "data"
+ // since this algorithm deals with the "data" of pixel values.
- // Note that the term "level" refers to the fact that an
- // image can be considered as a landscape where the
- // elevation at a particular location/point is given by the
- // corresponding pixel value.
-
- // The full name of this routine is "oln::level::fill". To access
+ // The full name of this routine is "oln::data::fill". To access
// to a particular algorithm, the proper file shall be included.
// The file names of algorithms strictly map their C++ name; so
- // oln::level::fill is defined in the file "oln/level/fill.hh".
+ // oln::data::fill is defined in the file "oln/data/fill.hh".
// Most algorithms in Olena are constructed following the classical
// scheme: "output algo(input)", where the input image is only read.
@@ -190,7 +185,7 @@ int main()
// Obsolete: explicitly state that the image is provided so that its data is
// Obsolete: modified "inplace".
- // Obsolete: The algorithm call shall be "level::fill(inplace(ima), val)".
+ // Obsolete: The algorithm call shall be "data::fill(inplace(ima), val)".
// Obsolete: When forgetting the "inplace(..)" statement it does not compile.
@@ -201,10 +196,10 @@ int main()
image1d<char> img3b(5, 14);
// We initialize the image values.
- level::fill(img3b, 'b');
+ data::fill(img3b, 'b');
// Last we now paste the contents of img3b in img3a...
- level::paste(img3b, img3a);
+ data::paste(img3b, img3a);
// ...and print the result.
debug::println(img3a);
@@ -242,7 +237,7 @@ int main()
// tests are performed at run-time to ensure that the program is
// correct.
- // For instance, the algorithm level::paste tests that the set of
+ // For instance, the algorithm data::paste tests that the set of
// points of img3b (whose values are to be pasted) is a subset of
// the destination image. We can reproduce this same test:
diff --git a/milena/doc/oldies/2008__tour3.cc b/milena/doc/oldies/2008__tour3.cc
index 4c6ef19..7d1f63f 100644
--- a/milena/doc/oldies/2008__tour3.cc
+++ b/milena/doc/oldies/2008__tour3.cc
@@ -36,7 +36,7 @@
#include <oln/core/gen/pw_value.hh>
#include <oln/core/gen/fun_ops.hh>
-#include <oln/level/fill.hh>
+#include <oln/data/fill.hh>
#include <oln/debug/fill.hh>
#include <oln/debug/println.hh>
@@ -138,7 +138,7 @@ int main()
// And now for a little test: what is the result of this code?
{
image2d<int> test(ima.points());
- level::fill(test, ima);
+ data::fill(test, ima);
(test + c4).at(1, 1) = 9;
debug::println(test);
}
diff --git a/milena/doc/tutorial/examples/box.cc b/milena/doc/tutorial/examples/box.cc
index 9d4b9d6..7f92bdc 100644
--- a/milena/doc/tutorial/examples/box.cc
+++ b/milena/doc/tutorial/examples/box.cc
@@ -1,6 +1,6 @@
# include <mln/core/image/image2d.hh>
# include <mln/debug/println.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/fill.hh>
template <typename B>
@@ -9,7 +9,7 @@ void picture(const B& b)
using namespace mln;
image2d<char> ima(5, 5);
- level::fill(ima, '-');
+ data::fill(ima, '-');
unsigned i = 0;
mln_piter(B) p(b);
diff --git a/milena/doc/tutorial/examples/for_Z.cc b/milena/doc/tutorial/examples/for_Z.cc
index c06fb59..3b34a72 100644
--- a/milena/doc/tutorial/examples/for_Z.cc
+++ b/milena/doc/tutorial/examples/for_Z.cc
@@ -17,7 +17,7 @@
# include <mln/convert/to_fun.hh>
# include <mln/debug/println.hh>
# include <mln/labeling/blobs.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/fill.hh>
# include <mln/geom/bbox.hh>
@@ -205,9 +205,9 @@ int main()
// image2d<rgb8> cool(ima.domain());
-// level::fill(cool, literal::black);
+// data::fill(cool, literal::black);
-// level::fill( (cool | (pw::value(lab) == 1u)).rw(),
+// data::fill( (cool | (pw::value(lab) == 1u)).rw(),
// literal::red );
// debug::println(cool);
diff --git a/milena/doc/tutorial/examples/image_safe.cc b/milena/doc/tutorial/examples/image_safe.cc
index 158b591..ddad1f9 100644
--- a/milena/doc/tutorial/examples/image_safe.cc
+++ b/milena/doc/tutorial/examples/image_safe.cc
@@ -2,8 +2,8 @@
# include <mln/core/site_set/p_line2d.hh>
# include <mln/core/image/safe.hh>
# include <mln/debug/println.hh>
-# include <mln/level/fill.hh>
-# include <mln/level/paste.hh>
+# include <mln/data/fill.hh>
+# include <mln/data/paste.hh>
# include <mln/pw/all.hh>
@@ -14,10 +14,10 @@ int main()
typedef image2d<int> I;
I ima(3, 3);
- level::fill(ima, 0);
+ data::fill(ima, 0);
safe_image<I> ima_(ima);
- level::paste(pw::cst(8) | p_line2d(point2d(-1,-1),
+ data::paste(pw::cst(8) | p_line2d(point2d(-1,-1),
point2d( 3, 3)),
ima_);
debug::println(ima);
diff --git a/milena/doc/tutorial/examples/p_array.2.cc b/milena/doc/tutorial/examples/p_array.2.cc
index 68d3ab2..182e293 100644
--- a/milena/doc/tutorial/examples/p_array.2.cc
+++ b/milena/doc/tutorial/examples/p_array.2.cc
@@ -3,7 +3,7 @@
# include <mln/core/window.hh>
# include <mln/debug/println.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/fill.hh>
template <typename A>
@@ -12,8 +12,8 @@ mln::image2d<char> picture(const A& arr)
using namespace mln;
image2d<char> ima(5, 5);
- level::fill(ima, '-');
-
+ data::fill(ima, '-');
+
unsigned i = 0;
mln_piter(A) p(arr);
for_all(p)
diff --git a/milena/doc/tutorial/examples/p_array.cc b/milena/doc/tutorial/examples/p_array.cc
index 4a94f9b..3a4186a 100644
--- a/milena/doc/tutorial/examples/p_array.cc
+++ b/milena/doc/tutorial/examples/p_array.cc
@@ -1,7 +1,7 @@
# include <mln/core/image/image2d.hh>
# include <mln/core/site_set/p_array.hh>
# include <mln/debug/println.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/fill.hh>
template <typename A>
@@ -10,7 +10,7 @@ void picture(const A& arr)
using namespace mln;
image2d<char> ima(5, 5);
- level::fill(ima, '-');
+ data::fill(ima, '-');
unsigned i = 0;
mln_piter(A) p(arr);
diff --git a/milena/doc/tutorial/examples/p_image.cc b/milena/doc/tutorial/examples/p_image.cc
index c360293..462ba61 100644
--- a/milena/doc/tutorial/examples/p_image.cc
+++ b/milena/doc/tutorial/examples/p_image.cc
@@ -2,7 +2,7 @@
# include <mln/core/site_set/p_array.hh>
# include <mln/core/site_set/p_image.hh>
# include <mln/debug/println.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/fill.hh>
template <typename A>
@@ -11,7 +11,7 @@ void picture(const A& arr)
using namespace mln;
image2d<char> ima(5, 5);
- level::fill(ima, '-');
+ data::fill(ima, '-');
unsigned i = 0;
mln_piter(A) p(arr);
diff --git a/milena/doc/tutorial/examples/p_key.cc b/milena/doc/tutorial/examples/p_key.cc
index b4292d6..bcf58eb 100644
--- a/milena/doc/tutorial/examples/p_key.cc
+++ b/milena/doc/tutorial/examples/p_key.cc
@@ -1,7 +1,7 @@
# include <mln/core/image/image2d.hh>
# include <mln/core/site_set/p_key.hh>
# include <mln/debug/println.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/fill.hh>
# include <mln/fun/v2v/inc.hh>
# include <mln/fun/v2v/dec.hh>
@@ -13,7 +13,7 @@ void picture(const S& s)
using namespace mln;
image2d<char> ima(5, 5);
- level::fill(ima, '-');
+ data::fill(ima, '-');
mln_piter(S) p(s);
for_all(p)
diff --git a/milena/doc/tutorial/examples/p_line2d.cc b/milena/doc/tutorial/examples/p_line2d.cc
index 75bec49..928c908 100644
--- a/milena/doc/tutorial/examples/p_line2d.cc
+++ b/milena/doc/tutorial/examples/p_line2d.cc
@@ -5,7 +5,7 @@
# include <mln/core/site_set/p_set.hh>
# include <mln/core/image/sub_image.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/fill.hh>
# include <mln/debug/println.hh>
@@ -15,13 +15,13 @@ int main()
using namespace mln;
image2d<char> ima(6, 11);
- level::fill(ima, '.');
+ data::fill(ima, '.');
p_line2d line(point2d(4,10),
point2d(1,1));
std::cout << line << std::endl;
- level::fill((ima | line).rw(), 'x');
+ data::fill((ima | line).rw(), 'x');
debug::println(ima);
p_set<point2d> s;
diff --git a/milena/doc/tutorial/examples/p_queue.cc b/milena/doc/tutorial/examples/p_queue.cc
index 099fa6d..5701961 100644
--- a/milena/doc/tutorial/examples/p_queue.cc
+++ b/milena/doc/tutorial/examples/p_queue.cc
@@ -2,7 +2,7 @@
# include <mln/core/site_set/p_queue.hh>
# include <mln/core/site_set/p_queue_fast.hh>
# include <mln/debug/println.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/fill.hh>
# include <mln/core/site_set/p_priority.hh>
@@ -14,7 +14,7 @@ void picture(const S& s)
using namespace mln;
image2d<char> ima(5, 5);
- level::fill(ima, '-');
+ data::fill(ima, '-');
unsigned i = 0;
mln_piter(S) p(s);
diff --git a/milena/doc/tutorial/examples/p_vaccess.cc b/milena/doc/tutorial/examples/p_vaccess.cc
index 0e0f841..051edfb 100644
--- a/milena/doc/tutorial/examples/p_vaccess.cc
+++ b/milena/doc/tutorial/examples/p_vaccess.cc
@@ -2,8 +2,8 @@
# include <mln/core/alias/neighb2d.hh>
# include <mln/value/int_u8.hh>
-# include <mln/level/fill.hh>
-# include <mln/level/paste.hh>
+# include <mln/data/fill.hh>
+# include <mln/data/paste.hh>
# include <mln/debug/println.hh>
# include <mln/util/timer.hh>
# include <mln/labeling/blobs.hh>
@@ -121,19 +121,19 @@ int main()
{
image2d<int> ima_(arr.bbox());
- level::fill(ima_, 0);
+ data::fill(ima_, 0);
for (unsigned l = 1; l <= nlabels; ++l)
for (unsigned r = 0; r < arr(l).nelements(); ++r)
- level::paste(pw::cst(10 * l + r) | arr(l)[r], ima_);
+ data::paste(pw::cst(10 * l + r) | arr(l)[r], ima_);
debug::println(ima_);
}
{
image2d<int> ima_(arr.bbox());
- level::fill(ima_, 0);
+ data::fill(ima_, 0);
for (unsigned l = 1; l <= nlabels; ++l)
if (arr(l).nsites() > 1)
- level::paste(pw::cst(l) | arr(l), ima_);
+ data::paste(pw::cst(l) | arr(l), ima_);
debug::println(ima_);
}
}
@@ -144,7 +144,7 @@ int main()
// mln_assertion(rs.bbox() == ima.bbox());
// image2d<int_u8> ima_(ima.domain());
-// level::fill(ima_, 0);
+// data::fill(ima_, 0);
// for (unsigned r = 0; r < rs.nelements(); ++r)
// {
// mln_piter_(p_run2d) p(rs[r]);
diff --git a/milena/doc/tutorial/examples/proxy.cc b/milena/doc/tutorial/examples/proxy.cc
index 053a824..0437b1c 100644
--- a/milena/doc/tutorial/examples/proxy.cc
+++ b/milena/doc/tutorial/examples/proxy.cc
@@ -1,7 +1,7 @@
# include <mln/core/image/image2d.hh>
# include <mln/core/site_set/p_array.hh>
# include <mln/debug/println.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/fill.hh>
template <typename A>
@@ -10,7 +10,7 @@ void picture(const A& arr)
using namespace mln;
image2d<char> ima(5, 5);
- level::fill(ima, '-');
+ data::fill(ima, '-');
unsigned i = 0;
mln_piter(A) p(arr);
diff --git a/milena/doc/tutorial/examples/sub_image_if.cc b/milena/doc/tutorial/examples/sub_image_if.cc
index 5bcb740..e5a69f3 100644
--- a/milena/doc/tutorial/examples/sub_image_if.cc
+++ b/milena/doc/tutorial/examples/sub_image_if.cc
@@ -11,7 +11,7 @@
# include <mln/labeling/blobs.hh>
# include <mln/geom/bbox.hh>
-# include <mln/level/fill.hh>
+# include <mln/data/fill.hh>
# include <mln/debug/println.hh>
@@ -47,7 +47,7 @@ void foo(const I& input)
O output;
initialize(output, input);
- level::fill(output, 9);
+ data::fill(output, 9);
std::cout << geom::bbox(output) << std::endl;
debug::println(output);
diff --git a/milena/tools/seed2tiling.cc b/milena/tools/seed2tiling.cc
index 4ebda1b..3f4efeb 100644
--- a/milena/tools/seed2tiling.cc
+++ b/milena/tools/seed2tiling.cc
@@ -36,7 +36,6 @@
# include <mln/core/image/sub_image.hh>
# include <mln/core/alias/neighb2d.hh>
# include <mln/value/int_u8.hh>
-# include <mln/level/fill.hh>
# include <mln/level/stretch.hh>
# include <mln/border/fill.hh>
# include <mln/io/pbm/load.hh>
@@ -71,22 +70,22 @@ int main(int argc, char* argv[])
image2d<bool> input = io::pbm::load(argv[1]);
{
- const w_window2d_int& w_win = make::mk_chamfer_3x3_int<2,3> ();
+ const w_window2d_int& w_win = make::mk_chamfer_3x3_int<2,3>();
unsigned n;
image2d<unsigned> lab = labeling::foreground(input, c4(), n);
std::cout << "number of labels = " << n << std::endl;
- image2d<unsigned> inte = geom::seeds2tiling(lab, c4 ());
- border::fill (inte, 0);
+ image2d<unsigned> inte = geom::seeds2tiling(lab, c4());
+ border::fill(inte, 0);
image2d<int_u8> inte2 = level::stretch(int_u8(), inte);
io::pgm::save(inte2, "ima1.pgm");
std::cout << "ima1 generate with seeds2tiling"
<< std::endl;
- inte = geom::seeds2tiling_roundness(lab, w_win, max, c4 ());
+ inte = geom::seeds2tiling_roundness(lab, w_win, max, c4());
border::fill(inte, 0);
inte2 = level::stretch(int_u8(), inte);
--
1.5.6.5
1
0
29 Dec '08
* core/routine/init.hh: include init.hxx.
* core/routine/init.hxx: references all the init_() functions. Must be
updated each time a new init_() is added. This file must be used like
convert/from_to.hxx.
---
milena/ChangeLog | 14 +++++-
milena/mln/core/routine/init.hh | 12 +++---
milena/mln/core/routine/init.hxx | 92 ++++++++++++++++++++++++++++++++++++++
3 files changed, 110 insertions(+), 8 deletions(-)
create mode 100644 milena/mln/core/routine/init.hxx
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 32d2dcd..5936533 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,4 +1,14 @@
-2008-12-22 Guillaume Lazzara <z(a)lrde.epita.fr>
+2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Add forward declarations for all init_() functions.
+
+ * core/routine/init.hh: include init.hxx.
+
+ * core/routine/init.hxx: references all the init_() functions. Must be
+ updated each time a new init_() is added. This file must be used like
+ convert/from_to.hxx.
+
+2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
Fix compilation issues.
@@ -22,7 +32,7 @@
* tests/unit_test/mln_data_all.cc
* tests/unit_test/mln_data_essential.cc: add new unit tests.
-2008-12-22 Guillaume Lazzara <z(a)lrde.epita.fr>
+2008-12-29 Guillaume Lazzara <z(a)lrde.epita.fr>
Add a dispatch in from_to.
diff --git a/milena/mln/core/routine/init.hh b/milena/mln/core/routine/init.hh
index 5b0f9ed..476c374 100644
--- a/milena/mln/core/routine/init.hh
+++ b/milena/mln/core/routine/init.hh
@@ -28,23 +28,23 @@
#ifndef MLN_CORE_ROUTINE_INIT_HH
# define MLN_CORE_ROUTINE_INIT_HH
-/*! \file mln/core/routine/init.hh
- *
- * \brief Definition of function that initialize an image from another
- * one.
- */
+/// \file mln/core/routine/init.hh
+///
+/// Definition of function that initialize an image from another
+/// one.
# include <mln/tag/init.hh>
# include <mln/geom/bbox.hh>
# include <mln/border/find.hh>
+# include <core/routine/init.hxx>
namespace mln
{
- // Fwd decl.
+ // Forward declaration.
template <typename Subject, typename T, typename M>
void init_(Subject, T& target, const Object<M>& model);
diff --git a/milena/mln/core/routine/init.hxx b/milena/mln/core/routine/init.hxx
new file mode 100644
index 0000000..cfeb5ea
--- /dev/null
+++ b/milena/mln/core/routine/init.hxx
@@ -0,0 +1,92 @@
+// 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.
+
+#ifndef MLN_CORE_ROUTINE_INIT_HXX
+# define MLN_CORE_ROUTINE_INIT_HXX
+
+/// \file mln/core/routine/init.hxx
+///
+// All overloaded "mln::init" routines have to be declared in
+// the present file. It allows for *deferred* use of these routines.
+
+namespace mln
+{
+
+ // Forward declarations.
+ namespace fun { namespace i2v { template <typename T> class array; } }
+ namespace fun { namespace l2l { template <typename T> class relabel; } }
+ namespace pw { template <typename F, typename S> class image; }
+ template <typename I, typename F> class image_if;
+
+
+
+ /// Kind: function_t
+ /// Type: F,
+ /// From: pw::image<F,S>
+ template <typename F, typename S>
+ void init_(tag::function_t, F& f, const pw::image<F,S>& model);
+
+
+ /// Kind: image_t
+ /// Type: pw::image<F,S>
+ /// From: J
+ template <typename F, typename S, typename J>
+ void init_(tag::image_t, mln::pw::image<F,S>& target, const J& model);
+
+
+ /// Kind: function_t
+ /// Type: F
+ /// From: image_if<I,F>
+ template <typename I, typename F>
+ void init_(tag::function_t, F& f, const image_if<I,F>& model);
+
+ /// Kind: image_t
+ /// Type: F
+ /// From: J
+ template <typename I, typename F, typename J>
+ void init_(tag::image_t, image_if<I,F>& target, const J& model);
+
+
+ /// Kind: function_t
+ /// Type: fun::i2v::array<T1>
+ /// From: fun::i2v::array<T2>
+ template <typename T1, typename T2>
+ void init_(tag::function_t,
+ fun::i2v::array<T1>& f,
+ const fun::i2v::array<T2>& model);
+
+ /// Kind: function_t
+ /// Type: fun::l2l::relabel<T1>
+ /// From: fun::l2l::relabel<T2>
+ template <typename T1, typename T2>
+ void init_(tag::function_t,
+ fun::l2l::relabel<T1>& f,
+ const fun::l2l::relabel<T2>& model);
+
+} // end of namespace mln
+
+#endif // ! MLN_CORE_ROUTINE_INIT_HXX
--
1.5.6.5
1
0
* mln/core/site_set/operators.hh: add missing forward declaration.
* mln/linear/local/convolve.hh: update declaration.
* mln/morpho/closing_area_on_vertices.hh: add a missing include.
* mln/morpho/opening_area_on_vertices.hh: fix wrong declaration.
* tests/core/site_set/p_array.cc,
* tests/core/site_set/pset_if.cc: fix an assertion.
* tests/linear/local/convolve.cc: update doc.
* tests/unit_test/Makefile.am,
* headers.mk: remove entries related to non commited files.
* tests/unit_test/mln_core_routine_duplicate.cc,
* tests/unit_test/mln_data_all.cc
* tests/unit_test/mln_data_essential.cc: add new unit tests.
---
milena/ChangeLog | 24 +++++++++
milena/headers.mk | 4 +-
milena/mln/core/site_set/operators.hh | 2 +
milena/mln/linear/local/convolve.hh | 50 ++++++++++---------
milena/mln/morpho/closing_area_on_vertices.hh | 1 +
milena/mln/morpho/opening_area_on_vertices.hh | 7 ++-
milena/tests/core/site_set/p_array.cc | 11 ++--
milena/tests/core/site_set/pset_if.cc | 4 +-
milena/tests/linear/local/convolve.cc | 10 ++--
milena/tests/unit_test/Makefile.am | 6 --
.../tests/unit_test/mln_core_routine_duplicate.cc | 11 ++++
milena/tests/unit_test/mln_data_all.cc | 11 ++++
milena/tests/unit_test/mln_data_essential.cc | 11 ++++
13 files changed, 103 insertions(+), 49 deletions(-)
create mode 100644 milena/tests/unit_test/mln_core_routine_duplicate.cc
create mode 100644 milena/tests/unit_test/mln_data_all.cc
create mode 100644 milena/tests/unit_test/mln_data_essential.cc
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 3f34834..32d2dcd 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,29 @@
2008-12-22 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Fix compilation issues.
+
+ * mln/core/site_set/operators.hh: add missing forward declaration.
+
+ * mln/linear/local/convolve.hh: update declaration.
+
+ * mln/morpho/closing_area_on_vertices.hh: add a missing include.
+
+ * mln/morpho/opening_area_on_vertices.hh: fix wrong declaration.
+
+ * tests/core/site_set/p_array.cc,
+ * tests/core/site_set/pset_if.cc: fix an assertion.
+
+ * tests/linear/local/convolve.cc: update doc.
+
+ * tests/unit_test/Makefile.am,
+ * headers.mk: remove entries related to non commited files.
+
+ * tests/unit_test/mln_core_routine_duplicate.cc,
+ * tests/unit_test/mln_data_all.cc
+ * tests/unit_test/mln_data_essential.cc: add new unit tests.
+
+2008-12-22 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Add a dispatch in from_to.
* headers.mk: add new headers to the distribution.
diff --git a/milena/headers.mk b/milena/headers.mk
index dd0aa62..24043ff 100644
--- a/milena/headers.mk
+++ b/milena/headers.mk
@@ -190,7 +190,6 @@ mln/fun/vv2v/min.hh \
mln/fun/vv2v/essential.hh \
mln/fun/internal/array_base.hh \
mln/fun/internal/x2x_linear_impl.hh \
-mln/fun/internal/ch_function_value_impl.hh \
mln/fun/internal/selector.hh \
mln/fun/v2w_w2v/norm.hh \
mln/fun/p2v/ternary.hh \
@@ -213,7 +212,6 @@ mln/fun/v2v/dec.hh \
mln/fun/v2v/abs.hh \
mln/fun/v2v/rgb_to_hsl.hh \
mln/fun/v2v/cast.hh \
-mln/fun/v2v/ch_function_value.hh \
mln/fun/v2v/rgb_to_hsi.hh \
mln/fun/v2v/enc.hh \
mln/fun/v2v/convert.hh \
@@ -442,7 +440,6 @@ mln/trait/value/essential.hh \
mln/trait/images.hh \
mln/trait/window/props.hh \
mln/trait/window/print.hh \
-mln/trait/ch_function_value.hh \
mln/trait/ch_value.hh \
mln/trait/solve.hh \
mln/trait/solve_unary.hh \
@@ -768,6 +765,7 @@ mln/core/routine/ops.hh \
mln/core/routine/all.hh \
mln/core/routine/exact.hh \
mln/core/routine/extend.hh \
+mln/core/routine/init.hxx \
mln/core/routine/essential.hh \
mln/core/trait/op_mult.hh \
mln/core/trait/all.hh \
diff --git a/milena/mln/core/site_set/operators.hh b/milena/mln/core/site_set/operators.hh
index 45971c4..4c34368 100644
--- a/milena/mln/core/site_set/operators.hh
+++ b/milena/mln/core/site_set/operators.hh
@@ -44,7 +44,9 @@
namespace mln
{
+ // Forward declarations.
template <typename E> struct Box;
+ namespace set { template <typename S> unsigned card(const Site_Set<S>& s); }
template <typename Sl, typename Sr>
diff --git a/milena/mln/linear/local/convolve.hh b/milena/mln/linear/local/convolve.hh
index 6bc2c12..522800a 100644
--- a/milena/mln/linear/local/convolve.hh
+++ b/milena/mln/linear/local/convolve.hh
@@ -1,4 +1,5 @@
-// 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,13 +29,12 @@
#ifndef MLN_LINEAR_LOCAL_CONVOLVE_HH
# define MLN_LINEAR_LOCAL_CONVOLVE_HH
-/*! \file mln/linear/local/convolve.hh
- *
- * \brief Local convolution at a point.
- */
+/// \file mln/linear/local/convolve.hh
+///
+/// Local convolution at a point.
# include <mln/core/concept/image.hh>
-# include <mln/core/concept/point_site.hh>
+# include <mln/core/concept/site.hh>
# include <mln/core/concept/generalized_pixel.hh>
# include <mln/core/concept/weighted_window.hh>
# include <mln/metal/const.hh>
@@ -61,9 +61,9 @@ namespace mln
*/
template <typename I, typename P, typename W, typename R>
void convolve(const Image<I>& input,
- const Point_Site<P>& p,
+ const Site<P>& p,
const Weighted_Window<W>& w_win,
- R& result);
+ R& result);
/*! Local convolution around (generalized) pixel \p by the
@@ -78,7 +78,7 @@ namespace mln
template <typename P, typename W, typename R>
void convolve(const Generalized_Pixel<P>& p,
const Weighted_Window<W>& w_win,
- R& result);
+ R& result);
# ifndef MLN_INCLUDE_ONLY
@@ -88,14 +88,15 @@ namespace mln
template <typename I, typename P, typename W, typename R>
inline
- void convolve(trait::image::speed::any, const I& input,
- const Point_Site<P>& p_,
- const W& w_win,
- R& result)
+ void convolve(trait::image::speed::any,
+ const I& input,
+ const Site<P>& p_,
+ const W& w_win,
+ R& result)
{
const P& p = exact(p_);
- R tmp = 0; // FIXME: zero?
+ R tmp = literal::zero; // FIXME: zero?
mln_qiter(W) q(w_win, p);
for_all(q) if (input.has(q))
tmp += input(q) * q.w();
@@ -104,10 +105,11 @@ namespace mln
template <typename I, typename P, typename W, typename R>
inline
- void convolve(trait::image::speed::fastest, const I& input,
- const Point_Site<P>& p_,
- const W& w_win,
- R& result)
+ void convolve(trait::image::speed::fastest,
+ const I& input,
+ const Site<P>& p_,
+ const W& w_win,
+ R& result)
{
const P& p = exact(p_);
@@ -125,7 +127,7 @@ namespace mln
inline
void convolve(const Generalized_Pixel<P>& p_,
const W& w_win,
- R& result)
+ R& result)
{
const P& p = mln::internal::force_exact<P>(p_);
mln_precondition(p.ima().border() >= w_win.delta());
@@ -147,10 +149,10 @@ namespace mln
template <typename I, typename P, typename W, typename R>
inline
- void convolve(const Image<I>& input,
- const Point_Site<P>& p,
- const Weighted_Window<W>& w_win,
- R& result)
+ void convolve(const Image<I>& input,
+ const Site<P>& p,
+ const Weighted_Window<W>& w_win,
+ R& result)
{
mln_precondition(exact(input).has_data());
impl::convolve(mln_trait_image_speed(I)(), exact(input),
@@ -161,7 +163,7 @@ namespace mln
inline
void convolve(const Generalized_Pixel<P>& p,
const Weighted_Window<W>& w_win,
- R& result)
+ R& result)
{
impl::convolve(p, exact(w_win), result);
}
diff --git a/milena/mln/morpho/closing_area_on_vertices.hh b/milena/mln/morpho/closing_area_on_vertices.hh
index cfaf955..f05067c 100644
--- a/milena/mln/morpho/closing_area_on_vertices.hh
+++ b/milena/mln/morpho/closing_area_on_vertices.hh
@@ -34,6 +34,7 @@
/// Morphological area closing on a line graph image computing
/// the area in terms of adjacent vertices.
+# include <mln/pw/image.hh>
# include <mln/core/site_set/p_edges.hh>
# include <mln/morpho/closing_attribute.hh>
# include <mln/accu/count_adjacent_vertices.hh>
diff --git a/milena/mln/morpho/opening_area_on_vertices.hh b/milena/mln/morpho/opening_area_on_vertices.hh
index 5b080e7..80c6053 100644
--- a/milena/mln/morpho/opening_area_on_vertices.hh
+++ b/milena/mln/morpho/opening_area_on_vertices.hh
@@ -35,6 +35,7 @@
/// the area in terms of adjacent vertices.
# include <mln/pw/image.hh>
+# include <mln/core/concept/neighborhood.hh>
# include <mln/core/site_set/p_edges.hh>
# include <mln/morpho/opening_attribute.hh>
# include <mln/accu/count_adjacent_vertices.hh>
@@ -58,9 +59,9 @@ namespace mln
template <typename P2V, typename G, typename V2P, typename N>
pw::image<P2V, p_edges<G, V2P> >
- void opening_area_on_vertices(const pw::image<P2V, p_edges<G, V2P> >& input,
- const Neighborhood<N>& nbh,
- unsigned lambda)
+ opening_area_on_vertices(const pw::image<P2V, p_edges<G, V2P> >& input,
+ const Neighborhood<N>& nbh,
+ unsigned lambda)
{
trace::entering("morpho::opening_area_on_vertices");
diff --git a/milena/tests/core/site_set/p_array.cc b/milena/tests/core/site_set/p_array.cc
index d0e07fd..0ba751f 100644
--- a/milena/tests/core/site_set/p_array.cc
+++ b/milena/tests/core/site_set/p_array.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
+// 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
@@ -25,10 +25,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/core/site_set/p_array.cc
- *
- * \brief Tests on mln::p_array.
- */
+/// \file tests/core/site_set/p_array.cc
+///
+/// Tests on mln::p_array.
#include <mln/core/alias/point2d.hh>
#include <mln/core/site_set/p_array.hh>
@@ -51,5 +50,5 @@ int main()
mln_psite_(Arr) p(arr, 0);
mln_assertion(p.to_site() == x);
mln_assertion(p.row() == 5);
- mln_assertion(point2d(p) == x);
+ mln_assertion(p == x);
}
diff --git a/milena/tests/core/site_set/pset_if.cc b/milena/tests/core/site_set/pset_if.cc
index 1319848..cd57329 100644
--- a/milena/tests/core/site_set/pset_if.cc
+++ b/milena/tests/core/site_set/pset_if.cc
@@ -36,7 +36,7 @@
#include <mln/fun/p2b/chess.hh>
#include <mln/convert/to_image.hh>
#include <mln/convert/to_p_set.hh>
-#include <mln/geom/nsites.hh>
+#include <mln/set/card.hh>
int main()
@@ -44,7 +44,7 @@ int main()
using namespace mln;
box2d box_8x8 = make::box2d(8, 8);
- mln_assertion(geom::nsites((box_8x8 | fun::p2b::chess())) == 32);
+ mln_assertion(set::card((box_8x8 | fun::p2b::chess())) == 32);
{
p_set<point2d> s = convert::to_p_set(box_8x8 | fun::p2b::chess());
diff --git a/milena/tests/linear/local/convolve.cc b/milena/tests/linear/local/convolve.cc
index 9f3e7e6..4da7d75 100644
--- a/milena/tests/linear/local/convolve.cc
+++ b/milena/tests/linear/local/convolve.cc
@@ -1,4 +1,5 @@
-// 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,10 +26,9 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
-/*! \file tests/linear/local/convolve.cc
- *
- * \brief Tests on mln::linear::local::convolve.
- */
+/// \file tests/linear/local/convolve.cc
+///
+/// Tests on mln::linear::local::convolve.
#include <mln/core/image/image2d.hh>
#include <mln/value/int_u8.hh>
diff --git a/milena/tests/unit_test/Makefile.am b/milena/tests/unit_test/Makefile.am
index c8b4aa9..c8fc350 100644
--- a/milena/tests/unit_test/Makefile.am
+++ b/milena/tests/unit_test/Makefile.am
@@ -187,7 +187,6 @@ mln_fun_vv2v_min \
mln_fun_vv2v_essential \
mln_fun_internal_array_base \
mln_fun_internal_x2x_linear_impl \
-mln_fun_internal_ch_function_value_impl \
mln_fun_internal_selector \
mln_fun_v2w_w2v_norm \
mln_fun_p2v_ternary \
@@ -210,7 +209,6 @@ mln_fun_v2v_dec \
mln_fun_v2v_abs \
mln_fun_v2v_rgb_to_hsl \
mln_fun_v2v_cast \
-mln_fun_v2v_ch_function_value \
mln_fun_v2v_rgb_to_hsi \
mln_fun_v2v_enc \
mln_fun_v2v_convert \
@@ -436,7 +434,6 @@ mln_trait_value_essential \
mln_trait_images \
mln_trait_window_props \
mln_trait_window_print \
-mln_trait_ch_function_value \
mln_trait_ch_value \
mln_trait_solve \
mln_trait_solve_unary \
@@ -1196,7 +1193,6 @@ mln_fun_vv2v_min_SOURCES = mln_fun_vv2v_min.cc
mln_fun_vv2v_essential_SOURCES = mln_fun_vv2v_essential.cc
mln_fun_internal_array_base_SOURCES = mln_fun_internal_array_base.cc
mln_fun_internal_x2x_linear_impl_SOURCES = mln_fun_internal_x2x_linear_impl.cc
-mln_fun_internal_ch_function_value_impl_SOURCES = mln_fun_internal_ch_function_value_impl.cc
mln_fun_internal_selector_SOURCES = mln_fun_internal_selector.cc
mln_fun_v2w_w2v_norm_SOURCES = mln_fun_v2w_w2v_norm.cc
mln_fun_p2v_ternary_SOURCES = mln_fun_p2v_ternary.cc
@@ -1219,7 +1215,6 @@ mln_fun_v2v_dec_SOURCES = mln_fun_v2v_dec.cc
mln_fun_v2v_abs_SOURCES = mln_fun_v2v_abs.cc
mln_fun_v2v_rgb_to_hsl_SOURCES = mln_fun_v2v_rgb_to_hsl.cc
mln_fun_v2v_cast_SOURCES = mln_fun_v2v_cast.cc
-mln_fun_v2v_ch_function_value_SOURCES = mln_fun_v2v_ch_function_value.cc
mln_fun_v2v_rgb_to_hsi_SOURCES = mln_fun_v2v_rgb_to_hsi.cc
mln_fun_v2v_enc_SOURCES = mln_fun_v2v_enc.cc
mln_fun_v2v_convert_SOURCES = mln_fun_v2v_convert.cc
@@ -1445,7 +1440,6 @@ mln_trait_value_essential_SOURCES = mln_trait_value_essential.cc
mln_trait_images_SOURCES = mln_trait_images.cc
mln_trait_window_props_SOURCES = mln_trait_window_props.cc
mln_trait_window_print_SOURCES = mln_trait_window_print.cc
-mln_trait_ch_function_value_SOURCES = mln_trait_ch_function_value.cc
mln_trait_ch_value_SOURCES = mln_trait_ch_value.cc
mln_trait_solve_SOURCES = mln_trait_solve.cc
mln_trait_solve_unary_SOURCES = mln_trait_solve_unary.cc
diff --git a/milena/tests/unit_test/mln_core_routine_duplicate.cc b/milena/tests/unit_test/mln_core_routine_duplicate.cc
new file mode 100644
index 0000000..d64acc2
--- /dev/null
+++ b/milena/tests/unit_test/mln_core_routine_duplicate.cc
@@ -0,0 +1,11 @@
+// Unit test for mln/core/routine/duplicate.hh.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/core/routine/duplicate.hh>
+#include <mln/core/routine/duplicate.hh>
+
+int main()
+{
+ // Nothing.
+}
diff --git a/milena/tests/unit_test/mln_data_all.cc b/milena/tests/unit_test/mln_data_all.cc
new file mode 100644
index 0000000..04eff54
--- /dev/null
+++ b/milena/tests/unit_test/mln_data_all.cc
@@ -0,0 +1,11 @@
+// Unit test for mln/data/all.hh.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/data/all.hh>
+#include <mln/data/all.hh>
+
+int main()
+{
+ // Nothing.
+}
diff --git a/milena/tests/unit_test/mln_data_essential.cc b/milena/tests/unit_test/mln_data_essential.cc
new file mode 100644
index 0000000..5acc28c
--- /dev/null
+++ b/milena/tests/unit_test/mln_data_essential.cc
@@ -0,0 +1,11 @@
+// Unit test for mln/data/essential.hh.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/data/essential.hh>
+#include <mln/data/essential.hh>
+
+int main()
+{
+ // Nothing.
+}
--
1.5.6.5
1
0
* headers.mk: add new headers to the distribution.
* mln/convert/from_to.hh: overhaul in order to create the dispatch.
from_to() has now only one facade.
* mln/convert/from_to.hxx: add missing predeclarations and a new
namespace.
* mln/convert/impl/all.hh,
* mln/convert/impl/from_float_to_value.hh,
* mln/convert/impl/from_int_to_value.hh: add new dispatch while
converting from an int or a float.
* mln/core/alias/neighb2d.hh,
* mln/core/alias/window1d.hh,
* mln/core/alias/window2d.hh,
* mln/core/alias/window3d.hh,
* mln/core/concept/accumulator.hh,
* mln/core/concept/gdpoint.hh,
* mln/core/concept/gpoint.hh,
* mln/core/concept/image.hh,
* mln/core/concept/proxy.hh,
* mln/core/concept/site_set.hh,
* mln/core/concept/window.hh,
* mln/core/neighb.hh,
* mln/core/w_window.hh,
* mln/fun/i2v/array.hh,
* mln/fun/l2l/relabel.hh,
* mln/util/array.hh,
* mln/value/rgb.hh: put convert::from_to() declarations in
convert::over_load::.
* mln/core/internal/site_set_base.hh
* mln/math/round.hh
* mln/value/concept/integer.hh
* mln/value/concept/scalar.hh
* mln/value/int_u8.hh: update doc.
* tests/unit_test/Makefile.am,
* tests/unit_test/mln_convert_impl_from_float_to_value.cc,
* tests/unit_test/mln_convert_impl_from_int_to_value.cc,
* tests/unit_test/mln_set_card.cc,
* tests/unit_test/mln_set_unique.cc: add new unit tests.
---
milena/ChangeLog | 48 +
milena/headers.mk | 2029 +++++------
milena/mln/convert/from_to.hh | 194 +-
milena/mln/convert/from_to.hxx | 234 +-
milena/mln/convert/impl/all.hh | 11 +-
milena/mln/convert/impl/from_float_to_value.hh | 157 +
milena/mln/convert/impl/from_int_to_value.hh | 122 +
milena/mln/core/alias/neighb2d.hh | 58 +-
milena/mln/core/alias/window1d.hh | 36 +-
milena/mln/core/alias/window2d.hh | 70 +-
milena/mln/core/alias/window3d.hh | 45 +-
milena/mln/core/concept/accumulator.hh | 36 +-
milena/mln/core/concept/gdpoint.hh | 47 +-
milena/mln/core/concept/gpoint.hh | 174 +-
milena/mln/core/concept/image.hh | 56 +-
milena/mln/core/concept/proxy.hh | 44 +-
milena/mln/core/concept/site_set.hh | 94 +-
milena/mln/core/concept/window.hh | 88 +-
milena/mln/core/internal/site_set_base.hh | 23 +-
milena/mln/core/neighb.hh | 66 +-
milena/mln/core/w_window.hh | 177 +-
milena/mln/fun/i2v/array.hh | 52 +-
milena/mln/fun/l2l/relabel.hh | 58 +-
milena/mln/math/round.hh | 10 +-
milena/mln/util/array.hh | 30 +-
milena/mln/value/concept/integer.hh | 16 +-
milena/mln/value/concept/scalar.hh | 10 +-
milena/mln/value/int_u8.hh | 10 +-
milena/mln/value/rgb.hh | 122 +-
milena/tests/unit_test/Makefile.am | 3758 ++++++++++----------
.../mln_convert_impl_from_float_to_value.cc | 11 +
.../mln_convert_impl_from_int_to_value.cc | 11 +
milena/tests/unit_test/mln_set_card.cc | 11 +
milena/tests/unit_test/mln_set_unique.cc | 11 +
34 files changed, 4227 insertions(+), 3692 deletions(-)
create mode 100644 milena/mln/convert/impl/from_float_to_value.hh
create mode 100644 milena/mln/convert/impl/from_int_to_value.hh
create mode 100644 milena/tests/unit_test/mln_convert_impl_from_float_to_value.cc
create mode 100644 milena/tests/unit_test/mln_convert_impl_from_int_to_value.cc
create mode 100644 milena/tests/unit_test/mln_set_card.cc
create mode 100644 milena/tests/unit_test/mln_set_unique.cc
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 6fcf548..3f34834 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,51 @@
+2008-12-22 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Add a dispatch in from_to.
+
+ * headers.mk: add new headers to the distribution.
+
+ * mln/convert/from_to.hh: overhaul in order to create the dispatch.
+ from_to() has now only one facade.
+
+ * mln/convert/from_to.hxx: add missing predeclarations and a new
+ namespace.
+
+ * mln/convert/impl/all.hh,
+ * mln/convert/impl/from_float_to_value.hh,
+ * mln/convert/impl/from_int_to_value.hh: add new dispatch while
+ converting from an int or a float.
+
+ * mln/core/alias/neighb2d.hh,
+ * mln/core/alias/window1d.hh,
+ * mln/core/alias/window2d.hh,
+ * mln/core/alias/window3d.hh,
+ * mln/core/concept/accumulator.hh,
+ * mln/core/concept/gdpoint.hh,
+ * mln/core/concept/gpoint.hh,
+ * mln/core/concept/image.hh,
+ * mln/core/concept/proxy.hh,
+ * mln/core/concept/site_set.hh,
+ * mln/core/concept/window.hh,
+ * mln/core/neighb.hh,
+ * mln/core/w_window.hh,
+ * mln/fun/i2v/array.hh,
+ * mln/fun/l2l/relabel.hh,
+ * mln/util/array.hh,
+ * mln/value/rgb.hh: put convert::from_to() declarations in
+ convert::over_load::.
+
+ * mln/core/internal/site_set_base.hh
+ * mln/math/round.hh
+ * mln/value/concept/integer.hh
+ * mln/value/concept/scalar.hh
+ * mln/value/int_u8.hh: update doc.
+
+ * tests/unit_test/Makefile.am,
+ * tests/unit_test/mln_convert_impl_from_float_to_value.cc,
+ * tests/unit_test/mln_convert_impl_from_int_to_value.cc,
+ * tests/unit_test/mln_set_card.cc,
+ * tests/unit_test/mln_set_unique.cc: add new unit tests.
+
2008-12-23 Thierry Geraud <thierry.geraud(a)lrde.epita.fr>
Fix minor bugs for 4 extra tests to pass.
diff --git a/milena/headers.mk b/milena/headers.mk
index 925f0ef..dd0aa62 100644
--- a/milena/headers.mk
+++ b/milena/headers.mk
@@ -2,1136 +2,1051 @@
nobase_include_HEADERS = \
mln/version.hh \
-mln/trace/quiet.hh \
-mln/trace/resume.hh \
+mln/histo/all.hh \
+mln/histo/data.hh \
+mln/histo/compute.hh \
+mln/histo/compute.spe.hh \
+mln/histo/essential.hh \
+mln/geom/pmin_pmax.hh \
+mln/geom/max_row.hh \
+mln/geom/chamfer.hh \
+mln/geom/min_row.hh \
+mln/geom/seeds2tiling.hh \
+mln/geom/size1d.hh \
+mln/geom/all.hh \
+mln/geom/size2d.hh \
+mln/geom/max_ind.hh \
+mln/geom/max_col.hh \
+mln/geom/size3d.hh \
+mln/geom/ninds.hh \
+mln/geom/nslis.hh \
+mln/geom/delta.hh \
+mln/geom/resize.hh \
+mln/geom/nsites.hh \
+mln/geom/min_col.hh \
+mln/geom/complex_geometry.hh \
+mln/geom/ncols.hh \
+mln/geom/nrows.hh \
+mln/geom/min_ind.hh \
+mln/geom/bbox.hh \
+mln/geom/seeds2tiling_roundness.hh \
+mln/geom/min_sli.hh \
+mln/geom/essential.hh \
+mln/geom/max_sli.hh \
+mln/draw/box.hh \
+mln/draw/all.hh \
+mln/draw/plot.hh \
+mln/draw/line.hh \
+mln/draw/essential.hh \
+mln/pw/image.hh \
+mln/pw/all.hh \
+mln/pw/value.hh \
+mln/pw/cst.hh \
+mln/pw/var.hh \
+mln/pw/essential.hh \
+mln/literal/zero.hh \
+mln/literal/ops.hh \
+mln/literal/origin.hh \
+mln/literal/grays.hh \
+mln/literal/all.hh \
+mln/literal/colors.hh \
+mln/literal/black.hh \
+mln/literal/one.hh \
+mln/literal/white.hh \
+mln/literal/essential.hh \
+mln/registration/get_rtransf.hh \
+mln/registration/internal/rms.hh \
+mln/registration/get_rot.hh \
+mln/registration/all.hh \
+mln/registration/multiscale.hh \
+mln/registration/registration.hh \
+mln/registration/essential.hh \
+mln/registration/icp.hh \
+mln/util/graph.hh \
+mln/util/max.hh \
+mln/util/lazy_set.hh \
+mln/util/set.hh \
+mln/util/tree_to_image.hh \
+mln/util/lemmings.hh \
+mln/util/greater_point.hh \
+mln/util/internal/graph_iter_base.hh \
+mln/util/internal/boost_graph_access.hh \
+mln/util/internal/boost_graph_structure.hh \
+mln/util/internal/graph_iter.hh \
+mln/util/internal/graph_nbh_iter.hh \
+mln/util/internal/vertex_impl.hh \
+mln/util/internal/edge_impl.hh \
+mln/util/internal/graph_base.hh \
+mln/util/internal/boost_graph.hh \
+mln/util/internal/graph_nbh_iter_base.hh \
+mln/util/internal/boost_graph_property.hh \
+mln/util/ord_pair.hh \
+mln/util/edge.hh \
+mln/util/all.hh \
+mln/util/dindex.hh \
+mln/util/tracked_ptr.hh \
+mln/util/ignore.hh \
+mln/util/greater_psite.hh \
+mln/util/timer.hh \
+mln/util/yes.hh \
+mln/util/line_graph.hh \
+mln/util/ord.hh \
+mln/util/tree_fast_to_image.hh \
+mln/util/tree.hh \
+mln/util/index.hh \
+mln/util/multi_site.hh \
+mln/util/branch_iter.hh \
+mln/util/branch_iter_ind.hh \
+mln/util/tree_to_fast.hh \
+mln/util/array.hh \
+mln/util/vertex.hh \
+mln/util/pix.hh \
+mln/util/tree_fast.hh \
+mln/util/site_pair.hh \
+mln/util/nil.hh \
+mln/util/eat.hh \
+mln/util/essential.hh \
+mln/data/memset_.hh \
+mln/data/paste.spe.hh \
+mln/data/memcpy_.hh \
+mln/data/all.hh \
+mln/data/paste.hh \
+mln/data/fill_with_image.hh \
+mln/data/fill_with_image.spe.hh \
+mln/data/fill_with_value.hh \
+mln/data/fill_with_value.spe.hh \
+mln/data/fill.hh \
+mln/data/essential.hh \
+mln/tag/init.hh \
+mln/tag/skeleton.hh \
+mln/tag/all.hh \
+mln/tag/essential.hh \
mln/trace/entering.hh \
mln/trace/all.hh \
-mln/trace/stop.hh \
-mln/trace/essential.hh \
mln/trace/warning.hh \
mln/trace/exiting.hh \
-mln/tag/all.hh \
-mln/tag/essential.hh \
-mln/tag/init.hh \
-mln/tag/skeleton.hh \
+mln/trace/resume.hh \
+mln/trace/quiet.hh \
+mln/trace/stop.hh \
+mln/trace/essential.hh \
+mln/make/graph.hh \
+mln/make/double_neighb2d.hh \
+mln/make/dpoint2d_h.hh \
mln/make/w_window.hh \
+mln/make/image.hh \
+mln/make/vec.hh \
mln/make/all.hh \
+mln/make/dual_neighb.hh \
+mln/make/w_window3d.hh \
+mln/make/mat.hh \
mln/make/win_chamfer.hh \
-mln/make/image.hh \
-mln/make/box2d_h.hh \
-mln/make/w_window_directional.hh \
-mln/make/point2d_h.hh \
-mln/make/+win_multiple.hh \
+mln/make/w_window2d_int.hh \
+mln/make/box1d.hh \
mln/make/voronoi.hh \
-mln/make/pix.hh \
+mln/make/box2d.hh \
mln/make/w_window2d.hh \
-mln/make/image2d.hh~ \
+mln/make/box3d.hh \
+mln/make/relabelfun.hh \
+mln/make/pixel.hh \
+mln/make/pix.hh \
+mln/make/box2d_h.hh \
mln/make/w_window1d.hh \
-mln/make/graph.hh \
-mln/make/dpoint2d_h.hh \
-mln/make/w_window2d_int.hh \
mln/make/image2d.hh \
+mln/make/w_window_directional.hh \
mln/make/w_window3d_int.hh \
-mln/make/w_window3d.hh \
mln/make/essential.hh \
-mln/make/box1d.hh \
-mln/make/relabelfun.hh \
-mln/make/double_neighb2d.hh \
mln/make/w_window1d_int.hh \
-mln/make/dual_neighb.hh \
-mln/make/pixel.hh \
-mln/make/vec.hh \
-mln/make/w_window2d.hh~ \
-mln/make/win_multiple.hh~ \
-mln/make/mat.hh \
-mln/make/box2d.hh \
-mln/make/box3d.hh \
-mln/+Weighted_Window.txt \
-mln/histo/all.hh \
-mln/histo/data.hh \
-mln/histo/compute.spe.hh \
-mln/histo/essential.hh \
-mln/histo/compute.hh \
-mln/essential/2d.hh \
+mln/make/point2d_h.hh \
+mln/display/all.hh \
+mln/display/essential.hh \
+mln/extension/adjust.hh \
+mln/extension/duplicate.hh \
+mln/extension/adjust_duplicate.hh \
+mln/extension/all.hh \
+mln/extension/adjust_fill.hh \
+mln/extension/fill.hh \
+mln/extension/essential.hh \
+mln/fun/p2b/chess.hh \
+mln/fun/p2b/all.hh \
+mln/fun/p2b/has.hh \
+mln/fun/p2b/big_chess.hh \
+mln/fun/p2b/essential.hh \
+mln/fun/p2p/mirror.hh \
+mln/fun/x2p/closest_point.hh \
+mln/fun/x2p/all.hh \
+mln/fun/x2p/essential.hh \
+mln/fun/ops.hh \
+mln/fun/c.hh \
+mln/fun/vv2v/max.hh \
+mln/fun/vv2v/lor.hh \
+mln/fun/vv2v/land_not.hh \
+mln/fun/vv2v/vec.hh \
+mln/fun/vv2v/all.hh \
+mln/fun/vv2v/macros.hh \
+mln/fun/vv2v/lxor.hh \
+mln/fun/vv2v/diff_abs.hh \
+mln/fun/vv2v/land.hh \
+mln/fun/vv2v/min.hh \
+mln/fun/vv2v/essential.hh \
+mln/fun/internal/array_base.hh \
+mln/fun/internal/x2x_linear_impl.hh \
+mln/fun/internal/ch_function_value_impl.hh \
+mln/fun/internal/selector.hh \
+mln/fun/v2w_w2v/norm.hh \
+mln/fun/p2v/ternary.hh \
+mln/fun/p2v/iota.hh \
+mln/fun/p2v/elifs.hh \
+mln/fun/p2v/all.hh \
+mln/fun/p2v/essential.hh \
+mln/fun/all.hh \
+mln/fun/v2b/lnot.hh \
+mln/fun/v2b/all.hh \
+mln/fun/v2b/threshold.hh \
+mln/fun/v2b/essential.hh \
+mln/fun/v2v/norm.hh \
+mln/fun/v2v/linear.hh \
+mln/fun/v2v/id.hh \
+mln/fun/v2v/saturate.hh \
+mln/fun/v2v/inc.hh \
+mln/fun/v2v/all.hh \
+mln/fun/v2v/dec.hh \
+mln/fun/v2v/abs.hh \
+mln/fun/v2v/rgb_to_hsl.hh \
+mln/fun/v2v/cast.hh \
+mln/fun/v2v/ch_function_value.hh \
+mln/fun/v2v/rgb_to_hsi.hh \
+mln/fun/v2v/enc.hh \
+mln/fun/v2v/convert.hh \
+mln/fun/v2v/essential.hh \
+mln/fun/v2w2v/cos.hh \
+mln/fun/vv2b/implies.hh \
+mln/fun/vv2b/le.hh \
+mln/fun/vv2b/gt.hh \
+mln/fun/vv2b/ge.hh \
+mln/fun/vv2b/lt.hh \
+mln/fun/vv2b/eq.hh \
+mln/fun/cast.hh \
+mln/fun/i2v/all.hh \
+mln/fun/i2v/array.hh \
+mln/fun/i2v/all_to.hh \
+mln/fun/i2v/essential.hh \
+mln/fun/l2l/relabel.hh \
+mln/fun/l2l/all.hh \
+mln/fun/l2l/essential.hh \
+mln/fun/x2x/composed.hh \
+mln/fun/x2x/all.hh \
+mln/fun/x2x/translation.hh \
+mln/fun/x2x/rotation.hh \
+mln/fun/x2x/essential.hh \
+mln/fun/meta/red.hh \
+mln/fun/meta/hue.hh \
+mln/fun/meta/inty.hh \
+mln/fun/meta/sat.hh \
+mln/fun/meta/to_enc.hh \
+mln/fun/x2v/linear.hh \
+mln/fun/x2v/bilinear.hh \
+mln/fun/x2v/all.hh \
+mln/fun/x2v/l1_norm.hh \
+mln/fun/x2v/nneighbor.hh \
+mln/fun/x2v/essential.hh \
+mln/fun/essential.hh \
+mln/all.hh \
+mln/convert/to_p_set.hh \
+mln/convert/to.hh \
+mln/convert/to_upper_window.hh \
+mln/convert/to_image.hh \
+mln/convert/to_fun.hh \
+mln/convert/all.hh \
+mln/convert/to_window.hh \
+mln/convert/from_to.hh \
+mln/convert/impl/from_value_to_value.hh \
+mln/convert/impl/all.hh \
+mln/convert/impl/from_image_to_site_set.hh \
+mln/convert/impl/from_float_to_value.hh \
+mln/convert/impl/from_int_to_value.hh \
+mln/convert/to_dpoint.hh \
+mln/convert/to_p_array.hh \
+mln/convert/from_to.hxx \
+mln/convert/to_rgb.hh \
+mln/convert/essential.hh \
+mln/value/shell.hh \
+mln/value/float01_f.hh \
+mln/value/float01_16.hh \
+mln/value/lut_vec.hh \
+mln/value/glf.hh \
+mln/value/other.hh \
+mln/value/graylevel_f.hh \
+mln/value/aliases.hh \
+mln/value/label_16.hh \
+mln/value/ops.hh \
+mln/value/set.hh \
+mln/value/int_u_sat.hh \
+mln/value/float01_8.hh \
+mln/value/int_u8.hh \
+mln/value/equiv.hh \
+mln/value/internal/integer.hh \
+mln/value/internal/gray_f.hh \
+mln/value/internal/all.hh \
+mln/value/internal/value_like.hh \
+mln/value/internal/iterable_set.hh \
+mln/value/internal/encoding.hh \
+mln/value/internal/convert.hh \
+mln/value/internal/gray_.hh \
+mln/value/internal/essential.hh \
+mln/value/proxy.hh \
+mln/value/viter.hh \
+mln/value/hsl.hh \
+mln/value/graylevel.hh \
+mln/value/all.hh \
+mln/value/super_value.hh \
+mln/value/builtin/symbolics.hh \
+mln/value/builtin/ops.hh \
+mln/value/builtin/all.hh \
+mln/value/builtin/promotions.hh \
+mln/value/builtin/integers.hh \
+mln/value/builtin/floatings.hh \
+mln/value/builtin/essential.hh \
+mln/value/sign.hh \
+mln/value/hsi.hh \
+mln/value/interval.hh \
+mln/value/gl16.hh \
+mln/value/scalar.hh \
+mln/value/float01.hh \
+mln/value/cast.hh \
+mln/value/int_u.hh \
+mln/value/int_s8.hh \
+mln/value/int_s16.hh \
+mln/value/int_u16.hh \
+mln/value/label.hh \
+mln/value/mixin.hh \
+mln/value/rgb.hh \
+mln/value/stack.hh \
+mln/value/concept/integer.hh \
+mln/value/concept/structured.hh \
+mln/value/concept/built_in.hh \
+mln/value/concept/all.hh \
+mln/value/concept/scalar.hh \
+mln/value/concept/data.hh \
+mln/value/concept/floating.hh \
+mln/value/concept/symbolic.hh \
+mln/value/concept/vectorial.hh \
+mln/value/concept/essential.hh \
+mln/value/int_s.hh \
+mln/value/rgb8.hh \
+mln/value/int_s32.hh \
+mln/value/float01_.hh \
+mln/value/rgb16.hh \
+mln/value/int_u32.hh \
+mln/value/gl8.hh \
+mln/value/label_8.hh \
+mln/value/essential.hh \
+mln/accu/tuple.hh \
+mln/accu/min_h.hh \
+mln/accu/max.hh \
+mln/accu/lor.hh \
+mln/accu/rank.hh \
+mln/accu/transform_stop.hh \
+mln/accu/maj_h.hh \
+mln/accu/min_max.hh \
+mln/accu/internal/base.hh \
+mln/accu/transform_snake.hh \
+mln/accu/rank_high_quant.hh \
+mln/accu/count.hh \
+mln/accu/median_h.hh \
+mln/accu/all.hh \
+mln/accu/land_basic.hh \
+mln/accu/p.hh \
+mln/accu/transform.hh \
+mln/accu/median_alt.hh \
+mln/accu/volume.hh \
+mln/accu/sum.hh \
+mln/accu/height.hh \
+mln/accu/land.hh \
+mln/accu/take.hh \
+mln/accu/histo.hh \
+mln/accu/pair.hh \
+mln/accu/count_adjacent_vertices.hh \
+mln/accu/convolve.hh \
+mln/accu/v.hh \
+mln/accu/rank_bool.hh \
+mln/accu/min.hh \
+mln/accu/transform_directional.hh \
+mln/accu/compute.hh \
+mln/accu/mean.hh \
+mln/accu/lor_basic.hh \
+mln/accu/transform_diagonal.hh \
+mln/accu/nil.hh \
+mln/accu/bbox.hh \
+mln/accu/center.hh \
+mln/accu/line.hh \
+mln/accu/essential.hh \
+mln/accu/max_h.hh \
+mln/level/compare.hh \
+mln/level/transform_inplace.hh \
+mln/level/replace.hh \
+mln/level/apply.hh \
+mln/level/approx/all.hh \
+mln/level/approx/essential.hh \
+mln/level/approx/median.hh \
+mln/level/saturate.hh \
+mln/level/all.hh \
+mln/level/fast_median.hh \
+mln/level/abs.hh \
+mln/level/transform.hh \
+mln/level/stretch.hh \
+mln/level/was.median.hh \
+mln/level/transform.spe.hh \
+mln/level/compute.hh \
+mln/level/convert.hh \
+mln/level/to_enc.hh \
+mln/level/apply.spe.hh \
+mln/level/naive/all.hh \
+mln/level/naive/essential.hh \
+mln/level/naive/median.hh \
+mln/level/sort_psites.hh \
+mln/level/update.hh \
+mln/level/essential.hh \
+mln/level/median.hh \
+mln/math/jacobi.hh \
+mln/math/max.hh \
+mln/math/sqr.hh \
+mln/math/all.hh \
+mln/math/sign.hh \
+mln/math/abs.hh \
+mln/math/cos.hh \
+mln/math/diff_abs.hh \
+mln/math/round.hh \
+mln/math/min.hh \
+mln/math/sqrt.hh \
+mln/math/essential.hh \
+mln/math/acos.hh \
+mln/math/round_sat.hh \
+mln/opt/at.hh \
+mln/binarization/includes.hh \
+mln/binarization/all.hh \
+mln/binarization/binarization.hh \
+mln/binarization/threshold.hh \
+mln/binarization/essential.hh \
+mln/trait/site_set/props.hh \
+mln/trait/site_set/print.hh \
+mln/trait/promote.hh \
+mln/trait/solve_binary.hh \
+mln/trait/value_.hh \
+mln/trait/all.hh \
+mln/trait/value/all.hh \
+mln/trait/value/nature.hh \
+mln/trait/value/quant.hh \
+mln/trait/value/kind.hh \
+mln/trait/value/print.hh \
+mln/trait/value/essential.hh \
+mln/trait/images.hh \
+mln/trait/window/props.hh \
+mln/trait/window/print.hh \
+mln/trait/ch_function_value.hh \
+mln/trait/ch_value.hh \
+mln/trait/solve.hh \
+mln/trait/solve_unary.hh \
+mln/trait/op/postdec.hh \
+mln/trait/op/mod.hh \
+mln/trait/op/lor.hh \
+mln/trait/op/neq.hh \
+mln/trait/op/plus.hh \
+mln/trait/op/xor.hh \
+mln/trait/op/all.hh \
+mln/trait/op/geq.hh \
+mln/trait/op/uminus.hh \
+mln/trait/op/not.hh \
+mln/trait/op/times.hh \
+mln/trait/op/less.hh \
+mln/trait/op/decl.hh \
+mln/trait/op/ord.hh \
+mln/trait/op/and.hh \
+mln/trait/op/or.hh \
+mln/trait/op/predec.hh \
+mln/trait/op/minus.hh \
+mln/trait/op/div.hh \
+mln/trait/op/leq.hh \
+mln/trait/op/preinc.hh \
+mln/trait/op/greater.hh \
+mln/trait/op/postinc.hh \
+mln/trait/op/uplus.hh \
+mln/trait/op/essential.hh \
+mln/trait/op/eq.hh \
+mln/trait/concrete.hh \
+mln/trait/windows.hh \
+mln/trait/site_sets.hh \
+mln/trait/image_from_grid.hh \
+mln/trait/undef.hh \
+mln/trait/image/props.hh \
+mln/trait/image/print.hh \
+mln/trait/neighborhood.hh \
+mln/trait/essential.hh \
+mln/canvas/labeling.hh \
+mln/canvas/browsing/hyper_directional.hh \
+mln/canvas/browsing/snake_generic.hh \
+mln/canvas/browsing/backdiagonal2d.hh \
+mln/canvas/browsing/snake_vert.hh \
+mln/canvas/browsing/snake_fwd.hh \
+mln/canvas/browsing/all.hh \
+mln/canvas/browsing/diagonal2d.hh \
+mln/canvas/browsing/fwd.hh \
+mln/canvas/browsing/dir_struct_elt_incr_update.hh \
+mln/canvas/browsing/depth_first_search.hh \
+mln/canvas/browsing/directional.hh \
+mln/canvas/browsing/essential.hh \
+mln/canvas/chamfer.hh \
+mln/canvas/distance_geodesic.hh \
+mln/canvas/all.hh \
+mln/canvas/distance_front.hh \
+mln/canvas/morpho/all.hh \
+mln/canvas/morpho/algebraic_union_find.hh \
+mln/canvas/morpho/essential.hh \
+mln/canvas/essential.hh \
+mln/metal/is_const.hh \
+mln/metal/none.hh \
+mln/metal/equal.hh \
+mln/metal/unptr.hh \
+mln/metal/not_equal.hh \
+mln/metal/is_ref.hh \
+mln/metal/ret.hh \
+mln/metal/unqualif.hh \
+mln/metal/is_not.hh \
+mln/metal/vec.hh \
+mln/metal/is.hh \
+mln/metal/bool.hh \
+mln/metal/all.hh \
+mln/metal/math/pow.hh \
+mln/metal/math/max.hh \
+mln/metal/math/all.hh \
+mln/metal/math/root.hh \
+mln/metal/math/sqrt.hh \
+mln/metal/mat.hh \
+mln/metal/is_not_const.hh \
+mln/metal/fix_return.hh \
+mln/metal/ands.hh \
+mln/metal/const.hh \
+mln/metal/is_unqualif.hh \
+mln/metal/unconst.hh \
+mln/metal/bexpr.hh \
+mln/metal/array2d.hh \
+mln/metal/is_not_a.hh \
+mln/metal/is_a.hh \
+mln/metal/array1d.hh \
+mln/metal/if.hh \
+mln/metal/unref.hh \
+mln/metal/array.hh \
+mln/metal/ref.hh \
+mln/metal/same_point.hh \
+mln/metal/int.hh \
+mln/metal/abort.hh \
+mln/metal/same_coord.hh \
+mln/metal/templated_by.hh \
+mln/metal/goes_to.hh \
+mln/metal/is_not_ref.hh \
+mln/metal/converts_to.hh \
+mln/metal/essential.hh \
+mln/metal/array3d.hh \
+mln/algebra/vec.hh \
+mln/algebra/all.hh \
+mln/algebra/h_vec.hh \
+mln/algebra/mat.hh \
+mln/algebra/h_mat.hh \
+mln/algebra/quat.hh \
+mln/algebra/essential.hh \
+mln/linear/convolve_2x1d.hh \
+mln/linear/all.hh \
+mln/linear/ch_convolve.hh \
+mln/linear/gaussian.hh \
+mln/linear/convolve.hh \
+mln/linear/sobel_2d.hh \
+mln/linear/local/convolve.hh \
+mln/linear/lap.hh \
+mln/linear/convolve_directional.hh \
+mln/linear/log.hh \
+mln/linear/essential.hh \
+mln/morpho/thinning.hh \
+mln/morpho/meyer_wst.hh \
+mln/morpho/opening.hh \
+mln/morpho/includes.hh \
+mln/morpho/elementary/opening.hh \
+mln/morpho/elementary/gradient_internal.hh \
+mln/morpho/elementary/dilation.hh \
+mln/morpho/elementary/laplacian.hh \
+mln/morpho/elementary/all.hh \
+mln/morpho/elementary/gradient_external.hh \
+mln/morpho/elementary/like_ero_fun.hh \
+mln/morpho/elementary/gradient.hh \
+mln/morpho/elementary/like_ero_set.hh \
+mln/morpho/elementary/closing.hh \
+mln/morpho/elementary/top_hat.hh \
+mln/morpho/elementary/erosion.hh \
+mln/morpho/elementary/essential.hh \
+mln/morpho/thin_fit.hh \
+mln/morpho/skeleton_constrained.hh \
+mln/morpho/complementation.hh \
+mln/morpho/line_gradient.hh \
+mln/morpho/hit_or_miss.hh \
+mln/morpho/closing_height.hh \
+mln/morpho/plus.hh \
+mln/morpho/general.hh \
+mln/morpho/internal/elementary.hh \
+mln/morpho/contrast.hh \
+mln/morpho/opening_area.hh \
+mln/morpho/opening_height.hh \
+mln/morpho/thickening.hh \
+mln/morpho/dilation.hh \
+mln/morpho/laplacian.hh \
+mln/morpho/all.hh \
+mln/morpho/opening_attribute.hh \
+mln/morpho/opening_volume.hh \
+mln/morpho/closing_area_on_vertices.hh \
+mln/morpho/closing_volume.hh \
+mln/morpho/minus.hh \
+mln/morpho/gradient.hh \
+mln/morpho/tree/max.hh \
+mln/morpho/tree/compute_parent.hh \
+mln/morpho/tree/all.hh \
+mln/morpho/tree/utils.hh \
+mln/morpho/tree/data.hh \
+mln/morpho/tree/compute_attribute_image.hh \
+mln/morpho/opening_area_on_vertices.hh \
+mln/morpho/general.spe.hh \
+mln/morpho/min.hh \
+mln/morpho/closing.hh \
+mln/morpho/top_hat.hh \
+mln/morpho/erosion.hh \
+mln/morpho/Rd.hh \
+mln/morpho/closing_area.hh \
+mln/morpho/thick_miss.hh \
+mln/morpho/closing_attribute.hh \
+mln/morpho/rank_filter.hh \
+mln/morpho/essential.hh \
+mln/topo/n_face_iter.hh \
+mln/topo/face_iter.hh \
+mln/topo/is_simple_2d.hh \
+mln/topo/centered_iter_adapter.hh \
+mln/topo/internal/complex_set_iterator_base.hh \
+mln/topo/internal/complex_iterator_base.hh \
+mln/topo/internal/complex_relative_iterator_base.hh \
+mln/topo/internal/complex_relative_iterator_sequence.hh \
+mln/topo/algebraic_n_face.hh \
+mln/topo/attic/faces_iter.hh \
+mln/topo/adj_lower_dim_connected_n_face_iter.hh \
+mln/topo/n_face.hh \
+mln/topo/adj_lower_higher_face_iter.hh \
+mln/topo/all.hh \
+mln/topo/face_data.hh \
+mln/topo/static_n_face_iter.hh \
+mln/topo/face.hh \
+mln/topo/adj_m_face_iter.hh \
+mln/topo/complex.hh \
+mln/topo/adj_higher_face_iter.hh \
+mln/topo/adj_lower_face_iter.hh \
+mln/topo/complex_iterators.hh \
+mln/topo/center_only_iter.hh \
+mln/topo/adj_higher_dim_connected_n_face_iter.hh \
+mln/topo/algebraic_face.hh \
+mln/topo/n_faces_set.hh \
+mln/topo/essential.hh \
+mln/essential/1d.hh \
mln/essential/routine.hh \
mln/essential/3d.hh \
-mln/essential/1d.hh \
-mln/set/get.hh \
-mln/set/uni.hh \
-mln/set/compute.hh~ \
-mln/set/all.hh \
-mln/set/unique.hh \
-mln/set/sym_diff.hh \
-mln/set/card.hh \
-mln/set/+NEW.sym_diff.hh \
-mln/set/essential.hh \
-mln/set/has.hh~ \
-mln/set/unique.hh~ \
-mln/set/+NEW.unique.hh \
-mln/set/diff.hh \
-mln/set/compute.hh \
-mln/set/has.hh \
-mln/set/+NEW.all.hh \
-mln/set/inter.hh \
-mln/transform/test.hh~ \
-mln/transform/distance_geodesic.hh~ \
-mln/transform/all.hh \
-mln/transform/influence_zone_geodesic.hh~ \
-mln/transform/internal/distance_functor.hh~ \
-mln/transform/internal/influence_zone_functor.hh \
-mln/transform/internal/all.hh \
-mln/transform/internal/distance_functor.hh \
-mln/transform/internal/influence_zone_functor.hh~ \
-mln/transform/internal/all.hh~ \
-mln/transform/distance_geodesic.hh \
-mln/transform/+old.distance.hh \
-mln/transform/essential.hh \
-mln/transform/distance.hh~ \
-mln/transform/influence_zone_front.hh~ \
-mln/transform/influence_zone_geodesic.hh \
-mln/transform/distance_front.hh \
-mln/transform/influence_zone_front.hh \
-mln/core/alias/neighb2d.hh \
-mln/core/alias/point3df.hh \
-mln/core/alias/w_window3d_float.hh \
-mln/core/alias/point2d.hh \
-mln/core/alias/w_window1d_float.hh \
-mln/core/alias/box2d_h.hh \
-mln/core/alias/point2d_h.hh \
-mln/core/alias/neighb1d.hh \
-mln/core/alias/p_run2d.hh \
-mln/core/alias/window2d.hh \
-mln/core/alias/window3d.hh \
-mln/core/alias/dpoint2d_h.hh \
-mln/core/alias/p_runs2d.hh \
-mln/core/alias/w_window2d_int.hh \
-mln/core/alias/w_window3d_int.hh \
-mln/core/alias/box1d.hh \
-mln/core/alias/w_window2d_float.hh \
-mln/core/alias/w_window1d_int.hh \
-mln/core/alias/dpoint1d.hh \
-mln/core/alias/point1d.hh \
-mln/core/alias/complex_image.hh \
-mln/core/alias/window1d.hh \
-mln/core/alias/dpoint2d.hh \
-mln/core/alias/neighb3d.hh \
-mln/core/alias/point3d.hh \
-mln/core/alias/dpoint3d.hh \
-mln/core/alias/complex_geometry.hh \
-mln/core/alias/box2d.hh \
-mln/core/alias/box3d.hh \
-mln/core/clock_neighb2d.hh \
-mln/core/macros.hh \
-mln/core/w_window.hh \
-mln/core/all.hh \
-mln/core/category.hh \
-mln/core/faces_psite.hh \
-mln/core/trait/all.hh \
-mln/core/trait/pixter.hh \
-mln/core/trait/op_mult.hh \
-mln/core/trait/essential.hh \
-mln/core/trait/qlf_value.hh \
+mln/essential/2d.hh \
+mln/win/inter.hh \
+mln/win/backdiag2d.hh \
+mln/win/segment1d.hh \
+mln/win/cuboid3d.hh \
+mln/win/vline2d.hh \
+mln/win/octagon2d.hh \
+mln/win/all.hh \
+mln/win/multiple_size.hh \
+mln/win/cube3d.hh \
+mln/win/shift.hh \
+mln/win/sym.hh \
+mln/win/diff.hh \
+mln/win/multiple.hh \
+mln/win/diag2d.hh \
+mln/win/disk2d.hh \
+mln/win/rectangle2d.hh \
+mln/win/hline2d.hh \
+mln/win/line.hh \
+mln/win/essential.hh \
+mln/core/clock_neighb.hh \
+mln/core/pixter2d.hh \
+mln/core/def/low_quant_nbits.hh \
+mln/core/def/all.hh \
+mln/core/def/coordf.hh \
+mln/core/def/coord.hh \
+mln/core/def/essential.hh \
+mln/core/site_set/box.hh \
+mln/core/site_set/p_vertices.hh \
+mln/core/site_set/p_vaccess.hh \
+mln/core/site_set/p_if_piter.hh \
+mln/core/site_set/p_run_piter.hh \
+mln/core/site_set/p_key.hh \
+mln/core/site_set/p_double.hh \
+mln/core/site_set/p_complex_piter.hh \
+mln/core/site_set/p_complex.hh \
+mln/core/site_set/p_image.hh \
+mln/core/site_set/attic/p_complex_faces_piter.hh \
+mln/core/site_set/attic/p_faces_piter.hh \
+mln/core/site_set/p_priority.hh \
+mln/core/site_set/p_set_of.hh \
+mln/core/site_set/all.hh \
+mln/core/site_set/p_edges.hh \
+mln/core/site_set/box_piter.hh \
+mln/core/site_set/p_faces.hh \
+mln/core/site_set/p_set.hh \
+mln/core/site_set/p_queue.hh \
mln/core/site_set/p_if.hh \
-mln/core/site_set/complex_psite.hh \
+mln/core/site_set/operators.hh \
mln/core/site_set/p_mutable_array_of.hh \
-mln/core/site_set/p_complex_piter.hh \
-mln/core/site_set/box.hh \
mln/core/site_set/p_edges_psite.hh \
-mln/core/site_set/all.hh \
+mln/core/site_set/complex_psite.hh \
+mln/core/site_set/p_run.hh \
+mln/core/site_set/p_n_faces_piter.hh \
+mln/core/site_set/p_centered.hh \
+mln/core/site_set/p_bgraph.hh \
mln/core/site_set/p_bgraph_piter.hh \
mln/core/site_set/p_array.hh \
mln/core/site_set/p_vertices_psite.hh \
-mln/core/site_set/box_piter.hh \
-mln/core/site_set/attic/p_faces_piter.hh \
-mln/core/site_set/attic/p_complex_faces_piter.hh \
-mln/core/site_set/p_complex.hh \
-mln/core/site_set/p_image.hh \
-mln/core/site_set/p_edges.hh \
+mln/core/site_set/status.txt \
mln/core/site_set/p_line2d.hh \
-mln/core/site_set/p_vertices.hh \
-mln/core/site_set/p_double.hh \
-mln/core/site_set/p_graph_piter.hh \
mln/core/site_set/p_queue_fast.hh \
-mln/core/site_set/p_priority.hh \
-mln/core/site_set/p_centered.hh \
+mln/core/site_set/p_graph_piter.hh \
mln/core/site_set/essential.hh \
-mln/core/site_set/p_faces.hh \
-mln/core/site_set/p_bgraph.hh \
-mln/core/site_set/p_run_piter.hh \
-mln/core/site_set/p_run.hh \
-mln/core/site_set/p_n_faces_piter.hh \
-mln/core/site_set/p_if_piter.hh \
-mln/core/site_set/+NEW.operators.hh \
-mln/core/site_set/p_set.hh \
-mln/core/site_set/p_vaccess.hh \
-mln/core/site_set/p_queue.hh \
-mln/core/site_set/p_set_of.hh \
-mln/core/site_set/status.txt \
-mln/core/site_set/operators.hh \
-mln/core/site_set/+NEW.box.hh \
-mln/core/site_set/p_key.hh \
+mln/core/dpsites_piter.hh \
+mln/core/w_window.hh \
+mln/core/grids.hh \
+mln/core/dpoints_pixter.hh \
+mln/core/internal/graph_psite_base.hh \
+mln/core/internal/run_image.hh \
+mln/core/internal/pixel_impl.hh \
+mln/core/internal/site_set_base.hh \
+mln/core/internal/image_value_morpher.hh \
+mln/core/internal/site_iterator_base.hh \
+mln/core/internal/complex_neighborhood_base.hh \
+mln/core/internal/site_relative_iterator_base.hh \
+mln/core/internal/site_set_impl.hh \
+mln/core/internal/exact.hh \
+mln/core/internal/p_complex_piter_base.hh \
+mln/core/internal/neighb_niter_impl.hh \
+mln/core/internal/pixel_iterator_base.hh \
+mln/core/internal/classical_window_base.hh \
+mln/core/internal/data.hh \
+mln/core/internal/force_exact.hh \
+mln/core/internal/image_base.hh \
+mln/core/internal/check/image_fastest.hh \
+mln/core/internal/check/image_all.hh \
+mln/core/internal/fixme.hh \
+mln/core/internal/morpher_lvalue.hh \
+mln/core/internal/image_domain_morpher.hh \
+mln/core/internal/image_primary.hh \
+mln/core/internal/set_of.hh \
+mln/core/internal/complex_window_p_base.hh \
+mln/core/internal/graph_window_base.hh \
+mln/core/internal/piter_adaptor.hh \
+mln/core/internal/weighted_window_base.hh \
+mln/core/internal/neighborhood_base.hh \
+mln/core/internal/image_morpher.hh \
+mln/core/internal/coord_impl.hh \
+mln/core/internal/geom_bbox.hh \
+mln/core/internal/image_identity.hh \
+mln/core/internal/pseudo_site_base.hh \
+mln/core/internal/window_base.hh \
+mln/core/internal/box_impl.hh \
+mln/core/internal/site_set_iterator_base.hh \
+mln/core/contract.hh \
+mln/core/all.hh \
+mln/core/point.hh \
+mln/core/neighb.hh \
+mln/core/routine/initialize.hh \
+mln/core/routine/primary.hh \
+mln/core/routine/duplicate.hh \
+mln/core/routine/init.hh \
+mln/core/routine/ops.hh \
+mln/core/routine/all.hh \
+mln/core/routine/exact.hh \
+mln/core/routine/extend.hh \
+mln/core/routine/essential.hh \
+mln/core/trait/op_mult.hh \
+mln/core/trait/all.hh \
+mln/core/trait/pixter.hh \
+mln/core/trait/qlf_value.hh \
+mln/core/trait/essential.hh \
+mln/core/pixter1d.hh \
+mln/core/category.hh \
+mln/core/macros.hh \
mln/core/box_runstart_piter.hh \
-mln/core/var.hh \
-mln/core/concept/browsing.hh \
-mln/core/concept/regular_grid.hh \
-mln/core/concept/pixel_iterator.hh \
+mln/core/tags.hh \
+mln/core/w_window.hh.orig \
+mln/core/dpoint.hh \
+mln/core/alias/dpoint2d_h.hh \
+mln/core/alias/p_run2d.hh \
+mln/core/alias/point3d.hh \
+mln/core/alias/neighb3d.hh \
+mln/core/alias/window3d.hh \
+mln/core/alias/neighb2d.hh \
+mln/core/alias/complex_image.hh \
+mln/core/alias/w_window1d_float.hh \
+mln/core/alias/neighb1d.hh \
+mln/core/alias/w_window2d_float.hh \
+mln/core/alias/w_window2d_int.hh \
+mln/core/alias/box1d.hh \
+mln/core/alias/box2d.hh \
+mln/core/alias/window1d.hh \
+mln/core/alias/point1d.hh \
+mln/core/alias/box3d.hh \
+mln/core/alias/dpoint3d.hh \
+mln/core/alias/complex_geometry.hh \
+mln/core/alias/w_window3d_float.hh \
+mln/core/alias/box2d_h.hh \
+mln/core/alias/point2d.hh \
+mln/core/alias/window2d.hh \
+mln/core/alias/p_runs2d.hh \
+mln/core/alias/point3df.hh \
+mln/core/alias/dpoint1d.hh \
+mln/core/alias/w_window3d_int.hh \
+mln/core/alias/dpoint2d.hh \
+mln/core/alias/w_window1d_int.hh \
+mln/core/alias/point2d_h.hh \
+mln/core/window.hh \
+mln/core/concept/site_proxy.hh \
mln/core/concept/point_site.hh \
-mln/core/concept/iterator.hh \
mln/core/concept/box.hh \
-mln/core/concept/site_proxy.hh \
-mln/core/concept/object.hh \
-mln/core/concept/all.hh \
-mln/core/concept/site_proxy.hh~ \
-mln/core/concept/image.hh \
mln/core/concept/generalized_pixel.hh \
-mln/core/concept/value_iterator.hh \
-mln/core/concept/value_set.hh \
-mln/core/concept/site_set.hh \
-mln/core/concept/point.hh \
-mln/core/concept/weighted_window.hh \
mln/core/concept/graph.hh \
-mln/core/concept/proxy.hxx \
-mln/core/concept/meta_fun.hh \
-mln/core/concept/proxy.hh~ \
-mln/core/concept/function.hh \
-mln/core/concept/site_iterator.hh \
-mln/core/concept/README \
-mln/core/concept/gpoint.hh \
-mln/core/concept/meta_accumulator.hh \
-mln/core/concept/gdpoint.hh \
-mln/core/concept/doc/pixel_iterator.hh \
+mln/core/concept/iterator.hh \
mln/core/concept/doc/point_site.hh \
-mln/core/concept/doc/iterator.hh \
mln/core/concept/doc/box.hh \
-mln/core/concept/doc/object.hh \
-mln/core/concept/doc/image.hh \
mln/core/concept/doc/generalized_pixel.hh \
-mln/core/concept/doc/value_iterator.hh \
+mln/core/concept/doc/iterator.hh \
+mln/core/concept/doc/image_fastest.hh \
+mln/core/concept/doc/image.hh \
mln/core/concept/doc/value_set.hh \
-mln/core/concept/doc/site_set.hh \
mln/core/concept/doc/weighted_window.hh \
-mln/core/concept/doc/image_fastest.hh \
+mln/core/concept/doc/pixel_iterator.hh \
+mln/core/concept/doc/value_iterator.hh \
mln/core/concept/doc/dpoint.hh \
-mln/core/concept/doc/accumulator.hh \
-mln/core/concept/doc/point_iterator.hh \
mln/core/concept/doc/window.hh \
+mln/core/concept/doc/accumulator.hh \
+mln/core/concept/doc/site_set.hh \
+mln/core/concept/doc/object.hh \
mln/core/concept/doc/neighborhood.hh \
-mln/core/concept/delta_point_site.hh \
-mln/core/concept/literal.hh \
-mln/core/concept/value.hh \
-mln/core/concept/dpoint.hh \
+mln/core/concept/doc/point_iterator.hh \
mln/core/concept/pseudo_site.hh \
-mln/core/concept/accumulator.hh \
-mln/core/concept/pseudo_site.hh~ \
+mln/core/concept/image.hh \
+mln/core/concept/value_set.hh \
mln/core/concept/proxy.hh \
mln/core/concept/site.hh \
+mln/core/concept/weighted_window.hh \
+mln/core/concept/all.hh \
+mln/core/concept/gpoint.hh \
+mln/core/concept/site_iterator.hh \
+mln/core/concept/window.hh.LOCAL.2903.hh \
+mln/core/concept/point.hh \
+mln/core/concept/literal.hh \
+mln/core/concept/pixel_iterator.hh \
+mln/core/concept/README \
+mln/core/concept/value_iterator.hh \
+mln/core/concept/meta_accumulator.hh \
+mln/core/concept/window.hh.BASE.2903.hh \
+mln/core/concept/gdpoint.hh \
+mln/core/concept/regular_grid.hh \
+mln/core/concept/mesh.hh \
+mln/core/concept/dpoint.hh \
+mln/core/concept/function.hh \
mln/core/concept/window.hh \
+mln/core/concept/value.hh \
+mln/core/concept/accumulator.hh \
+mln/core/concept/site_set.hh \
+mln/core/concept/proxy.hxx \
+mln/core/concept/object.hh \
+mln/core/concept/meta_fun.hh \
+mln/core/concept/delta_point_site.hh \
mln/core/concept/status.txt \
-mln/core/concept/+NEW.box.hh \
-mln/core/concept/#pseudo_site.hh# \
-mln/core/concept/all.hh~ \
mln/core/concept/neighborhood.hh \
-mln/core/concept/mesh.hh \
-mln/core/dpoints_pixter.hh \
-mln/core/internal/graph_window_base.hh \
-mln/core/internal/complex_window_p_base.hh \
-mln/core/internal/pixel_iterator_base.hh \
-mln/core/internal/weighted_window_base.hh \
-mln/core/internal/neighborhood_base.hh \
-mln/core/internal/complex_neighborhood_base.hh \
-mln/core/internal/data.hh \
-mln/core/internal/run_image.hh \
-mln/core/internal/window_base.hh \
-mln/core/internal/graph_psite_base.hh \
-mln/core/internal/site_relative_iterator_base.hh \
-mln/core/internal/image_base.hh \
-mln/core/internal/set_of.hh \
-mln/core/internal/exact.hh \
-mln/core/internal/p_complex_piter_base.hh \
-mln/core/internal/morpher_lvalue.hh \
-mln/core/internal/site_iterator_base.hh \
-mln/core/internal/pseudo_site_base.hh \
-mln/core/internal/pixel_impl.hh \
-mln/core/internal/force_exact.hh \
-mln/core/internal/site_set_iterator_base.hh \
-mln/core/internal/geom_bbox.hh \
-mln/core/internal/site_set_base.hh \
-mln/core/internal/classical_window_base.hh \
-mln/core/internal/image_value_morpher.hh \
-mln/core/internal/pseudo_site_base.hh~ \
-mln/core/internal/coord_impl.hh \
-mln/core/internal/check/image_all.hh \
-mln/core/internal/check/image_fastest.hh \
-mln/core/internal/fixme.hh \
-mln/core/internal/piter_adaptor.hh \
-mln/core/internal/image_domain_morpher.hh \
-mln/core/internal/geom_bbox.hh~ \
-mln/core/internal/neighb_niter_impl.hh \
-mln/core/internal/image_morpher.hh \
-mln/core/internal/weighted_window_base.hh~ \
-mln/core/internal/image_primary.hh \
-mln/core/internal/image_identity.hh \
-mln/core/internal/site_set_impl.hh \
-mln/core/internal/box_impl.hh \
-mln/core/pixter2d.hh \
-mln/core/point.hh \
-mln/core/a_point_of.hh \
-mln/core/clock_neighb.hh \
-mln/core/grids.hh \
-mln/core/tags.hh \
-mln/core/w_window.hh~ \
-mln/core/routine/all.hh \
-mln/core/routine/initialize.hh \
-mln/core/routine/exact.hh \
-mln/core/routine/essential.hh \
-mln/core/routine/init.hh \
-mln/core/routine/extend.hh \
-mln/core/routine/primary.hh \
-mln/core/routine/clone.hh \
-mln/core/routine/ops.hh \
-mln/core/contract.hh \
-mln/core/essential.hh \
-mln/core/pixter1d.hh \
-mln/core/neighb.hh \
+mln/core/concept/window.hh.orig \
+mln/core/concept/window.hh.REMOTE.2903.hh \
+mln/core/concept/browsing.hh \
mln/core/pixel.hh \
-mln/core/dpoint.hh \
-mln/core/+memo.dpoints_piter.hh \
+mln/core/clock_neighb2d.hh \
+mln/core/pixter3d.hh \
+mln/core/image/obased_rle_encode.hh \
mln/core/image/plain.hh \
-mln/core/image/image_if.hh \
-mln/core/image/t_image.hh \
-mln/core/image/complex_window_piter.hh \
-mln/core/image/interpolated.hh \
-mln/core/image/sparse_image.hh \
-mln/core/image/complex_neighborhood_piter.hh \
-mln/core/image/ch_piter.hh \
-mln/core/image/tr_image.hh \
-mln/core/image/extension_val.hh \
-mln/core/image/value_enc_image.hh \
-mln/core/image/all.hh \
-mln/core/image/extended.hh \
-mln/core/image/rle_encode.hh \
-mln/core/image/graph_window_piter.hh \
-mln/core/image/lazy_image.hh \
-mln/core/image/bgraph_image.hh \
-mln/core/image/image2d_h.hh \
-mln/core/image/bgraph_psite.hh \
-mln/core/image/hexa_piter.hh \
-mln/core/image/image2d.hh \
+mln/core/image/image3d.hh \
mln/core/image/decorated_image.hh \
-mln/core/image/hexa.hh \
-mln/core/image/essential.hh \
-mln/core/image/mono_obased_rle_encode.hh \
-mln/core/image/image1d.hh \
-mln/core/image/mono_rle_image.hh \
-mln/core/image/mono_obased_rle_image.hh \
+mln/core/image/extension_ima.hh \
mln/core/image/flat_image.hh \
+mln/core/image/complex_neighborhood_piter.hh \
+mln/core/image/tr_mesh.hh \
mln/core/image/graph_elt_window.hh \
+mln/core/image/obased_rle_image.hh \
+mln/core/image/mono_obased_rle_image.hh \
+mln/core/image/interpolated.hh \
+mln/core/image/lazy_image.hh \
+mln/core/image/t_image.hh \
+mln/core/image/hexa_piter.hh \
+mln/core/image/value_enc_image.hh \
mln/core/image/fun_image.hh \
+mln/core/image/sub_image_if.hh \
+mln/core/image/all.hh \
+mln/core/image/mono_rle_image.hh \
+mln/core/image/complex_image.hh \
mln/core/image/cast_image.hh \
-mln/core/image/sparse_encode.hh \
-mln/core/image/tr_mesh.hh \
-mln/core/image/extension_fun.hh \
-mln/core/image/violent_cast_image.hh \
-mln/core/image/safe.hh \
-mln/core/image/extension_ima.hh \
-mln/core/image/obased_rle_encode.hh \
+mln/core/image/rle_encode.hh \
+mln/core/image/complex_window_piter.hh \
+mln/core/image/tr_image.hh \
+mln/core/image/sub_image.hh \
mln/core/image/rle_image.hh \
-mln/core/image/sub_image_if.hh~ \
-mln/core/image/complex_image.hh \
mln/core/image/line_graph_elt_window.hh \
-mln/core/image/sub_image_if.hh \
-mln/core/image/sub_image.hh \
mln/core/image/mono_rle_encode.hh \
-mln/core/image/obased_rle_image.hh \
-mln/core/image/value_encode.hh \
-mln/core/image/status.txt \
+mln/core/image/bgraph_psite.hh \
+mln/core/image/sparse_image.hh \
+mln/core/image/bgraph_image.hh \
mln/core/image/complex_neighborhoods.hh \
-mln/core/image/image3d.hh \
+mln/core/image/graph_window_piter.hh \
+mln/core/image/sparse_encode.hh \
+mln/core/image/safe.hh \
+mln/core/image/extension_fun.hh \
+mln/core/image/image1d.hh \
+mln/core/image/extension_val.hh \
+mln/core/image/image_if.hh \
+mln/core/image/hexa.hh \
+mln/core/image/extended.hh \
+mln/core/image/image2d_h.hh \
+mln/core/image/image2d.hh \
+mln/core/image/ch_piter.hh \
mln/core/image/complex_windows.hh \
-mln/core/dpsites_piter.hh \
-mln/core/window.hh \
-mln/core/def/coordf.hh \
-mln/core/def/all.hh \
-mln/core/def/low_quant_nbits.hh \
-mln/core/def/essential.hh \
-mln/core/def/coord.hh \
-mln/core/def/low_quant_nbits.hh~ \
-mln/core/def/all.hh~ \
-mln/core/pixter3d.hh \
-mln/all.hh \
-mln/estim/nsites.hh~ \
-mln/estim/all.hh \
-mln/estim/sum.hh \
-mln/estim/min_max.hh \
-mln/estim/essential.hh \
-mln/estim/mean.hh \
-mln/math/sqrt.hh \
-mln/math/round_sat.hh \
-mln/math/sqr.hh \
-mln/math/all.hh \
-mln/math/acos.hh \
-mln/math/round.hh \
-mln/math/min.hh \
-mln/math/diff_abs.hh \
-mln/math/essential.hh \
-mln/math/abs.hh \
-mln/math/jacobi.hh \
-mln/math/cos.hh \
-mln/math/max.hh \
-mln/math/sign.hh \
-mln/morpho/closing.hh \
-mln/morpho/opening_volume.hh \
-mln/morpho/closing_attribute.hh \
-mln/morpho/minus.hh \
-mln/morpho/complementation.hh \
-mln/morpho/top_hat.hh \
-mln/morpho/skeleton_constrained.hh \
-mln/morpho/laplacian.hh \
-mln/morpho/opening_area_on_vertices.hh \
-mln/morpho/thinning.hh \
-mln/morpho/dilation.hh \
-mln/morpho/all.hh \
-mln/morpho/general.hh \
-mln/morpho/includes.hh \
-mln/morpho/+erosion.txt~ \
-mln/morpho/thick_miss.hh \
-mln/morpho/tree/compute_parent.hh \
-mln/morpho/tree/all.hh \
-mln/morpho/tree/data.hh \
-mln/morpho/tree/utils.hh \
-mln/morpho/tree/compute_attribute_image.hh~ \
-mln/morpho/tree/compute_attribute_image.hh \
-mln/morpho/tree/max.hh \
-mln/morpho/internal/elementary.hh \
-mln/morpho/meyer_wst.hh \
-mln/morpho/elementary/closing.hh \
-mln/morpho/elementary/top_hat.hh \
-mln/morpho/elementary/laplacian.hh \
-mln/morpho/elementary/dilation.hh \
-mln/morpho/elementary/all.hh \
-mln/morpho/elementary/like_ero_set.hh \
-mln/morpho/elementary/gradient_internal.hh \
-mln/morpho/elementary/gradient.hh \
-mln/morpho/elementary/essential.hh \
-mln/morpho/elementary/opening.hh \
-mln/morpho/elementary/erosion.hh \
-mln/morpho/elementary/gradient_external.hh \
-mln/morpho/elementary/like_ero_fun.hh \
-mln/morpho/+erosion.README~ \
-mln/morpho/opening_height.hh \
-mln/morpho/gradient.hh \
-mln/morpho/min.hh \
-mln/morpho/+erosion.README \
-mln/morpho/closing_area.hh \
-mln/morpho/essential.hh \
-mln/morpho/line_gradient.hh \
-mln/morpho/opening.hh \
-mln/morpho/erosion.hh \
-mln/morpho/thin_fit.hh \
-mln/morpho/Rd.hh \
-mln/morpho/hit_or_miss.hh \
-mln/morpho/+erosion.txt \
-mln/morpho/closing_area_on_vertices.hh \
-mln/morpho/general.spe.hh \
-mln/morpho/closing_height.hh \
-mln/morpho/plus.hh \
-mln/morpho/opening_area.hh \
-mln/morpho/rank_filter.hh \
-mln/morpho/contrast.hh \
-mln/morpho/thickening.hh \
-mln/morpho/opening_attribute.hh \
-mln/morpho/closing_volume.hh \
-mln/trait/concrete.hh \
-mln/trait/promote.hh \
-mln/trait/all.hh \
-mln/trait/site_set/props.hh \
-mln/trait/site_set/print.hh \
-mln/trait/site_set/print.hh~ \
-mln/trait/site_set/props.hh~ \
-mln/trait/value_.hh \
-mln/trait/image_from_grid.hh \
-mln/trait/ch_value.hh \
-mln/trait/solve_unary.hh \
-mln/trait/site_sets.hh \
-mln/trait/essential.hh \
-mln/trait/value/all.hh \
-mln/trait/value/print.hh \
-mln/trait/value/kind.hh \
-mln/trait/value/nature.hh \
-mln/trait/value/essential.hh \
-mln/trait/value/quant.hh \
-mln/trait/windows.hh~ \
-mln/trait/windows.hh \
-mln/trait/window/props.hh \
-mln/trait/window/print.hh \
-mln/trait/window/print.hh~ \
-mln/trait/window/props.hh~ \
-mln/trait/site_sets.hh~ \
-mln/trait/image/props.hh \
-mln/trait/image/print.hh \
-mln/trait/images.hh \
-mln/trait/undef.hh \
-mln/trait/op/postdec.hh \
-mln/trait/op/div.hh \
-mln/trait/op/uplus.hh \
-mln/trait/op/minus.hh \
-mln/trait/op/less.hh \
-mln/trait/op/predec.hh \
-mln/trait/op/eq.hh \
-mln/trait/op/all.hh \
-mln/trait/op/leq.hh \
-mln/trait/op/preinc.hh \
-mln/trait/op/and.hh \
-mln/trait/op/greater.hh \
-mln/trait/op/lor.hh \
-mln/trait/op/or.hh \
-mln/trait/op/not.hh \
-mln/trait/op/uminus.hh \
-mln/trait/op/essential.hh \
-mln/trait/op/times.hh \
-mln/trait/op/neq.hh \
-mln/trait/op/ord.hh \
-mln/trait/op/postinc.hh \
-mln/trait/op/xor.hh \
-mln/trait/op/mod.hh \
-mln/trait/op/plus.hh \
-mln/trait/op/decl.hh \
-mln/trait/op/geq.hh \
-mln/trait/solve_binary.hh \
-mln/trait/neighborhood.hh \
-mln/trait/solve.hh \
-mln/draw/box.hh \
-mln/draw/line.hh \
-mln/draw/all.hh \
-mln/draw/essential.hh \
-mln/draw/plot.hh \
-mln/labeling/foreground.hh \
-mln/labeling/all.hh \
-mln/labeling/level.spe.hh \
-mln/labeling/+old.level.hh \
-mln/labeling/regional_maxima.hh \
-mln/labeling/flat_zones.hh \
+mln/core/image/violent_cast_image.hh \
+mln/core/image/mono_obased_rle_encode.hh \
+mln/core/image/status.txt \
+mln/core/image/value_encode.hh \
+mln/core/image/essential.hh \
+mln/core/a_point_of.hh \
+mln/core/var.hh \
+mln/core/essential.hh \
+mln/core/faces_psite.hh \
mln/labeling/blobs.hh \
-mln/labeling/essential.hh \
-mln/labeling/relabel.hh \
-mln/labeling/regional_minima.hh \
mln/labeling/background.hh \
-mln/labeling/compute.hh \
+mln/labeling/relabel.hh \
+mln/labeling/level.spe.hh \
+mln/labeling/all.hh \
mln/labeling/level.hh \
-mln/binarization/all.hh \
-mln/binarization/includes.hh \
-mln/binarization/essential.hh \
-mln/binarization/binarization.hh \
-mln/binarization/threshold.hh \
-mln/topo/adj_lower_dim_connected_n_face_iter.hh \
-mln/topo/face_iter.hh \
-mln/topo/adj_lower_face_iter.hh \
-mln/topo/complex.hh \
-mln/topo/n_face_iter.hh \
-mln/topo/adj_lower_higher_face_iter.hh \
-mln/topo/centered_iter_adapter.hh \
-mln/topo/all.hh \
-mln/topo/complex_iterators.hh \
-mln/topo/attic/faces_iter.hh \
-mln/topo/internal/complex_set_iterator_base.hh \
-mln/topo/internal/complex_iterator_base.hh \
-mln/topo/internal/complex_relative_iterator_base.hh \
-mln/topo/internal/complex_relative_iterator_sequence.hh \
-mln/topo/face_data.hh \
-mln/topo/adj_m_face_iter.hh \
-mln/topo/algebraic_face.hh \
-mln/topo/algebraic_n_face.hh \
-mln/topo/is_simple_2d.hh \
-mln/topo/n_faces_set.hh \
-mln/topo/essential.hh \
-mln/topo/face.hh \
-mln/topo/static_n_face_iter.hh \
-mln/topo/center_only_iter.hh \
-mln/topo/adj_higher_dim_connected_n_face_iter.hh \
-mln/topo/n_face.hh \
-mln/topo/adj_higher_face_iter.hh \
-mln/canvas/all.hh \
-mln/canvas/morpho/all.hh \
-mln/canvas/morpho/algebraic_union_find.hh \
-mln/canvas/morpho/essential.hh \
-mln/canvas/distance_geodesic.hh \
-mln/canvas/essential.hh \
-mln/canvas/distance_front.hh~ \
-mln/canvas/labeling.hh \
-mln/canvas/+old.labeling.hh \
-mln/canvas/chamfer.hh \
-mln/canvas/browsing/directional.hh~ \
-mln/canvas/browsing/directional.hh \
-mln/canvas/browsing/snake_fwd.hh \
-mln/canvas/browsing/snake_generic.hh \
-mln/canvas/browsing/all.hh \
-mln/canvas/browsing/fwd.hh \
-mln/canvas/browsing/depth_first_search.hh \
-mln/canvas/browsing/backdiagonal2d.hh \
-mln/canvas/browsing/snake_vert.hh \
-mln/canvas/browsing/dir_struct_elt_incr_update.hh \
-mln/canvas/browsing/essential.hh \
-mln/canvas/browsing/diagonal2d.hh \
-mln/canvas/browsing/hyper_directional.hh \
-mln/canvas/distance_front.hh \
-mln/opt/at.hh \
-mln/util/line_graph.hh \
-mln/util/lazy_set.hh \
-mln/util/eat.hh \
-mln/util/ignore.hh \
-mln/util/timer.hh \
-mln/util/all.hh \
-mln/util/tracked_ptr.hh \
-mln/util/internal/graph_nbh_iter.hh \
-mln/util/internal/boost_graph_structure.hh \
-mln/util/internal/edge_impl.hh \
-mln/util/internal/graph_base.hh \
-mln/util/internal/vertex_impl.hh \
-mln/util/internal/graph_iter.hh \
-mln/util/internal/graph_nbh_iter_base.hh \
-mln/util/internal/boost_graph_access.hh \
-mln/util/internal/graph_iter_base.hh \
-mln/util/internal/boost_graph_property.hh \
-mln/util/internal/boost_graph.hh \
-mln/util/pix.hh \
-mln/util/greater_point.hh \
-mln/util/edge.hh \
-mln/util/multi_site.hh \
-mln/util/tree_fast_to_image.hh \
-mln/util/graph.hh \
-mln/util/site_pair.hh \
-mln/util/yes.hh \
-mln/util/essential.hh \
-mln/util/tree_to_fast.hh \
-mln/util/ord.hh \
-mln/util/greater_psite.hh \
-mln/util/vertex.hh \
-mln/util/branch_iter.hh \
-mln/util/tree_fast.hh \
-mln/util/dindex.hh \
-mln/util/branch_iter_ind.hh \
-mln/util/tree.hh \
-mln/util/set.hh \
-mln/util/index.hh \
-mln/util/max.hh~ \
-mln/util/tree_to_image.hh \
-mln/util/max.hh \
-mln/util/ord_pair.hh \
-mln/util/array.hh \
-mln/util/lemmings.hh \
-mln/util/nil.hh \
-mln/test/all.hh \
+mln/labeling/flat_zones.hh \
+mln/labeling/foreground.hh \
+mln/labeling/regional_maxima.hh \
+mln/labeling/compute.hh \
+mln/labeling/regional_minima.hh \
+mln/labeling/essential.hh \
mln/test/predicate.hh \
-mln/test/essential.hh \
+mln/test/all.hh \
mln/test/positive.hh \
-mln/border/get.hh \
-mln/border/equalize.hh \
-mln/border/all.hh \
-mln/border/duplicate.hh \
-mln/border/essential.hh \
-mln/border/find.hh \
-mln/border/adjust.hh \
-mln/border/resize.hh \
-mln/border/fill.hh \
-mln/border/thickness.hh \
-mln/border/mirror.hh \
-mln/accu/histo.hh \
-mln/accu/max_h.hh \
-mln/accu/take.hh \
-mln/accu/center.hh \
-mln/accu/bbox.hh \
-mln/accu/median_alt.hh \
-mln/accu/line.hh \
-mln/accu/all.hh \
-mln/accu/volume.hh \
-mln/accu/min_h.hh \
-mln/accu/land_basic.hh \
-mln/accu/convolve.hh \
-mln/accu/lor_basic.hh \
-mln/accu/sum.hh \
-mln/accu/internal/base.hh \
-mln/accu/min_max.hh \
-mln/accu/rank.hh \
-mln/accu/lor.hh \
-mln/accu/convolve.hh~ \
-mln/accu/min.hh \
-mln/accu/rank_high_quant.hh \
-mln/accu/transform_directional.hh \
-mln/accu/line.hh~ \
-mln/accu/pair.hh \
-mln/accu/essential.hh \
-mln/accu/median_h.hh \
-mln/accu/transform.hh \
-mln/accu/maj_h.hh \
-mln/accu/p.hh \
-mln/accu/transform_diagonal.hh~ \
-mln/accu/v.hh \
-mln/accu/tuple.hh \
-mln/accu/mean.hh \
-mln/accu/rank_bool.hh \
-mln/accu/compute.hh \
-mln/accu/max.hh \
-mln/accu/land.hh \
-mln/accu/transform_directional.hh~ \
-mln/accu/transform_stop.hh \
-mln/accu/transform_stop.hh~ \
-mln/accu/count_adjacent_vertices.hh \
-mln/accu/count.hh \
-mln/accu/transform.hh~ \
-mln/accu/transform_diagonal.hh \
-mln/accu/transform_snake.hh \
-mln/accu/height.hh \
-mln/accu/nil.hh \
-mln/extension/adjust_duplicate.hh \
-mln/extension/all.hh \
-mln/extension/duplicate.hh \
-mln/extension/essential.hh \
-mln/extension/duplicate.hh~ \
-mln/extension/adjust.hh \
-mln/extension/fill.hh \
-mln/extension/adjust.hh~ \
-mln/extension/all.hh~ \
-mln/extension/adjust_fill.hh \
-mln/io/pnm/load.hh \
-mln/io/pnm/macros.hh \
-mln/io/pnm/max_component.hh \
-mln/io/pnm/all.hh \
-mln/io/pnm/load_header.hh \
-mln/io/pnm/save.hh \
-mln/io/pnm/save_header.hh \
-mln/io/+read_GREAT08_fits.c \
-mln/io/off/load.hh \
-mln/io/off/all.hh \
-mln/io/off/save.hh \
+mln/test/essential.hh \
+mln/transform/distance_geodesic.hh \
+mln/transform/internal/all.hh \
+mln/transform/internal/distance_functor.hh \
+mln/transform/internal/influence_zone_functor.hh \
+mln/transform/all.hh \
+mln/transform/influence_zone_front.hh \
+mln/transform/distance_front.hh \
+mln/transform/influence_zone_geodesic.hh \
+mln/transform/essential.hh \
+mln/arith/includes.hh \
+mln/arith/min.spe.hh \
+mln/arith/plus.hh \
+mln/arith/revert.spe.hh \
+mln/arith/times.spe.hh \
+mln/arith/all.hh \
+mln/arith/times.hh \
+mln/arith/diff_abs.hh \
+mln/arith/minus.hh \
+mln/arith/min.hh \
+mln/arith/revert.hh \
+mln/arith/essential.hh \
+mln/io/pgm/load.hh \
+mln/io/pgm/all.hh \
+mln/io/pgm/save.hh \
+mln/io/ppm/load.hh \
+mln/io/ppm/all.hh \
+mln/io/ppm/save.hh \
+mln/io/pfm/load.hh \
+mln/io/pfm/all.hh \
+mln/io/pfm/save.hh \
mln/io/all.hh \
mln/io/pbm/load.hh \
mln/io/pbm/all.hh \
mln/io/pbm/save.hh \
-mln/io/pfm/load.hh \
-mln/io/pfm/all.hh \
-mln/io/pfm/save.hh \
-mln/io/fits/load.hh \
-mln/io/fits/all.hh \
+mln/io/pnm/max_component.hh \
+mln/io/pnm/load.hh \
+mln/io/pnm/load_header.hh \
+mln/io/pnm/all.hh \
+mln/io/pnm/macros.hh \
+mln/io/pnm/save.hh \
+mln/io/pnm/save_header.hh \
mln/io/txt/all.hh \
mln/io/txt/save.hh \
mln/io/abort.hh \
+mln/io/fits/load.hh \
+mln/io/fits/all.hh \
+mln/io/off/load.hh \
+mln/io/off/all.hh \
+mln/io/off/save.hh \
mln/io/essential.hh \
-mln/io/ppm/load.hh \
-mln/io/ppm/all.hh \
-mln/io/ppm/save.hh \
-mln/io/pgm/load.hh \
-mln/io/pgm/all.hh \
-mln/io/pgm/save.hh \
-mln/arith/minus.hh \
-mln/arith/all.hh \
-mln/arith/includes.hh \
-mln/arith/times.spe.hh \
-mln/arith/min.hh \
-mln/arith/diff_abs.hh \
-mln/arith/essential.hh \
-mln/arith/times.hh \
-mln/arith/revert.hh \
-mln/arith/min.spe.hh \
-mln/arith/plus.hh \
-mln/arith/revert.spe.hh \
-mln/convert/to_p_array.hh \
-mln/convert/from_to.hxx~ \
-mln/convert/to.hh \
-mln/convert/to_dpoint.hh \
-mln/convert/all.hh \
-mln/convert/to_upper_window.hh \
-mln/convert/impl/from_value_to_value.hh~ \
-mln/convert/impl/+NEW.from_image_to_site_set.hh \
-mln/convert/impl/all.hh \
-mln/convert/impl/+NEW.from_value_to_value.hh \
-mln/convert/impl/from_value_to_value.hh \
-mln/convert/impl/from_image_to_site_set.hh \
-mln/convert/essential.hh \
-mln/convert/from_to.hh \
-mln/convert/from_to.hxx \
-mln/convert/to_fun.hh \
-mln/convert/to_image.hh \
-mln/convert/to.hh~ \
-mln/convert/to_window.hh \
-mln/convert/to_rgb.hh \
-mln/convert/to_p_set.hh \
-mln/win/inter.hh~ \
-mln/win/backdiag2d.hh \
-mln/win/cube3d.hh \
-mln/win/line.hh \
-mln/win/all.hh \
-mln/win/rectangle2d.hh \
-mln/win/disk2d.hh \
-mln/win/cuboid3d.hh \
-mln/win/diag2d.hh \
-mln/win/shift.hh \
-mln/win/essential.hh \
-mln/win/octagon2d.hh \
-mln/win/sym.hh \
-mln/win/hline2d.hh \
-mln/win/segment1d.hh \
-mln/win/diff.hh \
-mln/win/vline2d.hh \
-mln/win/inter.hh \
-mln/win/multiple_size.hh \
-mln/win/multiple.hh \
-mln/algebra/all.hh \
-mln/algebra/h_mat.hh \
-mln/algebra/essential.hh \
-mln/algebra/h_vec.hh \
-mln/algebra/vec.hh \
-mln/algebra/quat.hh \
-mln/algebra/mat.hh \
-mln/debug/colorize.hh \
+mln/logical/includes.hh \
+mln/logical/and_not.hh \
+mln/logical/xor.hh \
+mln/logical/all.hh \
+mln/logical/not.hh \
+mln/logical/not.spe.hh \
+mln/logical/and.hh \
+mln/logical/or.hh \
+mln/logical/essential.hh \
+mln/norm/all.hh \
+mln/norm/l1.hh \
+mln/norm/l2.hh \
+mln/norm/linfty.hh \
+mln/norm/essential.hh \
mln/debug/iota.hh \
-mln/debug/iota.spe.hh \
-mln/debug/draw_graph.hh \
-mln/debug/format.hh \
mln/debug/all.hh \
-mln/debug/essential.hh \
mln/debug/println_with_border.hh \
-mln/debug/println.hh \
mln/debug/println.spe.hh \
-mln/debug/println_with_border.spe.hh \
+mln/debug/colorize.hh \
+mln/debug/draw_graph.hh \
mln/debug/put_word.hh \
-mln/value/int_u8.hh \
-mln/value/viter.hh \
-mln/value/glf.hh \
-mln/value/label.hh \
-mln/value/int_u_sat.hh \
-mln/value/float01_8.hh \
-mln/value/hsl.hh \
-mln/value/all.hh \
-mln/value/rgb.hh \
-mln/value/int_s16.hh \
-mln/value/shell.hh \
-mln/value/concept/vectorial.hh \
-mln/value/concept/floating.hh \
-mln/value/concept/all.hh \
-mln/value/concept/data.hh \
-mln/value/concept/built_in.hh \
-mln/value/concept/integer.hh \
-mln/value/concept/essential.hh \
-mln/value/concept/symbolic.hh \
-mln/value/concept/structured.hh \
-mln/value/concept/scalar.hh \
-mln/value/internal/all.hh \
-mln/value/internal/value_like.hh \
-mln/value/internal/gray_f.hh \
-mln/value/internal/integer.hh \
-mln/value/internal/essential.hh \
-mln/value/internal/convert.hh \
-mln/value/internal/gray_.hh \
-mln/value/internal/encoding.hh \
-mln/value/internal/iterable_set.hh \
-mln/value/int_s32.hh \
-mln/value/int_s.hh \
-mln/value/float01_.hh \
-mln/value/label_16.hh \
-mln/value/int_u16.hh \
-mln/value/int_u.hh \
-mln/value/hsi.hh \
-mln/value/essential.hh \
-mln/value/gl16.hh \
-mln/value/label_8.hh \
-mln/value/int_u32.hh \
-mln/value/interval.hh \
-mln/value/builtin/floatings.hh \
-mln/value/builtin/all.hh \
-mln/value/builtin/symbolics.hh \
-mln/value/builtin/promotions.hh \
-mln/value/builtin/essential.hh \
-mln/value/builtin/integers.hh \
-mln/value/builtin/ops.hh \
-mln/value/rgb16.hh \
-mln/value/graylevel_f.hh \
-mln/value/gl8.hh \
-mln/value/super_value.hh \
-mln/value/lut_vec.hh \
-mln/value/float01.hh \
-mln/value/aliases.hh \
-mln/value/proxy.hh \
-mln/value/mixin.hh \
-mln/value/set.hh \
-mln/value/cast.hh \
-mln/value/rgb8.hh \
-mln/value/stack.hh \
-mln/value/float01_f.hh \
-mln/value/other.hh \
-mln/value/scalar.hh \
-mln/value/equiv.hh \
-mln/value/float01_16.hh \
-mln/value/graylevel.hh \
-mln/value/sign.hh \
-mln/value/ops.hh \
-mln/value/int_s8.hh \
-mln/fun/x2x/all.hh \
-mln/fun/x2x/translation.hh \
-mln/fun/x2x/essential.hh \
-mln/fun/x2x/rotation.hh \
-mln/fun/x2x/composed.hh \
-mln/fun/x2p/all.hh \
-mln/fun/x2p/essential.hh \
-mln/fun/x2p/closest_point.hh \
-mln/fun/meta/hue.hh \
-mln/fun/meta/red.hh \
-mln/fun/meta/to_enc.hh \
-mln/fun/meta/inty.hh \
-mln/fun/meta/sat.hh \
-mln/fun/v2b/all.hh \
-mln/fun/v2b/essential.hh \
-mln/fun/v2b/threshold.hh \
-mln/fun/v2b/lnot.hh \
-mln/fun/v2b/lnot.hh~ \
-mln/fun/p2v/iota.hh \
-mln/fun/p2v/elifs.hh \
-mln/fun/p2v/all.hh \
-mln/fun/p2v/essential.hh \
-mln/fun/p2v/ternary.hh \
-mln/fun/all.hh \
-mln/fun/v2w2v/cos.hh \
-mln/fun/internal/array_base.hh \
-mln/fun/internal/selector.hh \
-mln/fun/internal/x2x_linear_impl.hh \
-mln/fun/vv2v/macros.hh \
-mln/fun/vv2v/land.hh~ \
-mln/fun/vv2v/all.hh \
-mln/fun/vv2v/macros.hh~ \
-mln/fun/vv2v/lor.hh \
-mln/fun/vv2v/min.hh \
-mln/fun/vv2v/diff_abs.hh \
-mln/fun/vv2v/essential.hh \
-mln/fun/vv2v/land_not.hh \
-mln/fun/vv2v/vec.hh \
-mln/fun/vv2v/lxor.hh \
-mln/fun/vv2v/max.hh \
-mln/fun/vv2v/land.hh \
-mln/fun/vv2v/vec.hh~ \
-mln/fun/p2p/mirror.hh \
-mln/fun/v2v/norm.hh \
-mln/fun/v2v/all.hh \
-mln/fun/v2v/inc.hh \
-mln/fun/v2v/essential.hh \
-mln/fun/v2v/abs.hh \
-mln/fun/v2v/linear.hh \
-mln/fun/v2v/convert.hh \
-mln/fun/v2v/rgb_to_hsi.hh \
-mln/fun/v2v/dec.hh \
-mln/fun/v2v/cast.hh \
-mln/fun/v2v/id.hh \
-mln/fun/v2v/rgb_to_hsl.hh \
-mln/fun/v2v/enc.hh \
-mln/fun/v2v/convert.hh~ \
-mln/fun/v2v/saturate.hh \
-mln/fun/essential.hh \
-mln/fun/p2b/all.hh \
-mln/fun/p2b/big_chess.hh \
-mln/fun/p2b/essential.hh \
-mln/fun/p2b/has.hh~ \
-mln/fun/p2b/has.hh \
-mln/fun/p2b/chess.hh \
-mln/fun/c.hh \
-mln/fun/i2v/all_to.hh \
-mln/fun/i2v/all.hh \
-mln/fun/i2v/essential.hh \
-mln/fun/i2v/array.hh \
-mln/fun/x2v/all.hh \
-mln/fun/x2v/l1_norm.hh \
-mln/fun/x2v/essential.hh \
-mln/fun/x2v/linear.hh \
-mln/fun/x2v/l1_norm.hh~ \
-mln/fun/x2v/bilinear.hh \
-mln/fun/x2v/nneighbor.hh \
-mln/fun/v2w_w2v/norm.hh \
-mln/fun/vv2b/eq.hh \
-mln/fun/vv2b/ge.hh \
-mln/fun/vv2b/lt.hh \
-mln/fun/vv2b/le.hh \
-mln/fun/vv2b/implies.hh \
-mln/fun/vv2b/gt.hh \
-mln/fun/cast.hh \
-mln/fun/l2l/all.hh \
-mln/fun/l2l/essential.hh \
-mln/fun/l2l/relabel.hh \
-mln/fun/ops.hh \
-mln/norm/all.hh \
-mln/norm/essential.hh \
-mln/norm/linfty.hh \
-mln/norm/l1.hh \
-mln/norm/l2.hh \
-mln/metal/is.hh \
-mln/metal/is_a.hh \
-mln/metal/array3d.hh \
-mln/metal/if.hh \
-mln/metal/same_coord.hh \
-mln/metal/ands.hh \
-mln/metal/goes_to.hh \
-mln/metal/is_not_ref.hh \
-mln/metal/equal.hh \
-mln/metal/all.hh \
-mln/metal/unref.hh \
-mln/metal/fix_return.hh~ \
-mln/metal/math/sqrt.hh \
-mln/metal/math/root.hh \
-mln/metal/math/all.hh \
-mln/metal/math/pow.hh \
-mln/metal/math/max.hh \
-mln/metal/math/root.hh~ \
-mln/metal/unqualif.hh \
-mln/metal/array2d.hh \
-mln/metal/bool.hh \
-mln/metal/is_unqualif.hh \
-mln/metal/not_equal.hh \
-mln/metal/templated_by.hh \
-mln/metal/is_const.hh \
-mln/metal/same_point.hh \
-mln/metal/is_not_a.hh \
-mln/metal/int.hh \
-mln/metal/abort.hh \
-mln/metal/essential.hh \
-mln/metal/ref.hh \
-mln/metal/array1d.hh \
-mln/metal/unconst.hh \
-mln/metal/none.hh \
-mln/metal/is_not_const.hh \
-mln/metal/not_equal.hh~ \
-mln/metal/vec.hh \
-mln/metal/is_not.hh \
-mln/metal/const.hh \
-mln/metal/converts_to.hh \
-mln/metal/fix_return.hh \
-mln/metal/bexpr.hh \
-mln/metal/array.hh \
-mln/metal/ret.hh \
-mln/metal/mat.hh \
-mln/metal/is_ref.hh \
-mln/metal/unptr.hh \
-mln/+__proto__/fake_run.hh \
-mln/+__proto__/fake_utils.hh \
-mln/+__proto__/a.out \
-mln/+__proto__/psite.cc \
-mln/+__proto__/fake_array.hh \
-mln/level/compute_incremental.hh~ \
-mln/level/+memo.fill.hh \
-mln/level/apply.spe.hh \
-mln/level/stretch.hh \
-mln/level/to_enc.hh \
-mln/level/all.hh \
-mln/level/fill_with_image.spe.hh~ \
-mln/level/+memo.fill.spe.hh \
-mln/level/median.hh \
-mln/level/compare.hh \
-mln/level/approx/all.hh \
-mln/level/approx/median.hh \
-mln/level/approx/essential.hh \
-mln/level/fast_median.hh \
-mln/level/replace.hh \
-mln/level/transform_inplace.hh~ \
-mln/level/essential.hh \
-mln/level/transform.hh \
-mln/level/abs.hh \
-mln/level/sort_psites.hh \
-mln/level/update.hh \
-mln/level/update.hh~ \
-mln/level/was.median.hh \
-mln/level/convert.hh \
-mln/level/naive/all.hh \
-mln/level/naive/median.hh \
-mln/level/naive/essential.hh \
-mln/level/compute.hh \
-mln/level/apply.hh \
-mln/level/convert.hh~ \
-mln/level/transform.spe.hh \
-mln/level/transform_inplace.hh \
-mln/level/saturate.hh \
-mln/subsampling/all.hh \
+mln/debug/println_with_border.spe.hh \
+mln/debug/format.hh \
+mln/debug/println.hh \
+mln/debug/iota.spe.hh \
+mln/debug/essential.hh \
+mln/estim/min_max.hh \
+mln/estim/all.hh \
+mln/estim/sum.hh \
+mln/estim/mean.hh \
+mln/estim/essential.hh \
+mln/set/uni.hh \
+mln/set/unique.hh \
+mln/set/inter.hh \
+mln/set/all.hh \
+mln/set/get.hh \
+mln/set/sym_diff.hh \
+mln/set/has.hh \
+mln/set/diff.hh \
+mln/set/card.hh \
+mln/set/compute.hh \
+mln/set/essential.hh \
+mln/border/adjust.hh \
+mln/border/duplicate.hh \
+mln/border/find.hh \
+mln/border/thickness.hh \
+mln/border/all.hh \
+mln/border/mirror.hh \
+mln/border/get.hh \
+mln/border/equalize.hh \
+mln/border/resize.hh \
+mln/border/fill.hh \
+mln/border/essential.hh \
mln/subsampling/gaussian_subsampling.hh \
-mln/subsampling/essential.hh \
+mln/subsampling/all.hh \
mln/subsampling/subsampling.hh \
-mln/logical/all.hh \
-mln/logical/includes.hh \
-mln/logical/and.hh \
-mln/logical/and_not.hh \
-mln/logical/or.hh \
-mln/logical/not.hh \
-mln/logical/includes.hh~ \
-mln/logical/essential.hh \
-mln/logical/not.spe.hh \
-mln/logical/xor.hh \
-mln/linear/lap.hh \
-mln/linear/all.hh \
-mln/linear/convolve.hh \
-mln/linear/gaussian.hh \
-mln/linear/essential.hh \
-mln/linear/log.hh \
-mln/linear/ch_convolve.hh \
-mln/linear/ch_convolve.hh~ \
-mln/linear/local/convolve.hh \
-mln/linear/convolve_directional.hh \
-mln/linear/convolve_2x1d.hh \
-mln/linear/sobel_2d.hh \
-mln/display/all.hh \
-mln/display/essential.hh \
-mln/data/paste.spe.hh \
-mln/data/all.hh \
-mln/data/fill_with_image.spe.hh \
-mln/data/paste.hh \
-mln/data/essential.hh \
-mln/data/essential.hh~ \
-mln/data/memcpy_.hh \
-mln/data/fill.hh \
-mln/data/fill_with_image.hh \
-mln/data/fill_with_value.hh \
-mln/data/fill_with_value.spe.hh \
-mln/data/memset_.hh \
-mln/pw/all.hh \
-mln/pw/image.hh \
-mln/pw/cst.hh \
-mln/pw/var.hh \
-mln/pw/essential.hh \
-mln/pw/value.hh \
-mln/geom/size1d.hh \
-mln/geom/size2d.hh \
-mln/geom/bbox.hh \
-mln/geom/nslis.hh \
-mln/geom/ninds.hh \
-mln/geom/all.hh \
-mln/geom/seeds2tiling.hh \
-mln/geom/min_row.hh \
-mln/geom/ncols.hh \
-mln/geom/nrows.hh \
-mln/geom/delta.hh \
-mln/geom/nsites.hh \
-mln/geom/max_col.hh \
-mln/geom/seeds2tiling_roundness.hh \
-mln/geom/min_ind.hh \
-mln/geom/max_sli.hh \
-mln/geom/max_row.hh \
-mln/geom/essential.hh \
-mln/geom/pmin_pmax.hh \
-mln/geom/diff.hh~ \
-mln/geom/min_sli.hh \
-mln/geom/resize.hh \
-mln/geom/max_ind.hh \
-mln/geom/chamfer.hh \
-mln/geom/min_col.hh \
-mln/geom/size3d.hh \
-mln/geom/complex_geometry.hh \
-mln/registration/multiscale.hh \
-mln/registration/all.hh \
-mln/registration/internal/rms.hh \
-mln/registration/icp.hh \
-mln/registration/registration.hh \
-mln/registration/essential.hh \
-mln/registration/get_rtransf.hh \
-mln/registration/get_rot.hh \
-mln/literal/white.hh \
-mln/literal/all.hh \
-mln/literal/black.hh \
-mln/literal/grays.hh \
-mln/literal/zero.hh \
-mln/literal/essential.hh \
-mln/literal/origin.hh \
-mln/literal/one.hh \
-mln/literal/colors.hh \
-mln/literal/ops.hh
+mln/subsampling/essential.hh
diff --git a/milena/mln/convert/from_to.hh b/milena/mln/convert/from_to.hh
index 1c4761d..ceaada6 100644
--- a/milena/mln/convert/from_to.hh
+++ b/milena/mln/convert/from_to.hh
@@ -42,102 +42,164 @@
# include <mln/value/concept/all.hh>
# include <mln/convert/impl/all.hh>
+# include <mln/convert/from_to.hxx>
# include <mln/algebra/vec.hh>
# include <mln/metal/is.hh>
# include <mln/metal/abort.hh>
-
namespace mln
{
namespace convert
{
-
- /// Guard.
template <typename F, typename T>
void
- from_to(const Object<F>& from, Object<T>& to);
+ from_to(const F& from, T& to);
- template <typename T>
- void
- from_to(const T& from, T& to);
- template <typename T>
- void
- from_to(const float& from, Object<T>& to);
+# ifndef MLN_INCLUDE_ONLY
- template <typename T>
- void
- from_to(const int& from, Object<T>& to);
+ namespace internal
+ {
+ // F -> T
+ // if F convertible to T.
+ template <typename F, typename T>
+ inline
+ void
+ from_to_dispatch(const metal::true_&, const Object<F>& from, Object<T>& to)
+ {
+ exact(to) = exact(from);
+ }
+
+
+ // Image -> Site_Set.
+ template <typename I, typename S>
+ inline
+ void
+ from_to_dispatch(const Image<I>& from, Site_Set<S>& to)
+ {
+ mlc_is(mln_trait_site_set_contents(S),
+ mln::trait::site_set::contents::dynamic)::check();
+ mln_precondition(exact(from).has_data());
+ mln::convert::impl::from_image_to_site_set(from, to);
+ }
+
+
+ // Value -> Value
+ template <typename F, typename T>
+ inline
+ void
+ from_to_dispatch(const Value<F>& from, Value<T>& to)
+ {
+ mln::convert::impl::from_value_to_value(from, to);
+ }
+
+
+ // F is NOT convertible to T.
+ template <typename F, typename T>
+ inline
+ void
+ from_to_dispatch(const metal::false_&, const Object<F>& from, Object<T>& to)
+ {
+ over_load::from_to_(exact(from), exact(to));
+ }
+
+
+ // Builtin -> Builtin
+ template <typename F, typename T>
+ inline
+ void
+ from_to_dispatch(metal::false_, const F& from,
+ metal::false_, T& to)
+ {
+ over_load::from_to_(from, exact(to));
+ }
+
+
+ // Object -> Builtin
+ template <typename F, typename T>
+ inline
+ void
+ from_to_dispatch(metal::true_, const F& from,
+ metal::false_, T& to)
+ {
+ over_load::from_to_(exact(from), to);
+ }
+
+
+ // Builtin -> Object
+ template <typename F, typename T>
+ inline
+ void
+ from_to_dispatch(metal::false_, const F& from,
+ metal::true_, T& to)
+ {
+ over_load::from_to_(from, exact(to));
+ }
+
+ // Object -> Object
+ template <typename F, typename T>
+ inline
+ void
+ from_to_dispatch(metal::true_, const F& from,
+ metal::true_, T& to)
+ {
+ internal::from_to_dispatch(typename mlc_converts_to(F, T)::eval(),
+ exact(from), exact(to));
+ }
+
+
+ } // end of namespace mln::convert::internal
+
+
+ namespace over_load
+ {
-# ifndef MLN_INCLUDE_ONLY
+ // Object -> Object (F not convertible towards T)
+ // No conversion exists!
+ template <typename F, typename T>
+ void
+ from_to_(const Object<F>&, Object<T>&)
+ {
+ // This particular from-to is not defined!
+ //
+ // Either this conversion is meaningless or an overload is
+ // missing.
+ mlc_abort(F)::check();
+ }
- // Guard.
- template <typename F, typename T>
- void
- from_to(const Object<F>&, Object<T>&)
- {
- // This particular from-to is not defined!
- //
- // Either this conversion is meaningless or an overload is
- // missing.
- mlc_abort(F)::check();
- }
- // T -> T
- template <typename T>
- inline
- void
- from_to(const T& from, T& to)
- {
- to = from;
- }
+ // Object -> Object
+ template <typename T>
+ inline
+ void
+ from_to_(const T& from, T& to)
+ {
+ exact(to) = exact(from);
+ }
- // Image -> Site_Set.
- template <typename I, typename S>
- inline
- void
- from_to(const Image<I>& from, Site_Set<S>& to)
- {
- mlc_is(mln_trait_site_set_contents(S),
- mln::trait::site_set::contents::dynamic)::check();
- mln_precondition(exact(from).has_data());
- mln::convert::impl::from_image_to_site_set(from, to);
- }
- // Value -> Value
- template <typename F, typename T>
- inline
- void
- from_to(const Value<F>& from, Value<T>& to)
- {
- mln::convert::impl::from_value_to_value(from, to);
- }
+ } // end of namespace mln::convert::over_load
+
- // float -> Object
- template <typename T>
- inline
- void
- from_to(const float& from, Object<T>& to)
- {
- mlc_is_a(T, mln::value::Floating)::check();
- exact(to) = from;
- }
- // int -> Object
- template <typename T>
+ // Facade
+
+ template <typename F, typename T>
inline
void
- from_to(const int& from, Object<T>& to)
+ from_to(const F& from, T& to)
{
- mlc_is_a(T, mln::value::Integer)::check();
- exact(to) = from;
+ typedef mlc_is_a(F, Object) F_is_object;
+ typedef mlc_is_a(T, Object) T_is_object;
+ internal::from_to_dispatch(F_is_object(), from,
+ T_is_object(), to);
}
diff --git a/milena/mln/convert/from_to.hxx b/milena/mln/convert/from_to.hxx
index 179537e..b534234 100644
--- a/milena/mln/convert/from_to.hxx
+++ b/milena/mln/convert/from_to.hxx
@@ -106,154 +106,172 @@ namespace mln
namespace convert
{
- // Guard.
- template <typename F, typename T>
- void
- from_to(const Object<F>&, Object<T>&);
- // end of Guard.
+ namespace over_load
+ {
+ // Guard.
+ template <typename F, typename T>
+ void
+ from_to_(const Object<F>&, Object<T>&);
+ // end of Guard.
- // algebra::vec -> Gpoint.
- template <unsigned n, typename T, typename P>
- void
- from_to(const algebra::vec<n,T>& from, Gpoint<P>& to_);
- // algebra::vec -> rgb.
- template <typename T, unsigned m>
- void
- from_to(const algebra::vec<3,T>& from, value::rgb<m>& to);
+ // algebra::vec -> Gpoint.
+ template <unsigned n, typename T, typename P>
+ void
+ from_to_(const algebra::vec<n,T>& from, Gpoint<P>& to_);
+ // algebra::vec -> rgb.
+ template <typename T, unsigned m>
+ void
+ from_to_(const algebra::vec<3,T>& from, value::rgb<m>& to);
- // bool -> rgb.
- template <unsigned m>
- void
- from_to(bool from, value::rgb<m>& to);
+ // bool -> rgb.
+ template <unsigned m>
+ void
+ from_to_(bool from, value::rgb<m>& to);
- // C-array -> Image.
- template <typename V, unsigned S, typename I>
- void
- from_to(const V (&values)[S], Image<I>& to);
- // C-array -> w_window
- template <typename V, unsigned S, typename D, typename W>
- void
- from_to(const V (&weight)[S], w_window<D,W>& to);
+ // C-array -> Image.
+ template <typename V, unsigned S, typename I>
+ void
+ from_to_(const V (&values)[S], Image<I>& to);
+ // C-array -> w_window
+ template <typename V, unsigned S, typename D, typename W>
+ void
+ from_to_(const V (&weight)[S], w_window<D,W>& to);
- // C-array -> window2d
- template <unsigned S>
- void
- from_to(const bool (&values)[S], window< dpoint<grid::square, def::coord> >& win);
- template <unsigned R, unsigned C>
- void
- from_to(const bool (&values)[R][C], window< dpoint<grid::square, def::coord> >& win);
+ // C-array -> window2d
+ template <unsigned S>
+ void
+ from_to_(const bool (&values)[S],
+ window< dpoint<grid::square, def::coord> >& win);
- // Gdpoint -> point
- template <typename D>
- void
- from_to(const Gdpoint<D>& from, mln_site(D)& to);
+ template <unsigned R, unsigned C>
+ void
+ from_to_(const bool (&values)[R][C],
+ window< dpoint<grid::square, def::coord> >& win);
+ // C-array -> neighb2d
+ template <unsigned S>
+ void
+ from_to_(const bool (&values)[S],
+ neighb< window< dpoint<grid::square, def::coord> > >& nbh);
- // Value -> Value
- template <typename F, typename T>
- void
- from_to(const Value<F>& from, Value<T>& to);
+ template <unsigned R, unsigned C>
+ void
+ from_to_(bool const (&values)[R][C],
+ neighb< window< dpoint<grid::square, def::coord> > >& nbh);
- // float -> Object
- template <typename T>
- void
- from_to(const float& from, Object<T>& to);
+ // Gdpoint -> point
+ template <typename D>
+ void
+ from_to_(const Gdpoint<D>& from, mln_site(D)& to);
- // int -> Object
- template <typename T>
- void
- from_to(const int& from, Object<T>& to);
- // Proxy -> T
- template <typename P, typename T>
- void
- from_to(const Proxy<P>& from, T& to);
+ // Value -> Value
+ template <typename F, typename T>
+ void
+ from_to_(const Value<F>& from, Value<T>& to);
+ // float -> Value
+ template <typename V>
+ void
+ from_to_(const float& from, Value<V>& to);
- // Gpoint -> algebra::vec.
- template <typename P, unsigned n, typename T>
- void
- from_to(const Gpoint<P>& from, algebra::vec<n,T>& to);
+ // int -> Value
+ template <typename T>
+ void
+ from_to_(const int& from, Value<T>& to);
- // Gpoint -> delta-point
- template <typename P>
- void
- from_to(const Gpoint<P>& from, mln_delta(P)& to);
+ // Proxy -> T
+ template <typename P, typename T>
+ void
+ from_to_(const Proxy<P>& from, T& to);
- // Image -> Site_Set.
- template <typename I, typename S>
- void
- from_to(const Image<I>& from, Site_Set<S>& to);
+ // Gpoint -> algebra::vec.
+ template <typename P, unsigned n, typename T>
+ void
+ from_to_(const Gpoint<P>& from, algebra::vec<n,T>& to);
- // Image -> w_window
- template <typename I, typename D, typename W>
- void
- from_to(const Image<I>& from, w_window<D,W>& to);
+ // Gpoint -> delta-point
+ template <typename P>
+ void
+ from_to_(const Gpoint<P>& from, mln_delta(P)& to);
- // neighb<W> -> W
- template <typename W>
- void
- from_to(const mln::neighb<W>& from, W& to);
+ // Image -> Site_Set.
+ template <typename I, typename S>
+ void
+ from_to_(const Image<I>& from, Site_Set<S>& to);
- // W -> neighb<W>
- template <typename W>
- void
- from_to(const W& from, mln::neighb<W>& to);
+ // Image -> w_window
+ template <typename I, typename D, typename W>
+ void
+ from_to_(const Image<I>& from, w_window<D,W>& to);
- // Window -> Image
- template <typename W, typename I>
- void
- from_to(const Window<W>& from, Image<I>& to);
+ // neighb<W> -> W
+ template <typename W>
+ void
+ from_to_(const mln::neighb<W>& from, W& to);
+ // W -> neighb<W>
+ template <typename W>
+ void
+ from_to_(const W& from, mln::neighb<W>& to);
- // w_window -> Image
- template <typename D, typename W, typename I>
- void
- from_to(const w_window<D,W>& from, Image<I>& to);
+ // Window -> Image
+ template <typename W, typename I>
+ void
+ from_to_(const Window<W>& from, Image<I>& to);
- // util::array<T> -> fun::i2v::array<T>
- template <typename T>
- void
- from_to(const util::array<T>& from, fun::i2v::array<T>& to);
+ // w_window -> Image
+ template <typename D, typename W, typename I>
+ void
+ from_to_(const w_window<D,W>& from, Image<I>& to);
- // std::vector<T> -> fun::i2v::array<T>
- template <typename T>
- void
- from_to(const std::vector<T>& from, fun::i2v::array<T>& to);
- // util::array<T1> -> util::array<T2>
- template <typename T1, typename T2>
- void
- from_to(const util::array<T1>& from, util::array<T2>& to);
+ // util::array<T> -> fun::i2v::array<T>
+ template <typename T>
+ void
+ from_to_(const util::array<T>& from, fun::i2v::array<T>& to);
- // Accumulator<A> -> mln_result(A)
- template <typename A>
- void
- from_to(const Accumulator<A>& from, mln_result(A)& to);
+ // std::vector<T> -> fun::i2v::array<T>
+ template <typename T>
+ void
+ from_to_(const std::vector<T>& from, fun::i2v::array<T>& to);
+ // util::array<T1> -> util::array<T2>
+ template <typename T1, typename T2>
+ void
+ from_to_(const util::array<T1>& from, util::array<T2>& to);
- // Site_Set -> std::set
- template <typename S, typename P, typename _C>
- void
- from_to(const Site_Set<S>& from, std::set<P,_C>& to);
- // std::set -> Site_Set
- template <typename P, typename _C, typename S>
- void
- from_to(const std::set<P,_C>& from, Site_Set<S>& to);
+ // Accumulator<A> -> mln_result(A)
+ template <typename A>
+ void
+ from_to_(const Accumulator<A>& from, mln_result(A)& to);
+
+
+ // Site_Set -> std::set
+ template <typename S, typename P, typename _C>
+ void
+ from_to_(const Site_Set<S>& from, std::set<P,_C>& to);
+
+ // std::set -> Site_Set
+ template <typename P, typename _C, typename S>
+ void
+ from_to_(const std::set<P,_C>& from, Site_Set<S>& to);
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/convert/impl/all.hh b/milena/mln/convert/impl/all.hh
index ef23006..a7ef79b 100644
--- a/milena/mln/convert/impl/all.hh
+++ b/milena/mln/convert/impl/all.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
+// 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
@@ -28,13 +28,14 @@
#ifndef MLN_CONVERT_IMPL_ALL_HH
# define MLN_CONVERT_IMPL_ALL_HH
-/*! \file mln/convert/impl/all.hh
- *
- * \brief File that includes all from-to conversion routines.
- */
+/// \file mln/convert/impl/all.hh
+///
+/// File that includes all from-to conversion routines.
+# include <mln/convert/impl/from_float_to_value.hh>
# include <mln/convert/impl/from_image_to_site_set.hh>
+# include <mln/convert/impl/from_int_to_value.hh>
# include <mln/convert/impl/from_value_to_value.hh>
diff --git a/milena/mln/convert/impl/from_float_to_value.hh b/milena/mln/convert/impl/from_float_to_value.hh
new file mode 100644
index 0000000..3a25bed
--- /dev/null
+++ b/milena/mln/convert/impl/from_float_to_value.hh
@@ -0,0 +1,157 @@
+// 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.
+
+#ifndef MLN_CONVERT_IMPL_FROM_FLOAT_TO_VALUE_HH
+# define MLN_CONVERT_IMPL_FROM_FLOAT_TO_VALUE_HH
+
+/// \file mln/convert/impl/from_float_to_value.hh
+///
+/// General conversion procedure from a float to a value.
+///
+/// \todo Augment code + add checks.
+
+# include <utility>
+# include <mln/value/concept/integer.hh>
+# include <mln/value/concept/floating.hh>
+# include <mln/core/concept/value.hh>
+# include <mln/math/round.hh>
+
+
+
+
+namespace mln
+{
+
+ namespace convert
+ {
+
+ /// Conversion of a float \p from towards a value \p to.
+ template <typename V>
+ void
+ from_to(const float& from, Value<V>& to);
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+ namespace impl
+ {
+
+ // Case 1:
+
+ template <typename V>
+ inline
+ void
+ from_float_to_value(const float& from,
+ mln::value::Integer<V>& to)
+ {
+ exact(to) = math::round<V>()(from);
+ }
+
+ // Case 2:
+
+ template <typename V>
+ inline
+ void
+ from_float_to_value(const float& from,
+ mln::value::Floating<V>& to)
+ {
+ exact(to) = from;
+ }
+
+
+ // Default: no conversion defined.
+
+ template <typename V>
+ inline
+ void
+ from_float_to_value(const float& from,
+ Value<V>& to)
+ {
+ mlc_abort(V)::check();
+ }
+
+ } // end of namespace mln::convert::impl
+
+
+ namespace internal
+ {
+
+ template <typename V>
+ inline
+ void
+ from_float_to_value_dispatch(const float& from, Value<V>& to)
+ {
+ impl::from_float_to_value(from, exact(to));
+ }
+
+ } // end of namespace mln::convert::internal
+
+
+ namespace over_load
+ {
+
+ // Facades.
+
+
+ // float-> Value
+ template <typename V>
+ inline
+ void
+ from_to_(const float& from, Value<V>& to)
+ {
+ internal::from_float_to_value_dispatch(from, to);
+ }
+
+ // float-> unsigned
+ inline
+ void
+ from_to_(const float& from,
+ unsigned& to)
+ {
+ mln_precondition(from >= 0);
+ to = math::round<unsigned>()(from);
+ }
+
+ // float-> int
+ inline
+ void
+ from_to_(const float& from,
+ int& to)
+ {
+ to = math::round<int>()(from);
+ }
+
+ } // end of namespace mln::convert::over_load
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::convert
+
+} // end of namespace mln
+
+
+#endif // ! MLN_CONVERT_IMPL_FROM_FLOAT_TO_VALUE_HH
diff --git a/milena/mln/convert/impl/from_int_to_value.hh b/milena/mln/convert/impl/from_int_to_value.hh
new file mode 100644
index 0000000..5d13080
--- /dev/null
+++ b/milena/mln/convert/impl/from_int_to_value.hh
@@ -0,0 +1,122 @@
+// 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.
+
+#ifndef MLN_CONVERT_IMPL_FROM_INT_TO_VALUE_HH
+# define MLN_CONVERT_IMPL_FROM_INT_TO_VALUE_HH
+
+/// \file mln/convert/impl/from_int_to_value.hh
+///
+/// General conversion procedure from a int to a value.
+///
+/// \todo Augment code + add checks.
+
+# include <utility>
+# include <mln/value/concept/integer.hh>
+# include <mln/core/concept/value.hh>
+# include <mln/math/round.hh>
+
+
+
+
+namespace mln
+{
+
+ namespace convert
+ {
+
+ /// Conversion of a int \p from towards a value \p to.
+ template <typename V>
+ void
+ from_to(const int& from, Value<V>& to);
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+ namespace impl
+ {
+
+ // Case 1:
+
+ template <typename V>
+ inline
+ void
+ from_int_to_value(const int& from,
+ mln::value::Integer<V>& to)
+ {
+ exact(to) = from;
+ }
+
+ // Default: no conversion defined.
+
+ template <typename V>
+ inline
+ void
+ from_int_to_value(const int& from,
+ Value<V>& to)
+ {
+ mlc_abort(V)::check();
+ }
+
+ } // end of namespace mln::convert::impl
+
+
+ namespace internal
+ {
+
+ template <typename V>
+ inline
+ void
+ from_int_to_value_dispatch(const int& from, Value<V>& to)
+ {
+ impl::from_int_to_value(from, exact(to));
+ }
+
+ } // end of namespace mln::convert::internal
+
+
+ namespace over_load
+ {
+
+ // Facades.
+ // int-> Value
+ template <typename V>
+ void
+ from_to_(const int& from, Value<V>& to)
+ {
+ internal::from_int_to_value_dispatch(from, to);
+ }
+
+ } // end of namespace mln::convert::over_load
+
+# endif // ! MLN_INCLUDE_ONLY
+
+ } // end of namespace mln::convert
+
+} // end of namespace mln
+
+
+#endif // ! MLN_CONVERT_IMPL_FROM_INT_TO_VALUE_HH
diff --git a/milena/mln/core/alias/neighb2d.hh b/milena/mln/core/alias/neighb2d.hh
index 6f78450..09a6db2 100644
--- a/milena/mln/core/alias/neighb2d.hh
+++ b/milena/mln/core/alias/neighb2d.hh
@@ -104,11 +104,16 @@ namespace mln
namespace convert
{
- template <unsigned S>
- void from_to(const bool (&values)[S], neighb2d& nbh);
+ namespace over_load
+ {
+
+ template <unsigned S>
+ void from_to_(const bool (&values)[S], neighb2d& nbh);
+
+ template <unsigned R, unsigned C>
+ void from_to_(bool const (&values)[R][C], neighb2d& nbh);
- template <unsigned R, unsigned C>
- void from_to(bool const (&values)[R][C], neighb2d& nbh);
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -176,27 +181,32 @@ namespace mln
namespace convert
{
- template <unsigned S>
- void
- from_to(const bool (&values)[S], neighb2d& nbh)
+ namespace over_load
{
- enum { h = mlc_sqrt_int(S) / 2 };
- mlc_bool((2 * h + 1) * (2 * h + 1) == S)::check();
- window2d& win = nbh.hook_win_();
- convert::from_to(values, win);
- mln_postcondition(win.is_neighbable_());
- }
-
- template <unsigned R, unsigned C>
- void
- from_to(bool const (&values)[R][C], neighb2d& nbh)
- {
- mlc_bool(R % 2 == 1)::check();
- mlc_bool(C % 2 == 1)::check();
- window2d& win = nbh.hook_win_();
- convert::from_to(values, win);
- mln_postcondition(win.is_neighbable_());
- }
+
+ template <unsigned S>
+ void
+ from_to_(const bool (&values)[S], neighb2d& nbh)
+ {
+ enum { h = mlc_sqrt_int(S) / 2 };
+ mlc_bool((2 * h + 1) * (2 * h + 1) == S)::check();
+ window2d& win = nbh.hook_win_();
+ convert::from_to(values, win);
+ mln_postcondition(win.is_neighbable_());
+ }
+
+ template <unsigned R, unsigned C>
+ void
+ from_to_(bool const (&values)[R][C], neighb2d& nbh)
+ {
+ mlc_bool(R % 2 == 1)::check();
+ mlc_bool(C % 2 == 1)::check();
+ window2d& win = nbh.hook_win_();
+ convert::from_to(values, win);
+ mln_postcondition(win.is_neighbable_());
+ }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/core/alias/window1d.hh b/milena/mln/core/alias/window1d.hh
index b2b34f2..eee53cc 100644
--- a/milena/mln/core/alias/window1d.hh
+++ b/milena/mln/core/alias/window1d.hh
@@ -49,8 +49,13 @@ namespace mln
namespace convert
{
- template <unsigned M>
- void from_to(const bool (&values)[M], window1d& win);
+ namespace over_load
+ {
+
+ template <unsigned M>
+ void from_to_(const bool (&values)[M], window1d& win);
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -61,18 +66,23 @@ namespace mln
namespace convert
{
- template <unsigned M>
- void
- from_to(bool const (&values)[M], window1d& win)
+ namespace over_load
{
- mlc_bool(M % 2 == 1)::check();
- win.clear();
- const int h = int(M) / 2;
- unsigned i = 0;
- for (int ind = - h; ind <= h; ++ind)
- if (values[i++])
- win.insert(ind);
- }
+
+ template <unsigned M>
+ void
+ from_to_(bool const (&values)[M], window1d& win)
+ {
+ mlc_bool(M % 2 == 1)::check();
+ win.clear();
+ const int h = int(M) / 2;
+ unsigned i = 0;
+ for (int ind = - h; ind <= h; ++ind)
+ if (values[i++])
+ win.insert(ind);
+ }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/core/alias/window2d.hh b/milena/mln/core/alias/window2d.hh
index 1003a87..458b5e3 100644
--- a/milena/mln/core/alias/window2d.hh
+++ b/milena/mln/core/alias/window2d.hh
@@ -63,11 +63,16 @@ namespace mln
namespace convert
{
- template <unsigned S>
- void from_to(const bool (&values)[S], window2d& win);
+ namespace over_load
+ {
+
+ template <unsigned S>
+ void from_to_(const bool (&values)[S], window2d& win);
+
+ template <unsigned R, unsigned C>
+ void from_to_(const bool (&values)[R][C], window2d& win);
- template <unsigned R, unsigned C>
- void from_to(const bool (&values)[R][C], window2d& win);
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -95,33 +100,38 @@ namespace mln
namespace convert
{
- template <unsigned S>
- void
- from_to(const bool (&values)[S], window2d& win)
+ namespace over_load
{
- enum { h = mlc_sqrt_int(S) / 2 };
- mlc_bool((2 * h + 1) * (2 * h + 1) == S)::check();
- win.clear();
- unsigned i = 0;
- for (int row = - h; row <= h; ++row)
- for (int col = - h; col <= h; ++col)
- if (values[i++])
- win.insert(row, col);
- }
-
- template <unsigned R, unsigned C>
- void
- from_to(const bool (&values)[R][C], window2d& win)
- {
- mlc_bool(R % 2 == 1)::check();
- mlc_bool(C % 2 == 1)::check();
- win.clear();
- const int drow = int(R) / 2, dcol = int(C) / 2;
- for (int row = - drow; row <= drow; ++row)
- for (int col = - dcol; col <= dcol; ++col)
- if (values[row + drow][col + dcol])
- win.insert(row, col);
- }
+
+ template <unsigned S>
+ void
+ from_to_(const bool (&values)[S], window2d& win)
+ {
+ enum { h = mlc_sqrt_int(S) / 2 };
+ mlc_bool((2 * h + 1) * (2 * h + 1) == S)::check();
+ win.clear();
+ unsigned i = 0;
+ for (int row = - h; row <= h; ++row)
+ for (int col = - h; col <= h; ++col)
+ if (values[i++])
+ win.insert(row, col);
+ }
+
+ template <unsigned R, unsigned C>
+ void
+ from_to_(const bool (&values)[R][C], window2d& win)
+ {
+ mlc_bool(R % 2 == 1)::check();
+ mlc_bool(C % 2 == 1)::check();
+ win.clear();
+ const int drow = int(R) / 2, dcol = int(C) / 2;
+ for (int row = - drow; row <= drow; ++row)
+ for (int col = - dcol; col <= dcol; ++col)
+ if (values[row + drow][col + dcol])
+ win.insert(row, col);
+ }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/core/alias/window3d.hh b/milena/mln/core/alias/window3d.hh
index 61c134b..04484fb 100644
--- a/milena/mln/core/alias/window3d.hh
+++ b/milena/mln/core/alias/window3d.hh
@@ -30,7 +30,8 @@
# define MLN_CORE_ALIAS_WINDOW3D_HH
/// \file mln/core/alias/window3d.hh
-/// \brief Definition of the mln::window3d alias and of a construction
+///
+/// Definition of the mln::window3d alias and of a construction
/// routine.
# include <cmath>
@@ -42,7 +43,7 @@
namespace mln
{
- /// \brief Type alias for a window with arbitrary shape, defined on
+ /// Type alias for a window with arbitrary shape, defined on
/// the 3D square grid with integer coordinates.
typedef window<mln::dpoint3d> window3d;
@@ -50,8 +51,13 @@ namespace mln
namespace convert
{
- template <unsigned M>
- void from_to(bool const (&values)[M], window3d& win);
+ namespace over_load
+ {
+
+ template <unsigned M>
+ void from_to_(bool const (&values)[M], window3d& win);
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -62,20 +68,25 @@ namespace mln
namespace convert
{
- template <unsigned M>
- void
- from_to(bool const (&values)[M], window3d& win)
+ namespace over_load
{
- const int h = unsigned(std::pow(float(M), float(1. / 3.))) / 2;
- mln_precondition((2 * h + 1) * (2 * h + 1) * (2 * h + 1) == M);
- win.clear();
- unsigned i = 0;
- for (int sli = - h; sli <= h; ++sli)
- for (int row = - h; row <= h; ++row)
- for (int col = - h; col <= h; ++col)
- if (values[i++])
- win.insert(sli, row, col);
- }
+
+ template <unsigned M>
+ void
+ from_to_(bool const (&values)[M], window3d& win)
+ {
+ const int h = unsigned(std::pow(float(M), float(1. / 3.))) / 2;
+ mln_precondition((2 * h + 1) * (2 * h + 1) * (2 * h + 1) == M);
+ win.clear();
+ unsigned i = 0;
+ for (int sli = - h; sli <= h; ++sli)
+ for (int row = - h; row <= h; ++row)
+ for (int col = - h; col <= h; ++col)
+ if (values[i++])
+ win.insert(sli, row, col);
+ }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/core/concept/accumulator.hh b/milena/mln/core/concept/accumulator.hh
index 5fcbf29..5999fe0 100644
--- a/milena/mln/core/concept/accumulator.hh
+++ b/milena/mln/core/concept/accumulator.hh
@@ -48,9 +48,14 @@ namespace mln
namespace convert
{
- template <typename A>
- void
- from_to(const Accumulator<A>& from, mln_result(A)& to);
+ namespace over_load
+ {
+
+ template <typename A>
+ void
+ from_to_(const Accumulator<A>& from, mln_result(A)& to);
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -103,21 +108,26 @@ namespace mln
# ifndef MLN_INCLUDE_ONLY
- // convert::from_to
+ // convert::from_to_
namespace convert
{
- template <typename A>
- void
- from_to(const Accumulator<A>& from_, mln_result(A)& to)
+ namespace over_load
{
- const A& from = exact(from_);
- if (from.is_valid())
- to = from.to_result();
- else
- to = mln_result(A)();
- }
+
+ template <typename A>
+ void
+ from_to_(const Accumulator<A>& from_, mln_result(A)& to)
+ {
+ const A& from = exact(from_);
+ if (from.is_valid())
+ to = from.to_result();
+ else
+ to = mln_result(A)();
+ }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/core/concept/gdpoint.hh b/milena/mln/core/concept/gdpoint.hh
index e44394a..5a5695e 100644
--- a/milena/mln/core/concept/gdpoint.hh
+++ b/milena/mln/core/concept/gdpoint.hh
@@ -41,7 +41,7 @@
namespace mln
{
- // Fwd decl.
+ // Forward declaration.
template <typename E> struct Gdpoint;
@@ -91,8 +91,7 @@ namespace mln
};
- /*! \brief FIXME: Doc!
- */
+ /// FIXME: Doc!
template <typename E>
struct Gdpoint : public Object<E>
{
@@ -139,19 +138,24 @@ namespace mln
namespace convert
{
- template <typename D>
- void
- from_to(const Gdpoint<D>& from, mln_site(D)& to);
+ namespace over_load
+ {
+
+ template <typename D>
+ void
+ from_to_(const Gdpoint<D>& from, mln_site(D)& to);
// template <typename D, unsigned n, typename T>
// void
-// from_to(const Gdpoint<D>& from, algebra::vec<n,T>& to);
+// from_to_(const Gdpoint<D>& from, algebra::vec<n,T>& to);
// template <unsigned n, typename T, typename D>
// void
-// from_to(const algebra::vec<n,T>& from, Gdpoint<D>& to);
+// from_to_(const algebra::vec<n,T>& from, Gdpoint<D>& to);
+
+ } // end of namespace mln::convert::over_load
- } // end of namespace::convert
+ } // end of namespace mln::convert
# ifndef MLN_INCLUDE_ONLY
@@ -215,18 +219,23 @@ namespace mln
namespace convert
{
- template <typename D>
- inline
- void
- from_to(const Gdpoint<D>& dp_, mln_site(D)& p)
+ namespace over_load
{
- enum { n = D::dim };
- const D& dp = exact(dp_);
- for (unsigned i = 0; i < n; ++i)
- p[i] = dp[i];
- }
- } // end of namespace::convert
+ template <typename D>
+ inline
+ void
+ from_to_(const Gdpoint<D>& dp_, mln_site(D)& p)
+ {
+ enum { n = D::dim };
+ const D& dp = exact(dp_);
+ for (unsigned i = 0; i < n; ++i)
+ p[i] = dp[i];
+ }
+
+ } // end of namespace mln::convert::over_load
+
+ } // end of namespace mln::convert
# endif // ! MLN_INCLUDE_ONLY
diff --git a/milena/mln/core/concept/gpoint.hh b/milena/mln/core/concept/gpoint.hh
index ef3c69a..12f1b38 100644
--- a/milena/mln/core/concept/gpoint.hh
+++ b/milena/mln/core/concept/gpoint.hh
@@ -29,10 +29,10 @@
#ifndef MLN_CORE_CONCEPT_GPOINT_HH
# define MLN_CORE_CONCEPT_GPOINT_HH
-/*! \file mln/core/concept/gpoint.hh
- *
- * \brief Definition of the concept of mln::Gpoint.
- */
+/// \file mln/core/concept/gpoint.hh
+///
+/// Definition of the concept of mln::Gpoint.
+
# include <mln/core/concept/site.hh>
# include <mln/core/concept/gdpoint.hh>
@@ -92,13 +92,12 @@ namespace mln
};
- /*! \brief Base class for implementation of point classes.
- *
- * A point is an element of a space.
- *
- * For instance, mln::point2d is the type of elements defined on the
- * discrete square grid of the 2D plane.
- */
+ /// Base class for implementation of point classes.
+ ///
+ /// A point is an element of a space.
+ ///
+ /// For instance, mln::point2d is the type of elements defined on the
+ /// discrete square grid of the 2D plane.
template <typename E>
struct Gpoint : public Site<E>
{
@@ -118,25 +117,30 @@ namespace mln
namespace convert
{
- template <typename P>
- void
- from_to(const Gpoint<P>& from, mln_delta(P)& to);
+ namespace over_load
+ {
- template <typename P, unsigned n, typename T>
- void
- from_to(const Gpoint<P>& from, algebra::vec<n,T>& to);
+ template <typename P>
+ void
+ from_to_(const Gpoint<P>& from, mln_delta(P)& to);
- template <unsigned n, typename T, typename P>
- void
- from_to(const algebra::vec<n,T>& from, Gpoint<P>& to);
+ template <typename P, unsigned n, typename T>
+ void
+ from_to_(const Gpoint<P>& from, algebra::vec<n,T>& to);
- } // end of namespace::convert
+ template <unsigned n, typename T, typename P>
+ void
+ from_to_(const algebra::vec<n,T>& from, Gpoint<P>& to);
+ } // end of namespace mln::convert::over_load
+ } // end of namespace mln::convert
- /*! \brief Equality comparison between a couple of grid point \p lhs
- * and \p rhs.
- *
+
+
+ /// Equality comparison between a couple of grid point \p lhs
+ /// and \p rhs.
+ /*!
* \param[in] lhs A first grid point.
* \param[in] rhs A second grid point.
*
@@ -152,10 +156,9 @@ namespace mln
bool operator==(const Gpoint<L>& lhs, const Gpoint<R>& rhs);
- /*! \brief Difference between a couple of grid point \p lhs and \p
- * rhs.
- *
- * \param[in] lhs A first grid point.
+ /// Difference between a couple of grid point \p lhs and \p
+ /// rhs.
+ /*! \param[in] lhs A first grid point.
* \param[in] rhs A second grid point.
*
* \warning There is no type promotion in Milena so the client
@@ -178,9 +181,9 @@ namespace mln
operator-(const Gpoint<L>& lhs, const Gpoint<R>& rhs);
- /*! \brief Add a delta-point \p rhs to a grid point \p lhs.
- *
- * \param[in] p A grid point.
+ /// Add a delta-point \p rhs to a grid point \p lhs.
+ ///
+ /*! \param[in] p A grid point.
* \param[in] dp A delta-point.
*
* The type of \p dp has to compatible with the type of \p p.
@@ -196,9 +199,9 @@ namespace mln
- /*! \brief Substract a delta-point \p rhs to a grid point \p lhs.
- *
- * \param[in] p A grid point.
+ /// Substract a delta-point \p rhs to a grid point \p lhs.
+ ///
+ /*! \param[in] p A grid point.
* \param[in] dp A delta-point.
*
* The type of \p dp has to compatible with the type of \p p.
@@ -213,9 +216,8 @@ namespace mln
operator-(const Gpoint<P>& p, const Gdpoint<D>& dp);
- /*! \brief Print a grid point \p p into the output stream \p ostr.
- *
- * \param[in,out] ostr An output stream.
+ /// Print a grid point \p p into the output stream \p ostr.
+ /*! \param[in,out] ostr An output stream.
* \param[in] p A grid point.
*
* \return The modified output stream \p ostr.
@@ -226,9 +228,8 @@ namespace mln
std::ostream& operator<<(std::ostream& ostr, const Gpoint<P>& p);
- /*! \brief Shift a point \p by a delta-point \p dp.
- *
- * \param[in,out] p The targeted point.
+ /// Shift a point \p by a delta-point \p dp.
+ /*! \param[in,out] p The targeted point.
* \param[in] dp A delta-point.
* \return A reference to the point \p p once translated by \p dp.
*
@@ -241,9 +242,8 @@ namespace mln
P& operator+=(Gpoint<P>& p, const Gdpoint<D>& dp);
- /*! \brief Shift a point \p by the negate of a delta-point \p dp.
- *
- * \param[in,out] p The targeted point.
+ /// Shift a point \p by the negate of a delta-point \p dp.
+ /*! \param[in,out] p The targeted point.
* \param[in] dp A delta-point.
* \return A reference to the point \p p once translated by - \p dp.
*
@@ -255,9 +255,8 @@ namespace mln
template <typename P, typename D>
P& operator-=(Gpoint<P>& p, const Gdpoint<D>& dp);
- /*! \brief Divise a point \p by a scalar \p s.
- *
- * \param[in,out] p The targeted point.
+ /// Divise a point \p by a scalar \p s.
+ /*! \param[in,out] p The targeted point.
* \param[in] dp A scalar.
* \return A reference to the point \p p once divised by \p s.
*
@@ -287,51 +286,56 @@ namespace mln
}
- // convert::from_to
+ // convert::from_to_
namespace convert
{
- // Gpoint -> delta
- template <typename P>
- inline
- void
- from_to(const Gpoint<P>& p_, mln_delta(P)& dp)
- {
- // Instead of "dp.to_vec() = exact(p).to_vec();" that
- // does not compile (cause to_vec returns const), we
- // have:
- enum { n = P::dim };
- const P& p = exact(p_);
- for (unsigned i = 0; i < n; ++i)
- dp[i] = p[i];
- }
-
- // Gpoint -> algebra::vec.
- template <typename P, unsigned n, typename T>
- inline
- void
- from_to(const Gpoint<P>& from_, algebra::vec<n,T>& to)
- {
- mlc_bool(n == P::dim)::check();
- const P& from = exact(from_);
- for (unsigned i = 0; i < n; ++i)
- to[i] = static_cast< T >(from[i]); // FIXME: cast -> best effort...
- }
-
- // algebra::vec -> Gpoint.
- template <unsigned n, typename T, typename P>
- inline
- void
- from_to(const algebra::vec<n,T>& from, Gpoint<P>& to_)
+ namespace over_load
{
- mlc_bool(P::dim == n)::check();
- P& to = exact(to_);
- for (unsigned i = 0; i < n; ++i)
- to[i] = static_cast< typename P::coord >(from[i]); // FIXME: cast -> best effort...
- }
- } // end of namespace::convert
+ // Gpoint -> delta
+ template <typename P>
+ inline
+ void
+ from_to_(const Gpoint<P>& p_, mln_delta(P)& dp)
+ {
+ // Instead of "dp.to_vec() = exact(p).to_vec();" that
+ // does not compile (cause to_vec returns const), we
+ // have:
+ enum { n = P::dim };
+ const P& p = exact(p_);
+ for (unsigned i = 0; i < n; ++i)
+ dp[i] = p[i];
+ }
+
+ // Gpoint -> algebra::vec.
+ template <typename P, unsigned n, typename T>
+ inline
+ void
+ from_to_(const Gpoint<P>& from_, algebra::vec<n,T>& to)
+ {
+ mlc_bool(n == P::dim)::check();
+ const P& from = exact(from_);
+ for (unsigned i = 0; i < n; ++i)
+ to[i] = static_cast< T >(from[i]); // FIXME: cast -> best effort...
+ }
+
+ // algebra::vec -> Gpoint.
+ template <unsigned n, typename T, typename P>
+ inline
+ void
+ from_to_(const algebra::vec<n,T>& from, Gpoint<P>& to_)
+ {
+ mlc_bool(P::dim == n)::check();
+ P& to = exact(to_);
+ for (unsigned i = 0; i < n; ++i)
+ to[i] = static_cast< typename P::coord >(from[i]); // FIXME: cast -> best effort...
+ }
+
+ } // end of namespace mln::convert::over_load
+
+ } // end of namespace mln::convert
// Operators.
diff --git a/milena/mln/core/concept/image.hh b/milena/mln/core/concept/image.hh
index 2ec7765..88a5582 100644
--- a/milena/mln/core/concept/image.hh
+++ b/milena/mln/core/concept/image.hh
@@ -116,9 +116,14 @@ namespace mln
namespace convert
{
- template <typename V, unsigned S, typename I>
- void
- from_to(const V (&values)[S], Image<I>& to);
+ namespace over_load
+ {
+
+ template <typename V, unsigned S, typename I>
+ void
+ from_to_(const V (&values)[S], Image<I>& to);
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -243,27 +248,32 @@ namespace mln
namespace convert
{
- template <typename V, unsigned S, typename I>
- void
- from_to(const V (&values)[S], Image<I>& to_)
+ namespace over_load
{
- mlc_bool(S != 0)::check();
- mlc_converts_to(V, mln_value(I))::check();
- typedef mln_site(I) P;
- enum { d = P::dim,
- s = mlc_root(d, S)::value };
- metal::bool_<(mlc_pow_int(s, d) == S)>::check();
-
- I& to = exact(to_);
- mln_precondition(! to.has_data());
-
- box<P> b(all_to(0), all_to(s - 1));
- to.init_(b);
- mln_fwd_piter(box<P>) p(b);
- unsigned i = 0;
- for_all(p)
- to(p) = values[i++];
- }
+
+ template <typename V, unsigned S, typename I>
+ void
+ from_to_(const V (&values)[S], Image<I>& to_)
+ {
+ mlc_bool(S != 0)::check();
+ mlc_converts_to(V, mln_value(I))::check();
+ typedef mln_site(I) P;
+ enum { d = P::dim,
+ s = mlc_root(d, S)::value };
+ metal::bool_<(mlc_pow_int(s, d) == S)>::check();
+
+ I& to = exact(to_);
+ mln_precondition(! to.has_data());
+
+ box<P> b(all_to(0), all_to(s - 1));
+ to.init_(b);
+ mln_fwd_piter(box<P>) p(b);
+ unsigned i = 0;
+ for_all(p)
+ to(p) = values[i++];
+ }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/core/concept/proxy.hh b/milena/mln/core/concept/proxy.hh
index d8cdd9e..da98338 100644
--- a/milena/mln/core/concept/proxy.hh
+++ b/milena/mln/core/concept/proxy.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008 EPITA Research and Development Laboratory
+// 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
@@ -45,7 +45,6 @@
# include <mln/core/concept/proxy.hxx>
-
# define mln_decl_unop_proxy(Name, Symb) \
\
template <typename P> \
@@ -125,9 +124,18 @@
namespace mln
{
- // Fwd decl.
+ // Forward declarations.
template <typename E> struct Proxy;
+ namespace convert
+ {
+
+ template <typename F, typename T>
+ void from_to(const F& from, T& to);
+
+ }
+
+
namespace trait
{
@@ -201,14 +209,19 @@ namespace mln
};
- // convert::from_to
+ // convert::from_to_
namespace convert
{
- template <typename P, typename T>
- void
- from_to(const Proxy<P>& from, T& to);
+ namespace over_load
+ {
+
+ template <typename P, typename T>
+ void
+ from_to_(const Proxy<P>& from, T& to);
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -288,17 +301,22 @@ namespace mln
- // convert::from_to
+ // convert::from_to_
namespace convert
{
- template <typename P, typename T>
- void
- from_to(const Proxy<P>& from, T& to)
+ namespace over_load
{
- from_to(exact(from).unproxy_(), to);
- }
+
+ template <typename P, typename T>
+ void
+ from_to_(const Proxy<P>& from, T& to)
+ {
+ convert::from_to(exact(from).unproxy_(), to);
+ }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/core/concept/site_set.hh b/milena/mln/core/concept/site_set.hh
index f2f33fd..460db15 100644
--- a/milena/mln/core/concept/site_set.hh
+++ b/milena/mln/core/concept/site_set.hh
@@ -45,13 +45,20 @@
# include <mln/util/ord.hh>
-
namespace mln
{
- // Fwd decl.
+ // Forward declarations.
template <typename E> struct Site_Set;
+ namespace convert
+ {
+
+ template <typename F, typename T>
+ void from_to(const F& from, T& to);
+
+ }
+
/// Site_Set category flag type.
template <>
@@ -61,11 +68,10 @@ namespace mln
};
- /*! \brief Base class for implementation classes of site sets.
- *
- * \see mln::doc::Site_Set for a complete documentation of this
- * class contents.
- */
+ /// Base class for implementation classes of site sets.
+ ///
+ /// \see mln::doc::Site_Set for a complete documentation of this
+ /// class contents.
template <typename E>
struct Site_Set : public Object<E>
{
@@ -95,13 +101,18 @@ namespace mln
namespace convert
{
- template <typename S, typename P, typename _C>
- void
- from_to(const Site_Set<S>& from, std::set<P,_C>& to);
+ namespace over_load
+ {
+
+ template <typename S, typename P, typename _C>
+ void
+ from_to_(const Site_Set<S>& from, std::set<P,_C>& to);
+
+ template <typename P, typename _C, typename S>
+ void
+ from_to_(const std::set<P,_C>& from, Site_Set<S>& to);
- template <typename P, typename _C, typename S>
- void
- from_to(const std::set<P,_C>& from, Site_Set<S>& to);
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -132,33 +143,38 @@ namespace mln
namespace convert
{
- template <typename S, typename P, typename _C>
- inline
- void
- from_to(const Site_Set<S>& from_, std::set<P,_C>& to)
+ namespace over_load
{
- mlc_converts_to(mln_psite(S), P)::check();
- const S& from = exact(from_);
- to.clear();
- mln_piter(S) p(from);
- for_all(p)
- to.insert(p);
- }
-
-
- template <typename P, typename _C, typename S>
- inline
- void
- from_to(const std::set<P,_C>& from, Site_Set<S>& to_)
- {
- mlc_converts_to(P, mln_i_element(S))::check();
- S& to = exact(to_);
- to.clear();
- for (typename std::set<P>::const_iterator i = from.begin();
- i != from.end();
- ++i)
- to.insert(*i);
- }
+
+ template <typename S, typename P, typename _C>
+ inline
+ void
+ from_to_(const Site_Set<S>& from_, std::set<P,_C>& to)
+ {
+ mlc_converts_to(mln_psite(S), P)::check();
+ const S& from = exact(from_);
+ to.clear();
+ mln_piter(S) p(from);
+ for_all(p)
+ to.insert(p);
+ }
+
+
+ template <typename P, typename _C, typename S>
+ inline
+ void
+ from_to_(const std::set<P,_C>& from, Site_Set<S>& to_)
+ {
+ mlc_converts_to(P, mln_i_element(S))::check();
+ S& to = exact(to_);
+ to.clear();
+ for (typename std::set<P>::const_iterator i = from.begin();
+ i != from.end();
+ ++i)
+ to.insert(*i);
+ }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/core/concept/window.hh b/milena/mln/core/concept/window.hh
index 56017c8..71b22d6 100644
--- a/milena/mln/core/concept/window.hh
+++ b/milena/mln/core/concept/window.hh
@@ -29,16 +29,15 @@
#ifndef MLN_CORE_CONCEPT_WINDOW_HH
# define MLN_CORE_CONCEPT_WINDOW_HH
-/*! \file mln/core/concept/window.hh
- * \brief Definition of the concept of mln::Window.
- *
- * \todo Operator== should test if the cmp is possible.
- *
- * \todo Add an is_valid() method.
- *
- * \todo The is_centered() method could also exist when the window is
- * not regular...
- */
+/// \file mln/core/concept/window.hh
+/// Definition of the concept of mln::Window.
+///
+/// \todo Operator== should test if the cmp is possible.
+///
+/// \todo Add an is_valid() method.
+///
+/// \todo The is_centered() method could also exist when the window is
+/// not regular...
# include <mln/core/concept/object.hh>
# include <mln/core/concept/iterator.hh>
@@ -83,11 +82,10 @@ namespace mln
};
- /*! \brief Base class for implementation classes that are windows.
- *
- * \see mln::doc::Window for a complete documentation of this class
- * contents.
- */
+ /// Base class for implementation classes that are windows.
+ ///
+ /// \see mln::doc::Window for a complete documentation of this class
+ /// contents.
template <typename E>
struct Window : public Object<E>
{
@@ -120,9 +118,14 @@ namespace mln
namespace convert
{
- template <typename W, typename I>
- void
- from_to(const Window<W>& from, Image<I>& to);
+ namespace over_load
+ {
+
+ template <typename W, typename I>
+ void
+ from_to_(const Window<W>& from, Image<I>& to);
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -309,33 +312,38 @@ namespace mln
namespace convert
{
- template <typename W, typename I>
- void
- from_to(const Window<W>& win_, Image<I>& ima_)
+ namespace over_load
{
- mln_is_simple_window(W)::check();
- typedef mln_psite(I) P;
- mlc_converts_to(mln_dpsite(W), mln_delta(P))::check();
- mlc_equal(mln_value(I), bool)::check();
- const W& win = exact(win_);
- I& ima = exact(ima_);
+ template <typename W, typename I>
+ void
+ from_to(const Window<W>& win_, Image<I>& ima_)
+ {
+ mln_is_simple_window(W)::check();
+ typedef mln_psite(I) P;
+ mlc_converts_to(mln_dpsite(W), mln_delta(P))::check();
+ mlc_equal(mln_value(I), bool)::check();
- // mln_precondition(win.is_valid());
- mln_precondition(! ima.has_data());
+ const W& win = exact(win_);
+ I& ima = exact(ima_);
- // Hack (below) to avoid circular dependency.
- ima.init_(mln::internal::geom_bbox(win));
- {
- // data::fill(ima, false) is:
- mln_piter(I) p(ima.domain());
- for_all(p)
- ima(p) = false;
+ // mln_precondition(win.is_valid());
+ mln_precondition(! ima.has_data());
+
+ // Hack (below) to avoid circular dependency.
+ ima.init_(mln::internal::geom_bbox(win));
+ {
+ // data::fill(ima, false) is:
+ mln_piter(I) p(ima.domain());
+ for_all(p)
+ ima(p) = false;
+ }
+ unsigned n = win.size();
+ for (unsigned i = 0; i < n; ++i)
+ ima(convert::to<P>(win.dp(i))) = true;
}
- unsigned n = win.size();
- for (unsigned i = 0; i < n; ++i)
- ima(convert::to<P>(win.dp(i))) = true;
- }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/core/internal/site_set_base.hh b/milena/mln/core/internal/site_set_base.hh
index ec3dd26..d8f9f16 100644
--- a/milena/mln/core/internal/site_set_base.hh
+++ b/milena/mln/core/internal/site_set_base.hh
@@ -1,4 +1,5 @@
// 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 +29,10 @@
#ifndef MLN_CORE_INTERNAL_SITE_SET_BASE_HH
# define MLN_CORE_INTERNAL_SITE_SET_BASE_HH
-/*! \file mln/core/internal/site_set_base.hh
- *
- * \brief Definition of the common base class for all site set
- * classes.
- */
+/// \file mln/core/internal/site_set_base.hh
+///
+/// Definition of the common base class for all site set
+/// classes.
# include <mln/core/concept/site_set.hh>
# include <mln/core/concept/site_proxy.hh>
@@ -45,13 +45,12 @@ namespace mln
{
- /*! A base class for site set classes.
- *
- * \arg \p P The psite type of what is ``contained'' in the site
- * set, not the psite of the site set (which is
- * different, and defined by the site set itself).
- * \arg \p E The exact type of the site set.
- */
+ /// A base class for site set classes.
+ ///
+ /// \arg \p P The psite type of what is ``contained'' in the site
+ /// set, not the psite of the site set (which is
+ /// different, and defined by the site set itself).
+ /// \arg \p E The exact type of the site set.
template <typename P, typename E>
struct site_set_base_ : public Site_Set<E>
{
diff --git a/milena/mln/core/neighb.hh b/milena/mln/core/neighb.hh
index c13f25b..f1ebf69 100644
--- a/milena/mln/core/neighb.hh
+++ b/milena/mln/core/neighb.hh
@@ -48,6 +48,26 @@ namespace mln
// Forward declarations.
template <typename W> class neighb_fwd_niter;
template <typename W> class neighb_bkd_niter;
+ template <typename W> class neighb;
+
+
+ namespace convert
+ {
+
+ namespace over_load
+ {
+
+ template <typename W>
+ void
+ from_to_(const mln::neighb<W>& from, W& to);
+
+ template <typename W>
+ void
+ from_to_(const W& from, mln::neighb<W>& to);
+
+ } // end of namespace mln::convert::over_load
+
+ } // end of namespace mln::convert
@@ -92,21 +112,6 @@ namespace mln
- namespace convert
- {
-
- template <typename W>
- void
- from_to(const mln::neighb<W>& from, W& to);
-
- template <typename W>
- void
- from_to(const W& from, mln::neighb<W>& to);
-
- } // end of namespace mln::convert
-
-
-
// neighb_fwd_niter<W>
template <typename W>
@@ -226,26 +231,31 @@ protected:
}
- // convert::from_to
+ // mln::convert::from_to
namespace convert
{
- template <typename W>
- void
- from_to(const mln::neighb<W>& from, W& to)
+ namespace over_load
{
- to = from.win();
- }
- template <typename W>
- void
- from_to(const W& from, mln::neighb<W>& to)
- {
- to.change_window(from);
- }
+ template <typename W>
+ void
+ from_to_(const mln::neighb<W>& from, W& to)
+ {
+ to = from.win();
+ }
- } // end of namespace convert
+ template <typename W>
+ void
+ from_to_(const W& from, mln::neighb<W>& to)
+ {
+ to.change_window(from);
+ }
+
+ } // end of namespace mln::convert::over_load
+
+ } // end of namespace mln::convert
// neighb_fwd_niter<W>
diff --git a/milena/mln/core/w_window.hh b/milena/mln/core/w_window.hh
index 2c52287..5a3c364 100644
--- a/milena/mln/core/w_window.hh
+++ b/milena/mln/core/w_window.hh
@@ -58,6 +58,29 @@ namespace mln
template <typename It, typename W> struct with_w_;
+ namespace convert
+ {
+
+ namespace over_load
+ {
+
+ template <typename I, typename D, typename W>
+ void
+ from_to_(const Image<I>& from, w_window<D,W>& to);
+
+ template <typename D, typename W, typename I>
+ void
+ from_to_(const w_window<D,W>& from, Image<I>& to);
+
+ template <typename V, unsigned S, typename D, typename W>
+ void
+ from_to_(const V (&weight)[S], w_window<D,W>& to);
+
+ } // end of namespace mln::convert::over_load
+
+ } // end of namespace mln::convert
+
+
namespace trait
{
@@ -70,12 +93,12 @@ namespace mln
} // end of namespace mln::trait
- /*! \brief Generic w_window class.
- *
- * This type of w_window is just like a set of delta-points. The
- * parameter \c D is the type of delta-points; the parameter \c W is
- * the type of weights.
- */
+ /// Generic w_window class.
+ ///
+ /// This type of w_window is just like a set of delta-points. The
+ /// parameter \c D is the type of delta-points; the parameter \c W is
+ /// the type of weights.
+ ///
template <typename D, typename W>
struct w_window : public internal::weighted_window_base< mln::window<D>,
w_window<D,W> >
@@ -132,35 +155,14 @@ namespace mln
};
- namespace convert
- {
-
- template <typename I, typename D, typename W>
- inline
- void
- from_to(const Image<I>& from, w_window<D,W>& to);
-
- template <typename D, typename W, typename I>
- void
- from_to(const w_window<D,W>& from, Image<I>& to);
-
- template <typename V, unsigned S, typename D, typename W>
- void
- from_to(const V (&weight)[S], w_window<D,W>& to);
-
- } // end of namespace mln::convert
-
-
- /* \brief Print a weighted window \p w_win into an output stream \p ostr.
- * \relates mln::w_window
- */
+ /// Print a weighted window \p w_win into an output stream \p ostr.
+ /// \relates mln::w_window
template <typename D, typename W>
std::ostream& operator<<(std::ostream& ostr, const w_window<D,W>& w_win);
- /* \brief Equality test between two weighted windows \p lhs and \p rhs.
- * \relates mln::w_window
- */
+ /// Equality test between two weighted windows \p lhs and \p rhs.
+ /// \relates mln::w_window
template <typename D, typename Wl, typename Wr>
bool operator==(const w_window<D,Wl>& lhs, const w_window<D,Wr>& rhs);
@@ -313,50 +315,54 @@ namespace mln
}
- // convert::from_to
+ // convert::from_to_
namespace convert
{
- template <typename I, typename D, typename W>
- void
- from_to(const Image<I>& from_, w_window<D,W>& to)
+ namespace over_load
{
- mlc_converts_to(mln_deduce(I, psite, delta), D)::check();
- mlc_converts_to(mln_value(I), W)::check();
- const I& ima = exact(from_);
- to.clear();
- mln_value(I) zero = literal::zero;
- mln_piter(I) p(ima.domain());
- for_all(p)
- if (ima(p) != zero)
- to.insert(ima(p), convert::to<D>(p));
- }
-
- template <typename D, typename W, typename I>
- void
- from_to(const w_window<D,W>& w_win, Image<I>& ima_)
- {
- typedef mln_site(I) P;
- mlc_converts_to(D, mln_delta(P))::check();
- mlc_converts_to(W, mln_value(I))::check();
-
- I& ima = exact(ima_);
- mln_precondition(! ima.has_data());
- // mln_precondition(w_win.is_valid());
- ima.init_(geom::bbox(w_win));
+ template <typename I, typename D, typename W>
+ void
+ from_to_(const Image<I>& from_, w_window<D,W>& to)
{
- // data::fill(ima, literal::zero) is:
+ mlc_converts_to(mln_deduce(I, psite, delta), D)::check();
+ mlc_converts_to(mln_value(I), W)::check();
+ const I& ima = exact(from_);
+ to.clear();
mln_value(I) zero = literal::zero;
mln_piter(I) p(ima.domain());
for_all(p)
- ima(p) = zero;
+ if (ima(p) != zero)
+ to.insert(ima(p), convert::to<D>(p));
+ }
+
+ template <typename D, typename W, typename I>
+ void
+ from_to_(const w_window<D,W>& w_win, Image<I>& ima_)
+ {
+ typedef mln_site(I) P;
+ mlc_converts_to(D, mln_delta(P))::check();
+ mlc_converts_to(W, mln_value(I))::check();
+
+ I& ima = exact(ima_);
+ mln_precondition(! ima.has_data());
+ // mln_precondition(w_win.is_valid());
+
+ ima.init_(geom::bbox(w_win));
+ {
+ // data::fill(ima, literal::zero) is:
+ mln_value(I) zero = literal::zero;
+ mln_piter(I) p(ima.domain());
+ for_all(p)
+ ima(p) = zero;
+ }
+
+ unsigned n = w_win.size();
+ for (unsigned i = 0; i < n; ++i)
+ ima(convert::to<P>(w_win.dp(i))) = w_win.w(i);
}
- unsigned n = w_win.size();
- for (unsigned i = 0; i < n; ++i)
- ima(convert::to<P>(w_win.dp(i))) = w_win.w(i);
- }
// FIXME: Sample code (below) to generalize the code above:
@@ -381,28 +387,31 @@ namespace mln
// return ima;
// }
- template <typename V, unsigned S, typename D, typename W>
- void
- from_to(const V (&weight)[S], w_window<D,W>& to)
- {
- mlc_bool(S != 0)::check();
- mlc_converts_to(V, W)::check();
- enum { d = D::dim,
- s = mlc_root(d,S)::value / 2 };
- metal::bool_<(mlc_pow_int(2 * s + 1, d) == S)>::check();
- to.clear();
- typedef mln_site(D) P;
- box<P> b(all_to(-s), all_to(+s));
- mln_fwd_piter(box<P>) p(b);
- unsigned i = 0;
- V zero = literal::zero;
- for_all(p)
+ template <typename V, unsigned S, typename D, typename W>
+ void
+ from_to_(const V (&weight)[S], w_window<D,W>& to)
{
- if (weight[i] != zero)
- to.insert(weight[i], convert::to<D>(p));
- ++i;
+ mlc_bool(S != 0)::check();
+ mlc_converts_to(V, W)::check();
+ enum { d = D::dim,
+ s = mlc_root(d,S)::value / 2 };
+ metal::bool_<(mlc_pow_int(2 * s + 1, d) == S)>::check();
+ to.clear();
+ typedef mln_site(D) P;
+ box<P> b(all_to(-s), all_to(+s));
+ mln_fwd_piter(box<P>) p(b);
+ unsigned i = 0;
+ V zero = literal::zero;
+ for_all(p)
+ {
+ if (weight[i] != zero)
+ to.insert(weight[i], convert::to<D>(p));
+ ++i;
+ }
+
}
- }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/fun/i2v/array.hh b/milena/mln/fun/i2v/array.hh
index 72f4a6e..9bc48ef 100644
--- a/milena/mln/fun/i2v/array.hh
+++ b/milena/mln/fun/i2v/array.hh
@@ -64,15 +64,20 @@ namespace mln
namespace convert
{
- template <typename T>
- inline
- void
- from_to(const util::array<T>& from, fun::i2v::array<T>& to);
+ namespace over_load
+ {
- template <typename T>
- inline
- void
- from_to(const std::vector<T>& from, fun::i2v::array<T>& to);
+ template <typename T>
+ inline
+ void
+ from_to_(const util::array<T>& from, fun::i2v::array<T>& to);
+
+ template <typename T>
+ inline
+ void
+ from_to_(const std::vector<T>& from, fun::i2v::array<T>& to);
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -127,21 +132,26 @@ namespace mln
namespace convert
{
- template <typename T>
- inline
- void
- from_to(const util::array<T>& from, fun::i2v::array<T>& to)
+ namespace over_load
{
- to = fun::i2v::array<T>(from);
- }
- template <typename T>
- inline
- void
- from_to(const std::vector<T>& from, fun::i2v::array<T>& to)
- {
- to = fun::i2v::array<T>(from);
- }
+ template <typename T>
+ inline
+ void
+ from_to_(const util::array<T>& from, fun::i2v::array<T>& to)
+ {
+ to = fun::i2v::array<T>(from);
+ }
+
+ template <typename T>
+ inline
+ void
+ from_to_(const std::vector<T>& from, fun::i2v::array<T>& to)
+ {
+ to = fun::i2v::array<T>(from);
+ }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/fun/l2l/relabel.hh b/milena/mln/fun/l2l/relabel.hh
index 6e8eb9b..b7bd7c4 100644
--- a/milena/mln/fun/l2l/relabel.hh
+++ b/milena/mln/fun/l2l/relabel.hh
@@ -63,17 +63,22 @@ namespace mln
namespace convert
{
- template <typename L>
- inline
- void
- from_to(const util::array<L>& from,
- fun::l2l::relabel<L>& to);
-
- template <typename L>
- inline
- void
- from_to(const std::vector<L>& from,
- fun::l2l::relabel<L>& to);
+ namespace over_load
+ {
+
+ template <typename L>
+ inline
+ void
+ from_to_(const util::array<L>& from,
+ fun::l2l::relabel<L>& to);
+
+ template <typename L>
+ inline
+ void
+ from_to_(const std::vector<L>& from,
+ fun::l2l::relabel<L>& to);
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -123,21 +128,26 @@ namespace mln
namespace convert
{
- template <typename L>
- inline
- void
- from_to(const util::array<L>& from, fun::l2l::relabel<L>& to)
+ namespace over_load
{
- to = fun::l2l::relabel<L>(from);
- }
- template <typename L>
- inline
- void
- from_to(const std::vector<L>& from, fun::l2l::relabel<L>& to)
- {
- to = fun::l2l::relabel<L>(from);
- }
+ template <typename L>
+ inline
+ void
+ from_to_(const util::array<L>& from, fun::l2l::relabel<L>& to)
+ {
+ to = fun::l2l::relabel<L>(from);
+ }
+
+ template <typename L>
+ inline
+ void
+ from_to_(const std::vector<L>& from, fun::l2l::relabel<L>& to)
+ {
+ to = fun::l2l::relabel<L>(from);
+ }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/math/round.hh b/milena/mln/math/round.hh
index 298ebaf..64217e9 100644
--- a/milena/mln/math/round.hh
+++ b/milena/mln/math/round.hh
@@ -1,4 +1,5 @@
-// 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 +29,9 @@
#ifndef MLN_MATH_ROUND_HH
# define MLN_MATH_ROUND_HH
-/*! \file mln/math/round.hh
- *
- * \brief Define round routine.
- */
+/// \file mln/math/round.hh
+///
+/// Define round routine.
# include <cmath>
diff --git a/milena/mln/util/array.hh b/milena/mln/util/array.hh
index 822a513..da7c40c 100644
--- a/milena/mln/util/array.hh
+++ b/milena/mln/util/array.hh
@@ -60,9 +60,14 @@ namespace mln
namespace convert
{
- template <typename T1, typename T2>
- void
- from_to(const util::array<T1>& from, util::array<T2>& to);
+ namespace over_load
+ {
+
+ template <typename T1, typename T2>
+ void
+ from_to_(const util::array<T1>& from, util::array<T2>& to);
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
@@ -271,19 +276,24 @@ namespace mln
# ifndef MLN_INCLUDE_ONLY
- // convert::from_to
+ // convert::from_to_
namespace convert
{
- template <typename T1, typename T2>
- void
- from_to(const util::array<T1>& from, util::array<T2>& to)
+ namespace over_load
{
- to.resize(from.nelements());
- for (unsigned i = 0; i < from.nelements(); ++i)
+
+ template <typename T1, typename T2>
+ void
+ from_to_(const util::array<T1>& from, util::array<T2>& to)
+ {
+ to.resize(from.nelements());
+ for (unsigned i = 0; i < from.nelements(); ++i)
from_to(from[i], to[i]);
- }
+ }
+
+ } // end of namespace mln::convert::over_load
} // end of namespace mln::convert
diff --git a/milena/mln/value/concept/integer.hh b/milena/mln/value/concept/integer.hh
index 4e1b38f..2be4181 100644
--- a/milena/mln/value/concept/integer.hh
+++ b/milena/mln/value/concept/integer.hh
@@ -1,4 +1,5 @@
-// 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 +29,11 @@
#ifndef MLN_VALUE_CONCEPT_INTEGER_HH
# define MLN_VALUE_CONCEPT_INTEGER_HH
-/*! \file mln/value/concept/integer.hh
- *
- * \brief Define a generic class for integer values.
- *
- * \todo Similar files needs to be cleaned-up.
- */
+/// \file mln/value/concept/integer.hh
+///
+/// Define a generic class for integer values.
+///
+/// \todo Similar files needs to be cleaned-up.
# include <mln/value/concept/scalar.hh>
@@ -44,7 +44,7 @@ namespace mln
namespace value
{
- // Fwd decl.
+ // Forward declaration.
template <typename E> struct Integer;
diff --git a/milena/mln/value/concept/scalar.hh b/milena/mln/value/concept/scalar.hh
index 0ca0344..cab1eed 100644
--- a/milena/mln/value/concept/scalar.hh
+++ b/milena/mln/value/concept/scalar.hh
@@ -1,4 +1,5 @@
-// 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 +29,9 @@
#ifndef MLN_VALUE_CONCEPT_SCALAR_HH
# define MLN_VALUE_CONCEPT_SCALAR_HH
-/*! \file mln/value/concept/scalar.hh
- *
- * \brief Define a generic class for scalar values.
- */
+/// \file mln/value/concept/scalar.hh
+///
+/// Define a generic class for scalar values.
# include <mln/core/concept/value.hh>
# include <mln/literal/one.hh>
diff --git a/milena/mln/value/int_u8.hh b/milena/mln/value/int_u8.hh
index a09aa1c..76687a6 100644
--- a/milena/mln/value/int_u8.hh
+++ b/milena/mln/value/int_u8.hh
@@ -1,4 +1,5 @@
-// 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 +29,9 @@
#ifndef MLN_VALUE_INT_U8_HH
# define MLN_VALUE_INT_U8_HH
-/*! \file mln/value/int_u8.hh
- *
- * \brief Define the alias value::int_u8.
- */
+/// \file mln/value/int_u8.hh
+///
+/// Define the alias value::int_u8.
# include <mln/value/int_u.hh>
diff --git a/milena/mln/value/rgb.hh b/milena/mln/value/rgb.hh
index fabcf8d..452031d 100644
--- a/milena/mln/value/rgb.hh
+++ b/milena/mln/value/rgb.hh
@@ -28,16 +28,15 @@
#ifndef MLN_VALUE_RGB_HH
# define MLN_VALUE_RGB_HH
-/*! \file mln/value/rgb.hh
- *
- * \brief Color class for red-green-blue where every component is
- * n-bit encoded.
- *
- * \todo Split decl and def for from_to.
- *
- * \todo Introduce the concept of Color, then generalize from_to to
- * colors.
- */
+/// \file mln/value/rgb.hh
+///
+/// Color class for red-green-blue where every component is
+/// n-bit encoded.
+///
+/// \todo Split decl and def for from_to_.
+///
+/// \todo Introduce the concept of Color, then generalize from_to_ to
+/// colors.
# include <mln/value/ops.hh>
@@ -51,7 +50,7 @@ namespace mln
namespace literal
{
- /// \{ Fwd decls.
+ /// \{ Forward declarations.
struct black_t;
struct white_t;
@@ -77,12 +76,31 @@ namespace mln
}
- // Fwd decl.
+ // Forward declaration.
namespace value {
template <unsigned n> struct rgb;
}
+ namespace convert
+ {
+
+ namespace over_load
+ {
+
+ // algebra::vec -> rgb.
+ template <typename T, unsigned m>
+ void from_to_(const algebra::vec<3,T>& from, value::rgb<m>& to_);
+
+ // bool -> rgb.
+ template <unsigned m>
+ void from_to_(bool from, value::rgb<m>& to);
+
+ } // end of namespace mln::convert::over_load
+
+ } // end of namespace mln::convert
+
+
namespace trait
{
template < unsigned n >
@@ -167,7 +185,7 @@ namespace mln
namespace value
{
- /// \brief Color class for red-green-blue where every component is
+ /// Color class for red-green-blue where every component is
/// n-bit encoded.
template <unsigned n>
struct rgb
@@ -245,13 +263,12 @@ namespace mln
- /*! \brief Print an rgb \p c into the output stream \p ostr.
- *
- * \param[in,out] ostr An output stream.
- * \param[in] c An rgb.
- *
- * \return The modified output stream \p ostr.
- */
+ /// Print an rgb \p c into the output stream \p ostr.
+ ///
+ /// \param[in,out] ostr An output stream.
+ /// \param[in] c An rgb.
+ ///
+ /// \return The modified output stream \p ostr.
template <unsigned n>
std::ostream& operator<<(std::ostream& ostr, const rgb<n>& c);
@@ -660,39 +677,44 @@ namespace mln
namespace convert
{
-
- // algebra::vec -> rgb.
- template <typename T, unsigned m>
- inline
- void
- from_to(const algebra::vec<3,T>& from, value::rgb<m>& to_)
- {
- value::rgb<m>& to = exact(to_);
- algebra::vec<3, unsigned> tmp;
- for (unsigned i = 0; i < 3; ++i)
- tmp[i] = static_cast<unsigned>(from[i]); // FIXME: Use from_to instead of cast.
- to = value::rgb<m>(tmp);
- }
+ namespace over_load
+ {
+
+ // algebra::vec -> rgb.
+ template <typename T, unsigned m>
+ inline
+ void
+ from_to_(const algebra::vec<3,T>& from, value::rgb<m>& to_)
+ {
+ value::rgb<m>& to = exact(to_);
+ algebra::vec<3, unsigned> tmp;
+ for (unsigned i = 0; i < 3; ++i)
+ tmp[i] = static_cast<unsigned>(from[i]); // FIXME: Use from_to_ instead of cast.
+
+ to = value::rgb<m>(tmp);
+ }
+
+ // bool -> rgb.
+ template <unsigned m>
+ void
+ from_to_(bool from, value::rgb<m>& to)
+ {
+ static literal::white_t* white_ = 0;
+ static literal::black_t* black_ = 0;
+ // We do not use literal::white (the object) so that we
+ // do not introduce any coupling with the file where
+ // literals are defined.
+ if (from)
+ to = *white_;
+ else
+ to = *black_;
+ }
+
+ } // end of namespace mln::convert::over_load
- // bool -> rgb.
- template <unsigned m>
- void
- from_to(bool from, value::rgb<m>& to)
- {
- static literal::white_t* white_ = 0;
- static literal::black_t* black_ = 0;
- // We do not use literal::white (the object) so that we
- // do not introduce any coupling with the file where
- // literals are defined.
- if (from)
- to = *white_;
- else
- to = *black_;
- }
-
} // end of namespace mln::convert
-
+
} // end of namespace mln
diff --git a/milena/tests/unit_test/Makefile.am b/milena/tests/unit_test/Makefile.am
index 9ec0534..c8b4aa9 100644
--- a/milena/tests/unit_test/Makefile.am
+++ b/milena/tests/unit_test/Makefile.am
@@ -3,2040 +3,2022 @@
include $(top_srcdir)/milena/tests/tests.mk
check_PROGRAMS = \
-mln_trace_quiet \
-mln_trace_resume \
+mln_histo_all \
+mln_histo_data \
+mln_histo_compute \
+mln_histo_essential \
+mln_geom_pmin_pmax \
+mln_geom_max_row \
+mln_geom_chamfer \
+mln_geom_min_row \
+mln_geom_seeds2tiling \
+mln_geom_size1d \
+mln_geom_all \
+mln_geom_size2d \
+mln_geom_max_ind \
+mln_geom_max_col \
+mln_geom_size3d \
+mln_geom_ninds \
+mln_geom_nslis \
+mln_geom_delta \
+mln_geom_resize \
+mln_geom_nsites \
+mln_geom_min_col \
+mln_geom_complex_geometry \
+mln_geom_ncols \
+mln_geom_nrows \
+mln_geom_min_ind \
+mln_geom_bbox \
+mln_geom_seeds2tiling_roundness \
+mln_geom_min_sli \
+mln_geom_essential \
+mln_geom_max_sli \
+mln_draw_box \
+mln_draw_all \
+mln_draw_plot \
+mln_draw_line \
+mln_draw_essential \
+mln_pw_image \
+mln_pw_all \
+mln_pw_value \
+mln_pw_cst \
+mln_pw_var \
+mln_pw_essential \
+mln_literal_zero \
+mln_literal_ops \
+mln_literal_origin \
+mln_literal_grays \
+mln_literal_all \
+mln_literal_colors \
+mln_literal_black \
+mln_literal_one \
+mln_literal_white \
+mln_literal_essential \
+mln_registration_get_rtransf \
+mln_registration_internal_rms \
+mln_registration_get_rot \
+mln_registration_all \
+mln_registration_multiscale \
+mln_registration_registration \
+mln_registration_essential \
+mln_registration_icp \
+mln_util_graph \
+mln_util_max \
+mln_util_lazy_set \
+mln_util_set \
+mln_util_tree_to_image \
+mln_util_lemmings \
+mln_util_greater_point \
+mln_util_internal_graph_iter_base \
+mln_util_internal_boost_graph_access \
+mln_util_internal_boost_graph_structure \
+mln_util_internal_graph_iter \
+mln_util_internal_graph_nbh_iter \
+mln_util_internal_vertex_impl \
+mln_util_internal_edge_impl \
+mln_util_internal_graph_base \
+mln_util_internal_boost_graph \
+mln_util_internal_graph_nbh_iter_base \
+mln_util_internal_boost_graph_property \
+mln_util_ord_pair \
+mln_util_edge \
+mln_util_all \
+mln_util_dindex \
+mln_util_tracked_ptr \
+mln_util_ignore \
+mln_util_greater_psite \
+mln_util_timer \
+mln_util_yes \
+mln_util_line_graph \
+mln_util_ord \
+mln_util_tree_fast_to_image \
+mln_util_tree \
+mln_util_index \
+mln_util_multi_site \
+mln_util_branch_iter \
+mln_util_branch_iter_ind \
+mln_util_tree_to_fast \
+mln_util_array \
+mln_util_vertex \
+mln_util_pix \
+mln_util_tree_fast \
+mln_util_site_pair \
+mln_util_nil \
+mln_util_eat \
+mln_util_essential \
+mln_data_memset_ \
+mln_data_memcpy_ \
+mln_data_all \
+mln_data_paste \
+mln_data_fill_with_image \
+mln_data_fill_with_value \
+mln_data_fill \
+mln_data_essential \
+mln_tag_init \
+mln_tag_skeleton \
+mln_tag_all \
+mln_tag_essential \
mln_trace_entering \
mln_trace_all \
-mln_trace_stop \
-mln_trace_essential \
mln_trace_warning \
mln_trace_exiting \
-mln_tag_all \
-mln_tag_essential \
-mln_tag_init \
-mln_tag_skeleton \
+mln_trace_resume \
+mln_trace_quiet \
+mln_trace_stop \
+mln_trace_essential \
+mln_make_graph \
+mln_make_double_neighb2d \
+mln_make_dpoint2d_h \
mln_make_w_window \
+mln_make_image \
+mln_make_vec \
mln_make_all \
+mln_make_dual_neighb \
+mln_make_w_window3d \
+mln_make_mat \
mln_make_win_chamfer \
-mln_make_image \
-mln_make_box2d_h \
-mln_make_w_window_directional \
-mln_make_point2d_h \
-mln_make_+win_multiple \
+mln_make_w_window2d_int \
+mln_make_box1d \
mln_make_voronoi \
-mln_make_pix \
+mln_make_box2d \
mln_make_w_window2d \
+mln_make_box3d \
+mln_make_relabelfun \
+mln_make_pixel \
+mln_make_pix \
+mln_make_box2d_h \
mln_make_w_window1d \
-mln_make_graph \
-mln_make_dpoint2d_h \
-mln_make_w_window2d_int \
mln_make_image2d \
+mln_make_w_window_directional \
mln_make_w_window3d_int \
-mln_make_w_window3d \
mln_make_essential \
-mln_make_box1d \
-mln_make_relabelfun \
-mln_make_double_neighb2d \
mln_make_w_window1d_int \
-mln_make_dual_neighb \
-mln_make_pixel \
-mln_make_vec \
-mln_make_mat \
-mln_make_box2d \
-mln_make_box3d \
-mln_histo_all \
-mln_histo_data \
-mln_histo_essential \
-mln_histo_compute \
-mln_essential_2d \
+mln_make_point2d_h \
+mln_display_all \
+mln_display_essential \
+mln_extension_adjust \
+mln_extension_duplicate \
+mln_extension_adjust_duplicate \
+mln_extension_all \
+mln_extension_adjust_fill \
+mln_extension_fill \
+mln_extension_essential \
+mln_fun_p2b_chess \
+mln_fun_p2b_all \
+mln_fun_p2b_has \
+mln_fun_p2b_big_chess \
+mln_fun_p2b_essential \
+mln_fun_p2p_mirror \
+mln_fun_x2p_closest_point \
+mln_fun_x2p_all \
+mln_fun_x2p_essential \
+mln_fun_ops \
+mln_fun_c \
+mln_fun_vv2v_max \
+mln_fun_vv2v_lor \
+mln_fun_vv2v_land_not \
+mln_fun_vv2v_vec \
+mln_fun_vv2v_all \
+mln_fun_vv2v_macros \
+mln_fun_vv2v_lxor \
+mln_fun_vv2v_diff_abs \
+mln_fun_vv2v_land \
+mln_fun_vv2v_min \
+mln_fun_vv2v_essential \
+mln_fun_internal_array_base \
+mln_fun_internal_x2x_linear_impl \
+mln_fun_internal_ch_function_value_impl \
+mln_fun_internal_selector \
+mln_fun_v2w_w2v_norm \
+mln_fun_p2v_ternary \
+mln_fun_p2v_iota \
+mln_fun_p2v_elifs \
+mln_fun_p2v_all \
+mln_fun_p2v_essential \
+mln_fun_all \
+mln_fun_v2b_lnot \
+mln_fun_v2b_all \
+mln_fun_v2b_threshold \
+mln_fun_v2b_essential \
+mln_fun_v2v_norm \
+mln_fun_v2v_linear \
+mln_fun_v2v_id \
+mln_fun_v2v_saturate \
+mln_fun_v2v_inc \
+mln_fun_v2v_all \
+mln_fun_v2v_dec \
+mln_fun_v2v_abs \
+mln_fun_v2v_rgb_to_hsl \
+mln_fun_v2v_cast \
+mln_fun_v2v_ch_function_value \
+mln_fun_v2v_rgb_to_hsi \
+mln_fun_v2v_enc \
+mln_fun_v2v_convert \
+mln_fun_v2v_essential \
+mln_fun_v2w2v_cos \
+mln_fun_vv2b_implies \
+mln_fun_vv2b_le \
+mln_fun_vv2b_gt \
+mln_fun_vv2b_ge \
+mln_fun_vv2b_lt \
+mln_fun_vv2b_eq \
+mln_fun_cast \
+mln_fun_i2v_all \
+mln_fun_i2v_array \
+mln_fun_i2v_all_to \
+mln_fun_i2v_essential \
+mln_fun_l2l_relabel \
+mln_fun_l2l_all \
+mln_fun_l2l_essential \
+mln_fun_x2x_composed \
+mln_fun_x2x_all \
+mln_fun_x2x_translation \
+mln_fun_x2x_rotation \
+mln_fun_x2x_essential \
+mln_fun_meta_red \
+mln_fun_meta_hue \
+mln_fun_meta_inty \
+mln_fun_meta_sat \
+mln_fun_meta_to_enc \
+mln_fun_x2v_linear \
+mln_fun_x2v_bilinear \
+mln_fun_x2v_all \
+mln_fun_x2v_l1_norm \
+mln_fun_x2v_nneighbor \
+mln_fun_x2v_essential \
+mln_fun_essential \
+mln_all \
+mln_convert_to_p_set \
+mln_convert_to \
+mln_convert_to_upper_window \
+mln_convert_to_image \
+mln_convert_to_fun \
+mln_convert_all \
+mln_convert_to_window \
+mln_convert_from_to \
+mln_convert_impl_from_value_to_value \
+mln_convert_impl_all \
+mln_convert_impl_from_image_to_site_set \
+mln_convert_impl_from_float_to_value \
+mln_convert_impl_from_int_to_value \
+mln_convert_to_dpoint \
+mln_convert_to_p_array \
+mln_convert_to_rgb \
+mln_convert_essential \
+mln_value_shell \
+mln_value_float01_f \
+mln_value_float01_16 \
+mln_value_lut_vec \
+mln_value_glf \
+mln_value_other \
+mln_value_graylevel_f \
+mln_value_aliases \
+mln_value_label_16 \
+mln_value_ops \
+mln_value_set \
+mln_value_int_u_sat \
+mln_value_float01_8 \
+mln_value_int_u8 \
+mln_value_equiv \
+mln_value_internal_integer \
+mln_value_internal_gray_f \
+mln_value_internal_all \
+mln_value_internal_value_like \
+mln_value_internal_iterable_set \
+mln_value_internal_encoding \
+mln_value_internal_convert \
+mln_value_internal_gray_ \
+mln_value_internal_essential \
+mln_value_proxy \
+mln_value_viter \
+mln_value_hsl \
+mln_value_graylevel \
+mln_value_all \
+mln_value_super_value \
+mln_value_builtin_symbolics \
+mln_value_builtin_ops \
+mln_value_builtin_all \
+mln_value_builtin_promotions \
+mln_value_builtin_integers \
+mln_value_builtin_floatings \
+mln_value_builtin_essential \
+mln_value_sign \
+mln_value_hsi \
+mln_value_interval \
+mln_value_gl16 \
+mln_value_scalar \
+mln_value_float01 \
+mln_value_cast \
+mln_value_int_u \
+mln_value_int_s8 \
+mln_value_int_s16 \
+mln_value_int_u16 \
+mln_value_label \
+mln_value_mixin \
+mln_value_rgb \
+mln_value_stack \
+mln_value_concept_integer \
+mln_value_concept_structured \
+mln_value_concept_built_in \
+mln_value_concept_all \
+mln_value_concept_scalar \
+mln_value_concept_data \
+mln_value_concept_floating \
+mln_value_concept_symbolic \
+mln_value_concept_vectorial \
+mln_value_concept_essential \
+mln_value_int_s \
+mln_value_rgb8 \
+mln_value_int_s32 \
+mln_value_float01_ \
+mln_value_rgb16 \
+mln_value_int_u32 \
+mln_value_gl8 \
+mln_value_label_8 \
+mln_value_essential \
+mln_accu_tuple \
+mln_accu_min_h \
+mln_accu_max \
+mln_accu_lor \
+mln_accu_rank \
+mln_accu_transform_stop \
+mln_accu_maj_h \
+mln_accu_min_max \
+mln_accu_internal_base \
+mln_accu_transform_snake \
+mln_accu_rank_high_quant \
+mln_accu_count \
+mln_accu_median_h \
+mln_accu_all \
+mln_accu_land_basic \
+mln_accu_p \
+mln_accu_transform \
+mln_accu_median_alt \
+mln_accu_volume \
+mln_accu_sum \
+mln_accu_height \
+mln_accu_land \
+mln_accu_take \
+mln_accu_histo \
+mln_accu_pair \
+mln_accu_count_adjacent_vertices \
+mln_accu_convolve \
+mln_accu_v \
+mln_accu_rank_bool \
+mln_accu_min \
+mln_accu_transform_directional \
+mln_accu_compute \
+mln_accu_mean \
+mln_accu_lor_basic \
+mln_accu_transform_diagonal \
+mln_accu_nil \
+mln_accu_bbox \
+mln_accu_center \
+mln_accu_line \
+mln_accu_essential \
+mln_accu_max_h \
+mln_level_compare \
+mln_level_transform_inplace \
+mln_level_replace \
+mln_level_apply \
+mln_level_approx_all \
+mln_level_approx_essential \
+mln_level_approx_median \
+mln_level_saturate \
+mln_level_all \
+mln_level_fast_median \
+mln_level_abs \
+mln_level_transform \
+mln_level_stretch \
+mln_level_was_median \
+mln_level_compute \
+mln_level_convert \
+mln_level_to_enc \
+mln_level_naive_all \
+mln_level_naive_essential \
+mln_level_naive_median \
+mln_level_sort_psites \
+mln_level_update \
+mln_level_essential \
+mln_level_median \
+mln_math_jacobi \
+mln_math_max \
+mln_math_sqr \
+mln_math_all \
+mln_math_sign \
+mln_math_abs \
+mln_math_cos \
+mln_math_diff_abs \
+mln_math_round \
+mln_math_min \
+mln_math_sqrt \
+mln_math_essential \
+mln_math_acos \
+mln_math_round_sat \
+mln_opt_at \
+mln_binarization_includes \
+mln_binarization_all \
+mln_binarization_binarization \
+mln_binarization_threshold \
+mln_binarization_essential \
+mln_trait_site_set_props \
+mln_trait_site_set_print \
+mln_trait_promote \
+mln_trait_solve_binary \
+mln_trait_value_ \
+mln_trait_all \
+mln_trait_value_all \
+mln_trait_value_nature \
+mln_trait_value_quant \
+mln_trait_value_kind \
+mln_trait_value_print \
+mln_trait_value_essential \
+mln_trait_images \
+mln_trait_window_props \
+mln_trait_window_print \
+mln_trait_ch_function_value \
+mln_trait_ch_value \
+mln_trait_solve \
+mln_trait_solve_unary \
+mln_trait_op_postdec \
+mln_trait_op_mod \
+mln_trait_op_lor \
+mln_trait_op_neq \
+mln_trait_op_plus \
+mln_trait_op_xor \
+mln_trait_op_all \
+mln_trait_op_geq \
+mln_trait_op_uminus \
+mln_trait_op_not \
+mln_trait_op_times \
+mln_trait_op_less \
+mln_trait_op_decl \
+mln_trait_op_ord \
+mln_trait_op_and \
+mln_trait_op_or \
+mln_trait_op_predec \
+mln_trait_op_minus \
+mln_trait_op_div \
+mln_trait_op_leq \
+mln_trait_op_preinc \
+mln_trait_op_greater \
+mln_trait_op_postinc \
+mln_trait_op_uplus \
+mln_trait_op_essential \
+mln_trait_op_eq \
+mln_trait_concrete \
+mln_trait_windows \
+mln_trait_site_sets \
+mln_trait_image_from_grid \
+mln_trait_undef \
+mln_trait_image_props \
+mln_trait_image_print \
+mln_trait_neighborhood \
+mln_trait_essential \
+mln_canvas_labeling \
+mln_canvas_browsing_hyper_directional \
+mln_canvas_browsing_snake_generic \
+mln_canvas_browsing_backdiagonal2d \
+mln_canvas_browsing_snake_vert \
+mln_canvas_browsing_snake_fwd \
+mln_canvas_browsing_all \
+mln_canvas_browsing_diagonal2d \
+mln_canvas_browsing_fwd \
+mln_canvas_browsing_dir_struct_elt_incr_update \
+mln_canvas_browsing_depth_first_search \
+mln_canvas_browsing_directional \
+mln_canvas_browsing_essential \
+mln_canvas_chamfer \
+mln_canvas_distance_geodesic \
+mln_canvas_all \
+mln_canvas_distance_front \
+mln_canvas_morpho_all \
+mln_canvas_morpho_algebraic_union_find \
+mln_canvas_morpho_essential \
+mln_canvas_essential \
+mln_metal_is_const \
+mln_metal_none \
+mln_metal_equal \
+mln_metal_unptr \
+mln_metal_not_equal \
+mln_metal_is_ref \
+mln_metal_ret \
+mln_metal_unqualif \
+mln_metal_is_not \
+mln_metal_vec \
+mln_metal_is \
+mln_metal_bool \
+mln_metal_all \
+mln_metal_math_pow \
+mln_metal_math_max \
+mln_metal_math_all \
+mln_metal_math_root \
+mln_metal_math_sqrt \
+mln_metal_mat \
+mln_metal_is_not_const \
+mln_metal_fix_return \
+mln_metal_ands \
+mln_metal_const \
+mln_metal_is_unqualif \
+mln_metal_unconst \
+mln_metal_bexpr \
+mln_metal_array2d \
+mln_metal_is_not_a \
+mln_metal_is_a \
+mln_metal_array1d \
+mln_metal_if \
+mln_metal_unref \
+mln_metal_array \
+mln_metal_ref \
+mln_metal_same_point \
+mln_metal_int \
+mln_metal_abort \
+mln_metal_same_coord \
+mln_metal_templated_by \
+mln_metal_goes_to \
+mln_metal_is_not_ref \
+mln_metal_converts_to \
+mln_metal_essential \
+mln_metal_array3d \
+mln_algebra_vec \
+mln_algebra_all \
+mln_algebra_h_vec \
+mln_algebra_mat \
+mln_algebra_h_mat \
+mln_algebra_quat \
+mln_algebra_essential \
+mln_linear_convolve_2x1d \
+mln_linear_all \
+mln_linear_ch_convolve \
+mln_linear_gaussian \
+mln_linear_convolve \
+mln_linear_sobel_2d \
+mln_linear_local_convolve \
+mln_linear_lap \
+mln_linear_convolve_directional \
+mln_linear_log \
+mln_linear_essential \
+mln_morpho_thinning \
+mln_morpho_meyer_wst \
+mln_morpho_opening \
+mln_morpho_includes \
+mln_morpho_elementary_opening \
+mln_morpho_elementary_gradient_internal \
+mln_morpho_elementary_dilation \
+mln_morpho_elementary_laplacian \
+mln_morpho_elementary_all \
+mln_morpho_elementary_gradient_external \
+mln_morpho_elementary_like_ero_fun \
+mln_morpho_elementary_gradient \
+mln_morpho_elementary_like_ero_set \
+mln_morpho_elementary_closing \
+mln_morpho_elementary_top_hat \
+mln_morpho_elementary_erosion \
+mln_morpho_elementary_essential \
+mln_morpho_thin_fit \
+mln_morpho_skeleton_constrained \
+mln_morpho_complementation \
+mln_morpho_line_gradient \
+mln_morpho_hit_or_miss \
+mln_morpho_closing_height \
+mln_morpho_plus \
+mln_morpho_general \
+mln_morpho_internal_elementary \
+mln_morpho_contrast \
+mln_morpho_opening_area \
+mln_morpho_opening_height \
+mln_morpho_thickening \
+mln_morpho_dilation \
+mln_morpho_laplacian \
+mln_morpho_all \
+mln_morpho_opening_attribute \
+mln_morpho_opening_volume \
+mln_morpho_closing_area_on_vertices \
+mln_morpho_closing_volume \
+mln_morpho_minus \
+mln_morpho_gradient \
+mln_morpho_tree_max \
+mln_morpho_tree_compute_parent \
+mln_morpho_tree_all \
+mln_morpho_tree_utils \
+mln_morpho_tree_data \
+mln_morpho_tree_compute_attribute_image \
+mln_morpho_opening_area_on_vertices \
+mln_morpho_min \
+mln_morpho_closing \
+mln_morpho_top_hat \
+mln_morpho_erosion \
+mln_morpho_Rd \
+mln_morpho_closing_area \
+mln_morpho_thick_miss \
+mln_morpho_closing_attribute \
+mln_morpho_rank_filter \
+mln_morpho_essential \
+mln_topo_n_face_iter \
+mln_topo_face_iter \
+mln_topo_is_simple_2d \
+mln_topo_centered_iter_adapter \
+mln_topo_internal_complex_set_iterator_base \
+mln_topo_internal_complex_iterator_base \
+mln_topo_internal_complex_relative_iterator_base \
+mln_topo_internal_complex_relative_iterator_sequence \
+mln_topo_algebraic_n_face \
+mln_topo_attic_faces_iter \
+mln_topo_adj_lower_dim_connected_n_face_iter \
+mln_topo_n_face \
+mln_topo_adj_lower_higher_face_iter \
+mln_topo_all \
+mln_topo_face_data \
+mln_topo_static_n_face_iter \
+mln_topo_face \
+mln_topo_adj_m_face_iter \
+mln_topo_complex \
+mln_topo_adj_higher_face_iter \
+mln_topo_adj_lower_face_iter \
+mln_topo_complex_iterators \
+mln_topo_center_only_iter \
+mln_topo_adj_higher_dim_connected_n_face_iter \
+mln_topo_algebraic_face \
+mln_topo_n_faces_set \
+mln_topo_essential \
+mln_essential_1d \
mln_essential_routine \
mln_essential_3d \
-mln_essential_1d \
-mln_set_get \
-mln_set_uni \
-mln_set_all \
-mln_set_unique \
-mln_set_sym_diff \
-mln_set_card \
-mln_set_+NEW_sym_diff \
-mln_set_essential \
-mln_set_+NEW_unique \
-mln_set_diff \
-mln_set_compute \
-mln_set_has \
-mln_set_+NEW_all \
-mln_set_inter \
-mln_transform_all \
-mln_transform_internal_influence_zone_functor \
-mln_transform_internal_all \
-mln_transform_internal_distance_functor \
-mln_transform_distance_geodesic \
-mln_transform_+old_distance \
-mln_transform_essential \
-mln_transform_influence_zone_geodesic \
-mln_transform_distance_front \
-mln_transform_influence_zone_front \
-mln_core_alias_neighb2d \
-mln_core_alias_point3df \
-mln_core_alias_w_window3d_float \
-mln_core_alias_point2d \
-mln_core_alias_w_window1d_float \
-mln_core_alias_box2d_h \
-mln_core_alias_point2d_h \
-mln_core_alias_neighb1d \
-mln_core_alias_p_run2d \
-mln_core_alias_window2d \
-mln_core_alias_window3d \
-mln_core_alias_dpoint2d_h \
-mln_core_alias_p_runs2d \
-mln_core_alias_w_window2d_int \
-mln_core_alias_w_window3d_int \
-mln_core_alias_box1d \
-mln_core_alias_w_window2d_float \
-mln_core_alias_w_window1d_int \
-mln_core_alias_dpoint1d \
-mln_core_alias_point1d \
-mln_core_alias_complex_image \
-mln_core_alias_window1d \
-mln_core_alias_dpoint2d \
-mln_core_alias_neighb3d \
-mln_core_alias_point3d \
-mln_core_alias_dpoint3d \
-mln_core_alias_complex_geometry \
-mln_core_alias_box2d \
-mln_core_alias_box3d \
-mln_core_clock_neighb2d \
-mln_core_macros \
-mln_core_w_window \
-mln_core_all \
-mln_core_category \
-mln_core_faces_psite \
-mln_core_trait_all \
-mln_core_trait_pixter \
-mln_core_trait_op_mult \
-mln_core_trait_essential \
-mln_core_trait_qlf_value \
+mln_essential_2d \
+mln_win_inter \
+mln_win_backdiag2d \
+mln_win_segment1d \
+mln_win_cuboid3d \
+mln_win_vline2d \
+mln_win_octagon2d \
+mln_win_all \
+mln_win_multiple_size \
+mln_win_cube3d \
+mln_win_shift \
+mln_win_sym \
+mln_win_diff \
+mln_win_multiple \
+mln_win_diag2d \
+mln_win_disk2d \
+mln_win_rectangle2d \
+mln_win_hline2d \
+mln_win_line \
+mln_win_essential \
+mln_core_clock_neighb \
+mln_core_pixter2d \
+mln_core_def_low_quant_nbits \
+mln_core_def_all \
+mln_core_def_coordf \
+mln_core_def_coord \
+mln_core_def_essential \
+mln_core_site_set_box \
+mln_core_site_set_p_vertices \
+mln_core_site_set_p_vaccess \
+mln_core_site_set_p_if_piter \
+mln_core_site_set_p_run_piter \
+mln_core_site_set_p_key \
+mln_core_site_set_p_double \
+mln_core_site_set_p_complex_piter \
+mln_core_site_set_p_complex \
+mln_core_site_set_p_image \
+mln_core_site_set_attic_p_complex_faces_piter \
+mln_core_site_set_attic_p_faces_piter \
+mln_core_site_set_p_priority \
+mln_core_site_set_p_set_of \
+mln_core_site_set_all \
+mln_core_site_set_p_edges \
+mln_core_site_set_box_piter \
+mln_core_site_set_p_faces \
+mln_core_site_set_p_set \
+mln_core_site_set_p_queue \
mln_core_site_set_p_if \
-mln_core_site_set_complex_psite \
+mln_core_site_set_operators \
mln_core_site_set_p_mutable_array_of \
-mln_core_site_set_p_complex_piter \
-mln_core_site_set_box \
mln_core_site_set_p_edges_psite \
-mln_core_site_set_all \
+mln_core_site_set_complex_psite \
+mln_core_site_set_p_run \
+mln_core_site_set_p_n_faces_piter \
+mln_core_site_set_p_centered \
+mln_core_site_set_p_bgraph \
mln_core_site_set_p_bgraph_piter \
mln_core_site_set_p_array \
mln_core_site_set_p_vertices_psite \
-mln_core_site_set_box_piter \
-mln_core_site_set_attic_p_faces_piter \
-mln_core_site_set_attic_p_complex_faces_piter \
-mln_core_site_set_p_complex \
-mln_core_site_set_p_image \
-mln_core_site_set_p_edges \
mln_core_site_set_p_line2d \
-mln_core_site_set_p_vertices \
-mln_core_site_set_p_double \
-mln_core_site_set_p_graph_piter \
mln_core_site_set_p_queue_fast \
-mln_core_site_set_p_priority \
-mln_core_site_set_p_centered \
+mln_core_site_set_p_graph_piter \
mln_core_site_set_essential \
-mln_core_site_set_p_faces \
-mln_core_site_set_p_bgraph \
-mln_core_site_set_p_run_piter \
-mln_core_site_set_p_run \
-mln_core_site_set_p_n_faces_piter \
-mln_core_site_set_p_if_piter \
-mln_core_site_set_+NEW_operators \
-mln_core_site_set_p_set \
-mln_core_site_set_p_vaccess \
-mln_core_site_set_p_queue \
-mln_core_site_set_p_set_of \
-mln_core_site_set_operators \
-mln_core_site_set_+NEW_box \
-mln_core_site_set_p_key \
-mln_core_box_runstart_piter \
-mln_core_var \
-mln_core_concept_browsing \
-mln_core_concept_regular_grid \
-mln_core_concept_pixel_iterator \
-mln_core_concept_point_site \
-mln_core_concept_iterator \
-mln_core_concept_box \
-mln_core_concept_site_proxy \
-mln_core_concept_object \
-mln_core_concept_all \
-mln_core_concept_image \
-mln_core_concept_generalized_pixel \
-mln_core_concept_value_iterator \
-mln_core_concept_value_set \
-mln_core_concept_site_set \
-mln_core_concept_point \
-mln_core_concept_weighted_window \
-mln_core_concept_graph \
-mln_core_concept_meta_fun \
-mln_core_concept_function \
-mln_core_concept_site_iterator \
-mln_core_concept_gpoint \
-mln_core_concept_meta_accumulator \
-mln_core_concept_gdpoint \
-mln_core_concept_delta_point_site \
-mln_core_concept_literal \
-mln_core_concept_value \
-mln_core_concept_dpoint \
-mln_core_concept_pseudo_site \
-mln_core_concept_accumulator \
-mln_core_concept_proxy \
-mln_core_concept_site \
-mln_core_concept_window \
-mln_core_concept_+NEW_box \
-mln_core_concept_neighborhood \
-mln_core_concept_mesh \
+mln_core_dpsites_piter \
+mln_core_w_window \
+mln_core_grids \
mln_core_dpoints_pixter \
-mln_core_internal_graph_window_base \
-mln_core_internal_complex_window_p_base \
-mln_core_internal_pixel_iterator_base \
-mln_core_internal_weighted_window_base \
-mln_core_internal_neighborhood_base \
-mln_core_internal_complex_neighborhood_base \
-mln_core_internal_data \
-mln_core_internal_run_image \
-mln_core_internal_window_base \
mln_core_internal_graph_psite_base \
+mln_core_internal_run_image \
+mln_core_internal_pixel_impl \
+mln_core_internal_site_set_base \
+mln_core_internal_image_value_morpher \
+mln_core_internal_site_iterator_base \
+mln_core_internal_complex_neighborhood_base \
mln_core_internal_site_relative_iterator_base \
-mln_core_internal_image_base \
-mln_core_internal_set_of \
+mln_core_internal_site_set_impl \
mln_core_internal_exact \
mln_core_internal_p_complex_piter_base \
-mln_core_internal_morpher_lvalue \
-mln_core_internal_site_iterator_base \
-mln_core_internal_pseudo_site_base \
-mln_core_internal_pixel_impl \
-mln_core_internal_force_exact \
-mln_core_internal_site_set_iterator_base \
-mln_core_internal_geom_bbox \
-mln_core_internal_site_set_base \
+mln_core_internal_neighb_niter_impl \
+mln_core_internal_pixel_iterator_base \
mln_core_internal_classical_window_base \
-mln_core_internal_image_value_morpher \
-mln_core_internal_coord_impl \
-mln_core_internal_check_image_all \
+mln_core_internal_data \
+mln_core_internal_force_exact \
+mln_core_internal_image_base \
mln_core_internal_check_image_fastest \
+mln_core_internal_check_image_all \
mln_core_internal_fixme \
-mln_core_internal_piter_adaptor \
+mln_core_internal_morpher_lvalue \
mln_core_internal_image_domain_morpher \
-mln_core_internal_neighb_niter_impl \
-mln_core_internal_image_morpher \
mln_core_internal_image_primary \
+mln_core_internal_set_of \
+mln_core_internal_complex_window_p_base \
+mln_core_internal_graph_window_base \
+mln_core_internal_piter_adaptor \
+mln_core_internal_weighted_window_base \
+mln_core_internal_neighborhood_base \
+mln_core_internal_image_morpher \
+mln_core_internal_coord_impl \
+mln_core_internal_geom_bbox \
mln_core_internal_image_identity \
-mln_core_internal_site_set_impl \
+mln_core_internal_pseudo_site_base \
+mln_core_internal_window_base \
mln_core_internal_box_impl \
-mln_core_pixter2d \
+mln_core_internal_site_set_iterator_base \
+mln_core_contract \
+mln_core_all \
mln_core_point \
-mln_core_a_point_of \
-mln_core_clock_neighb \
-mln_core_grids \
-mln_core_tags \
-mln_core_routine_all \
+mln_core_neighb \
mln_core_routine_initialize \
-mln_core_routine_exact \
-mln_core_routine_essential \
-mln_core_routine_init \
-mln_core_routine_extend \
mln_core_routine_primary \
-mln_core_routine_clone \
+mln_core_routine_duplicate \
+mln_core_routine_init \
mln_core_routine_ops \
-mln_core_contract \
-mln_core_essential \
+mln_core_routine_all \
+mln_core_routine_exact \
+mln_core_routine_extend \
+mln_core_routine_essential \
+mln_core_trait_op_mult \
+mln_core_trait_all \
+mln_core_trait_pixter \
+mln_core_trait_qlf_value \
+mln_core_trait_essential \
mln_core_pixter1d \
-mln_core_neighb \
-mln_core_pixel \
+mln_core_category \
+mln_core_macros \
+mln_core_box_runstart_piter \
+mln_core_tags \
mln_core_dpoint \
-mln_core_+memo_dpoints_piter \
+mln_core_alias_dpoint2d_h \
+mln_core_alias_p_run2d \
+mln_core_alias_point3d \
+mln_core_alias_neighb3d \
+mln_core_alias_window3d \
+mln_core_alias_neighb2d \
+mln_core_alias_complex_image \
+mln_core_alias_w_window1d_float \
+mln_core_alias_neighb1d \
+mln_core_alias_w_window2d_float \
+mln_core_alias_w_window2d_int \
+mln_core_alias_box1d \
+mln_core_alias_box2d \
+mln_core_alias_window1d \
+mln_core_alias_point1d \
+mln_core_alias_box3d \
+mln_core_alias_dpoint3d \
+mln_core_alias_complex_geometry \
+mln_core_alias_w_window3d_float \
+mln_core_alias_box2d_h \
+mln_core_alias_point2d \
+mln_core_alias_window2d \
+mln_core_alias_p_runs2d \
+mln_core_alias_point3df \
+mln_core_alias_dpoint1d \
+mln_core_alias_w_window3d_int \
+mln_core_alias_dpoint2d \
+mln_core_alias_w_window1d_int \
+mln_core_alias_point2d_h \
+mln_core_window \
+mln_core_concept_site_proxy \
+mln_core_concept_point_site \
+mln_core_concept_box \
+mln_core_concept_generalized_pixel \
+mln_core_concept_graph \
+mln_core_concept_iterator \
+mln_core_concept_pseudo_site \
+mln_core_concept_image \
+mln_core_concept_value_set \
+mln_core_concept_proxy \
+mln_core_concept_site \
+mln_core_concept_weighted_window \
+mln_core_concept_all \
+mln_core_concept_gpoint \
+mln_core_concept_site_iterator \
+mln_core_concept_window_LOCAL_2903.cc \
+mln_core_concept_point \
+mln_core_concept_literal \
+mln_core_concept_pixel_iterator \
+mln_core_concept_value_iterator \
+mln_core_concept_meta_accumulator \
+mln_core_concept_window_BASE_2903.cc \
+mln_core_concept_gdpoint \
+mln_core_concept_regular_grid \
+mln_core_concept_mesh \
+mln_core_concept_dpoint \
+mln_core_concept_function \
+mln_core_concept_window \
+mln_core_concept_value \
+mln_core_concept_accumulator \
+mln_core_concept_site_set \
+mln_core_concept_object \
+mln_core_concept_meta_fun \
+mln_core_concept_delta_point_site \
+mln_core_concept_neighborhood \
+mln_core_concept_window_REMOTE_2903.cc \
+mln_core_concept_browsing \
+mln_core_pixel \
+mln_core_clock_neighb2d \
+mln_core_pixter3d \
+mln_core_image_obased_rle_encode \
mln_core_image_plain \
-mln_core_image_image_if \
-mln_core_image_t_image \
-mln_core_image_complex_window_piter \
-mln_core_image_interpolated \
-mln_core_image_sparse_image \
-mln_core_image_complex_neighborhood_piter \
-mln_core_image_ch_piter \
-mln_core_image_tr_image \
-mln_core_image_extension_val \
-mln_core_image_value_enc_image \
-mln_core_image_all \
-mln_core_image_extended \
-mln_core_image_rle_encode \
-mln_core_image_graph_window_piter \
-mln_core_image_lazy_image \
-mln_core_image_bgraph_image \
-mln_core_image_image2d_h \
-mln_core_image_bgraph_psite \
-mln_core_image_hexa_piter \
-mln_core_image_image2d \
+mln_core_image_image3d \
mln_core_image_decorated_image \
-mln_core_image_hexa \
-mln_core_image_essential \
-mln_core_image_mono_obased_rle_encode \
-mln_core_image_image1d \
-mln_core_image_mono_rle_image \
-mln_core_image_mono_obased_rle_image \
+mln_core_image_extension_ima \
mln_core_image_flat_image \
+mln_core_image_complex_neighborhood_piter \
+mln_core_image_tr_mesh \
mln_core_image_graph_elt_window \
+mln_core_image_obased_rle_image \
+mln_core_image_mono_obased_rle_image \
+mln_core_image_interpolated \
+mln_core_image_lazy_image \
+mln_core_image_t_image \
+mln_core_image_hexa_piter \
+mln_core_image_value_enc_image \
mln_core_image_fun_image \
+mln_core_image_sub_image_if \
+mln_core_image_all \
+mln_core_image_mono_rle_image \
+mln_core_image_complex_image \
mln_core_image_cast_image \
-mln_core_image_sparse_encode \
-mln_core_image_tr_mesh \
-mln_core_image_extension_fun \
-mln_core_image_violent_cast_image \
-mln_core_image_safe \
-mln_core_image_extension_ima \
-mln_core_image_obased_rle_encode \
+mln_core_image_rle_encode \
+mln_core_image_complex_window_piter \
+mln_core_image_tr_image \
+mln_core_image_sub_image \
mln_core_image_rle_image \
-mln_core_image_complex_image \
mln_core_image_line_graph_elt_window \
-mln_core_image_sub_image_if \
-mln_core_image_sub_image \
mln_core_image_mono_rle_encode \
-mln_core_image_obased_rle_image \
-mln_core_image_value_encode \
+mln_core_image_bgraph_psite \
+mln_core_image_sparse_image \
+mln_core_image_bgraph_image \
mln_core_image_complex_neighborhoods \
-mln_core_image_image3d \
+mln_core_image_graph_window_piter \
+mln_core_image_sparse_encode \
+mln_core_image_safe \
+mln_core_image_extension_fun \
+mln_core_image_image1d \
+mln_core_image_extension_val \
+mln_core_image_image_if \
+mln_core_image_hexa \
+mln_core_image_extended \
+mln_core_image_image2d_h \
+mln_core_image_image2d \
+mln_core_image_ch_piter \
mln_core_image_complex_windows \
-mln_core_dpsites_piter \
-mln_core_window \
-mln_core_def_coordf \
-mln_core_def_all \
-mln_core_def_low_quant_nbits \
-mln_core_def_essential \
-mln_core_def_coord \
-mln_core_pixter3d \
-mln_all \
-mln_estim_all \
-mln_estim_sum \
-mln_estim_min_max \
-mln_estim_essential \
-mln_estim_mean \
-mln_math_sqrt \
-mln_math_round_sat \
-mln_math_sqr \
-mln_math_all \
-mln_math_acos \
-mln_math_round \
-mln_math_min \
-mln_math_diff_abs \
-mln_math_essential \
-mln_math_abs \
-mln_math_jacobi \
-mln_math_cos \
-mln_math_max \
-mln_math_sign \
-mln_morpho_closing \
-mln_morpho_opening_volume \
-mln_morpho_closing_attribute \
-mln_morpho_minus \
-mln_morpho_complementation \
-mln_morpho_top_hat \
-mln_morpho_skeleton_constrained \
-mln_morpho_laplacian \
-mln_morpho_opening_area_on_vertices \
-mln_morpho_thinning \
-mln_morpho_dilation \
-mln_morpho_all \
-mln_morpho_general \
-mln_morpho_includes \
-mln_morpho_thick_miss \
-mln_morpho_tree_compute_parent \
-mln_morpho_tree_all \
-mln_morpho_tree_data \
-mln_morpho_tree_utils \
-mln_morpho_tree_compute_attribute_image \
-mln_morpho_tree_max \
-mln_morpho_internal_elementary \
-mln_morpho_meyer_wst \
-mln_morpho_elementary_closing \
-mln_morpho_elementary_top_hat \
-mln_morpho_elementary_laplacian \
-mln_morpho_elementary_dilation \
-mln_morpho_elementary_all \
-mln_morpho_elementary_like_ero_set \
-mln_morpho_elementary_gradient_internal \
-mln_morpho_elementary_gradient \
-mln_morpho_elementary_essential \
-mln_morpho_elementary_opening \
-mln_morpho_elementary_erosion \
-mln_morpho_elementary_gradient_external \
-mln_morpho_elementary_like_ero_fun \
-mln_morpho_opening_height \
-mln_morpho_gradient \
-mln_morpho_min \
-mln_morpho_closing_area \
-mln_morpho_essential \
-mln_morpho_line_gradient \
-mln_morpho_opening \
-mln_morpho_erosion \
-mln_morpho_thin_fit \
-mln_morpho_Rd \
-mln_morpho_hit_or_miss \
-mln_morpho_closing_area_on_vertices \
-mln_morpho_closing_height \
-mln_morpho_plus \
-mln_morpho_opening_area \
-mln_morpho_rank_filter \
-mln_morpho_contrast \
-mln_morpho_thickening \
-mln_morpho_opening_attribute \
-mln_morpho_closing_volume \
-mln_trait_concrete \
-mln_trait_promote \
-mln_trait_all \
-mln_trait_site_set_props \
-mln_trait_site_set_print \
-mln_trait_value_ \
-mln_trait_image_from_grid \
-mln_trait_ch_value \
-mln_trait_solve_unary \
-mln_trait_site_sets \
-mln_trait_essential \
-mln_trait_value_all \
-mln_trait_value_print \
-mln_trait_value_kind \
-mln_trait_value_nature \
-mln_trait_value_essential \
-mln_trait_value_quant \
-mln_trait_windows \
-mln_trait_window_props \
-mln_trait_window_print \
-mln_trait_image_props \
-mln_trait_image_print \
-mln_trait_images \
-mln_trait_undef \
-mln_trait_op_postdec \
-mln_trait_op_div \
-mln_trait_op_uplus \
-mln_trait_op_minus \
-mln_trait_op_less \
-mln_trait_op_predec \
-mln_trait_op_eq \
-mln_trait_op_all \
-mln_trait_op_leq \
-mln_trait_op_preinc \
-mln_trait_op_and \
-mln_trait_op_greater \
-mln_trait_op_lor \
-mln_trait_op_or \
-mln_trait_op_not \
-mln_trait_op_uminus \
-mln_trait_op_essential \
-mln_trait_op_times \
-mln_trait_op_neq \
-mln_trait_op_ord \
-mln_trait_op_postinc \
-mln_trait_op_xor \
-mln_trait_op_mod \
-mln_trait_op_plus \
-mln_trait_op_decl \
-mln_trait_op_geq \
-mln_trait_solve_binary \
-mln_trait_neighborhood \
-mln_trait_solve \
-mln_draw_box \
-mln_draw_line \
-mln_draw_all \
-mln_draw_essential \
-mln_draw_plot \
-mln_labeling_foreground \
-mln_labeling_all \
-mln_labeling_+old_level \
-mln_labeling_regional_maxima \
-mln_labeling_flat_zones \
+mln_core_image_violent_cast_image \
+mln_core_image_mono_obased_rle_encode \
+mln_core_image_value_encode \
+mln_core_image_essential \
+mln_core_a_point_of \
+mln_core_var \
+mln_core_essential \
+mln_core_faces_psite \
mln_labeling_blobs \
-mln_labeling_essential \
-mln_labeling_relabel \
-mln_labeling_regional_minima \
mln_labeling_background \
-mln_labeling_compute \
+mln_labeling_relabel \
+mln_labeling_all \
mln_labeling_level \
-mln_binarization_all \
-mln_binarization_includes \
-mln_binarization_essential \
-mln_binarization_binarization \
-mln_binarization_threshold \
-mln_topo_adj_lower_dim_connected_n_face_iter \
-mln_topo_face_iter \
-mln_topo_adj_lower_face_iter \
-mln_topo_complex \
-mln_topo_n_face_iter \
-mln_topo_adj_lower_higher_face_iter \
-mln_topo_centered_iter_adapter \
-mln_topo_all \
-mln_topo_complex_iterators \
-mln_topo_attic_faces_iter \
-mln_topo_internal_complex_set_iterator_base \
-mln_topo_internal_complex_iterator_base \
-mln_topo_internal_complex_relative_iterator_base \
-mln_topo_internal_complex_relative_iterator_sequence \
-mln_topo_face_data \
-mln_topo_adj_m_face_iter \
-mln_topo_algebraic_face \
-mln_topo_algebraic_n_face \
-mln_topo_is_simple_2d \
-mln_topo_n_faces_set \
-mln_topo_essential \
-mln_topo_face \
-mln_topo_static_n_face_iter \
-mln_topo_center_only_iter \
-mln_topo_adj_higher_dim_connected_n_face_iter \
-mln_topo_n_face \
-mln_topo_adj_higher_face_iter \
-mln_canvas_all \
-mln_canvas_morpho_all \
-mln_canvas_morpho_algebraic_union_find \
-mln_canvas_morpho_essential \
-mln_canvas_distance_geodesic \
-mln_canvas_essential \
-mln_canvas_labeling \
-mln_canvas_+old_labeling \
-mln_canvas_chamfer \
-mln_canvas_browsing_directional \
-mln_canvas_browsing_snake_fwd \
-mln_canvas_browsing_snake_generic \
-mln_canvas_browsing_all \
-mln_canvas_browsing_fwd \
-mln_canvas_browsing_depth_first_search \
-mln_canvas_browsing_backdiagonal2d \
-mln_canvas_browsing_snake_vert \
-mln_canvas_browsing_dir_struct_elt_incr_update \
-mln_canvas_browsing_essential \
-mln_canvas_browsing_diagonal2d \
-mln_canvas_browsing_hyper_directional \
-mln_canvas_distance_front \
-mln_opt_at \
-mln_util_line_graph \
-mln_util_lazy_set \
-mln_util_eat \
-mln_util_ignore \
-mln_util_timer \
-mln_util_all \
-mln_util_tracked_ptr \
-mln_util_internal_graph_nbh_iter \
-mln_util_internal_boost_graph_structure \
-mln_util_internal_edge_impl \
-mln_util_internal_graph_base \
-mln_util_internal_vertex_impl \
-mln_util_internal_graph_iter \
-mln_util_internal_graph_nbh_iter_base \
-mln_util_internal_boost_graph_access \
-mln_util_internal_graph_iter_base \
-mln_util_internal_boost_graph_property \
-mln_util_internal_boost_graph \
-mln_util_pix \
-mln_util_greater_point \
-mln_util_edge \
-mln_util_multi_site \
-mln_util_tree_fast_to_image \
-mln_util_graph \
-mln_util_site_pair \
-mln_util_yes \
-mln_util_essential \
-mln_util_tree_to_fast \
-mln_util_ord \
-mln_util_greater_psite \
-mln_util_vertex \
-mln_util_branch_iter \
-mln_util_tree_fast \
-mln_util_dindex \
-mln_util_branch_iter_ind \
-mln_util_tree \
-mln_util_set \
-mln_util_index \
-mln_util_tree_to_image \
-mln_util_max \
-mln_util_ord_pair \
-mln_util_array \
-mln_util_lemmings \
-mln_util_nil \
-mln_test_all \
+mln_labeling_flat_zones \
+mln_labeling_foreground \
+mln_labeling_regional_maxima \
+mln_labeling_compute \
+mln_labeling_regional_minima \
+mln_labeling_essential \
mln_test_predicate \
-mln_test_essential \
+mln_test_all \
mln_test_positive \
-mln_border_get \
-mln_border_equalize \
-mln_border_all \
-mln_border_duplicate \
-mln_border_essential \
-mln_border_find \
-mln_border_adjust \
-mln_border_resize \
-mln_border_fill \
-mln_border_thickness \
-mln_border_mirror \
-mln_accu_histo \
-mln_accu_max_h \
-mln_accu_take \
-mln_accu_center \
-mln_accu_bbox \
-mln_accu_median_alt \
-mln_accu_line \
-mln_accu_all \
-mln_accu_volume \
-mln_accu_min_h \
-mln_accu_land_basic \
-mln_accu_convolve \
-mln_accu_lor_basic \
-mln_accu_sum \
-mln_accu_internal_base \
-mln_accu_min_max \
-mln_accu_rank \
-mln_accu_lor \
-mln_accu_min \
-mln_accu_rank_high_quant \
-mln_accu_transform_directional \
-mln_accu_pair \
-mln_accu_essential \
-mln_accu_median_h \
-mln_accu_transform \
-mln_accu_maj_h \
-mln_accu_p \
-mln_accu_v \
-mln_accu_tuple \
-mln_accu_mean \
-mln_accu_rank_bool \
-mln_accu_compute \
-mln_accu_max \
-mln_accu_land \
-mln_accu_transform_stop \
-mln_accu_count_adjacent_vertices \
-mln_accu_count \
-mln_accu_transform_diagonal \
-mln_accu_transform_snake \
-mln_accu_height \
-mln_accu_nil \
-mln_extension_adjust_duplicate \
-mln_extension_all \
-mln_extension_duplicate \
-mln_extension_essential \
-mln_extension_adjust \
-mln_extension_fill \
-mln_extension_adjust_fill \
-mln_io_pnm_load \
-mln_io_pnm_macros \
-mln_io_pnm_max_component \
-mln_io_pnm_all \
-mln_io_pnm_load_header \
-mln_io_pnm_save \
-mln_io_pnm_save_header \
-mln_io_off_load \
-mln_io_off_all \
-mln_io_off_save \
+mln_test_essential \
+mln_transform_distance_geodesic \
+mln_transform_internal_all \
+mln_transform_internal_distance_functor \
+mln_transform_internal_influence_zone_functor \
+mln_transform_all \
+mln_transform_influence_zone_front \
+mln_transform_distance_front \
+mln_transform_influence_zone_geodesic \
+mln_transform_essential \
+mln_arith_includes \
+mln_arith_plus \
+mln_arith_all \
+mln_arith_times \
+mln_arith_diff_abs \
+mln_arith_minus \
+mln_arith_min \
+mln_arith_revert \
+mln_arith_essential \
+mln_io_pgm_load \
+mln_io_pgm_all \
+mln_io_pgm_save \
+mln_io_ppm_load \
+mln_io_ppm_all \
+mln_io_ppm_save \
+mln_io_pfm_load \
+mln_io_pfm_all \
+mln_io_pfm_save \
mln_io_all \
mln_io_pbm_load \
mln_io_pbm_all \
mln_io_pbm_save \
-mln_io_pfm_load \
-mln_io_pfm_all \
-mln_io_pfm_save \
-mln_io_fits_load \
-mln_io_fits_all \
+mln_io_pnm_max_component \
+mln_io_pnm_load \
+mln_io_pnm_load_header \
+mln_io_pnm_all \
+mln_io_pnm_macros \
+mln_io_pnm_save \
+mln_io_pnm_save_header \
mln_io_txt_all \
mln_io_txt_save \
mln_io_abort \
+mln_io_fits_load \
+mln_io_fits_all \
+mln_io_off_load \
+mln_io_off_all \
+mln_io_off_save \
mln_io_essential \
-mln_io_ppm_load \
-mln_io_ppm_all \
-mln_io_ppm_save \
-mln_io_pgm_load \
-mln_io_pgm_all \
-mln_io_pgm_save \
-mln_arith_minus \
-mln_arith_all \
-mln_arith_includes \
-mln_arith_min \
-mln_arith_diff_abs \
-mln_arith_essential \
-mln_arith_times \
-mln_arith_revert \
-mln_arith_plus \
-mln_convert_to_p_array \
-mln_convert_to \
-mln_convert_to_dpoint \
-mln_convert_all \
-mln_convert_to_upper_window \
-mln_convert_impl_+NEW_from_image_to_site_set \
-mln_convert_impl_all \
-mln_convert_impl_+NEW_from_value_to_value \
-mln_convert_impl_from_value_to_value \
-mln_convert_impl_from_image_to_site_set \
-mln_convert_essential \
-mln_convert_from_to \
-mln_convert_to_fun \
-mln_convert_to_image \
-mln_convert_to_window \
-mln_convert_to_rgb \
-mln_convert_to_p_set \
-mln_win_backdiag2d \
-mln_win_cube3d \
-mln_win_line \
-mln_win_all \
-mln_win_rectangle2d \
-mln_win_disk2d \
-mln_win_cuboid3d \
-mln_win_diag2d \
-mln_win_shift \
-mln_win_essential \
-mln_win_octagon2d \
-mln_win_sym \
-mln_win_hline2d \
-mln_win_segment1d \
-mln_win_diff \
-mln_win_vline2d \
-mln_win_inter \
-mln_win_multiple_size \
-mln_win_multiple \
-mln_algebra_all \
-mln_algebra_h_mat \
-mln_algebra_essential \
-mln_algebra_h_vec \
-mln_algebra_vec \
-mln_algebra_quat \
-mln_algebra_mat \
-mln_debug_colorize \
+mln_logical_includes \
+mln_logical_and_not \
+mln_logical_xor \
+mln_logical_all \
+mln_logical_not \
+mln_logical_and \
+mln_logical_or \
+mln_logical_essential \
+mln_norm_all \
+mln_norm_l1 \
+mln_norm_l2 \
+mln_norm_linfty \
+mln_norm_essential \
mln_debug_iota \
-mln_debug_draw_graph \
-mln_debug_format \
mln_debug_all \
-mln_debug_essential \
mln_debug_println_with_border \
-mln_debug_println \
+mln_debug_colorize \
+mln_debug_draw_graph \
mln_debug_put_word \
-mln_value_int_u8 \
-mln_value_viter \
-mln_value_glf \
-mln_value_label \
-mln_value_int_u_sat \
-mln_value_float01_8 \
-mln_value_hsl \
-mln_value_all \
-mln_value_rgb \
-mln_value_int_s16 \
-mln_value_shell \
-mln_value_concept_vectorial \
-mln_value_concept_floating \
-mln_value_concept_all \
-mln_value_concept_data \
-mln_value_concept_built_in \
-mln_value_concept_integer \
-mln_value_concept_essential \
-mln_value_concept_symbolic \
-mln_value_concept_structured \
-mln_value_concept_scalar \
-mln_value_internal_all \
-mln_value_internal_value_like \
-mln_value_internal_gray_f \
-mln_value_internal_integer \
-mln_value_internal_essential \
-mln_value_internal_convert \
-mln_value_internal_gray_ \
-mln_value_internal_encoding \
-mln_value_internal_iterable_set \
-mln_value_int_s32 \
-mln_value_int_s \
-mln_value_float01_ \
-mln_value_label_16 \
-mln_value_int_u16 \
-mln_value_int_u \
-mln_value_hsi \
-mln_value_essential \
-mln_value_gl16 \
-mln_value_label_8 \
-mln_value_int_u32 \
-mln_value_interval \
-mln_value_builtin_floatings \
-mln_value_builtin_all \
-mln_value_builtin_symbolics \
-mln_value_builtin_promotions \
-mln_value_builtin_essential \
-mln_value_builtin_integers \
-mln_value_builtin_ops \
-mln_value_rgb16 \
-mln_value_graylevel_f \
-mln_value_gl8 \
-mln_value_super_value \
-mln_value_lut_vec \
-mln_value_float01 \
-mln_value_aliases \
-mln_value_proxy \
-mln_value_mixin \
-mln_value_set \
-mln_value_cast \
-mln_value_rgb8 \
-mln_value_stack \
-mln_value_float01_f \
-mln_value_other \
-mln_value_scalar \
-mln_value_equiv \
-mln_value_float01_16 \
-mln_value_graylevel \
-mln_value_sign \
-mln_value_ops \
-mln_value_int_s8 \
-mln_fun_x2x_all \
-mln_fun_x2x_translation \
-mln_fun_x2x_essential \
-mln_fun_x2x_rotation \
-mln_fun_x2x_composed \
-mln_fun_x2p_all \
-mln_fun_x2p_essential \
-mln_fun_x2p_closest_point \
-mln_fun_meta_hue \
-mln_fun_meta_red \
-mln_fun_meta_to_enc \
-mln_fun_meta_inty \
-mln_fun_meta_sat \
-mln_fun_v2b_all \
-mln_fun_v2b_essential \
-mln_fun_v2b_threshold \
-mln_fun_v2b_lnot \
-mln_fun_p2v_iota \
-mln_fun_p2v_elifs \
-mln_fun_p2v_all \
-mln_fun_p2v_essential \
-mln_fun_p2v_ternary \
-mln_fun_all \
-mln_fun_v2w2v_cos \
-mln_fun_internal_array_base \
-mln_fun_internal_selector \
-mln_fun_internal_x2x_linear_impl \
-mln_fun_vv2v_macros \
-mln_fun_vv2v_all \
-mln_fun_vv2v_lor \
-mln_fun_vv2v_min \
-mln_fun_vv2v_diff_abs \
-mln_fun_vv2v_essential \
-mln_fun_vv2v_land_not \
-mln_fun_vv2v_vec \
-mln_fun_vv2v_lxor \
-mln_fun_vv2v_max \
-mln_fun_vv2v_land \
-mln_fun_p2p_mirror \
-mln_fun_v2v_norm \
-mln_fun_v2v_all \
-mln_fun_v2v_inc \
-mln_fun_v2v_essential \
-mln_fun_v2v_abs \
-mln_fun_v2v_linear \
-mln_fun_v2v_convert \
-mln_fun_v2v_rgb_to_hsi \
-mln_fun_v2v_dec \
-mln_fun_v2v_cast \
-mln_fun_v2v_id \
-mln_fun_v2v_rgb_to_hsl \
-mln_fun_v2v_enc \
-mln_fun_v2v_saturate \
-mln_fun_essential \
-mln_fun_p2b_all \
-mln_fun_p2b_big_chess \
-mln_fun_p2b_essential \
-mln_fun_p2b_has \
-mln_fun_p2b_chess \
-mln_fun_c \
-mln_fun_i2v_all_to \
-mln_fun_i2v_all \
-mln_fun_i2v_essential \
-mln_fun_i2v_array \
-mln_fun_x2v_all \
-mln_fun_x2v_l1_norm \
-mln_fun_x2v_essential \
-mln_fun_x2v_linear \
-mln_fun_x2v_bilinear \
-mln_fun_x2v_nneighbor \
-mln_fun_v2w_w2v_norm \
-mln_fun_vv2b_eq \
-mln_fun_vv2b_ge \
-mln_fun_vv2b_lt \
-mln_fun_vv2b_le \
-mln_fun_vv2b_implies \
-mln_fun_vv2b_gt \
-mln_fun_cast \
-mln_fun_l2l_all \
-mln_fun_l2l_essential \
-mln_fun_l2l_relabel \
-mln_fun_ops \
-mln_norm_all \
-mln_norm_essential \
-mln_norm_linfty \
-mln_norm_l1 \
-mln_norm_l2 \
-mln_metal_is \
-mln_metal_is_a \
-mln_metal_array3d \
-mln_metal_if \
-mln_metal_same_coord \
-mln_metal_ands \
-mln_metal_goes_to \
-mln_metal_is_not_ref \
-mln_metal_equal \
-mln_metal_all \
-mln_metal_unref \
-mln_metal_math_sqrt \
-mln_metal_math_root \
-mln_metal_math_all \
-mln_metal_math_pow \
-mln_metal_math_max \
-mln_metal_unqualif \
-mln_metal_array2d \
-mln_metal_bool \
-mln_metal_is_unqualif \
-mln_metal_not_equal \
-mln_metal_templated_by \
-mln_metal_is_const \
-mln_metal_same_point \
-mln_metal_is_not_a \
-mln_metal_int \
-mln_metal_abort \
-mln_metal_essential \
-mln_metal_ref \
-mln_metal_array1d \
-mln_metal_unconst \
-mln_metal_none \
-mln_metal_is_not_const \
-mln_metal_vec \
-mln_metal_is_not \
-mln_metal_const \
-mln_metal_converts_to \
-mln_metal_fix_return \
-mln_metal_bexpr \
-mln_metal_array \
-mln_metal_ret \
-mln_metal_mat \
-mln_metal_is_ref \
-mln_metal_unptr \
-mln_+__proto___fake_run \
-mln_+__proto___fake_utils \
-mln_+__proto___fake_array \
-mln_level_+memo_fill \
-mln_level_stretch \
-mln_level_to_enc \
-mln_level_all \
-mln_level_median \
-mln_level_compare \
-mln_level_approx_all \
-mln_level_approx_median \
-mln_level_approx_essential \
-mln_level_fast_median \
-mln_level_replace \
-mln_level_essential \
-mln_level_transform \
-mln_level_abs \
-mln_level_sort_psites \
-mln_level_update \
-mln_level_was_median \
-mln_level_convert \
-mln_level_naive_all \
-mln_level_naive_median \
-mln_level_naive_essential \
-mln_level_compute \
-mln_level_apply \
-mln_level_transform_inplace \
-mln_level_saturate \
-mln_subsampling_all \
+mln_debug_format \
+mln_debug_println \
+mln_debug_essential \
+mln_estim_min_max \
+mln_estim_all \
+mln_estim_sum \
+mln_estim_mean \
+mln_estim_essential \
+mln_set_uni \
+mln_set_unique \
+mln_set_inter \
+mln_set_all \
+mln_set_get \
+mln_set_sym_diff \
+mln_set_has \
+mln_set_diff \
+mln_set_card \
+mln_set_compute \
+mln_set_essential \
+mln_border_adjust \
+mln_border_duplicate \
+mln_border_find \
+mln_border_thickness \
+mln_border_all \
+mln_border_mirror \
+mln_border_get \
+mln_border_equalize \
+mln_border_resize \
+mln_border_fill \
+mln_border_essential \
mln_subsampling_gaussian_subsampling \
-mln_subsampling_essential \
+mln_subsampling_all \
mln_subsampling_subsampling \
-mln_logical_all \
-mln_logical_includes \
-mln_logical_and \
-mln_logical_and_not \
-mln_logical_or \
-mln_logical_not \
-mln_logical_essential \
-mln_logical_xor \
-mln_linear_lap \
-mln_linear_all \
-mln_linear_convolve \
-mln_linear_gaussian \
-mln_linear_essential \
-mln_linear_log \
-mln_linear_ch_convolve \
-mln_linear_local_convolve \
-mln_linear_convolve_directional \
-mln_linear_convolve_2x1d \
-mln_linear_sobel_2d \
-mln_display_all \
-mln_display_essential \
-mln_data_all \
-mln_data_paste \
-mln_data_essential \
-mln_data_memcpy_ \
-mln_data_fill \
-mln_data_fill_with_image \
-mln_data_fill_with_value \
-mln_data_memset_ \
-mln_pw_all \
-mln_pw_image \
-mln_pw_cst \
-mln_pw_var \
-mln_pw_essential \
-mln_pw_value \
-mln_geom_size1d \
-mln_geom_size2d \
-mln_geom_bbox \
-mln_geom_nslis \
-mln_geom_ninds \
-mln_geom_all \
-mln_geom_seeds2tiling \
-mln_geom_min_row \
-mln_geom_ncols \
-mln_geom_nrows \
-mln_geom_delta \
-mln_geom_nsites \
-mln_geom_max_col \
-mln_geom_seeds2tiling_roundness \
-mln_geom_min_ind \
-mln_geom_max_sli \
-mln_geom_max_row \
-mln_geom_essential \
-mln_geom_pmin_pmax \
-mln_geom_min_sli \
-mln_geom_resize \
-mln_geom_max_ind \
-mln_geom_chamfer \
-mln_geom_min_col \
-mln_geom_size3d \
-mln_geom_complex_geometry \
-mln_registration_multiscale \
-mln_registration_all \
-mln_registration_internal_rms \
-mln_registration_icp \
-mln_registration_registration \
-mln_registration_essential \
-mln_registration_get_rtransf \
-mln_registration_get_rot \
-mln_literal_white \
-mln_literal_all \
-mln_literal_black \
-mln_literal_grays \
-mln_literal_zero \
-mln_literal_essential \
-mln_literal_origin \
-mln_literal_one \
-mln_literal_colors \
-mln_literal_ops
+mln_subsampling_essential
-mln_trace_quiet_SOURCES = mln_trace_quiet.cc
-mln_trace_resume_SOURCES = mln_trace_resume.cc
+mln_histo_all_SOURCES = mln_histo_all.cc
+mln_histo_data_SOURCES = mln_histo_data.cc
+mln_histo_compute_SOURCES = mln_histo_compute.cc
+mln_histo_essential_SOURCES = mln_histo_essential.cc
+mln_geom_pmin_pmax_SOURCES = mln_geom_pmin_pmax.cc
+mln_geom_max_row_SOURCES = mln_geom_max_row.cc
+mln_geom_chamfer_SOURCES = mln_geom_chamfer.cc
+mln_geom_min_row_SOURCES = mln_geom_min_row.cc
+mln_geom_seeds2tiling_SOURCES = mln_geom_seeds2tiling.cc
+mln_geom_size1d_SOURCES = mln_geom_size1d.cc
+mln_geom_all_SOURCES = mln_geom_all.cc
+mln_geom_size2d_SOURCES = mln_geom_size2d.cc
+mln_geom_max_ind_SOURCES = mln_geom_max_ind.cc
+mln_geom_max_col_SOURCES = mln_geom_max_col.cc
+mln_geom_size3d_SOURCES = mln_geom_size3d.cc
+mln_geom_ninds_SOURCES = mln_geom_ninds.cc
+mln_geom_nslis_SOURCES = mln_geom_nslis.cc
+mln_geom_delta_SOURCES = mln_geom_delta.cc
+mln_geom_resize_SOURCES = mln_geom_resize.cc
+mln_geom_nsites_SOURCES = mln_geom_nsites.cc
+mln_geom_min_col_SOURCES = mln_geom_min_col.cc
+mln_geom_complex_geometry_SOURCES = mln_geom_complex_geometry.cc
+mln_geom_ncols_SOURCES = mln_geom_ncols.cc
+mln_geom_nrows_SOURCES = mln_geom_nrows.cc
+mln_geom_min_ind_SOURCES = mln_geom_min_ind.cc
+mln_geom_bbox_SOURCES = mln_geom_bbox.cc
+mln_geom_seeds2tiling_roundness_SOURCES = mln_geom_seeds2tiling_roundness.cc
+mln_geom_min_sli_SOURCES = mln_geom_min_sli.cc
+mln_geom_essential_SOURCES = mln_geom_essential.cc
+mln_geom_max_sli_SOURCES = mln_geom_max_sli.cc
+mln_draw_box_SOURCES = mln_draw_box.cc
+mln_draw_all_SOURCES = mln_draw_all.cc
+mln_draw_plot_SOURCES = mln_draw_plot.cc
+mln_draw_line_SOURCES = mln_draw_line.cc
+mln_draw_essential_SOURCES = mln_draw_essential.cc
+mln_pw_image_SOURCES = mln_pw_image.cc
+mln_pw_all_SOURCES = mln_pw_all.cc
+mln_pw_value_SOURCES = mln_pw_value.cc
+mln_pw_cst_SOURCES = mln_pw_cst.cc
+mln_pw_var_SOURCES = mln_pw_var.cc
+mln_pw_essential_SOURCES = mln_pw_essential.cc
+mln_literal_zero_SOURCES = mln_literal_zero.cc
+mln_literal_ops_SOURCES = mln_literal_ops.cc
+mln_literal_origin_SOURCES = mln_literal_origin.cc
+mln_literal_grays_SOURCES = mln_literal_grays.cc
+mln_literal_all_SOURCES = mln_literal_all.cc
+mln_literal_colors_SOURCES = mln_literal_colors.cc
+mln_literal_black_SOURCES = mln_literal_black.cc
+mln_literal_one_SOURCES = mln_literal_one.cc
+mln_literal_white_SOURCES = mln_literal_white.cc
+mln_literal_essential_SOURCES = mln_literal_essential.cc
+mln_registration_get_rtransf_SOURCES = mln_registration_get_rtransf.cc
+mln_registration_internal_rms_SOURCES = mln_registration_internal_rms.cc
+mln_registration_get_rot_SOURCES = mln_registration_get_rot.cc
+mln_registration_all_SOURCES = mln_registration_all.cc
+mln_registration_multiscale_SOURCES = mln_registration_multiscale.cc
+mln_registration_registration_SOURCES = mln_registration_registration.cc
+mln_registration_essential_SOURCES = mln_registration_essential.cc
+mln_registration_icp_SOURCES = mln_registration_icp.cc
+mln_util_graph_SOURCES = mln_util_graph.cc
+mln_util_max_SOURCES = mln_util_max.cc
+mln_util_lazy_set_SOURCES = mln_util_lazy_set.cc
+mln_util_set_SOURCES = mln_util_set.cc
+mln_util_tree_to_image_SOURCES = mln_util_tree_to_image.cc
+mln_util_lemmings_SOURCES = mln_util_lemmings.cc
+mln_util_greater_point_SOURCES = mln_util_greater_point.cc
+mln_util_internal_graph_iter_base_SOURCES = mln_util_internal_graph_iter_base.cc
+mln_util_internal_boost_graph_access_SOURCES = mln_util_internal_boost_graph_access.cc
+mln_util_internal_boost_graph_structure_SOURCES = mln_util_internal_boost_graph_structure.cc
+mln_util_internal_graph_iter_SOURCES = mln_util_internal_graph_iter.cc
+mln_util_internal_graph_nbh_iter_SOURCES = mln_util_internal_graph_nbh_iter.cc
+mln_util_internal_vertex_impl_SOURCES = mln_util_internal_vertex_impl.cc
+mln_util_internal_edge_impl_SOURCES = mln_util_internal_edge_impl.cc
+mln_util_internal_graph_base_SOURCES = mln_util_internal_graph_base.cc
+mln_util_internal_boost_graph_SOURCES = mln_util_internal_boost_graph.cc
+mln_util_internal_graph_nbh_iter_base_SOURCES = mln_util_internal_graph_nbh_iter_base.cc
+mln_util_internal_boost_graph_property_SOURCES = mln_util_internal_boost_graph_property.cc
+mln_util_ord_pair_SOURCES = mln_util_ord_pair.cc
+mln_util_edge_SOURCES = mln_util_edge.cc
+mln_util_all_SOURCES = mln_util_all.cc
+mln_util_dindex_SOURCES = mln_util_dindex.cc
+mln_util_tracked_ptr_SOURCES = mln_util_tracked_ptr.cc
+mln_util_ignore_SOURCES = mln_util_ignore.cc
+mln_util_greater_psite_SOURCES = mln_util_greater_psite.cc
+mln_util_timer_SOURCES = mln_util_timer.cc
+mln_util_yes_SOURCES = mln_util_yes.cc
+mln_util_line_graph_SOURCES = mln_util_line_graph.cc
+mln_util_ord_SOURCES = mln_util_ord.cc
+mln_util_tree_fast_to_image_SOURCES = mln_util_tree_fast_to_image.cc
+mln_util_tree_SOURCES = mln_util_tree.cc
+mln_util_index_SOURCES = mln_util_index.cc
+mln_util_multi_site_SOURCES = mln_util_multi_site.cc
+mln_util_branch_iter_SOURCES = mln_util_branch_iter.cc
+mln_util_branch_iter_ind_SOURCES = mln_util_branch_iter_ind.cc
+mln_util_tree_to_fast_SOURCES = mln_util_tree_to_fast.cc
+mln_util_array_SOURCES = mln_util_array.cc
+mln_util_vertex_SOURCES = mln_util_vertex.cc
+mln_util_pix_SOURCES = mln_util_pix.cc
+mln_util_tree_fast_SOURCES = mln_util_tree_fast.cc
+mln_util_site_pair_SOURCES = mln_util_site_pair.cc
+mln_util_nil_SOURCES = mln_util_nil.cc
+mln_util_eat_SOURCES = mln_util_eat.cc
+mln_util_essential_SOURCES = mln_util_essential.cc
+mln_data_memset__SOURCES = mln_data_memset_.cc
+mln_data_memcpy__SOURCES = mln_data_memcpy_.cc
+mln_data_all_SOURCES = mln_data_all.cc
+mln_data_paste_SOURCES = mln_data_paste.cc
+mln_data_fill_with_image_SOURCES = mln_data_fill_with_image.cc
+mln_data_fill_with_value_SOURCES = mln_data_fill_with_value.cc
+mln_data_fill_SOURCES = mln_data_fill.cc
+mln_data_essential_SOURCES = mln_data_essential.cc
+mln_tag_init_SOURCES = mln_tag_init.cc
+mln_tag_skeleton_SOURCES = mln_tag_skeleton.cc
+mln_tag_all_SOURCES = mln_tag_all.cc
+mln_tag_essential_SOURCES = mln_tag_essential.cc
mln_trace_entering_SOURCES = mln_trace_entering.cc
mln_trace_all_SOURCES = mln_trace_all.cc
-mln_trace_stop_SOURCES = mln_trace_stop.cc
-mln_trace_essential_SOURCES = mln_trace_essential.cc
mln_trace_warning_SOURCES = mln_trace_warning.cc
mln_trace_exiting_SOURCES = mln_trace_exiting.cc
-mln_tag_all_SOURCES = mln_tag_all.cc
-mln_tag_essential_SOURCES = mln_tag_essential.cc
-mln_tag_init_SOURCES = mln_tag_init.cc
-mln_tag_skeleton_SOURCES = mln_tag_skeleton.cc
+mln_trace_resume_SOURCES = mln_trace_resume.cc
+mln_trace_quiet_SOURCES = mln_trace_quiet.cc
+mln_trace_stop_SOURCES = mln_trace_stop.cc
+mln_trace_essential_SOURCES = mln_trace_essential.cc
+mln_make_graph_SOURCES = mln_make_graph.cc
+mln_make_double_neighb2d_SOURCES = mln_make_double_neighb2d.cc
+mln_make_dpoint2d_h_SOURCES = mln_make_dpoint2d_h.cc
mln_make_w_window_SOURCES = mln_make_w_window.cc
+mln_make_image_SOURCES = mln_make_image.cc
+mln_make_vec_SOURCES = mln_make_vec.cc
mln_make_all_SOURCES = mln_make_all.cc
+mln_make_dual_neighb_SOURCES = mln_make_dual_neighb.cc
+mln_make_w_window3d_SOURCES = mln_make_w_window3d.cc
+mln_make_mat_SOURCES = mln_make_mat.cc
mln_make_win_chamfer_SOURCES = mln_make_win_chamfer.cc
-mln_make_image_SOURCES = mln_make_image.cc
-mln_make_box2d_h_SOURCES = mln_make_box2d_h.cc
-mln_make_w_window_directional_SOURCES = mln_make_w_window_directional.cc
-mln_make_point2d_h_SOURCES = mln_make_point2d_h.cc
-mln_make_+win_multiple_SOURCES = mln_make_+win_multiple.cc
+mln_make_w_window2d_int_SOURCES = mln_make_w_window2d_int.cc
+mln_make_box1d_SOURCES = mln_make_box1d.cc
mln_make_voronoi_SOURCES = mln_make_voronoi.cc
-mln_make_pix_SOURCES = mln_make_pix.cc
+mln_make_box2d_SOURCES = mln_make_box2d.cc
mln_make_w_window2d_SOURCES = mln_make_w_window2d.cc
+mln_make_box3d_SOURCES = mln_make_box3d.cc
+mln_make_relabelfun_SOURCES = mln_make_relabelfun.cc
+mln_make_pixel_SOURCES = mln_make_pixel.cc
+mln_make_pix_SOURCES = mln_make_pix.cc
+mln_make_box2d_h_SOURCES = mln_make_box2d_h.cc
mln_make_w_window1d_SOURCES = mln_make_w_window1d.cc
-mln_make_graph_SOURCES = mln_make_graph.cc
-mln_make_dpoint2d_h_SOURCES = mln_make_dpoint2d_h.cc
-mln_make_w_window2d_int_SOURCES = mln_make_w_window2d_int.cc
mln_make_image2d_SOURCES = mln_make_image2d.cc
+mln_make_w_window_directional_SOURCES = mln_make_w_window_directional.cc
mln_make_w_window3d_int_SOURCES = mln_make_w_window3d_int.cc
-mln_make_w_window3d_SOURCES = mln_make_w_window3d.cc
mln_make_essential_SOURCES = mln_make_essential.cc
-mln_make_box1d_SOURCES = mln_make_box1d.cc
-mln_make_relabelfun_SOURCES = mln_make_relabelfun.cc
-mln_make_double_neighb2d_SOURCES = mln_make_double_neighb2d.cc
mln_make_w_window1d_int_SOURCES = mln_make_w_window1d_int.cc
-mln_make_dual_neighb_SOURCES = mln_make_dual_neighb.cc
-mln_make_pixel_SOURCES = mln_make_pixel.cc
-mln_make_vec_SOURCES = mln_make_vec.cc
-mln_make_mat_SOURCES = mln_make_mat.cc
-mln_make_box2d_SOURCES = mln_make_box2d.cc
-mln_make_box3d_SOURCES = mln_make_box3d.cc
-mln_histo_all_SOURCES = mln_histo_all.cc
-mln_histo_data_SOURCES = mln_histo_data.cc
-mln_histo_essential_SOURCES = mln_histo_essential.cc
-mln_histo_compute_SOURCES = mln_histo_compute.cc
-mln_essential_2d_SOURCES = mln_essential_2d.cc
+mln_make_point2d_h_SOURCES = mln_make_point2d_h.cc
+mln_display_all_SOURCES = mln_display_all.cc
+mln_display_essential_SOURCES = mln_display_essential.cc
+mln_extension_adjust_SOURCES = mln_extension_adjust.cc
+mln_extension_duplicate_SOURCES = mln_extension_duplicate.cc
+mln_extension_adjust_duplicate_SOURCES = mln_extension_adjust_duplicate.cc
+mln_extension_all_SOURCES = mln_extension_all.cc
+mln_extension_adjust_fill_SOURCES = mln_extension_adjust_fill.cc
+mln_extension_fill_SOURCES = mln_extension_fill.cc
+mln_extension_essential_SOURCES = mln_extension_essential.cc
+mln_fun_p2b_chess_SOURCES = mln_fun_p2b_chess.cc
+mln_fun_p2b_all_SOURCES = mln_fun_p2b_all.cc
+mln_fun_p2b_has_SOURCES = mln_fun_p2b_has.cc
+mln_fun_p2b_big_chess_SOURCES = mln_fun_p2b_big_chess.cc
+mln_fun_p2b_essential_SOURCES = mln_fun_p2b_essential.cc
+mln_fun_p2p_mirror_SOURCES = mln_fun_p2p_mirror.cc
+mln_fun_x2p_closest_point_SOURCES = mln_fun_x2p_closest_point.cc
+mln_fun_x2p_all_SOURCES = mln_fun_x2p_all.cc
+mln_fun_x2p_essential_SOURCES = mln_fun_x2p_essential.cc
+mln_fun_ops_SOURCES = mln_fun_ops.cc
+mln_fun_c_SOURCES = mln_fun_c.cc
+mln_fun_vv2v_max_SOURCES = mln_fun_vv2v_max.cc
+mln_fun_vv2v_lor_SOURCES = mln_fun_vv2v_lor.cc
+mln_fun_vv2v_land_not_SOURCES = mln_fun_vv2v_land_not.cc
+mln_fun_vv2v_vec_SOURCES = mln_fun_vv2v_vec.cc
+mln_fun_vv2v_all_SOURCES = mln_fun_vv2v_all.cc
+mln_fun_vv2v_macros_SOURCES = mln_fun_vv2v_macros.cc
+mln_fun_vv2v_lxor_SOURCES = mln_fun_vv2v_lxor.cc
+mln_fun_vv2v_diff_abs_SOURCES = mln_fun_vv2v_diff_abs.cc
+mln_fun_vv2v_land_SOURCES = mln_fun_vv2v_land.cc
+mln_fun_vv2v_min_SOURCES = mln_fun_vv2v_min.cc
+mln_fun_vv2v_essential_SOURCES = mln_fun_vv2v_essential.cc
+mln_fun_internal_array_base_SOURCES = mln_fun_internal_array_base.cc
+mln_fun_internal_x2x_linear_impl_SOURCES = mln_fun_internal_x2x_linear_impl.cc
+mln_fun_internal_ch_function_value_impl_SOURCES = mln_fun_internal_ch_function_value_impl.cc
+mln_fun_internal_selector_SOURCES = mln_fun_internal_selector.cc
+mln_fun_v2w_w2v_norm_SOURCES = mln_fun_v2w_w2v_norm.cc
+mln_fun_p2v_ternary_SOURCES = mln_fun_p2v_ternary.cc
+mln_fun_p2v_iota_SOURCES = mln_fun_p2v_iota.cc
+mln_fun_p2v_elifs_SOURCES = mln_fun_p2v_elifs.cc
+mln_fun_p2v_all_SOURCES = mln_fun_p2v_all.cc
+mln_fun_p2v_essential_SOURCES = mln_fun_p2v_essential.cc
+mln_fun_all_SOURCES = mln_fun_all.cc
+mln_fun_v2b_lnot_SOURCES = mln_fun_v2b_lnot.cc
+mln_fun_v2b_all_SOURCES = mln_fun_v2b_all.cc
+mln_fun_v2b_threshold_SOURCES = mln_fun_v2b_threshold.cc
+mln_fun_v2b_essential_SOURCES = mln_fun_v2b_essential.cc
+mln_fun_v2v_norm_SOURCES = mln_fun_v2v_norm.cc
+mln_fun_v2v_linear_SOURCES = mln_fun_v2v_linear.cc
+mln_fun_v2v_id_SOURCES = mln_fun_v2v_id.cc
+mln_fun_v2v_saturate_SOURCES = mln_fun_v2v_saturate.cc
+mln_fun_v2v_inc_SOURCES = mln_fun_v2v_inc.cc
+mln_fun_v2v_all_SOURCES = mln_fun_v2v_all.cc
+mln_fun_v2v_dec_SOURCES = mln_fun_v2v_dec.cc
+mln_fun_v2v_abs_SOURCES = mln_fun_v2v_abs.cc
+mln_fun_v2v_rgb_to_hsl_SOURCES = mln_fun_v2v_rgb_to_hsl.cc
+mln_fun_v2v_cast_SOURCES = mln_fun_v2v_cast.cc
+mln_fun_v2v_ch_function_value_SOURCES = mln_fun_v2v_ch_function_value.cc
+mln_fun_v2v_rgb_to_hsi_SOURCES = mln_fun_v2v_rgb_to_hsi.cc
+mln_fun_v2v_enc_SOURCES = mln_fun_v2v_enc.cc
+mln_fun_v2v_convert_SOURCES = mln_fun_v2v_convert.cc
+mln_fun_v2v_essential_SOURCES = mln_fun_v2v_essential.cc
+mln_fun_v2w2v_cos_SOURCES = mln_fun_v2w2v_cos.cc
+mln_fun_vv2b_implies_SOURCES = mln_fun_vv2b_implies.cc
+mln_fun_vv2b_le_SOURCES = mln_fun_vv2b_le.cc
+mln_fun_vv2b_gt_SOURCES = mln_fun_vv2b_gt.cc
+mln_fun_vv2b_ge_SOURCES = mln_fun_vv2b_ge.cc
+mln_fun_vv2b_lt_SOURCES = mln_fun_vv2b_lt.cc
+mln_fun_vv2b_eq_SOURCES = mln_fun_vv2b_eq.cc
+mln_fun_cast_SOURCES = mln_fun_cast.cc
+mln_fun_i2v_all_SOURCES = mln_fun_i2v_all.cc
+mln_fun_i2v_array_SOURCES = mln_fun_i2v_array.cc
+mln_fun_i2v_all_to_SOURCES = mln_fun_i2v_all_to.cc
+mln_fun_i2v_essential_SOURCES = mln_fun_i2v_essential.cc
+mln_fun_l2l_relabel_SOURCES = mln_fun_l2l_relabel.cc
+mln_fun_l2l_all_SOURCES = mln_fun_l2l_all.cc
+mln_fun_l2l_essential_SOURCES = mln_fun_l2l_essential.cc
+mln_fun_x2x_composed_SOURCES = mln_fun_x2x_composed.cc
+mln_fun_x2x_all_SOURCES = mln_fun_x2x_all.cc
+mln_fun_x2x_translation_SOURCES = mln_fun_x2x_translation.cc
+mln_fun_x2x_rotation_SOURCES = mln_fun_x2x_rotation.cc
+mln_fun_x2x_essential_SOURCES = mln_fun_x2x_essential.cc
+mln_fun_meta_red_SOURCES = mln_fun_meta_red.cc
+mln_fun_meta_hue_SOURCES = mln_fun_meta_hue.cc
+mln_fun_meta_inty_SOURCES = mln_fun_meta_inty.cc
+mln_fun_meta_sat_SOURCES = mln_fun_meta_sat.cc
+mln_fun_meta_to_enc_SOURCES = mln_fun_meta_to_enc.cc
+mln_fun_x2v_linear_SOURCES = mln_fun_x2v_linear.cc
+mln_fun_x2v_bilinear_SOURCES = mln_fun_x2v_bilinear.cc
+mln_fun_x2v_all_SOURCES = mln_fun_x2v_all.cc
+mln_fun_x2v_l1_norm_SOURCES = mln_fun_x2v_l1_norm.cc
+mln_fun_x2v_nneighbor_SOURCES = mln_fun_x2v_nneighbor.cc
+mln_fun_x2v_essential_SOURCES = mln_fun_x2v_essential.cc
+mln_fun_essential_SOURCES = mln_fun_essential.cc
+mln_all_SOURCES = mln_all.cc
+mln_convert_to_p_set_SOURCES = mln_convert_to_p_set.cc
+mln_convert_to_SOURCES = mln_convert_to.cc
+mln_convert_to_upper_window_SOURCES = mln_convert_to_upper_window.cc
+mln_convert_to_image_SOURCES = mln_convert_to_image.cc
+mln_convert_to_fun_SOURCES = mln_convert_to_fun.cc
+mln_convert_all_SOURCES = mln_convert_all.cc
+mln_convert_to_window_SOURCES = mln_convert_to_window.cc
+mln_convert_from_to_SOURCES = mln_convert_from_to.cc
+mln_convert_impl_from_value_to_value_SOURCES = mln_convert_impl_from_value_to_value.cc
+mln_convert_impl_all_SOURCES = mln_convert_impl_all.cc
+mln_convert_impl_from_image_to_site_set_SOURCES = mln_convert_impl_from_image_to_site_set.cc
+mln_convert_impl_from_float_to_value_SOURCES = mln_convert_impl_from_float_to_value.cc
+mln_convert_impl_from_int_to_value_SOURCES = mln_convert_impl_from_int_to_value.cc
+mln_convert_to_dpoint_SOURCES = mln_convert_to_dpoint.cc
+mln_convert_to_p_array_SOURCES = mln_convert_to_p_array.cc
+mln_convert_to_rgb_SOURCES = mln_convert_to_rgb.cc
+mln_convert_essential_SOURCES = mln_convert_essential.cc
+mln_value_shell_SOURCES = mln_value_shell.cc
+mln_value_float01_f_SOURCES = mln_value_float01_f.cc
+mln_value_float01_16_SOURCES = mln_value_float01_16.cc
+mln_value_lut_vec_SOURCES = mln_value_lut_vec.cc
+mln_value_glf_SOURCES = mln_value_glf.cc
+mln_value_other_SOURCES = mln_value_other.cc
+mln_value_graylevel_f_SOURCES = mln_value_graylevel_f.cc
+mln_value_aliases_SOURCES = mln_value_aliases.cc
+mln_value_label_16_SOURCES = mln_value_label_16.cc
+mln_value_ops_SOURCES = mln_value_ops.cc
+mln_value_set_SOURCES = mln_value_set.cc
+mln_value_int_u_sat_SOURCES = mln_value_int_u_sat.cc
+mln_value_float01_8_SOURCES = mln_value_float01_8.cc
+mln_value_int_u8_SOURCES = mln_value_int_u8.cc
+mln_value_equiv_SOURCES = mln_value_equiv.cc
+mln_value_internal_integer_SOURCES = mln_value_internal_integer.cc
+mln_value_internal_gray_f_SOURCES = mln_value_internal_gray_f.cc
+mln_value_internal_all_SOURCES = mln_value_internal_all.cc
+mln_value_internal_value_like_SOURCES = mln_value_internal_value_like.cc
+mln_value_internal_iterable_set_SOURCES = mln_value_internal_iterable_set.cc
+mln_value_internal_encoding_SOURCES = mln_value_internal_encoding.cc
+mln_value_internal_convert_SOURCES = mln_value_internal_convert.cc
+mln_value_internal_gray__SOURCES = mln_value_internal_gray_.cc
+mln_value_internal_essential_SOURCES = mln_value_internal_essential.cc
+mln_value_proxy_SOURCES = mln_value_proxy.cc
+mln_value_viter_SOURCES = mln_value_viter.cc
+mln_value_hsl_SOURCES = mln_value_hsl.cc
+mln_value_graylevel_SOURCES = mln_value_graylevel.cc
+mln_value_all_SOURCES = mln_value_all.cc
+mln_value_super_value_SOURCES = mln_value_super_value.cc
+mln_value_builtin_symbolics_SOURCES = mln_value_builtin_symbolics.cc
+mln_value_builtin_ops_SOURCES = mln_value_builtin_ops.cc
+mln_value_builtin_all_SOURCES = mln_value_builtin_all.cc
+mln_value_builtin_promotions_SOURCES = mln_value_builtin_promotions.cc
+mln_value_builtin_integers_SOURCES = mln_value_builtin_integers.cc
+mln_value_builtin_floatings_SOURCES = mln_value_builtin_floatings.cc
+mln_value_builtin_essential_SOURCES = mln_value_builtin_essential.cc
+mln_value_sign_SOURCES = mln_value_sign.cc
+mln_value_hsi_SOURCES = mln_value_hsi.cc
+mln_value_interval_SOURCES = mln_value_interval.cc
+mln_value_gl16_SOURCES = mln_value_gl16.cc
+mln_value_scalar_SOURCES = mln_value_scalar.cc
+mln_value_float01_SOURCES = mln_value_float01.cc
+mln_value_cast_SOURCES = mln_value_cast.cc
+mln_value_int_u_SOURCES = mln_value_int_u.cc
+mln_value_int_s8_SOURCES = mln_value_int_s8.cc
+mln_value_int_s16_SOURCES = mln_value_int_s16.cc
+mln_value_int_u16_SOURCES = mln_value_int_u16.cc
+mln_value_label_SOURCES = mln_value_label.cc
+mln_value_mixin_SOURCES = mln_value_mixin.cc
+mln_value_rgb_SOURCES = mln_value_rgb.cc
+mln_value_stack_SOURCES = mln_value_stack.cc
+mln_value_concept_integer_SOURCES = mln_value_concept_integer.cc
+mln_value_concept_structured_SOURCES = mln_value_concept_structured.cc
+mln_value_concept_built_in_SOURCES = mln_value_concept_built_in.cc
+mln_value_concept_all_SOURCES = mln_value_concept_all.cc
+mln_value_concept_scalar_SOURCES = mln_value_concept_scalar.cc
+mln_value_concept_data_SOURCES = mln_value_concept_data.cc
+mln_value_concept_floating_SOURCES = mln_value_concept_floating.cc
+mln_value_concept_symbolic_SOURCES = mln_value_concept_symbolic.cc
+mln_value_concept_vectorial_SOURCES = mln_value_concept_vectorial.cc
+mln_value_concept_essential_SOURCES = mln_value_concept_essential.cc
+mln_value_int_s_SOURCES = mln_value_int_s.cc
+mln_value_rgb8_SOURCES = mln_value_rgb8.cc
+mln_value_int_s32_SOURCES = mln_value_int_s32.cc
+mln_value_float01__SOURCES = mln_value_float01_.cc
+mln_value_rgb16_SOURCES = mln_value_rgb16.cc
+mln_value_int_u32_SOURCES = mln_value_int_u32.cc
+mln_value_gl8_SOURCES = mln_value_gl8.cc
+mln_value_label_8_SOURCES = mln_value_label_8.cc
+mln_value_essential_SOURCES = mln_value_essential.cc
+mln_accu_tuple_SOURCES = mln_accu_tuple.cc
+mln_accu_min_h_SOURCES = mln_accu_min_h.cc
+mln_accu_max_SOURCES = mln_accu_max.cc
+mln_accu_lor_SOURCES = mln_accu_lor.cc
+mln_accu_rank_SOURCES = mln_accu_rank.cc
+mln_accu_transform_stop_SOURCES = mln_accu_transform_stop.cc
+mln_accu_maj_h_SOURCES = mln_accu_maj_h.cc
+mln_accu_min_max_SOURCES = mln_accu_min_max.cc
+mln_accu_internal_base_SOURCES = mln_accu_internal_base.cc
+mln_accu_transform_snake_SOURCES = mln_accu_transform_snake.cc
+mln_accu_rank_high_quant_SOURCES = mln_accu_rank_high_quant.cc
+mln_accu_count_SOURCES = mln_accu_count.cc
+mln_accu_median_h_SOURCES = mln_accu_median_h.cc
+mln_accu_all_SOURCES = mln_accu_all.cc
+mln_accu_land_basic_SOURCES = mln_accu_land_basic.cc
+mln_accu_p_SOURCES = mln_accu_p.cc
+mln_accu_transform_SOURCES = mln_accu_transform.cc
+mln_accu_median_alt_SOURCES = mln_accu_median_alt.cc
+mln_accu_volume_SOURCES = mln_accu_volume.cc
+mln_accu_sum_SOURCES = mln_accu_sum.cc
+mln_accu_height_SOURCES = mln_accu_height.cc
+mln_accu_land_SOURCES = mln_accu_land.cc
+mln_accu_take_SOURCES = mln_accu_take.cc
+mln_accu_histo_SOURCES = mln_accu_histo.cc
+mln_accu_pair_SOURCES = mln_accu_pair.cc
+mln_accu_count_adjacent_vertices_SOURCES = mln_accu_count_adjacent_vertices.cc
+mln_accu_convolve_SOURCES = mln_accu_convolve.cc
+mln_accu_v_SOURCES = mln_accu_v.cc
+mln_accu_rank_bool_SOURCES = mln_accu_rank_bool.cc
+mln_accu_min_SOURCES = mln_accu_min.cc
+mln_accu_transform_directional_SOURCES = mln_accu_transform_directional.cc
+mln_accu_compute_SOURCES = mln_accu_compute.cc
+mln_accu_mean_SOURCES = mln_accu_mean.cc
+mln_accu_lor_basic_SOURCES = mln_accu_lor_basic.cc
+mln_accu_transform_diagonal_SOURCES = mln_accu_transform_diagonal.cc
+mln_accu_nil_SOURCES = mln_accu_nil.cc
+mln_accu_bbox_SOURCES = mln_accu_bbox.cc
+mln_accu_center_SOURCES = mln_accu_center.cc
+mln_accu_line_SOURCES = mln_accu_line.cc
+mln_accu_essential_SOURCES = mln_accu_essential.cc
+mln_accu_max_h_SOURCES = mln_accu_max_h.cc
+mln_level_compare_SOURCES = mln_level_compare.cc
+mln_level_transform_inplace_SOURCES = mln_level_transform_inplace.cc
+mln_level_replace_SOURCES = mln_level_replace.cc
+mln_level_apply_SOURCES = mln_level_apply.cc
+mln_level_approx_all_SOURCES = mln_level_approx_all.cc
+mln_level_approx_essential_SOURCES = mln_level_approx_essential.cc
+mln_level_approx_median_SOURCES = mln_level_approx_median.cc
+mln_level_saturate_SOURCES = mln_level_saturate.cc
+mln_level_all_SOURCES = mln_level_all.cc
+mln_level_fast_median_SOURCES = mln_level_fast_median.cc
+mln_level_abs_SOURCES = mln_level_abs.cc
+mln_level_transform_SOURCES = mln_level_transform.cc
+mln_level_stretch_SOURCES = mln_level_stretch.cc
+mln_level_was_median_SOURCES = mln_level_was_median.cc
+mln_level_compute_SOURCES = mln_level_compute.cc
+mln_level_convert_SOURCES = mln_level_convert.cc
+mln_level_to_enc_SOURCES = mln_level_to_enc.cc
+mln_level_naive_all_SOURCES = mln_level_naive_all.cc
+mln_level_naive_essential_SOURCES = mln_level_naive_essential.cc
+mln_level_naive_median_SOURCES = mln_level_naive_median.cc
+mln_level_sort_psites_SOURCES = mln_level_sort_psites.cc
+mln_level_update_SOURCES = mln_level_update.cc
+mln_level_essential_SOURCES = mln_level_essential.cc
+mln_level_median_SOURCES = mln_level_median.cc
+mln_math_jacobi_SOURCES = mln_math_jacobi.cc
+mln_math_max_SOURCES = mln_math_max.cc
+mln_math_sqr_SOURCES = mln_math_sqr.cc
+mln_math_all_SOURCES = mln_math_all.cc
+mln_math_sign_SOURCES = mln_math_sign.cc
+mln_math_abs_SOURCES = mln_math_abs.cc
+mln_math_cos_SOURCES = mln_math_cos.cc
+mln_math_diff_abs_SOURCES = mln_math_diff_abs.cc
+mln_math_round_SOURCES = mln_math_round.cc
+mln_math_min_SOURCES = mln_math_min.cc
+mln_math_sqrt_SOURCES = mln_math_sqrt.cc
+mln_math_essential_SOURCES = mln_math_essential.cc
+mln_math_acos_SOURCES = mln_math_acos.cc
+mln_math_round_sat_SOURCES = mln_math_round_sat.cc
+mln_opt_at_SOURCES = mln_opt_at.cc
+mln_binarization_includes_SOURCES = mln_binarization_includes.cc
+mln_binarization_all_SOURCES = mln_binarization_all.cc
+mln_binarization_binarization_SOURCES = mln_binarization_binarization.cc
+mln_binarization_threshold_SOURCES = mln_binarization_threshold.cc
+mln_binarization_essential_SOURCES = mln_binarization_essential.cc
+mln_trait_site_set_props_SOURCES = mln_trait_site_set_props.cc
+mln_trait_site_set_print_SOURCES = mln_trait_site_set_print.cc
+mln_trait_promote_SOURCES = mln_trait_promote.cc
+mln_trait_solve_binary_SOURCES = mln_trait_solve_binary.cc
+mln_trait_value__SOURCES = mln_trait_value_.cc
+mln_trait_all_SOURCES = mln_trait_all.cc
+mln_trait_value_all_SOURCES = mln_trait_value_all.cc
+mln_trait_value_nature_SOURCES = mln_trait_value_nature.cc
+mln_trait_value_quant_SOURCES = mln_trait_value_quant.cc
+mln_trait_value_kind_SOURCES = mln_trait_value_kind.cc
+mln_trait_value_print_SOURCES = mln_trait_value_print.cc
+mln_trait_value_essential_SOURCES = mln_trait_value_essential.cc
+mln_trait_images_SOURCES = mln_trait_images.cc
+mln_trait_window_props_SOURCES = mln_trait_window_props.cc
+mln_trait_window_print_SOURCES = mln_trait_window_print.cc
+mln_trait_ch_function_value_SOURCES = mln_trait_ch_function_value.cc
+mln_trait_ch_value_SOURCES = mln_trait_ch_value.cc
+mln_trait_solve_SOURCES = mln_trait_solve.cc
+mln_trait_solve_unary_SOURCES = mln_trait_solve_unary.cc
+mln_trait_op_postdec_SOURCES = mln_trait_op_postdec.cc
+mln_trait_op_mod_SOURCES = mln_trait_op_mod.cc
+mln_trait_op_lor_SOURCES = mln_trait_op_lor.cc
+mln_trait_op_neq_SOURCES = mln_trait_op_neq.cc
+mln_trait_op_plus_SOURCES = mln_trait_op_plus.cc
+mln_trait_op_xor_SOURCES = mln_trait_op_xor.cc
+mln_trait_op_all_SOURCES = mln_trait_op_all.cc
+mln_trait_op_geq_SOURCES = mln_trait_op_geq.cc
+mln_trait_op_uminus_SOURCES = mln_trait_op_uminus.cc
+mln_trait_op_not_SOURCES = mln_trait_op_not.cc
+mln_trait_op_times_SOURCES = mln_trait_op_times.cc
+mln_trait_op_less_SOURCES = mln_trait_op_less.cc
+mln_trait_op_decl_SOURCES = mln_trait_op_decl.cc
+mln_trait_op_ord_SOURCES = mln_trait_op_ord.cc
+mln_trait_op_and_SOURCES = mln_trait_op_and.cc
+mln_trait_op_or_SOURCES = mln_trait_op_or.cc
+mln_trait_op_predec_SOURCES = mln_trait_op_predec.cc
+mln_trait_op_minus_SOURCES = mln_trait_op_minus.cc
+mln_trait_op_div_SOURCES = mln_trait_op_div.cc
+mln_trait_op_leq_SOURCES = mln_trait_op_leq.cc
+mln_trait_op_preinc_SOURCES = mln_trait_op_preinc.cc
+mln_trait_op_greater_SOURCES = mln_trait_op_greater.cc
+mln_trait_op_postinc_SOURCES = mln_trait_op_postinc.cc
+mln_trait_op_uplus_SOURCES = mln_trait_op_uplus.cc
+mln_trait_op_essential_SOURCES = mln_trait_op_essential.cc
+mln_trait_op_eq_SOURCES = mln_trait_op_eq.cc
+mln_trait_concrete_SOURCES = mln_trait_concrete.cc
+mln_trait_windows_SOURCES = mln_trait_windows.cc
+mln_trait_site_sets_SOURCES = mln_trait_site_sets.cc
+mln_trait_image_from_grid_SOURCES = mln_trait_image_from_grid.cc
+mln_trait_undef_SOURCES = mln_trait_undef.cc
+mln_trait_image_props_SOURCES = mln_trait_image_props.cc
+mln_trait_image_print_SOURCES = mln_trait_image_print.cc
+mln_trait_neighborhood_SOURCES = mln_trait_neighborhood.cc
+mln_trait_essential_SOURCES = mln_trait_essential.cc
+mln_canvas_labeling_SOURCES = mln_canvas_labeling.cc
+mln_canvas_browsing_hyper_directional_SOURCES = mln_canvas_browsing_hyper_directional.cc
+mln_canvas_browsing_snake_generic_SOURCES = mln_canvas_browsing_snake_generic.cc
+mln_canvas_browsing_backdiagonal2d_SOURCES = mln_canvas_browsing_backdiagonal2d.cc
+mln_canvas_browsing_snake_vert_SOURCES = mln_canvas_browsing_snake_vert.cc
+mln_canvas_browsing_snake_fwd_SOURCES = mln_canvas_browsing_snake_fwd.cc
+mln_canvas_browsing_all_SOURCES = mln_canvas_browsing_all.cc
+mln_canvas_browsing_diagonal2d_SOURCES = mln_canvas_browsing_diagonal2d.cc
+mln_canvas_browsing_fwd_SOURCES = mln_canvas_browsing_fwd.cc
+mln_canvas_browsing_dir_struct_elt_incr_update_SOURCES = mln_canvas_browsing_dir_struct_elt_incr_update.cc
+mln_canvas_browsing_depth_first_search_SOURCES = mln_canvas_browsing_depth_first_search.cc
+mln_canvas_browsing_directional_SOURCES = mln_canvas_browsing_directional.cc
+mln_canvas_browsing_essential_SOURCES = mln_canvas_browsing_essential.cc
+mln_canvas_chamfer_SOURCES = mln_canvas_chamfer.cc
+mln_canvas_distance_geodesic_SOURCES = mln_canvas_distance_geodesic.cc
+mln_canvas_all_SOURCES = mln_canvas_all.cc
+mln_canvas_distance_front_SOURCES = mln_canvas_distance_front.cc
+mln_canvas_morpho_all_SOURCES = mln_canvas_morpho_all.cc
+mln_canvas_morpho_algebraic_union_find_SOURCES = mln_canvas_morpho_algebraic_union_find.cc
+mln_canvas_morpho_essential_SOURCES = mln_canvas_morpho_essential.cc
+mln_canvas_essential_SOURCES = mln_canvas_essential.cc
+mln_metal_is_const_SOURCES = mln_metal_is_const.cc
+mln_metal_none_SOURCES = mln_metal_none.cc
+mln_metal_equal_SOURCES = mln_metal_equal.cc
+mln_metal_unptr_SOURCES = mln_metal_unptr.cc
+mln_metal_not_equal_SOURCES = mln_metal_not_equal.cc
+mln_metal_is_ref_SOURCES = mln_metal_is_ref.cc
+mln_metal_ret_SOURCES = mln_metal_ret.cc
+mln_metal_unqualif_SOURCES = mln_metal_unqualif.cc
+mln_metal_is_not_SOURCES = mln_metal_is_not.cc
+mln_metal_vec_SOURCES = mln_metal_vec.cc
+mln_metal_is_SOURCES = mln_metal_is.cc
+mln_metal_bool_SOURCES = mln_metal_bool.cc
+mln_metal_all_SOURCES = mln_metal_all.cc
+mln_metal_math_pow_SOURCES = mln_metal_math_pow.cc
+mln_metal_math_max_SOURCES = mln_metal_math_max.cc
+mln_metal_math_all_SOURCES = mln_metal_math_all.cc
+mln_metal_math_root_SOURCES = mln_metal_math_root.cc
+mln_metal_math_sqrt_SOURCES = mln_metal_math_sqrt.cc
+mln_metal_mat_SOURCES = mln_metal_mat.cc
+mln_metal_is_not_const_SOURCES = mln_metal_is_not_const.cc
+mln_metal_fix_return_SOURCES = mln_metal_fix_return.cc
+mln_metal_ands_SOURCES = mln_metal_ands.cc
+mln_metal_const_SOURCES = mln_metal_const.cc
+mln_metal_is_unqualif_SOURCES = mln_metal_is_unqualif.cc
+mln_metal_unconst_SOURCES = mln_metal_unconst.cc
+mln_metal_bexpr_SOURCES = mln_metal_bexpr.cc
+mln_metal_array2d_SOURCES = mln_metal_array2d.cc
+mln_metal_is_not_a_SOURCES = mln_metal_is_not_a.cc
+mln_metal_is_a_SOURCES = mln_metal_is_a.cc
+mln_metal_array1d_SOURCES = mln_metal_array1d.cc
+mln_metal_if_SOURCES = mln_metal_if.cc
+mln_metal_unref_SOURCES = mln_metal_unref.cc
+mln_metal_array_SOURCES = mln_metal_array.cc
+mln_metal_ref_SOURCES = mln_metal_ref.cc
+mln_metal_same_point_SOURCES = mln_metal_same_point.cc
+mln_metal_int_SOURCES = mln_metal_int.cc
+mln_metal_abort_SOURCES = mln_metal_abort.cc
+mln_metal_same_coord_SOURCES = mln_metal_same_coord.cc
+mln_metal_templated_by_SOURCES = mln_metal_templated_by.cc
+mln_metal_goes_to_SOURCES = mln_metal_goes_to.cc
+mln_metal_is_not_ref_SOURCES = mln_metal_is_not_ref.cc
+mln_metal_converts_to_SOURCES = mln_metal_converts_to.cc
+mln_metal_essential_SOURCES = mln_metal_essential.cc
+mln_metal_array3d_SOURCES = mln_metal_array3d.cc
+mln_algebra_vec_SOURCES = mln_algebra_vec.cc
+mln_algebra_all_SOURCES = mln_algebra_all.cc
+mln_algebra_h_vec_SOURCES = mln_algebra_h_vec.cc
+mln_algebra_mat_SOURCES = mln_algebra_mat.cc
+mln_algebra_h_mat_SOURCES = mln_algebra_h_mat.cc
+mln_algebra_quat_SOURCES = mln_algebra_quat.cc
+mln_algebra_essential_SOURCES = mln_algebra_essential.cc
+mln_linear_convolve_2x1d_SOURCES = mln_linear_convolve_2x1d.cc
+mln_linear_all_SOURCES = mln_linear_all.cc
+mln_linear_ch_convolve_SOURCES = mln_linear_ch_convolve.cc
+mln_linear_gaussian_SOURCES = mln_linear_gaussian.cc
+mln_linear_convolve_SOURCES = mln_linear_convolve.cc
+mln_linear_sobel_2d_SOURCES = mln_linear_sobel_2d.cc
+mln_linear_local_convolve_SOURCES = mln_linear_local_convolve.cc
+mln_linear_lap_SOURCES = mln_linear_lap.cc
+mln_linear_convolve_directional_SOURCES = mln_linear_convolve_directional.cc
+mln_linear_log_SOURCES = mln_linear_log.cc
+mln_linear_essential_SOURCES = mln_linear_essential.cc
+mln_morpho_thinning_SOURCES = mln_morpho_thinning.cc
+mln_morpho_meyer_wst_SOURCES = mln_morpho_meyer_wst.cc
+mln_morpho_opening_SOURCES = mln_morpho_opening.cc
+mln_morpho_includes_SOURCES = mln_morpho_includes.cc
+mln_morpho_elementary_opening_SOURCES = mln_morpho_elementary_opening.cc
+mln_morpho_elementary_gradient_internal_SOURCES = mln_morpho_elementary_gradient_internal.cc
+mln_morpho_elementary_dilation_SOURCES = mln_morpho_elementary_dilation.cc
+mln_morpho_elementary_laplacian_SOURCES = mln_morpho_elementary_laplacian.cc
+mln_morpho_elementary_all_SOURCES = mln_morpho_elementary_all.cc
+mln_morpho_elementary_gradient_external_SOURCES = mln_morpho_elementary_gradient_external.cc
+mln_morpho_elementary_like_ero_fun_SOURCES = mln_morpho_elementary_like_ero_fun.cc
+mln_morpho_elementary_gradient_SOURCES = mln_morpho_elementary_gradient.cc
+mln_morpho_elementary_like_ero_set_SOURCES = mln_morpho_elementary_like_ero_set.cc
+mln_morpho_elementary_closing_SOURCES = mln_morpho_elementary_closing.cc
+mln_morpho_elementary_top_hat_SOURCES = mln_morpho_elementary_top_hat.cc
+mln_morpho_elementary_erosion_SOURCES = mln_morpho_elementary_erosion.cc
+mln_morpho_elementary_essential_SOURCES = mln_morpho_elementary_essential.cc
+mln_morpho_thin_fit_SOURCES = mln_morpho_thin_fit.cc
+mln_morpho_skeleton_constrained_SOURCES = mln_morpho_skeleton_constrained.cc
+mln_morpho_complementation_SOURCES = mln_morpho_complementation.cc
+mln_morpho_line_gradient_SOURCES = mln_morpho_line_gradient.cc
+mln_morpho_hit_or_miss_SOURCES = mln_morpho_hit_or_miss.cc
+mln_morpho_closing_height_SOURCES = mln_morpho_closing_height.cc
+mln_morpho_plus_SOURCES = mln_morpho_plus.cc
+mln_morpho_general_SOURCES = mln_morpho_general.cc
+mln_morpho_internal_elementary_SOURCES = mln_morpho_internal_elementary.cc
+mln_morpho_contrast_SOURCES = mln_morpho_contrast.cc
+mln_morpho_opening_area_SOURCES = mln_morpho_opening_area.cc
+mln_morpho_opening_height_SOURCES = mln_morpho_opening_height.cc
+mln_morpho_thickening_SOURCES = mln_morpho_thickening.cc
+mln_morpho_dilation_SOURCES = mln_morpho_dilation.cc
+mln_morpho_laplacian_SOURCES = mln_morpho_laplacian.cc
+mln_morpho_all_SOURCES = mln_morpho_all.cc
+mln_morpho_opening_attribute_SOURCES = mln_morpho_opening_attribute.cc
+mln_morpho_opening_volume_SOURCES = mln_morpho_opening_volume.cc
+mln_morpho_closing_area_on_vertices_SOURCES = mln_morpho_closing_area_on_vertices.cc
+mln_morpho_closing_volume_SOURCES = mln_morpho_closing_volume.cc
+mln_morpho_minus_SOURCES = mln_morpho_minus.cc
+mln_morpho_gradient_SOURCES = mln_morpho_gradient.cc
+mln_morpho_tree_max_SOURCES = mln_morpho_tree_max.cc
+mln_morpho_tree_compute_parent_SOURCES = mln_morpho_tree_compute_parent.cc
+mln_morpho_tree_all_SOURCES = mln_morpho_tree_all.cc
+mln_morpho_tree_utils_SOURCES = mln_morpho_tree_utils.cc
+mln_morpho_tree_data_SOURCES = mln_morpho_tree_data.cc
+mln_morpho_tree_compute_attribute_image_SOURCES = mln_morpho_tree_compute_attribute_image.cc
+mln_morpho_opening_area_on_vertices_SOURCES = mln_morpho_opening_area_on_vertices.cc
+mln_morpho_min_SOURCES = mln_morpho_min.cc
+mln_morpho_closing_SOURCES = mln_morpho_closing.cc
+mln_morpho_top_hat_SOURCES = mln_morpho_top_hat.cc
+mln_morpho_erosion_SOURCES = mln_morpho_erosion.cc
+mln_morpho_Rd_SOURCES = mln_morpho_Rd.cc
+mln_morpho_closing_area_SOURCES = mln_morpho_closing_area.cc
+mln_morpho_thick_miss_SOURCES = mln_morpho_thick_miss.cc
+mln_morpho_closing_attribute_SOURCES = mln_morpho_closing_attribute.cc
+mln_morpho_rank_filter_SOURCES = mln_morpho_rank_filter.cc
+mln_morpho_essential_SOURCES = mln_morpho_essential.cc
+mln_topo_n_face_iter_SOURCES = mln_topo_n_face_iter.cc
+mln_topo_face_iter_SOURCES = mln_topo_face_iter.cc
+mln_topo_is_simple_2d_SOURCES = mln_topo_is_simple_2d.cc
+mln_topo_centered_iter_adapter_SOURCES = mln_topo_centered_iter_adapter.cc
+mln_topo_internal_complex_set_iterator_base_SOURCES = mln_topo_internal_complex_set_iterator_base.cc
+mln_topo_internal_complex_iterator_base_SOURCES = mln_topo_internal_complex_iterator_base.cc
+mln_topo_internal_complex_relative_iterator_base_SOURCES = mln_topo_internal_complex_relative_iterator_base.cc
+mln_topo_internal_complex_relative_iterator_sequence_SOURCES = mln_topo_internal_complex_relative_iterator_sequence.cc
+mln_topo_algebraic_n_face_SOURCES = mln_topo_algebraic_n_face.cc
+mln_topo_attic_faces_iter_SOURCES = mln_topo_attic_faces_iter.cc
+mln_topo_adj_lower_dim_connected_n_face_iter_SOURCES = mln_topo_adj_lower_dim_connected_n_face_iter.cc
+mln_topo_n_face_SOURCES = mln_topo_n_face.cc
+mln_topo_adj_lower_higher_face_iter_SOURCES = mln_topo_adj_lower_higher_face_iter.cc
+mln_topo_all_SOURCES = mln_topo_all.cc
+mln_topo_face_data_SOURCES = mln_topo_face_data.cc
+mln_topo_static_n_face_iter_SOURCES = mln_topo_static_n_face_iter.cc
+mln_topo_face_SOURCES = mln_topo_face.cc
+mln_topo_adj_m_face_iter_SOURCES = mln_topo_adj_m_face_iter.cc
+mln_topo_complex_SOURCES = mln_topo_complex.cc
+mln_topo_adj_higher_face_iter_SOURCES = mln_topo_adj_higher_face_iter.cc
+mln_topo_adj_lower_face_iter_SOURCES = mln_topo_adj_lower_face_iter.cc
+mln_topo_complex_iterators_SOURCES = mln_topo_complex_iterators.cc
+mln_topo_center_only_iter_SOURCES = mln_topo_center_only_iter.cc
+mln_topo_adj_higher_dim_connected_n_face_iter_SOURCES = mln_topo_adj_higher_dim_connected_n_face_iter.cc
+mln_topo_algebraic_face_SOURCES = mln_topo_algebraic_face.cc
+mln_topo_n_faces_set_SOURCES = mln_topo_n_faces_set.cc
+mln_topo_essential_SOURCES = mln_topo_essential.cc
+mln_essential_1d_SOURCES = mln_essential_1d.cc
mln_essential_routine_SOURCES = mln_essential_routine.cc
mln_essential_3d_SOURCES = mln_essential_3d.cc
-mln_essential_1d_SOURCES = mln_essential_1d.cc
-mln_set_get_SOURCES = mln_set_get.cc
-mln_set_uni_SOURCES = mln_set_uni.cc
-mln_set_all_SOURCES = mln_set_all.cc
-mln_set_unique_SOURCES = mln_set_unique.cc
-mln_set_sym_diff_SOURCES = mln_set_sym_diff.cc
-mln_set_card_SOURCES = mln_set_card.cc
-mln_set_+NEW_sym_diff_SOURCES = mln_set_+NEW_sym_diff.cc
-mln_set_essential_SOURCES = mln_set_essential.cc
-mln_set_+NEW_unique_SOURCES = mln_set_+NEW_unique.cc
-mln_set_diff_SOURCES = mln_set_diff.cc
-mln_set_compute_SOURCES = mln_set_compute.cc
-mln_set_has_SOURCES = mln_set_has.cc
-mln_set_+NEW_all_SOURCES = mln_set_+NEW_all.cc
-mln_set_inter_SOURCES = mln_set_inter.cc
-mln_transform_all_SOURCES = mln_transform_all.cc
-mln_transform_internal_influence_zone_functor_SOURCES = mln_transform_internal_influence_zone_functor.cc
-mln_transform_internal_all_SOURCES = mln_transform_internal_all.cc
-mln_transform_internal_distance_functor_SOURCES = mln_transform_internal_distance_functor.cc
-mln_transform_distance_geodesic_SOURCES = mln_transform_distance_geodesic.cc
-mln_transform_+old_distance_SOURCES = mln_transform_+old_distance.cc
-mln_transform_essential_SOURCES = mln_transform_essential.cc
-mln_transform_influence_zone_geodesic_SOURCES = mln_transform_influence_zone_geodesic.cc
-mln_transform_distance_front_SOURCES = mln_transform_distance_front.cc
-mln_transform_influence_zone_front_SOURCES = mln_transform_influence_zone_front.cc
-mln_core_alias_neighb2d_SOURCES = mln_core_alias_neighb2d.cc
-mln_core_alias_point3df_SOURCES = mln_core_alias_point3df.cc
-mln_core_alias_w_window3d_float_SOURCES = mln_core_alias_w_window3d_float.cc
-mln_core_alias_point2d_SOURCES = mln_core_alias_point2d.cc
-mln_core_alias_w_window1d_float_SOURCES = mln_core_alias_w_window1d_float.cc
-mln_core_alias_box2d_h_SOURCES = mln_core_alias_box2d_h.cc
-mln_core_alias_point2d_h_SOURCES = mln_core_alias_point2d_h.cc
-mln_core_alias_neighb1d_SOURCES = mln_core_alias_neighb1d.cc
-mln_core_alias_p_run2d_SOURCES = mln_core_alias_p_run2d.cc
-mln_core_alias_window2d_SOURCES = mln_core_alias_window2d.cc
-mln_core_alias_window3d_SOURCES = mln_core_alias_window3d.cc
-mln_core_alias_dpoint2d_h_SOURCES = mln_core_alias_dpoint2d_h.cc
-mln_core_alias_p_runs2d_SOURCES = mln_core_alias_p_runs2d.cc
-mln_core_alias_w_window2d_int_SOURCES = mln_core_alias_w_window2d_int.cc
-mln_core_alias_w_window3d_int_SOURCES = mln_core_alias_w_window3d_int.cc
-mln_core_alias_box1d_SOURCES = mln_core_alias_box1d.cc
-mln_core_alias_w_window2d_float_SOURCES = mln_core_alias_w_window2d_float.cc
-mln_core_alias_w_window1d_int_SOURCES = mln_core_alias_w_window1d_int.cc
-mln_core_alias_dpoint1d_SOURCES = mln_core_alias_dpoint1d.cc
-mln_core_alias_point1d_SOURCES = mln_core_alias_point1d.cc
-mln_core_alias_complex_image_SOURCES = mln_core_alias_complex_image.cc
-mln_core_alias_window1d_SOURCES = mln_core_alias_window1d.cc
-mln_core_alias_dpoint2d_SOURCES = mln_core_alias_dpoint2d.cc
-mln_core_alias_neighb3d_SOURCES = mln_core_alias_neighb3d.cc
-mln_core_alias_point3d_SOURCES = mln_core_alias_point3d.cc
-mln_core_alias_dpoint3d_SOURCES = mln_core_alias_dpoint3d.cc
-mln_core_alias_complex_geometry_SOURCES = mln_core_alias_complex_geometry.cc
-mln_core_alias_box2d_SOURCES = mln_core_alias_box2d.cc
-mln_core_alias_box3d_SOURCES = mln_core_alias_box3d.cc
-mln_core_clock_neighb2d_SOURCES = mln_core_clock_neighb2d.cc
-mln_core_macros_SOURCES = mln_core_macros.cc
-mln_core_w_window_SOURCES = mln_core_w_window.cc
-mln_core_all_SOURCES = mln_core_all.cc
-mln_core_category_SOURCES = mln_core_category.cc
-mln_core_faces_psite_SOURCES = mln_core_faces_psite.cc
-mln_core_trait_all_SOURCES = mln_core_trait_all.cc
-mln_core_trait_pixter_SOURCES = mln_core_trait_pixter.cc
-mln_core_trait_op_mult_SOURCES = mln_core_trait_op_mult.cc
-mln_core_trait_essential_SOURCES = mln_core_trait_essential.cc
-mln_core_trait_qlf_value_SOURCES = mln_core_trait_qlf_value.cc
+mln_essential_2d_SOURCES = mln_essential_2d.cc
+mln_win_inter_SOURCES = mln_win_inter.cc
+mln_win_backdiag2d_SOURCES = mln_win_backdiag2d.cc
+mln_win_segment1d_SOURCES = mln_win_segment1d.cc
+mln_win_cuboid3d_SOURCES = mln_win_cuboid3d.cc
+mln_win_vline2d_SOURCES = mln_win_vline2d.cc
+mln_win_octagon2d_SOURCES = mln_win_octagon2d.cc
+mln_win_all_SOURCES = mln_win_all.cc
+mln_win_multiple_size_SOURCES = mln_win_multiple_size.cc
+mln_win_cube3d_SOURCES = mln_win_cube3d.cc
+mln_win_shift_SOURCES = mln_win_shift.cc
+mln_win_sym_SOURCES = mln_win_sym.cc
+mln_win_diff_SOURCES = mln_win_diff.cc
+mln_win_multiple_SOURCES = mln_win_multiple.cc
+mln_win_diag2d_SOURCES = mln_win_diag2d.cc
+mln_win_disk2d_SOURCES = mln_win_disk2d.cc
+mln_win_rectangle2d_SOURCES = mln_win_rectangle2d.cc
+mln_win_hline2d_SOURCES = mln_win_hline2d.cc
+mln_win_line_SOURCES = mln_win_line.cc
+mln_win_essential_SOURCES = mln_win_essential.cc
+mln_core_clock_neighb_SOURCES = mln_core_clock_neighb.cc
+mln_core_pixter2d_SOURCES = mln_core_pixter2d.cc
+mln_core_def_low_quant_nbits_SOURCES = mln_core_def_low_quant_nbits.cc
+mln_core_def_all_SOURCES = mln_core_def_all.cc
+mln_core_def_coordf_SOURCES = mln_core_def_coordf.cc
+mln_core_def_coord_SOURCES = mln_core_def_coord.cc
+mln_core_def_essential_SOURCES = mln_core_def_essential.cc
+mln_core_site_set_box_SOURCES = mln_core_site_set_box.cc
+mln_core_site_set_p_vertices_SOURCES = mln_core_site_set_p_vertices.cc
+mln_core_site_set_p_vaccess_SOURCES = mln_core_site_set_p_vaccess.cc
+mln_core_site_set_p_if_piter_SOURCES = mln_core_site_set_p_if_piter.cc
+mln_core_site_set_p_run_piter_SOURCES = mln_core_site_set_p_run_piter.cc
+mln_core_site_set_p_key_SOURCES = mln_core_site_set_p_key.cc
+mln_core_site_set_p_double_SOURCES = mln_core_site_set_p_double.cc
+mln_core_site_set_p_complex_piter_SOURCES = mln_core_site_set_p_complex_piter.cc
+mln_core_site_set_p_complex_SOURCES = mln_core_site_set_p_complex.cc
+mln_core_site_set_p_image_SOURCES = mln_core_site_set_p_image.cc
+mln_core_site_set_attic_p_complex_faces_piter_SOURCES = mln_core_site_set_attic_p_complex_faces_piter.cc
+mln_core_site_set_attic_p_faces_piter_SOURCES = mln_core_site_set_attic_p_faces_piter.cc
+mln_core_site_set_p_priority_SOURCES = mln_core_site_set_p_priority.cc
+mln_core_site_set_p_set_of_SOURCES = mln_core_site_set_p_set_of.cc
+mln_core_site_set_all_SOURCES = mln_core_site_set_all.cc
+mln_core_site_set_p_edges_SOURCES = mln_core_site_set_p_edges.cc
+mln_core_site_set_box_piter_SOURCES = mln_core_site_set_box_piter.cc
+mln_core_site_set_p_faces_SOURCES = mln_core_site_set_p_faces.cc
+mln_core_site_set_p_set_SOURCES = mln_core_site_set_p_set.cc
+mln_core_site_set_p_queue_SOURCES = mln_core_site_set_p_queue.cc
mln_core_site_set_p_if_SOURCES = mln_core_site_set_p_if.cc
-mln_core_site_set_complex_psite_SOURCES = mln_core_site_set_complex_psite.cc
+mln_core_site_set_operators_SOURCES = mln_core_site_set_operators.cc
mln_core_site_set_p_mutable_array_of_SOURCES = mln_core_site_set_p_mutable_array_of.cc
-mln_core_site_set_p_complex_piter_SOURCES = mln_core_site_set_p_complex_piter.cc
-mln_core_site_set_box_SOURCES = mln_core_site_set_box.cc
mln_core_site_set_p_edges_psite_SOURCES = mln_core_site_set_p_edges_psite.cc
-mln_core_site_set_all_SOURCES = mln_core_site_set_all.cc
+mln_core_site_set_complex_psite_SOURCES = mln_core_site_set_complex_psite.cc
+mln_core_site_set_p_run_SOURCES = mln_core_site_set_p_run.cc
+mln_core_site_set_p_n_faces_piter_SOURCES = mln_core_site_set_p_n_faces_piter.cc
+mln_core_site_set_p_centered_SOURCES = mln_core_site_set_p_centered.cc
+mln_core_site_set_p_bgraph_SOURCES = mln_core_site_set_p_bgraph.cc
mln_core_site_set_p_bgraph_piter_SOURCES = mln_core_site_set_p_bgraph_piter.cc
mln_core_site_set_p_array_SOURCES = mln_core_site_set_p_array.cc
mln_core_site_set_p_vertices_psite_SOURCES = mln_core_site_set_p_vertices_psite.cc
-mln_core_site_set_box_piter_SOURCES = mln_core_site_set_box_piter.cc
-mln_core_site_set_attic_p_faces_piter_SOURCES = mln_core_site_set_attic_p_faces_piter.cc
-mln_core_site_set_attic_p_complex_faces_piter_SOURCES = mln_core_site_set_attic_p_complex_faces_piter.cc
-mln_core_site_set_p_complex_SOURCES = mln_core_site_set_p_complex.cc
-mln_core_site_set_p_image_SOURCES = mln_core_site_set_p_image.cc
-mln_core_site_set_p_edges_SOURCES = mln_core_site_set_p_edges.cc
mln_core_site_set_p_line2d_SOURCES = mln_core_site_set_p_line2d.cc
-mln_core_site_set_p_vertices_SOURCES = mln_core_site_set_p_vertices.cc
-mln_core_site_set_p_double_SOURCES = mln_core_site_set_p_double.cc
-mln_core_site_set_p_graph_piter_SOURCES = mln_core_site_set_p_graph_piter.cc
mln_core_site_set_p_queue_fast_SOURCES = mln_core_site_set_p_queue_fast.cc
-mln_core_site_set_p_priority_SOURCES = mln_core_site_set_p_priority.cc
-mln_core_site_set_p_centered_SOURCES = mln_core_site_set_p_centered.cc
+mln_core_site_set_p_graph_piter_SOURCES = mln_core_site_set_p_graph_piter.cc
mln_core_site_set_essential_SOURCES = mln_core_site_set_essential.cc
-mln_core_site_set_p_faces_SOURCES = mln_core_site_set_p_faces.cc
-mln_core_site_set_p_bgraph_SOURCES = mln_core_site_set_p_bgraph.cc
-mln_core_site_set_p_run_piter_SOURCES = mln_core_site_set_p_run_piter.cc
-mln_core_site_set_p_run_SOURCES = mln_core_site_set_p_run.cc
-mln_core_site_set_p_n_faces_piter_SOURCES = mln_core_site_set_p_n_faces_piter.cc
-mln_core_site_set_p_if_piter_SOURCES = mln_core_site_set_p_if_piter.cc
-mln_core_site_set_+NEW_operators_SOURCES = mln_core_site_set_+NEW_operators.cc
-mln_core_site_set_p_set_SOURCES = mln_core_site_set_p_set.cc
-mln_core_site_set_p_vaccess_SOURCES = mln_core_site_set_p_vaccess.cc
-mln_core_site_set_p_queue_SOURCES = mln_core_site_set_p_queue.cc
-mln_core_site_set_p_set_of_SOURCES = mln_core_site_set_p_set_of.cc
-mln_core_site_set_operators_SOURCES = mln_core_site_set_operators.cc
-mln_core_site_set_+NEW_box_SOURCES = mln_core_site_set_+NEW_box.cc
-mln_core_site_set_p_key_SOURCES = mln_core_site_set_p_key.cc
-mln_core_box_runstart_piter_SOURCES = mln_core_box_runstart_piter.cc
-mln_core_var_SOURCES = mln_core_var.cc
-mln_core_concept_browsing_SOURCES = mln_core_concept_browsing.cc
-mln_core_concept_regular_grid_SOURCES = mln_core_concept_regular_grid.cc
-mln_core_concept_pixel_iterator_SOURCES = mln_core_concept_pixel_iterator.cc
-mln_core_concept_point_site_SOURCES = mln_core_concept_point_site.cc
-mln_core_concept_iterator_SOURCES = mln_core_concept_iterator.cc
-mln_core_concept_box_SOURCES = mln_core_concept_box.cc
-mln_core_concept_site_proxy_SOURCES = mln_core_concept_site_proxy.cc
-mln_core_concept_object_SOURCES = mln_core_concept_object.cc
-mln_core_concept_all_SOURCES = mln_core_concept_all.cc
-mln_core_concept_image_SOURCES = mln_core_concept_image.cc
-mln_core_concept_generalized_pixel_SOURCES = mln_core_concept_generalized_pixel.cc
-mln_core_concept_value_iterator_SOURCES = mln_core_concept_value_iterator.cc
-mln_core_concept_value_set_SOURCES = mln_core_concept_value_set.cc
-mln_core_concept_site_set_SOURCES = mln_core_concept_site_set.cc
-mln_core_concept_point_SOURCES = mln_core_concept_point.cc
-mln_core_concept_weighted_window_SOURCES = mln_core_concept_weighted_window.cc
-mln_core_concept_graph_SOURCES = mln_core_concept_graph.cc
-mln_core_concept_meta_fun_SOURCES = mln_core_concept_meta_fun.cc
-mln_core_concept_function_SOURCES = mln_core_concept_function.cc
-mln_core_concept_site_iterator_SOURCES = mln_core_concept_site_iterator.cc
-mln_core_concept_gpoint_SOURCES = mln_core_concept_gpoint.cc
-mln_core_concept_meta_accumulator_SOURCES = mln_core_concept_meta_accumulator.cc
-mln_core_concept_gdpoint_SOURCES = mln_core_concept_gdpoint.cc
-mln_core_concept_delta_point_site_SOURCES = mln_core_concept_delta_point_site.cc
-mln_core_concept_literal_SOURCES = mln_core_concept_literal.cc
-mln_core_concept_value_SOURCES = mln_core_concept_value.cc
-mln_core_concept_dpoint_SOURCES = mln_core_concept_dpoint.cc
-mln_core_concept_pseudo_site_SOURCES = mln_core_concept_pseudo_site.cc
-mln_core_concept_accumulator_SOURCES = mln_core_concept_accumulator.cc
-mln_core_concept_proxy_SOURCES = mln_core_concept_proxy.cc
-mln_core_concept_site_SOURCES = mln_core_concept_site.cc
-mln_core_concept_window_SOURCES = mln_core_concept_window.cc
-mln_core_concept_+NEW_box_SOURCES = mln_core_concept_+NEW_box.cc
-mln_core_concept_neighborhood_SOURCES = mln_core_concept_neighborhood.cc
-mln_core_concept_mesh_SOURCES = mln_core_concept_mesh.cc
+mln_core_dpsites_piter_SOURCES = mln_core_dpsites_piter.cc
+mln_core_w_window_SOURCES = mln_core_w_window.cc
+mln_core_grids_SOURCES = mln_core_grids.cc
mln_core_dpoints_pixter_SOURCES = mln_core_dpoints_pixter.cc
-mln_core_internal_graph_window_base_SOURCES = mln_core_internal_graph_window_base.cc
-mln_core_internal_complex_window_p_base_SOURCES = mln_core_internal_complex_window_p_base.cc
-mln_core_internal_pixel_iterator_base_SOURCES = mln_core_internal_pixel_iterator_base.cc
-mln_core_internal_weighted_window_base_SOURCES = mln_core_internal_weighted_window_base.cc
-mln_core_internal_neighborhood_base_SOURCES = mln_core_internal_neighborhood_base.cc
-mln_core_internal_complex_neighborhood_base_SOURCES = mln_core_internal_complex_neighborhood_base.cc
-mln_core_internal_data_SOURCES = mln_core_internal_data.cc
-mln_core_internal_run_image_SOURCES = mln_core_internal_run_image.cc
-mln_core_internal_window_base_SOURCES = mln_core_internal_window_base.cc
mln_core_internal_graph_psite_base_SOURCES = mln_core_internal_graph_psite_base.cc
+mln_core_internal_run_image_SOURCES = mln_core_internal_run_image.cc
+mln_core_internal_pixel_impl_SOURCES = mln_core_internal_pixel_impl.cc
+mln_core_internal_site_set_base_SOURCES = mln_core_internal_site_set_base.cc
+mln_core_internal_image_value_morpher_SOURCES = mln_core_internal_image_value_morpher.cc
+mln_core_internal_site_iterator_base_SOURCES = mln_core_internal_site_iterator_base.cc
+mln_core_internal_complex_neighborhood_base_SOURCES = mln_core_internal_complex_neighborhood_base.cc
mln_core_internal_site_relative_iterator_base_SOURCES = mln_core_internal_site_relative_iterator_base.cc
-mln_core_internal_image_base_SOURCES = mln_core_internal_image_base.cc
-mln_core_internal_set_of_SOURCES = mln_core_internal_set_of.cc
+mln_core_internal_site_set_impl_SOURCES = mln_core_internal_site_set_impl.cc
mln_core_internal_exact_SOURCES = mln_core_internal_exact.cc
mln_core_internal_p_complex_piter_base_SOURCES = mln_core_internal_p_complex_piter_base.cc
-mln_core_internal_morpher_lvalue_SOURCES = mln_core_internal_morpher_lvalue.cc
-mln_core_internal_site_iterator_base_SOURCES = mln_core_internal_site_iterator_base.cc
-mln_core_internal_pseudo_site_base_SOURCES = mln_core_internal_pseudo_site_base.cc
-mln_core_internal_pixel_impl_SOURCES = mln_core_internal_pixel_impl.cc
-mln_core_internal_force_exact_SOURCES = mln_core_internal_force_exact.cc
-mln_core_internal_site_set_iterator_base_SOURCES = mln_core_internal_site_set_iterator_base.cc
-mln_core_internal_geom_bbox_SOURCES = mln_core_internal_geom_bbox.cc
-mln_core_internal_site_set_base_SOURCES = mln_core_internal_site_set_base.cc
+mln_core_internal_neighb_niter_impl_SOURCES = mln_core_internal_neighb_niter_impl.cc
+mln_core_internal_pixel_iterator_base_SOURCES = mln_core_internal_pixel_iterator_base.cc
mln_core_internal_classical_window_base_SOURCES = mln_core_internal_classical_window_base.cc
-mln_core_internal_image_value_morpher_SOURCES = mln_core_internal_image_value_morpher.cc
-mln_core_internal_coord_impl_SOURCES = mln_core_internal_coord_impl.cc
-mln_core_internal_check_image_all_SOURCES = mln_core_internal_check_image_all.cc
+mln_core_internal_data_SOURCES = mln_core_internal_data.cc
+mln_core_internal_force_exact_SOURCES = mln_core_internal_force_exact.cc
+mln_core_internal_image_base_SOURCES = mln_core_internal_image_base.cc
mln_core_internal_check_image_fastest_SOURCES = mln_core_internal_check_image_fastest.cc
+mln_core_internal_check_image_all_SOURCES = mln_core_internal_check_image_all.cc
mln_core_internal_fixme_SOURCES = mln_core_internal_fixme.cc
-mln_core_internal_piter_adaptor_SOURCES = mln_core_internal_piter_adaptor.cc
+mln_core_internal_morpher_lvalue_SOURCES = mln_core_internal_morpher_lvalue.cc
mln_core_internal_image_domain_morpher_SOURCES = mln_core_internal_image_domain_morpher.cc
-mln_core_internal_neighb_niter_impl_SOURCES = mln_core_internal_neighb_niter_impl.cc
-mln_core_internal_image_morpher_SOURCES = mln_core_internal_image_morpher.cc
mln_core_internal_image_primary_SOURCES = mln_core_internal_image_primary.cc
+mln_core_internal_set_of_SOURCES = mln_core_internal_set_of.cc
+mln_core_internal_complex_window_p_base_SOURCES = mln_core_internal_complex_window_p_base.cc
+mln_core_internal_graph_window_base_SOURCES = mln_core_internal_graph_window_base.cc
+mln_core_internal_piter_adaptor_SOURCES = mln_core_internal_piter_adaptor.cc
+mln_core_internal_weighted_window_base_SOURCES = mln_core_internal_weighted_window_base.cc
+mln_core_internal_neighborhood_base_SOURCES = mln_core_internal_neighborhood_base.cc
+mln_core_internal_image_morpher_SOURCES = mln_core_internal_image_morpher.cc
+mln_core_internal_coord_impl_SOURCES = mln_core_internal_coord_impl.cc
+mln_core_internal_geom_bbox_SOURCES = mln_core_internal_geom_bbox.cc
mln_core_internal_image_identity_SOURCES = mln_core_internal_image_identity.cc
-mln_core_internal_site_set_impl_SOURCES = mln_core_internal_site_set_impl.cc
+mln_core_internal_pseudo_site_base_SOURCES = mln_core_internal_pseudo_site_base.cc
+mln_core_internal_window_base_SOURCES = mln_core_internal_window_base.cc
mln_core_internal_box_impl_SOURCES = mln_core_internal_box_impl.cc
-mln_core_pixter2d_SOURCES = mln_core_pixter2d.cc
+mln_core_internal_site_set_iterator_base_SOURCES = mln_core_internal_site_set_iterator_base.cc
+mln_core_contract_SOURCES = mln_core_contract.cc
+mln_core_all_SOURCES = mln_core_all.cc
mln_core_point_SOURCES = mln_core_point.cc
-mln_core_a_point_of_SOURCES = mln_core_a_point_of.cc
-mln_core_clock_neighb_SOURCES = mln_core_clock_neighb.cc
-mln_core_grids_SOURCES = mln_core_grids.cc
-mln_core_tags_SOURCES = mln_core_tags.cc
-mln_core_routine_all_SOURCES = mln_core_routine_all.cc
+mln_core_neighb_SOURCES = mln_core_neighb.cc
mln_core_routine_initialize_SOURCES = mln_core_routine_initialize.cc
-mln_core_routine_exact_SOURCES = mln_core_routine_exact.cc
-mln_core_routine_essential_SOURCES = mln_core_routine_essential.cc
-mln_core_routine_init_SOURCES = mln_core_routine_init.cc
-mln_core_routine_extend_SOURCES = mln_core_routine_extend.cc
mln_core_routine_primary_SOURCES = mln_core_routine_primary.cc
-mln_core_routine_clone_SOURCES = mln_core_routine_clone.cc
+mln_core_routine_duplicate_SOURCES = mln_core_routine_duplicate.cc
+mln_core_routine_init_SOURCES = mln_core_routine_init.cc
mln_core_routine_ops_SOURCES = mln_core_routine_ops.cc
-mln_core_contract_SOURCES = mln_core_contract.cc
-mln_core_essential_SOURCES = mln_core_essential.cc
+mln_core_routine_all_SOURCES = mln_core_routine_all.cc
+mln_core_routine_exact_SOURCES = mln_core_routine_exact.cc
+mln_core_routine_extend_SOURCES = mln_core_routine_extend.cc
+mln_core_routine_essential_SOURCES = mln_core_routine_essential.cc
+mln_core_trait_op_mult_SOURCES = mln_core_trait_op_mult.cc
+mln_core_trait_all_SOURCES = mln_core_trait_all.cc
+mln_core_trait_pixter_SOURCES = mln_core_trait_pixter.cc
+mln_core_trait_qlf_value_SOURCES = mln_core_trait_qlf_value.cc
+mln_core_trait_essential_SOURCES = mln_core_trait_essential.cc
mln_core_pixter1d_SOURCES = mln_core_pixter1d.cc
-mln_core_neighb_SOURCES = mln_core_neighb.cc
-mln_core_pixel_SOURCES = mln_core_pixel.cc
+mln_core_category_SOURCES = mln_core_category.cc
+mln_core_macros_SOURCES = mln_core_macros.cc
+mln_core_box_runstart_piter_SOURCES = mln_core_box_runstart_piter.cc
+mln_core_tags_SOURCES = mln_core_tags.cc
mln_core_dpoint_SOURCES = mln_core_dpoint.cc
-mln_core_+memo_dpoints_piter_SOURCES = mln_core_+memo_dpoints_piter.cc
+mln_core_alias_dpoint2d_h_SOURCES = mln_core_alias_dpoint2d_h.cc
+mln_core_alias_p_run2d_SOURCES = mln_core_alias_p_run2d.cc
+mln_core_alias_point3d_SOURCES = mln_core_alias_point3d.cc
+mln_core_alias_neighb3d_SOURCES = mln_core_alias_neighb3d.cc
+mln_core_alias_window3d_SOURCES = mln_core_alias_window3d.cc
+mln_core_alias_neighb2d_SOURCES = mln_core_alias_neighb2d.cc
+mln_core_alias_complex_image_SOURCES = mln_core_alias_complex_image.cc
+mln_core_alias_w_window1d_float_SOURCES = mln_core_alias_w_window1d_float.cc
+mln_core_alias_neighb1d_SOURCES = mln_core_alias_neighb1d.cc
+mln_core_alias_w_window2d_float_SOURCES = mln_core_alias_w_window2d_float.cc
+mln_core_alias_w_window2d_int_SOURCES = mln_core_alias_w_window2d_int.cc
+mln_core_alias_box1d_SOURCES = mln_core_alias_box1d.cc
+mln_core_alias_box2d_SOURCES = mln_core_alias_box2d.cc
+mln_core_alias_window1d_SOURCES = mln_core_alias_window1d.cc
+mln_core_alias_point1d_SOURCES = mln_core_alias_point1d.cc
+mln_core_alias_box3d_SOURCES = mln_core_alias_box3d.cc
+mln_core_alias_dpoint3d_SOURCES = mln_core_alias_dpoint3d.cc
+mln_core_alias_complex_geometry_SOURCES = mln_core_alias_complex_geometry.cc
+mln_core_alias_w_window3d_float_SOURCES = mln_core_alias_w_window3d_float.cc
+mln_core_alias_box2d_h_SOURCES = mln_core_alias_box2d_h.cc
+mln_core_alias_point2d_SOURCES = mln_core_alias_point2d.cc
+mln_core_alias_window2d_SOURCES = mln_core_alias_window2d.cc
+mln_core_alias_p_runs2d_SOURCES = mln_core_alias_p_runs2d.cc
+mln_core_alias_point3df_SOURCES = mln_core_alias_point3df.cc
+mln_core_alias_dpoint1d_SOURCES = mln_core_alias_dpoint1d.cc
+mln_core_alias_w_window3d_int_SOURCES = mln_core_alias_w_window3d_int.cc
+mln_core_alias_dpoint2d_SOURCES = mln_core_alias_dpoint2d.cc
+mln_core_alias_w_window1d_int_SOURCES = mln_core_alias_w_window1d_int.cc
+mln_core_alias_point2d_h_SOURCES = mln_core_alias_point2d_h.cc
+mln_core_window_SOURCES = mln_core_window.cc
+mln_core_concept_site_proxy_SOURCES = mln_core_concept_site_proxy.cc
+mln_core_concept_point_site_SOURCES = mln_core_concept_point_site.cc
+mln_core_concept_box_SOURCES = mln_core_concept_box.cc
+mln_core_concept_generalized_pixel_SOURCES = mln_core_concept_generalized_pixel.cc
+mln_core_concept_graph_SOURCES = mln_core_concept_graph.cc
+mln_core_concept_iterator_SOURCES = mln_core_concept_iterator.cc
+mln_core_concept_pseudo_site_SOURCES = mln_core_concept_pseudo_site.cc
+mln_core_concept_image_SOURCES = mln_core_concept_image.cc
+mln_core_concept_value_set_SOURCES = mln_core_concept_value_set.cc
+mln_core_concept_proxy_SOURCES = mln_core_concept_proxy.cc
+mln_core_concept_site_SOURCES = mln_core_concept_site.cc
+mln_core_concept_weighted_window_SOURCES = mln_core_concept_weighted_window.cc
+mln_core_concept_all_SOURCES = mln_core_concept_all.cc
+mln_core_concept_gpoint_SOURCES = mln_core_concept_gpoint.cc
+mln_core_concept_site_iterator_SOURCES = mln_core_concept_site_iterator.cc
+mln_core_concept_window_LOCAL_2903_SOURCES = mln_core_concept_window.cc_LOCAL_2903.cc
+mln_core_concept_point_SOURCES = mln_core_concept_point.cc
+mln_core_concept_literal_SOURCES = mln_core_concept_literal.cc
+mln_core_concept_pixel_iterator_SOURCES = mln_core_concept_pixel_iterator.cc
+mln_core_concept_value_iterator_SOURCES = mln_core_concept_value_iterator.cc
+mln_core_concept_meta_accumulator_SOURCES = mln_core_concept_meta_accumulator.cc
+mln_core_concept_window_BASE_2903_SOURCES = mln_core_concept_window.cc_BASE_2903.cc
+mln_core_concept_gdpoint_SOURCES = mln_core_concept_gdpoint.cc
+mln_core_concept_regular_grid_SOURCES = mln_core_concept_regular_grid.cc
+mln_core_concept_mesh_SOURCES = mln_core_concept_mesh.cc
+mln_core_concept_dpoint_SOURCES = mln_core_concept_dpoint.cc
+mln_core_concept_function_SOURCES = mln_core_concept_function.cc
+mln_core_concept_window_SOURCES = mln_core_concept_window.cc
+mln_core_concept_value_SOURCES = mln_core_concept_value.cc
+mln_core_concept_accumulator_SOURCES = mln_core_concept_accumulator.cc
+mln_core_concept_site_set_SOURCES = mln_core_concept_site_set.cc
+mln_core_concept_object_SOURCES = mln_core_concept_object.cc
+mln_core_concept_meta_fun_SOURCES = mln_core_concept_meta_fun.cc
+mln_core_concept_delta_point_site_SOURCES = mln_core_concept_delta_point_site.cc
+mln_core_concept_neighborhood_SOURCES = mln_core_concept_neighborhood.cc
+mln_core_concept_window_REMOTE_2903_SOURCES = mln_core_concept_window.cc_REMOTE_2903.cc
+mln_core_concept_browsing_SOURCES = mln_core_concept_browsing.cc
+mln_core_pixel_SOURCES = mln_core_pixel.cc
+mln_core_clock_neighb2d_SOURCES = mln_core_clock_neighb2d.cc
+mln_core_pixter3d_SOURCES = mln_core_pixter3d.cc
+mln_core_image_obased_rle_encode_SOURCES = mln_core_image_obased_rle_encode.cc
mln_core_image_plain_SOURCES = mln_core_image_plain.cc
-mln_core_image_image_if_SOURCES = mln_core_image_image_if.cc
-mln_core_image_t_image_SOURCES = mln_core_image_t_image.cc
-mln_core_image_complex_window_piter_SOURCES = mln_core_image_complex_window_piter.cc
-mln_core_image_interpolated_SOURCES = mln_core_image_interpolated.cc
-mln_core_image_sparse_image_SOURCES = mln_core_image_sparse_image.cc
-mln_core_image_complex_neighborhood_piter_SOURCES = mln_core_image_complex_neighborhood_piter.cc
-mln_core_image_ch_piter_SOURCES = mln_core_image_ch_piter.cc
-mln_core_image_tr_image_SOURCES = mln_core_image_tr_image.cc
-mln_core_image_extension_val_SOURCES = mln_core_image_extension_val.cc
-mln_core_image_value_enc_image_SOURCES = mln_core_image_value_enc_image.cc
-mln_core_image_all_SOURCES = mln_core_image_all.cc
-mln_core_image_extended_SOURCES = mln_core_image_extended.cc
-mln_core_image_rle_encode_SOURCES = mln_core_image_rle_encode.cc
-mln_core_image_graph_window_piter_SOURCES = mln_core_image_graph_window_piter.cc
-mln_core_image_lazy_image_SOURCES = mln_core_image_lazy_image.cc
-mln_core_image_bgraph_image_SOURCES = mln_core_image_bgraph_image.cc
-mln_core_image_image2d_h_SOURCES = mln_core_image_image2d_h.cc
-mln_core_image_bgraph_psite_SOURCES = mln_core_image_bgraph_psite.cc
-mln_core_image_hexa_piter_SOURCES = mln_core_image_hexa_piter.cc
-mln_core_image_image2d_SOURCES = mln_core_image_image2d.cc
+mln_core_image_image3d_SOURCES = mln_core_image_image3d.cc
mln_core_image_decorated_image_SOURCES = mln_core_image_decorated_image.cc
-mln_core_image_hexa_SOURCES = mln_core_image_hexa.cc
-mln_core_image_essential_SOURCES = mln_core_image_essential.cc
-mln_core_image_mono_obased_rle_encode_SOURCES = mln_core_image_mono_obased_rle_encode.cc
-mln_core_image_image1d_SOURCES = mln_core_image_image1d.cc
-mln_core_image_mono_rle_image_SOURCES = mln_core_image_mono_rle_image.cc
-mln_core_image_mono_obased_rle_image_SOURCES = mln_core_image_mono_obased_rle_image.cc
+mln_core_image_extension_ima_SOURCES = mln_core_image_extension_ima.cc
mln_core_image_flat_image_SOURCES = mln_core_image_flat_image.cc
+mln_core_image_complex_neighborhood_piter_SOURCES = mln_core_image_complex_neighborhood_piter.cc
+mln_core_image_tr_mesh_SOURCES = mln_core_image_tr_mesh.cc
mln_core_image_graph_elt_window_SOURCES = mln_core_image_graph_elt_window.cc
+mln_core_image_obased_rle_image_SOURCES = mln_core_image_obased_rle_image.cc
+mln_core_image_mono_obased_rle_image_SOURCES = mln_core_image_mono_obased_rle_image.cc
+mln_core_image_interpolated_SOURCES = mln_core_image_interpolated.cc
+mln_core_image_lazy_image_SOURCES = mln_core_image_lazy_image.cc
+mln_core_image_t_image_SOURCES = mln_core_image_t_image.cc
+mln_core_image_hexa_piter_SOURCES = mln_core_image_hexa_piter.cc
+mln_core_image_value_enc_image_SOURCES = mln_core_image_value_enc_image.cc
mln_core_image_fun_image_SOURCES = mln_core_image_fun_image.cc
+mln_core_image_sub_image_if_SOURCES = mln_core_image_sub_image_if.cc
+mln_core_image_all_SOURCES = mln_core_image_all.cc
+mln_core_image_mono_rle_image_SOURCES = mln_core_image_mono_rle_image.cc
+mln_core_image_complex_image_SOURCES = mln_core_image_complex_image.cc
mln_core_image_cast_image_SOURCES = mln_core_image_cast_image.cc
-mln_core_image_sparse_encode_SOURCES = mln_core_image_sparse_encode.cc
-mln_core_image_tr_mesh_SOURCES = mln_core_image_tr_mesh.cc
-mln_core_image_extension_fun_SOURCES = mln_core_image_extension_fun.cc
-mln_core_image_violent_cast_image_SOURCES = mln_core_image_violent_cast_image.cc
-mln_core_image_safe_SOURCES = mln_core_image_safe.cc
-mln_core_image_extension_ima_SOURCES = mln_core_image_extension_ima.cc
-mln_core_image_obased_rle_encode_SOURCES = mln_core_image_obased_rle_encode.cc
+mln_core_image_rle_encode_SOURCES = mln_core_image_rle_encode.cc
+mln_core_image_complex_window_piter_SOURCES = mln_core_image_complex_window_piter.cc
+mln_core_image_tr_image_SOURCES = mln_core_image_tr_image.cc
+mln_core_image_sub_image_SOURCES = mln_core_image_sub_image.cc
mln_core_image_rle_image_SOURCES = mln_core_image_rle_image.cc
-mln_core_image_complex_image_SOURCES = mln_core_image_complex_image.cc
mln_core_image_line_graph_elt_window_SOURCES = mln_core_image_line_graph_elt_window.cc
-mln_core_image_sub_image_if_SOURCES = mln_core_image_sub_image_if.cc
-mln_core_image_sub_image_SOURCES = mln_core_image_sub_image.cc
mln_core_image_mono_rle_encode_SOURCES = mln_core_image_mono_rle_encode.cc
-mln_core_image_obased_rle_image_SOURCES = mln_core_image_obased_rle_image.cc
-mln_core_image_value_encode_SOURCES = mln_core_image_value_encode.cc
+mln_core_image_bgraph_psite_SOURCES = mln_core_image_bgraph_psite.cc
+mln_core_image_sparse_image_SOURCES = mln_core_image_sparse_image.cc
+mln_core_image_bgraph_image_SOURCES = mln_core_image_bgraph_image.cc
mln_core_image_complex_neighborhoods_SOURCES = mln_core_image_complex_neighborhoods.cc
-mln_core_image_image3d_SOURCES = mln_core_image_image3d.cc
+mln_core_image_graph_window_piter_SOURCES = mln_core_image_graph_window_piter.cc
+mln_core_image_sparse_encode_SOURCES = mln_core_image_sparse_encode.cc
+mln_core_image_safe_SOURCES = mln_core_image_safe.cc
+mln_core_image_extension_fun_SOURCES = mln_core_image_extension_fun.cc
+mln_core_image_image1d_SOURCES = mln_core_image_image1d.cc
+mln_core_image_extension_val_SOURCES = mln_core_image_extension_val.cc
+mln_core_image_image_if_SOURCES = mln_core_image_image_if.cc
+mln_core_image_hexa_SOURCES = mln_core_image_hexa.cc
+mln_core_image_extended_SOURCES = mln_core_image_extended.cc
+mln_core_image_image2d_h_SOURCES = mln_core_image_image2d_h.cc
+mln_core_image_image2d_SOURCES = mln_core_image_image2d.cc
+mln_core_image_ch_piter_SOURCES = mln_core_image_ch_piter.cc
mln_core_image_complex_windows_SOURCES = mln_core_image_complex_windows.cc
-mln_core_dpsites_piter_SOURCES = mln_core_dpsites_piter.cc
-mln_core_window_SOURCES = mln_core_window.cc
-mln_core_def_coordf_SOURCES = mln_core_def_coordf.cc
-mln_core_def_all_SOURCES = mln_core_def_all.cc
-mln_core_def_low_quant_nbits_SOURCES = mln_core_def_low_quant_nbits.cc
-mln_core_def_essential_SOURCES = mln_core_def_essential.cc
-mln_core_def_coord_SOURCES = mln_core_def_coord.cc
-mln_core_pixter3d_SOURCES = mln_core_pixter3d.cc
-mln_all_SOURCES = mln_all.cc
-mln_estim_all_SOURCES = mln_estim_all.cc
-mln_estim_sum_SOURCES = mln_estim_sum.cc
-mln_estim_min_max_SOURCES = mln_estim_min_max.cc
-mln_estim_essential_SOURCES = mln_estim_essential.cc
-mln_estim_mean_SOURCES = mln_estim_mean.cc
-mln_math_sqrt_SOURCES = mln_math_sqrt.cc
-mln_math_round_sat_SOURCES = mln_math_round_sat.cc
-mln_math_sqr_SOURCES = mln_math_sqr.cc
-mln_math_all_SOURCES = mln_math_all.cc
-mln_math_acos_SOURCES = mln_math_acos.cc
-mln_math_round_SOURCES = mln_math_round.cc
-mln_math_min_SOURCES = mln_math_min.cc
-mln_math_diff_abs_SOURCES = mln_math_diff_abs.cc
-mln_math_essential_SOURCES = mln_math_essential.cc
-mln_math_abs_SOURCES = mln_math_abs.cc
-mln_math_jacobi_SOURCES = mln_math_jacobi.cc
-mln_math_cos_SOURCES = mln_math_cos.cc
-mln_math_max_SOURCES = mln_math_max.cc
-mln_math_sign_SOURCES = mln_math_sign.cc
-mln_morpho_closing_SOURCES = mln_morpho_closing.cc
-mln_morpho_opening_volume_SOURCES = mln_morpho_opening_volume.cc
-mln_morpho_closing_attribute_SOURCES = mln_morpho_closing_attribute.cc
-mln_morpho_minus_SOURCES = mln_morpho_minus.cc
-mln_morpho_complementation_SOURCES = mln_morpho_complementation.cc
-mln_morpho_top_hat_SOURCES = mln_morpho_top_hat.cc
-mln_morpho_skeleton_constrained_SOURCES = mln_morpho_skeleton_constrained.cc
-mln_morpho_laplacian_SOURCES = mln_morpho_laplacian.cc
-mln_morpho_opening_area_on_vertices_SOURCES = mln_morpho_opening_area_on_vertices.cc
-mln_morpho_thinning_SOURCES = mln_morpho_thinning.cc
-mln_morpho_dilation_SOURCES = mln_morpho_dilation.cc
-mln_morpho_all_SOURCES = mln_morpho_all.cc
-mln_morpho_general_SOURCES = mln_morpho_general.cc
-mln_morpho_includes_SOURCES = mln_morpho_includes.cc
-mln_morpho_thick_miss_SOURCES = mln_morpho_thick_miss.cc
-mln_morpho_tree_compute_parent_SOURCES = mln_morpho_tree_compute_parent.cc
-mln_morpho_tree_all_SOURCES = mln_morpho_tree_all.cc
-mln_morpho_tree_data_SOURCES = mln_morpho_tree_data.cc
-mln_morpho_tree_utils_SOURCES = mln_morpho_tree_utils.cc
-mln_morpho_tree_compute_attribute_image_SOURCES = mln_morpho_tree_compute_attribute_image.cc
-mln_morpho_tree_max_SOURCES = mln_morpho_tree_max.cc
-mln_morpho_internal_elementary_SOURCES = mln_morpho_internal_elementary.cc
-mln_morpho_meyer_wst_SOURCES = mln_morpho_meyer_wst.cc
-mln_morpho_elementary_closing_SOURCES = mln_morpho_elementary_closing.cc
-mln_morpho_elementary_top_hat_SOURCES = mln_morpho_elementary_top_hat.cc
-mln_morpho_elementary_laplacian_SOURCES = mln_morpho_elementary_laplacian.cc
-mln_morpho_elementary_dilation_SOURCES = mln_morpho_elementary_dilation.cc
-mln_morpho_elementary_all_SOURCES = mln_morpho_elementary_all.cc
-mln_morpho_elementary_like_ero_set_SOURCES = mln_morpho_elementary_like_ero_set.cc
-mln_morpho_elementary_gradient_internal_SOURCES = mln_morpho_elementary_gradient_internal.cc
-mln_morpho_elementary_gradient_SOURCES = mln_morpho_elementary_gradient.cc
-mln_morpho_elementary_essential_SOURCES = mln_morpho_elementary_essential.cc
-mln_morpho_elementary_opening_SOURCES = mln_morpho_elementary_opening.cc
-mln_morpho_elementary_erosion_SOURCES = mln_morpho_elementary_erosion.cc
-mln_morpho_elementary_gradient_external_SOURCES = mln_morpho_elementary_gradient_external.cc
-mln_morpho_elementary_like_ero_fun_SOURCES = mln_morpho_elementary_like_ero_fun.cc
-mln_morpho_opening_height_SOURCES = mln_morpho_opening_height.cc
-mln_morpho_gradient_SOURCES = mln_morpho_gradient.cc
-mln_morpho_min_SOURCES = mln_morpho_min.cc
-mln_morpho_closing_area_SOURCES = mln_morpho_closing_area.cc
-mln_morpho_essential_SOURCES = mln_morpho_essential.cc
-mln_morpho_line_gradient_SOURCES = mln_morpho_line_gradient.cc
-mln_morpho_opening_SOURCES = mln_morpho_opening.cc
-mln_morpho_erosion_SOURCES = mln_morpho_erosion.cc
-mln_morpho_thin_fit_SOURCES = mln_morpho_thin_fit.cc
-mln_morpho_Rd_SOURCES = mln_morpho_Rd.cc
-mln_morpho_hit_or_miss_SOURCES = mln_morpho_hit_or_miss.cc
-mln_morpho_closing_area_on_vertices_SOURCES = mln_morpho_closing_area_on_vertices.cc
-mln_morpho_closing_height_SOURCES = mln_morpho_closing_height.cc
-mln_morpho_plus_SOURCES = mln_morpho_plus.cc
-mln_morpho_opening_area_SOURCES = mln_morpho_opening_area.cc
-mln_morpho_rank_filter_SOURCES = mln_morpho_rank_filter.cc
-mln_morpho_contrast_SOURCES = mln_morpho_contrast.cc
-mln_morpho_thickening_SOURCES = mln_morpho_thickening.cc
-mln_morpho_opening_attribute_SOURCES = mln_morpho_opening_attribute.cc
-mln_morpho_closing_volume_SOURCES = mln_morpho_closing_volume.cc
-mln_trait_concrete_SOURCES = mln_trait_concrete.cc
-mln_trait_promote_SOURCES = mln_trait_promote.cc
-mln_trait_all_SOURCES = mln_trait_all.cc
-mln_trait_site_set_props_SOURCES = mln_trait_site_set_props.cc
-mln_trait_site_set_print_SOURCES = mln_trait_site_set_print.cc
-mln_trait_value__SOURCES = mln_trait_value_.cc
-mln_trait_image_from_grid_SOURCES = mln_trait_image_from_grid.cc
-mln_trait_ch_value_SOURCES = mln_trait_ch_value.cc
-mln_trait_solve_unary_SOURCES = mln_trait_solve_unary.cc
-mln_trait_site_sets_SOURCES = mln_trait_site_sets.cc
-mln_trait_essential_SOURCES = mln_trait_essential.cc
-mln_trait_value_all_SOURCES = mln_trait_value_all.cc
-mln_trait_value_print_SOURCES = mln_trait_value_print.cc
-mln_trait_value_kind_SOURCES = mln_trait_value_kind.cc
-mln_trait_value_nature_SOURCES = mln_trait_value_nature.cc
-mln_trait_value_essential_SOURCES = mln_trait_value_essential.cc
-mln_trait_value_quant_SOURCES = mln_trait_value_quant.cc
-mln_trait_windows_SOURCES = mln_trait_windows.cc
-mln_trait_window_props_SOURCES = mln_trait_window_props.cc
-mln_trait_window_print_SOURCES = mln_trait_window_print.cc
-mln_trait_image_props_SOURCES = mln_trait_image_props.cc
-mln_trait_image_print_SOURCES = mln_trait_image_print.cc
-mln_trait_images_SOURCES = mln_trait_images.cc
-mln_trait_undef_SOURCES = mln_trait_undef.cc
-mln_trait_op_postdec_SOURCES = mln_trait_op_postdec.cc
-mln_trait_op_div_SOURCES = mln_trait_op_div.cc
-mln_trait_op_uplus_SOURCES = mln_trait_op_uplus.cc
-mln_trait_op_minus_SOURCES = mln_trait_op_minus.cc
-mln_trait_op_less_SOURCES = mln_trait_op_less.cc
-mln_trait_op_predec_SOURCES = mln_trait_op_predec.cc
-mln_trait_op_eq_SOURCES = mln_trait_op_eq.cc
-mln_trait_op_all_SOURCES = mln_trait_op_all.cc
-mln_trait_op_leq_SOURCES = mln_trait_op_leq.cc
-mln_trait_op_preinc_SOURCES = mln_trait_op_preinc.cc
-mln_trait_op_and_SOURCES = mln_trait_op_and.cc
-mln_trait_op_greater_SOURCES = mln_trait_op_greater.cc
-mln_trait_op_lor_SOURCES = mln_trait_op_lor.cc
-mln_trait_op_or_SOURCES = mln_trait_op_or.cc
-mln_trait_op_not_SOURCES = mln_trait_op_not.cc
-mln_trait_op_uminus_SOURCES = mln_trait_op_uminus.cc
-mln_trait_op_essential_SOURCES = mln_trait_op_essential.cc
-mln_trait_op_times_SOURCES = mln_trait_op_times.cc
-mln_trait_op_neq_SOURCES = mln_trait_op_neq.cc
-mln_trait_op_ord_SOURCES = mln_trait_op_ord.cc
-mln_trait_op_postinc_SOURCES = mln_trait_op_postinc.cc
-mln_trait_op_xor_SOURCES = mln_trait_op_xor.cc
-mln_trait_op_mod_SOURCES = mln_trait_op_mod.cc
-mln_trait_op_plus_SOURCES = mln_trait_op_plus.cc
-mln_trait_op_decl_SOURCES = mln_trait_op_decl.cc
-mln_trait_op_geq_SOURCES = mln_trait_op_geq.cc
-mln_trait_solve_binary_SOURCES = mln_trait_solve_binary.cc
-mln_trait_neighborhood_SOURCES = mln_trait_neighborhood.cc
-mln_trait_solve_SOURCES = mln_trait_solve.cc
-mln_draw_box_SOURCES = mln_draw_box.cc
-mln_draw_line_SOURCES = mln_draw_line.cc
-mln_draw_all_SOURCES = mln_draw_all.cc
-mln_draw_essential_SOURCES = mln_draw_essential.cc
-mln_draw_plot_SOURCES = mln_draw_plot.cc
-mln_labeling_foreground_SOURCES = mln_labeling_foreground.cc
-mln_labeling_all_SOURCES = mln_labeling_all.cc
-mln_labeling_+old_level_SOURCES = mln_labeling_+old_level.cc
-mln_labeling_regional_maxima_SOURCES = mln_labeling_regional_maxima.cc
-mln_labeling_flat_zones_SOURCES = mln_labeling_flat_zones.cc
+mln_core_image_violent_cast_image_SOURCES = mln_core_image_violent_cast_image.cc
+mln_core_image_mono_obased_rle_encode_SOURCES = mln_core_image_mono_obased_rle_encode.cc
+mln_core_image_value_encode_SOURCES = mln_core_image_value_encode.cc
+mln_core_image_essential_SOURCES = mln_core_image_essential.cc
+mln_core_a_point_of_SOURCES = mln_core_a_point_of.cc
+mln_core_var_SOURCES = mln_core_var.cc
+mln_core_essential_SOURCES = mln_core_essential.cc
+mln_core_faces_psite_SOURCES = mln_core_faces_psite.cc
mln_labeling_blobs_SOURCES = mln_labeling_blobs.cc
-mln_labeling_essential_SOURCES = mln_labeling_essential.cc
-mln_labeling_relabel_SOURCES = mln_labeling_relabel.cc
-mln_labeling_regional_minima_SOURCES = mln_labeling_regional_minima.cc
mln_labeling_background_SOURCES = mln_labeling_background.cc
-mln_labeling_compute_SOURCES = mln_labeling_compute.cc
+mln_labeling_relabel_SOURCES = mln_labeling_relabel.cc
+mln_labeling_all_SOURCES = mln_labeling_all.cc
mln_labeling_level_SOURCES = mln_labeling_level.cc
-mln_binarization_all_SOURCES = mln_binarization_all.cc
-mln_binarization_includes_SOURCES = mln_binarization_includes.cc
-mln_binarization_essential_SOURCES = mln_binarization_essential.cc
-mln_binarization_binarization_SOURCES = mln_binarization_binarization.cc
-mln_binarization_threshold_SOURCES = mln_binarization_threshold.cc
-mln_topo_adj_lower_dim_connected_n_face_iter_SOURCES = mln_topo_adj_lower_dim_connected_n_face_iter.cc
-mln_topo_face_iter_SOURCES = mln_topo_face_iter.cc
-mln_topo_adj_lower_face_iter_SOURCES = mln_topo_adj_lower_face_iter.cc
-mln_topo_complex_SOURCES = mln_topo_complex.cc
-mln_topo_n_face_iter_SOURCES = mln_topo_n_face_iter.cc
-mln_topo_adj_lower_higher_face_iter_SOURCES = mln_topo_adj_lower_higher_face_iter.cc
-mln_topo_centered_iter_adapter_SOURCES = mln_topo_centered_iter_adapter.cc
-mln_topo_all_SOURCES = mln_topo_all.cc
-mln_topo_complex_iterators_SOURCES = mln_topo_complex_iterators.cc
-mln_topo_attic_faces_iter_SOURCES = mln_topo_attic_faces_iter.cc
-mln_topo_internal_complex_set_iterator_base_SOURCES = mln_topo_internal_complex_set_iterator_base.cc
-mln_topo_internal_complex_iterator_base_SOURCES = mln_topo_internal_complex_iterator_base.cc
-mln_topo_internal_complex_relative_iterator_base_SOURCES = mln_topo_internal_complex_relative_iterator_base.cc
-mln_topo_internal_complex_relative_iterator_sequence_SOURCES = mln_topo_internal_complex_relative_iterator_sequence.cc
-mln_topo_face_data_SOURCES = mln_topo_face_data.cc
-mln_topo_adj_m_face_iter_SOURCES = mln_topo_adj_m_face_iter.cc
-mln_topo_algebraic_face_SOURCES = mln_topo_algebraic_face.cc
-mln_topo_algebraic_n_face_SOURCES = mln_topo_algebraic_n_face.cc
-mln_topo_is_simple_2d_SOURCES = mln_topo_is_simple_2d.cc
-mln_topo_n_faces_set_SOURCES = mln_topo_n_faces_set.cc
-mln_topo_essential_SOURCES = mln_topo_essential.cc
-mln_topo_face_SOURCES = mln_topo_face.cc
-mln_topo_static_n_face_iter_SOURCES = mln_topo_static_n_face_iter.cc
-mln_topo_center_only_iter_SOURCES = mln_topo_center_only_iter.cc
-mln_topo_adj_higher_dim_connected_n_face_iter_SOURCES = mln_topo_adj_higher_dim_connected_n_face_iter.cc
-mln_topo_n_face_SOURCES = mln_topo_n_face.cc
-mln_topo_adj_higher_face_iter_SOURCES = mln_topo_adj_higher_face_iter.cc
-mln_canvas_all_SOURCES = mln_canvas_all.cc
-mln_canvas_morpho_all_SOURCES = mln_canvas_morpho_all.cc
-mln_canvas_morpho_algebraic_union_find_SOURCES = mln_canvas_morpho_algebraic_union_find.cc
-mln_canvas_morpho_essential_SOURCES = mln_canvas_morpho_essential.cc
-mln_canvas_distance_geodesic_SOURCES = mln_canvas_distance_geodesic.cc
-mln_canvas_essential_SOURCES = mln_canvas_essential.cc
-mln_canvas_labeling_SOURCES = mln_canvas_labeling.cc
-mln_canvas_+old_labeling_SOURCES = mln_canvas_+old_labeling.cc
-mln_canvas_chamfer_SOURCES = mln_canvas_chamfer.cc
-mln_canvas_browsing_directional_SOURCES = mln_canvas_browsing_directional.cc
-mln_canvas_browsing_snake_fwd_SOURCES = mln_canvas_browsing_snake_fwd.cc
-mln_canvas_browsing_snake_generic_SOURCES = mln_canvas_browsing_snake_generic.cc
-mln_canvas_browsing_all_SOURCES = mln_canvas_browsing_all.cc
-mln_canvas_browsing_fwd_SOURCES = mln_canvas_browsing_fwd.cc
-mln_canvas_browsing_depth_first_search_SOURCES = mln_canvas_browsing_depth_first_search.cc
-mln_canvas_browsing_backdiagonal2d_SOURCES = mln_canvas_browsing_backdiagonal2d.cc
-mln_canvas_browsing_snake_vert_SOURCES = mln_canvas_browsing_snake_vert.cc
-mln_canvas_browsing_dir_struct_elt_incr_update_SOURCES = mln_canvas_browsing_dir_struct_elt_incr_update.cc
-mln_canvas_browsing_essential_SOURCES = mln_canvas_browsing_essential.cc
-mln_canvas_browsing_diagonal2d_SOURCES = mln_canvas_browsing_diagonal2d.cc
-mln_canvas_browsing_hyper_directional_SOURCES = mln_canvas_browsing_hyper_directional.cc
-mln_canvas_distance_front_SOURCES = mln_canvas_distance_front.cc
-mln_opt_at_SOURCES = mln_opt_at.cc
-mln_util_line_graph_SOURCES = mln_util_line_graph.cc
-mln_util_lazy_set_SOURCES = mln_util_lazy_set.cc
-mln_util_eat_SOURCES = mln_util_eat.cc
-mln_util_ignore_SOURCES = mln_util_ignore.cc
-mln_util_timer_SOURCES = mln_util_timer.cc
-mln_util_all_SOURCES = mln_util_all.cc
-mln_util_tracked_ptr_SOURCES = mln_util_tracked_ptr.cc
-mln_util_internal_graph_nbh_iter_SOURCES = mln_util_internal_graph_nbh_iter.cc
-mln_util_internal_boost_graph_structure_SOURCES = mln_util_internal_boost_graph_structure.cc
-mln_util_internal_edge_impl_SOURCES = mln_util_internal_edge_impl.cc
-mln_util_internal_graph_base_SOURCES = mln_util_internal_graph_base.cc
-mln_util_internal_vertex_impl_SOURCES = mln_util_internal_vertex_impl.cc
-mln_util_internal_graph_iter_SOURCES = mln_util_internal_graph_iter.cc
-mln_util_internal_graph_nbh_iter_base_SOURCES = mln_util_internal_graph_nbh_iter_base.cc
-mln_util_internal_boost_graph_access_SOURCES = mln_util_internal_boost_graph_access.cc
-mln_util_internal_graph_iter_base_SOURCES = mln_util_internal_graph_iter_base.cc
-mln_util_internal_boost_graph_property_SOURCES = mln_util_internal_boost_graph_property.cc
-mln_util_internal_boost_graph_SOURCES = mln_util_internal_boost_graph.cc
-mln_util_pix_SOURCES = mln_util_pix.cc
-mln_util_greater_point_SOURCES = mln_util_greater_point.cc
-mln_util_edge_SOURCES = mln_util_edge.cc
-mln_util_multi_site_SOURCES = mln_util_multi_site.cc
-mln_util_tree_fast_to_image_SOURCES = mln_util_tree_fast_to_image.cc
-mln_util_graph_SOURCES = mln_util_graph.cc
-mln_util_site_pair_SOURCES = mln_util_site_pair.cc
-mln_util_yes_SOURCES = mln_util_yes.cc
-mln_util_essential_SOURCES = mln_util_essential.cc
-mln_util_tree_to_fast_SOURCES = mln_util_tree_to_fast.cc
-mln_util_ord_SOURCES = mln_util_ord.cc
-mln_util_greater_psite_SOURCES = mln_util_greater_psite.cc
-mln_util_vertex_SOURCES = mln_util_vertex.cc
-mln_util_branch_iter_SOURCES = mln_util_branch_iter.cc
-mln_util_tree_fast_SOURCES = mln_util_tree_fast.cc
-mln_util_dindex_SOURCES = mln_util_dindex.cc
-mln_util_branch_iter_ind_SOURCES = mln_util_branch_iter_ind.cc
-mln_util_tree_SOURCES = mln_util_tree.cc
-mln_util_set_SOURCES = mln_util_set.cc
-mln_util_index_SOURCES = mln_util_index.cc
-mln_util_tree_to_image_SOURCES = mln_util_tree_to_image.cc
-mln_util_max_SOURCES = mln_util_max.cc
-mln_util_ord_pair_SOURCES = mln_util_ord_pair.cc
-mln_util_array_SOURCES = mln_util_array.cc
-mln_util_lemmings_SOURCES = mln_util_lemmings.cc
-mln_util_nil_SOURCES = mln_util_nil.cc
-mln_test_all_SOURCES = mln_test_all.cc
+mln_labeling_flat_zones_SOURCES = mln_labeling_flat_zones.cc
+mln_labeling_foreground_SOURCES = mln_labeling_foreground.cc
+mln_labeling_regional_maxima_SOURCES = mln_labeling_regional_maxima.cc
+mln_labeling_compute_SOURCES = mln_labeling_compute.cc
+mln_labeling_regional_minima_SOURCES = mln_labeling_regional_minima.cc
+mln_labeling_essential_SOURCES = mln_labeling_essential.cc
mln_test_predicate_SOURCES = mln_test_predicate.cc
-mln_test_essential_SOURCES = mln_test_essential.cc
+mln_test_all_SOURCES = mln_test_all.cc
mln_test_positive_SOURCES = mln_test_positive.cc
-mln_border_get_SOURCES = mln_border_get.cc
-mln_border_equalize_SOURCES = mln_border_equalize.cc
-mln_border_all_SOURCES = mln_border_all.cc
-mln_border_duplicate_SOURCES = mln_border_duplicate.cc
-mln_border_essential_SOURCES = mln_border_essential.cc
-mln_border_find_SOURCES = mln_border_find.cc
-mln_border_adjust_SOURCES = mln_border_adjust.cc
-mln_border_resize_SOURCES = mln_border_resize.cc
-mln_border_fill_SOURCES = mln_border_fill.cc
-mln_border_thickness_SOURCES = mln_border_thickness.cc
-mln_border_mirror_SOURCES = mln_border_mirror.cc
-mln_accu_histo_SOURCES = mln_accu_histo.cc
-mln_accu_max_h_SOURCES = mln_accu_max_h.cc
-mln_accu_take_SOURCES = mln_accu_take.cc
-mln_accu_center_SOURCES = mln_accu_center.cc
-mln_accu_bbox_SOURCES = mln_accu_bbox.cc
-mln_accu_median_alt_SOURCES = mln_accu_median_alt.cc
-mln_accu_line_SOURCES = mln_accu_line.cc
-mln_accu_all_SOURCES = mln_accu_all.cc
-mln_accu_volume_SOURCES = mln_accu_volume.cc
-mln_accu_min_h_SOURCES = mln_accu_min_h.cc
-mln_accu_land_basic_SOURCES = mln_accu_land_basic.cc
-mln_accu_convolve_SOURCES = mln_accu_convolve.cc
-mln_accu_lor_basic_SOURCES = mln_accu_lor_basic.cc
-mln_accu_sum_SOURCES = mln_accu_sum.cc
-mln_accu_internal_base_SOURCES = mln_accu_internal_base.cc
-mln_accu_min_max_SOURCES = mln_accu_min_max.cc
-mln_accu_rank_SOURCES = mln_accu_rank.cc
-mln_accu_lor_SOURCES = mln_accu_lor.cc
-mln_accu_min_SOURCES = mln_accu_min.cc
-mln_accu_rank_high_quant_SOURCES = mln_accu_rank_high_quant.cc
-mln_accu_transform_directional_SOURCES = mln_accu_transform_directional.cc
-mln_accu_pair_SOURCES = mln_accu_pair.cc
-mln_accu_essential_SOURCES = mln_accu_essential.cc
-mln_accu_median_h_SOURCES = mln_accu_median_h.cc
-mln_accu_transform_SOURCES = mln_accu_transform.cc
-mln_accu_maj_h_SOURCES = mln_accu_maj_h.cc
-mln_accu_p_SOURCES = mln_accu_p.cc
-mln_accu_v_SOURCES = mln_accu_v.cc
-mln_accu_tuple_SOURCES = mln_accu_tuple.cc
-mln_accu_mean_SOURCES = mln_accu_mean.cc
-mln_accu_rank_bool_SOURCES = mln_accu_rank_bool.cc
-mln_accu_compute_SOURCES = mln_accu_compute.cc
-mln_accu_max_SOURCES = mln_accu_max.cc
-mln_accu_land_SOURCES = mln_accu_land.cc
-mln_accu_transform_stop_SOURCES = mln_accu_transform_stop.cc
-mln_accu_count_adjacent_vertices_SOURCES = mln_accu_count_adjacent_vertices.cc
-mln_accu_count_SOURCES = mln_accu_count.cc
-mln_accu_transform_diagonal_SOURCES = mln_accu_transform_diagonal.cc
-mln_accu_transform_snake_SOURCES = mln_accu_transform_snake.cc
-mln_accu_height_SOURCES = mln_accu_height.cc
-mln_accu_nil_SOURCES = mln_accu_nil.cc
-mln_extension_adjust_duplicate_SOURCES = mln_extension_adjust_duplicate.cc
-mln_extension_all_SOURCES = mln_extension_all.cc
-mln_extension_duplicate_SOURCES = mln_extension_duplicate.cc
-mln_extension_essential_SOURCES = mln_extension_essential.cc
-mln_extension_adjust_SOURCES = mln_extension_adjust.cc
-mln_extension_fill_SOURCES = mln_extension_fill.cc
-mln_extension_adjust_fill_SOURCES = mln_extension_adjust_fill.cc
-mln_io_pnm_load_SOURCES = mln_io_pnm_load.cc
-mln_io_pnm_macros_SOURCES = mln_io_pnm_macros.cc
-mln_io_pnm_max_component_SOURCES = mln_io_pnm_max_component.cc
-mln_io_pnm_all_SOURCES = mln_io_pnm_all.cc
-mln_io_pnm_load_header_SOURCES = mln_io_pnm_load_header.cc
-mln_io_pnm_save_SOURCES = mln_io_pnm_save.cc
-mln_io_pnm_save_header_SOURCES = mln_io_pnm_save_header.cc
-mln_io_off_load_SOURCES = mln_io_off_load.cc
-mln_io_off_all_SOURCES = mln_io_off_all.cc
-mln_io_off_save_SOURCES = mln_io_off_save.cc
+mln_test_essential_SOURCES = mln_test_essential.cc
+mln_transform_distance_geodesic_SOURCES = mln_transform_distance_geodesic.cc
+mln_transform_internal_all_SOURCES = mln_transform_internal_all.cc
+mln_transform_internal_distance_functor_SOURCES = mln_transform_internal_distance_functor.cc
+mln_transform_internal_influence_zone_functor_SOURCES = mln_transform_internal_influence_zone_functor.cc
+mln_transform_all_SOURCES = mln_transform_all.cc
+mln_transform_influence_zone_front_SOURCES = mln_transform_influence_zone_front.cc
+mln_transform_distance_front_SOURCES = mln_transform_distance_front.cc
+mln_transform_influence_zone_geodesic_SOURCES = mln_transform_influence_zone_geodesic.cc
+mln_transform_essential_SOURCES = mln_transform_essential.cc
+mln_arith_includes_SOURCES = mln_arith_includes.cc
+mln_arith_plus_SOURCES = mln_arith_plus.cc
+mln_arith_all_SOURCES = mln_arith_all.cc
+mln_arith_times_SOURCES = mln_arith_times.cc
+mln_arith_diff_abs_SOURCES = mln_arith_diff_abs.cc
+mln_arith_minus_SOURCES = mln_arith_minus.cc
+mln_arith_min_SOURCES = mln_arith_min.cc
+mln_arith_revert_SOURCES = mln_arith_revert.cc
+mln_arith_essential_SOURCES = mln_arith_essential.cc
+mln_io_pgm_load_SOURCES = mln_io_pgm_load.cc
+mln_io_pgm_all_SOURCES = mln_io_pgm_all.cc
+mln_io_pgm_save_SOURCES = mln_io_pgm_save.cc
+mln_io_ppm_load_SOURCES = mln_io_ppm_load.cc
+mln_io_ppm_all_SOURCES = mln_io_ppm_all.cc
+mln_io_ppm_save_SOURCES = mln_io_ppm_save.cc
+mln_io_pfm_load_SOURCES = mln_io_pfm_load.cc
+mln_io_pfm_all_SOURCES = mln_io_pfm_all.cc
+mln_io_pfm_save_SOURCES = mln_io_pfm_save.cc
mln_io_all_SOURCES = mln_io_all.cc
mln_io_pbm_load_SOURCES = mln_io_pbm_load.cc
mln_io_pbm_all_SOURCES = mln_io_pbm_all.cc
mln_io_pbm_save_SOURCES = mln_io_pbm_save.cc
-mln_io_pfm_load_SOURCES = mln_io_pfm_load.cc
-mln_io_pfm_all_SOURCES = mln_io_pfm_all.cc
-mln_io_pfm_save_SOURCES = mln_io_pfm_save.cc
-mln_io_fits_load_SOURCES = mln_io_fits_load.cc
-mln_io_fits_all_SOURCES = mln_io_fits_all.cc
+mln_io_pnm_max_component_SOURCES = mln_io_pnm_max_component.cc
+mln_io_pnm_load_SOURCES = mln_io_pnm_load.cc
+mln_io_pnm_load_header_SOURCES = mln_io_pnm_load_header.cc
+mln_io_pnm_all_SOURCES = mln_io_pnm_all.cc
+mln_io_pnm_macros_SOURCES = mln_io_pnm_macros.cc
+mln_io_pnm_save_SOURCES = mln_io_pnm_save.cc
+mln_io_pnm_save_header_SOURCES = mln_io_pnm_save_header.cc
mln_io_txt_all_SOURCES = mln_io_txt_all.cc
mln_io_txt_save_SOURCES = mln_io_txt_save.cc
mln_io_abort_SOURCES = mln_io_abort.cc
+mln_io_fits_load_SOURCES = mln_io_fits_load.cc
+mln_io_fits_all_SOURCES = mln_io_fits_all.cc
+mln_io_off_load_SOURCES = mln_io_off_load.cc
+mln_io_off_all_SOURCES = mln_io_off_all.cc
+mln_io_off_save_SOURCES = mln_io_off_save.cc
mln_io_essential_SOURCES = mln_io_essential.cc
-mln_io_ppm_load_SOURCES = mln_io_ppm_load.cc
-mln_io_ppm_all_SOURCES = mln_io_ppm_all.cc
-mln_io_ppm_save_SOURCES = mln_io_ppm_save.cc
-mln_io_pgm_load_SOURCES = mln_io_pgm_load.cc
-mln_io_pgm_all_SOURCES = mln_io_pgm_all.cc
-mln_io_pgm_save_SOURCES = mln_io_pgm_save.cc
-mln_arith_minus_SOURCES = mln_arith_minus.cc
-mln_arith_all_SOURCES = mln_arith_all.cc
-mln_arith_includes_SOURCES = mln_arith_includes.cc
-mln_arith_min_SOURCES = mln_arith_min.cc
-mln_arith_diff_abs_SOURCES = mln_arith_diff_abs.cc
-mln_arith_essential_SOURCES = mln_arith_essential.cc
-mln_arith_times_SOURCES = mln_arith_times.cc
-mln_arith_revert_SOURCES = mln_arith_revert.cc
-mln_arith_plus_SOURCES = mln_arith_plus.cc
-mln_convert_to_p_array_SOURCES = mln_convert_to_p_array.cc
-mln_convert_to_SOURCES = mln_convert_to.cc
-mln_convert_to_dpoint_SOURCES = mln_convert_to_dpoint.cc
-mln_convert_all_SOURCES = mln_convert_all.cc
-mln_convert_to_upper_window_SOURCES = mln_convert_to_upper_window.cc
-mln_convert_impl_+NEW_from_image_to_site_set_SOURCES = mln_convert_impl_+NEW_from_image_to_site_set.cc
-mln_convert_impl_all_SOURCES = mln_convert_impl_all.cc
-mln_convert_impl_+NEW_from_value_to_value_SOURCES = mln_convert_impl_+NEW_from_value_to_value.cc
-mln_convert_impl_from_value_to_value_SOURCES = mln_convert_impl_from_value_to_value.cc
-mln_convert_impl_from_image_to_site_set_SOURCES = mln_convert_impl_from_image_to_site_set.cc
-mln_convert_essential_SOURCES = mln_convert_essential.cc
-mln_convert_from_to_SOURCES = mln_convert_from_to.cc
-mln_convert_to_fun_SOURCES = mln_convert_to_fun.cc
-mln_convert_to_image_SOURCES = mln_convert_to_image.cc
-mln_convert_to_window_SOURCES = mln_convert_to_window.cc
-mln_convert_to_rgb_SOURCES = mln_convert_to_rgb.cc
-mln_convert_to_p_set_SOURCES = mln_convert_to_p_set.cc
-mln_win_backdiag2d_SOURCES = mln_win_backdiag2d.cc
-mln_win_cube3d_SOURCES = mln_win_cube3d.cc
-mln_win_line_SOURCES = mln_win_line.cc
-mln_win_all_SOURCES = mln_win_all.cc
-mln_win_rectangle2d_SOURCES = mln_win_rectangle2d.cc
-mln_win_disk2d_SOURCES = mln_win_disk2d.cc
-mln_win_cuboid3d_SOURCES = mln_win_cuboid3d.cc
-mln_win_diag2d_SOURCES = mln_win_diag2d.cc
-mln_win_shift_SOURCES = mln_win_shift.cc
-mln_win_essential_SOURCES = mln_win_essential.cc
-mln_win_octagon2d_SOURCES = mln_win_octagon2d.cc
-mln_win_sym_SOURCES = mln_win_sym.cc
-mln_win_hline2d_SOURCES = mln_win_hline2d.cc
-mln_win_segment1d_SOURCES = mln_win_segment1d.cc
-mln_win_diff_SOURCES = mln_win_diff.cc
-mln_win_vline2d_SOURCES = mln_win_vline2d.cc
-mln_win_inter_SOURCES = mln_win_inter.cc
-mln_win_multiple_size_SOURCES = mln_win_multiple_size.cc
-mln_win_multiple_SOURCES = mln_win_multiple.cc
-mln_algebra_all_SOURCES = mln_algebra_all.cc
-mln_algebra_h_mat_SOURCES = mln_algebra_h_mat.cc
-mln_algebra_essential_SOURCES = mln_algebra_essential.cc
-mln_algebra_h_vec_SOURCES = mln_algebra_h_vec.cc
-mln_algebra_vec_SOURCES = mln_algebra_vec.cc
-mln_algebra_quat_SOURCES = mln_algebra_quat.cc
-mln_algebra_mat_SOURCES = mln_algebra_mat.cc
-mln_debug_colorize_SOURCES = mln_debug_colorize.cc
+mln_logical_includes_SOURCES = mln_logical_includes.cc
+mln_logical_and_not_SOURCES = mln_logical_and_not.cc
+mln_logical_xor_SOURCES = mln_logical_xor.cc
+mln_logical_all_SOURCES = mln_logical_all.cc
+mln_logical_not_SOURCES = mln_logical_not.cc
+mln_logical_and_SOURCES = mln_logical_and.cc
+mln_logical_or_SOURCES = mln_logical_or.cc
+mln_logical_essential_SOURCES = mln_logical_essential.cc
+mln_norm_all_SOURCES = mln_norm_all.cc
+mln_norm_l1_SOURCES = mln_norm_l1.cc
+mln_norm_l2_SOURCES = mln_norm_l2.cc
+mln_norm_linfty_SOURCES = mln_norm_linfty.cc
+mln_norm_essential_SOURCES = mln_norm_essential.cc
mln_debug_iota_SOURCES = mln_debug_iota.cc
-mln_debug_draw_graph_SOURCES = mln_debug_draw_graph.cc
-mln_debug_format_SOURCES = mln_debug_format.cc
mln_debug_all_SOURCES = mln_debug_all.cc
-mln_debug_essential_SOURCES = mln_debug_essential.cc
mln_debug_println_with_border_SOURCES = mln_debug_println_with_border.cc
-mln_debug_println_SOURCES = mln_debug_println.cc
+mln_debug_colorize_SOURCES = mln_debug_colorize.cc
+mln_debug_draw_graph_SOURCES = mln_debug_draw_graph.cc
mln_debug_put_word_SOURCES = mln_debug_put_word.cc
-mln_value_int_u8_SOURCES = mln_value_int_u8.cc
-mln_value_viter_SOURCES = mln_value_viter.cc
-mln_value_glf_SOURCES = mln_value_glf.cc
-mln_value_label_SOURCES = mln_value_label.cc
-mln_value_int_u_sat_SOURCES = mln_value_int_u_sat.cc
-mln_value_float01_8_SOURCES = mln_value_float01_8.cc
-mln_value_hsl_SOURCES = mln_value_hsl.cc
-mln_value_all_SOURCES = mln_value_all.cc
-mln_value_rgb_SOURCES = mln_value_rgb.cc
-mln_value_int_s16_SOURCES = mln_value_int_s16.cc
-mln_value_shell_SOURCES = mln_value_shell.cc
-mln_value_concept_vectorial_SOURCES = mln_value_concept_vectorial.cc
-mln_value_concept_floating_SOURCES = mln_value_concept_floating.cc
-mln_value_concept_all_SOURCES = mln_value_concept_all.cc
-mln_value_concept_data_SOURCES = mln_value_concept_data.cc
-mln_value_concept_built_in_SOURCES = mln_value_concept_built_in.cc
-mln_value_concept_integer_SOURCES = mln_value_concept_integer.cc
-mln_value_concept_essential_SOURCES = mln_value_concept_essential.cc
-mln_value_concept_symbolic_SOURCES = mln_value_concept_symbolic.cc
-mln_value_concept_structured_SOURCES = mln_value_concept_structured.cc
-mln_value_concept_scalar_SOURCES = mln_value_concept_scalar.cc
-mln_value_internal_all_SOURCES = mln_value_internal_all.cc
-mln_value_internal_value_like_SOURCES = mln_value_internal_value_like.cc
-mln_value_internal_gray_f_SOURCES = mln_value_internal_gray_f.cc
-mln_value_internal_integer_SOURCES = mln_value_internal_integer.cc
-mln_value_internal_essential_SOURCES = mln_value_internal_essential.cc
-mln_value_internal_convert_SOURCES = mln_value_internal_convert.cc
-mln_value_internal_gray__SOURCES = mln_value_internal_gray_.cc
-mln_value_internal_encoding_SOURCES = mln_value_internal_encoding.cc
-mln_value_internal_iterable_set_SOURCES = mln_value_internal_iterable_set.cc
-mln_value_int_s32_SOURCES = mln_value_int_s32.cc
-mln_value_int_s_SOURCES = mln_value_int_s.cc
-mln_value_float01__SOURCES = mln_value_float01_.cc
-mln_value_label_16_SOURCES = mln_value_label_16.cc
-mln_value_int_u16_SOURCES = mln_value_int_u16.cc
-mln_value_int_u_SOURCES = mln_value_int_u.cc
-mln_value_hsi_SOURCES = mln_value_hsi.cc
-mln_value_essential_SOURCES = mln_value_essential.cc
-mln_value_gl16_SOURCES = mln_value_gl16.cc
-mln_value_label_8_SOURCES = mln_value_label_8.cc
-mln_value_int_u32_SOURCES = mln_value_int_u32.cc
-mln_value_interval_SOURCES = mln_value_interval.cc
-mln_value_builtin_floatings_SOURCES = mln_value_builtin_floatings.cc
-mln_value_builtin_all_SOURCES = mln_value_builtin_all.cc
-mln_value_builtin_symbolics_SOURCES = mln_value_builtin_symbolics.cc
-mln_value_builtin_promotions_SOURCES = mln_value_builtin_promotions.cc
-mln_value_builtin_essential_SOURCES = mln_value_builtin_essential.cc
-mln_value_builtin_integers_SOURCES = mln_value_builtin_integers.cc
-mln_value_builtin_ops_SOURCES = mln_value_builtin_ops.cc
-mln_value_rgb16_SOURCES = mln_value_rgb16.cc
-mln_value_graylevel_f_SOURCES = mln_value_graylevel_f.cc
-mln_value_gl8_SOURCES = mln_value_gl8.cc
-mln_value_super_value_SOURCES = mln_value_super_value.cc
-mln_value_lut_vec_SOURCES = mln_value_lut_vec.cc
-mln_value_float01_SOURCES = mln_value_float01.cc
-mln_value_aliases_SOURCES = mln_value_aliases.cc
-mln_value_proxy_SOURCES = mln_value_proxy.cc
-mln_value_mixin_SOURCES = mln_value_mixin.cc
-mln_value_set_SOURCES = mln_value_set.cc
-mln_value_cast_SOURCES = mln_value_cast.cc
-mln_value_rgb8_SOURCES = mln_value_rgb8.cc
-mln_value_stack_SOURCES = mln_value_stack.cc
-mln_value_float01_f_SOURCES = mln_value_float01_f.cc
-mln_value_other_SOURCES = mln_value_other.cc
-mln_value_scalar_SOURCES = mln_value_scalar.cc
-mln_value_equiv_SOURCES = mln_value_equiv.cc
-mln_value_float01_16_SOURCES = mln_value_float01_16.cc
-mln_value_graylevel_SOURCES = mln_value_graylevel.cc
-mln_value_sign_SOURCES = mln_value_sign.cc
-mln_value_ops_SOURCES = mln_value_ops.cc
-mln_value_int_s8_SOURCES = mln_value_int_s8.cc
-mln_fun_x2x_all_SOURCES = mln_fun_x2x_all.cc
-mln_fun_x2x_translation_SOURCES = mln_fun_x2x_translation.cc
-mln_fun_x2x_essential_SOURCES = mln_fun_x2x_essential.cc
-mln_fun_x2x_rotation_SOURCES = mln_fun_x2x_rotation.cc
-mln_fun_x2x_composed_SOURCES = mln_fun_x2x_composed.cc
-mln_fun_x2p_all_SOURCES = mln_fun_x2p_all.cc
-mln_fun_x2p_essential_SOURCES = mln_fun_x2p_essential.cc
-mln_fun_x2p_closest_point_SOURCES = mln_fun_x2p_closest_point.cc
-mln_fun_meta_hue_SOURCES = mln_fun_meta_hue.cc
-mln_fun_meta_red_SOURCES = mln_fun_meta_red.cc
-mln_fun_meta_to_enc_SOURCES = mln_fun_meta_to_enc.cc
-mln_fun_meta_inty_SOURCES = mln_fun_meta_inty.cc
-mln_fun_meta_sat_SOURCES = mln_fun_meta_sat.cc
-mln_fun_v2b_all_SOURCES = mln_fun_v2b_all.cc
-mln_fun_v2b_essential_SOURCES = mln_fun_v2b_essential.cc
-mln_fun_v2b_threshold_SOURCES = mln_fun_v2b_threshold.cc
-mln_fun_v2b_lnot_SOURCES = mln_fun_v2b_lnot.cc
-mln_fun_p2v_iota_SOURCES = mln_fun_p2v_iota.cc
-mln_fun_p2v_elifs_SOURCES = mln_fun_p2v_elifs.cc
-mln_fun_p2v_all_SOURCES = mln_fun_p2v_all.cc
-mln_fun_p2v_essential_SOURCES = mln_fun_p2v_essential.cc
-mln_fun_p2v_ternary_SOURCES = mln_fun_p2v_ternary.cc
-mln_fun_all_SOURCES = mln_fun_all.cc
-mln_fun_v2w2v_cos_SOURCES = mln_fun_v2w2v_cos.cc
-mln_fun_internal_array_base_SOURCES = mln_fun_internal_array_base.cc
-mln_fun_internal_selector_SOURCES = mln_fun_internal_selector.cc
-mln_fun_internal_x2x_linear_impl_SOURCES = mln_fun_internal_x2x_linear_impl.cc
-mln_fun_vv2v_macros_SOURCES = mln_fun_vv2v_macros.cc
-mln_fun_vv2v_all_SOURCES = mln_fun_vv2v_all.cc
-mln_fun_vv2v_lor_SOURCES = mln_fun_vv2v_lor.cc
-mln_fun_vv2v_min_SOURCES = mln_fun_vv2v_min.cc
-mln_fun_vv2v_diff_abs_SOURCES = mln_fun_vv2v_diff_abs.cc
-mln_fun_vv2v_essential_SOURCES = mln_fun_vv2v_essential.cc
-mln_fun_vv2v_land_not_SOURCES = mln_fun_vv2v_land_not.cc
-mln_fun_vv2v_vec_SOURCES = mln_fun_vv2v_vec.cc
-mln_fun_vv2v_lxor_SOURCES = mln_fun_vv2v_lxor.cc
-mln_fun_vv2v_max_SOURCES = mln_fun_vv2v_max.cc
-mln_fun_vv2v_land_SOURCES = mln_fun_vv2v_land.cc
-mln_fun_p2p_mirror_SOURCES = mln_fun_p2p_mirror.cc
-mln_fun_v2v_norm_SOURCES = mln_fun_v2v_norm.cc
-mln_fun_v2v_all_SOURCES = mln_fun_v2v_all.cc
-mln_fun_v2v_inc_SOURCES = mln_fun_v2v_inc.cc
-mln_fun_v2v_essential_SOURCES = mln_fun_v2v_essential.cc
-mln_fun_v2v_abs_SOURCES = mln_fun_v2v_abs.cc
-mln_fun_v2v_linear_SOURCES = mln_fun_v2v_linear.cc
-mln_fun_v2v_convert_SOURCES = mln_fun_v2v_convert.cc
-mln_fun_v2v_rgb_to_hsi_SOURCES = mln_fun_v2v_rgb_to_hsi.cc
-mln_fun_v2v_dec_SOURCES = mln_fun_v2v_dec.cc
-mln_fun_v2v_cast_SOURCES = mln_fun_v2v_cast.cc
-mln_fun_v2v_id_SOURCES = mln_fun_v2v_id.cc
-mln_fun_v2v_rgb_to_hsl_SOURCES = mln_fun_v2v_rgb_to_hsl.cc
-mln_fun_v2v_enc_SOURCES = mln_fun_v2v_enc.cc
-mln_fun_v2v_saturate_SOURCES = mln_fun_v2v_saturate.cc
-mln_fun_essential_SOURCES = mln_fun_essential.cc
-mln_fun_p2b_all_SOURCES = mln_fun_p2b_all.cc
-mln_fun_p2b_big_chess_SOURCES = mln_fun_p2b_big_chess.cc
-mln_fun_p2b_essential_SOURCES = mln_fun_p2b_essential.cc
-mln_fun_p2b_has_SOURCES = mln_fun_p2b_has.cc
-mln_fun_p2b_chess_SOURCES = mln_fun_p2b_chess.cc
-mln_fun_c_SOURCES = mln_fun_c.cc
-mln_fun_i2v_all_to_SOURCES = mln_fun_i2v_all_to.cc
-mln_fun_i2v_all_SOURCES = mln_fun_i2v_all.cc
-mln_fun_i2v_essential_SOURCES = mln_fun_i2v_essential.cc
-mln_fun_i2v_array_SOURCES = mln_fun_i2v_array.cc
-mln_fun_x2v_all_SOURCES = mln_fun_x2v_all.cc
-mln_fun_x2v_l1_norm_SOURCES = mln_fun_x2v_l1_norm.cc
-mln_fun_x2v_essential_SOURCES = mln_fun_x2v_essential.cc
-mln_fun_x2v_linear_SOURCES = mln_fun_x2v_linear.cc
-mln_fun_x2v_bilinear_SOURCES = mln_fun_x2v_bilinear.cc
-mln_fun_x2v_nneighbor_SOURCES = mln_fun_x2v_nneighbor.cc
-mln_fun_v2w_w2v_norm_SOURCES = mln_fun_v2w_w2v_norm.cc
-mln_fun_vv2b_eq_SOURCES = mln_fun_vv2b_eq.cc
-mln_fun_vv2b_ge_SOURCES = mln_fun_vv2b_ge.cc
-mln_fun_vv2b_lt_SOURCES = mln_fun_vv2b_lt.cc
-mln_fun_vv2b_le_SOURCES = mln_fun_vv2b_le.cc
-mln_fun_vv2b_implies_SOURCES = mln_fun_vv2b_implies.cc
-mln_fun_vv2b_gt_SOURCES = mln_fun_vv2b_gt.cc
-mln_fun_cast_SOURCES = mln_fun_cast.cc
-mln_fun_l2l_all_SOURCES = mln_fun_l2l_all.cc
-mln_fun_l2l_essential_SOURCES = mln_fun_l2l_essential.cc
-mln_fun_l2l_relabel_SOURCES = mln_fun_l2l_relabel.cc
-mln_fun_ops_SOURCES = mln_fun_ops.cc
-mln_norm_all_SOURCES = mln_norm_all.cc
-mln_norm_essential_SOURCES = mln_norm_essential.cc
-mln_norm_linfty_SOURCES = mln_norm_linfty.cc
-mln_norm_l1_SOURCES = mln_norm_l1.cc
-mln_norm_l2_SOURCES = mln_norm_l2.cc
-mln_metal_is_SOURCES = mln_metal_is.cc
-mln_metal_is_a_SOURCES = mln_metal_is_a.cc
-mln_metal_array3d_SOURCES = mln_metal_array3d.cc
-mln_metal_if_SOURCES = mln_metal_if.cc
-mln_metal_same_coord_SOURCES = mln_metal_same_coord.cc
-mln_metal_ands_SOURCES = mln_metal_ands.cc
-mln_metal_goes_to_SOURCES = mln_metal_goes_to.cc
-mln_metal_is_not_ref_SOURCES = mln_metal_is_not_ref.cc
-mln_metal_equal_SOURCES = mln_metal_equal.cc
-mln_metal_all_SOURCES = mln_metal_all.cc
-mln_metal_unref_SOURCES = mln_metal_unref.cc
-mln_metal_math_sqrt_SOURCES = mln_metal_math_sqrt.cc
-mln_metal_math_root_SOURCES = mln_metal_math_root.cc
-mln_metal_math_all_SOURCES = mln_metal_math_all.cc
-mln_metal_math_pow_SOURCES = mln_metal_math_pow.cc
-mln_metal_math_max_SOURCES = mln_metal_math_max.cc
-mln_metal_unqualif_SOURCES = mln_metal_unqualif.cc
-mln_metal_array2d_SOURCES = mln_metal_array2d.cc
-mln_metal_bool_SOURCES = mln_metal_bool.cc
-mln_metal_is_unqualif_SOURCES = mln_metal_is_unqualif.cc
-mln_metal_not_equal_SOURCES = mln_metal_not_equal.cc
-mln_metal_templated_by_SOURCES = mln_metal_templated_by.cc
-mln_metal_is_const_SOURCES = mln_metal_is_const.cc
-mln_metal_same_point_SOURCES = mln_metal_same_point.cc
-mln_metal_is_not_a_SOURCES = mln_metal_is_not_a.cc
-mln_metal_int_SOURCES = mln_metal_int.cc
-mln_metal_abort_SOURCES = mln_metal_abort.cc
-mln_metal_essential_SOURCES = mln_metal_essential.cc
-mln_metal_ref_SOURCES = mln_metal_ref.cc
-mln_metal_array1d_SOURCES = mln_metal_array1d.cc
-mln_metal_unconst_SOURCES = mln_metal_unconst.cc
-mln_metal_none_SOURCES = mln_metal_none.cc
-mln_metal_is_not_const_SOURCES = mln_metal_is_not_const.cc
-mln_metal_vec_SOURCES = mln_metal_vec.cc
-mln_metal_is_not_SOURCES = mln_metal_is_not.cc
-mln_metal_const_SOURCES = mln_metal_const.cc
-mln_metal_converts_to_SOURCES = mln_metal_converts_to.cc
-mln_metal_fix_return_SOURCES = mln_metal_fix_return.cc
-mln_metal_bexpr_SOURCES = mln_metal_bexpr.cc
-mln_metal_array_SOURCES = mln_metal_array.cc
-mln_metal_ret_SOURCES = mln_metal_ret.cc
-mln_metal_mat_SOURCES = mln_metal_mat.cc
-mln_metal_is_ref_SOURCES = mln_metal_is_ref.cc
-mln_metal_unptr_SOURCES = mln_metal_unptr.cc
-mln_+__proto___fake_run_SOURCES = mln_+__proto___fake_run.cc
-mln_+__proto___fake_utils_SOURCES = mln_+__proto___fake_utils.cc
-mln_+__proto___fake_array_SOURCES = mln_+__proto___fake_array.cc
-mln_level_+memo_fill_SOURCES = mln_level_+memo_fill.cc
-mln_level_stretch_SOURCES = mln_level_stretch.cc
-mln_level_to_enc_SOURCES = mln_level_to_enc.cc
-mln_level_all_SOURCES = mln_level_all.cc
-mln_level_median_SOURCES = mln_level_median.cc
-mln_level_compare_SOURCES = mln_level_compare.cc
-mln_level_approx_all_SOURCES = mln_level_approx_all.cc
-mln_level_approx_median_SOURCES = mln_level_approx_median.cc
-mln_level_approx_essential_SOURCES = mln_level_approx_essential.cc
-mln_level_fast_median_SOURCES = mln_level_fast_median.cc
-mln_level_replace_SOURCES = mln_level_replace.cc
-mln_level_essential_SOURCES = mln_level_essential.cc
-mln_level_transform_SOURCES = mln_level_transform.cc
-mln_level_abs_SOURCES = mln_level_abs.cc
-mln_level_sort_psites_SOURCES = mln_level_sort_psites.cc
-mln_level_update_SOURCES = mln_level_update.cc
-mln_level_was_median_SOURCES = mln_level_was_median.cc
-mln_level_convert_SOURCES = mln_level_convert.cc
-mln_level_naive_all_SOURCES = mln_level_naive_all.cc
-mln_level_naive_median_SOURCES = mln_level_naive_median.cc
-mln_level_naive_essential_SOURCES = mln_level_naive_essential.cc
-mln_level_compute_SOURCES = mln_level_compute.cc
-mln_level_apply_SOURCES = mln_level_apply.cc
-mln_level_transform_inplace_SOURCES = mln_level_transform_inplace.cc
-mln_level_saturate_SOURCES = mln_level_saturate.cc
-mln_subsampling_all_SOURCES = mln_subsampling_all.cc
+mln_debug_format_SOURCES = mln_debug_format.cc
+mln_debug_println_SOURCES = mln_debug_println.cc
+mln_debug_essential_SOURCES = mln_debug_essential.cc
+mln_estim_min_max_SOURCES = mln_estim_min_max.cc
+mln_estim_all_SOURCES = mln_estim_all.cc
+mln_estim_sum_SOURCES = mln_estim_sum.cc
+mln_estim_mean_SOURCES = mln_estim_mean.cc
+mln_estim_essential_SOURCES = mln_estim_essential.cc
+mln_set_uni_SOURCES = mln_set_uni.cc
+mln_set_unique_SOURCES = mln_set_unique.cc
+mln_set_inter_SOURCES = mln_set_inter.cc
+mln_set_all_SOURCES = mln_set_all.cc
+mln_set_get_SOURCES = mln_set_get.cc
+mln_set_sym_diff_SOURCES = mln_set_sym_diff.cc
+mln_set_has_SOURCES = mln_set_has.cc
+mln_set_diff_SOURCES = mln_set_diff.cc
+mln_set_card_SOURCES = mln_set_card.cc
+mln_set_compute_SOURCES = mln_set_compute.cc
+mln_set_essential_SOURCES = mln_set_essential.cc
+mln_border_adjust_SOURCES = mln_border_adjust.cc
+mln_border_duplicate_SOURCES = mln_border_duplicate.cc
+mln_border_find_SOURCES = mln_border_find.cc
+mln_border_thickness_SOURCES = mln_border_thickness.cc
+mln_border_all_SOURCES = mln_border_all.cc
+mln_border_mirror_SOURCES = mln_border_mirror.cc
+mln_border_get_SOURCES = mln_border_get.cc
+mln_border_equalize_SOURCES = mln_border_equalize.cc
+mln_border_resize_SOURCES = mln_border_resize.cc
+mln_border_fill_SOURCES = mln_border_fill.cc
+mln_border_essential_SOURCES = mln_border_essential.cc
mln_subsampling_gaussian_subsampling_SOURCES = mln_subsampling_gaussian_subsampling.cc
-mln_subsampling_essential_SOURCES = mln_subsampling_essential.cc
+mln_subsampling_all_SOURCES = mln_subsampling_all.cc
mln_subsampling_subsampling_SOURCES = mln_subsampling_subsampling.cc
-mln_logical_all_SOURCES = mln_logical_all.cc
-mln_logical_includes_SOURCES = mln_logical_includes.cc
-mln_logical_and_SOURCES = mln_logical_and.cc
-mln_logical_and_not_SOURCES = mln_logical_and_not.cc
-mln_logical_or_SOURCES = mln_logical_or.cc
-mln_logical_not_SOURCES = mln_logical_not.cc
-mln_logical_essential_SOURCES = mln_logical_essential.cc
-mln_logical_xor_SOURCES = mln_logical_xor.cc
-mln_linear_lap_SOURCES = mln_linear_lap.cc
-mln_linear_all_SOURCES = mln_linear_all.cc
-mln_linear_convolve_SOURCES = mln_linear_convolve.cc
-mln_linear_gaussian_SOURCES = mln_linear_gaussian.cc
-mln_linear_essential_SOURCES = mln_linear_essential.cc
-mln_linear_log_SOURCES = mln_linear_log.cc
-mln_linear_ch_convolve_SOURCES = mln_linear_ch_convolve.cc
-mln_linear_local_convolve_SOURCES = mln_linear_local_convolve.cc
-mln_linear_convolve_directional_SOURCES = mln_linear_convolve_directional.cc
-mln_linear_convolve_2x1d_SOURCES = mln_linear_convolve_2x1d.cc
-mln_linear_sobel_2d_SOURCES = mln_linear_sobel_2d.cc
-mln_display_all_SOURCES = mln_display_all.cc
-mln_display_essential_SOURCES = mln_display_essential.cc
-mln_data_all_SOURCES = mln_data_all.cc
-mln_data_paste_SOURCES = mln_data_paste.cc
-mln_data_essential_SOURCES = mln_data_essential.cc
-mln_data_memcpy__SOURCES = mln_data_memcpy_.cc
-mln_data_fill_SOURCES = mln_data_fill.cc
-mln_data_fill_with_image_SOURCES = mln_data_fill_with_image.cc
-mln_data_fill_with_value_SOURCES = mln_data_fill_with_value.cc
-mln_data_memset__SOURCES = mln_data_memset_.cc
-mln_pw_all_SOURCES = mln_pw_all.cc
-mln_pw_image_SOURCES = mln_pw_image.cc
-mln_pw_cst_SOURCES = mln_pw_cst.cc
-mln_pw_var_SOURCES = mln_pw_var.cc
-mln_pw_essential_SOURCES = mln_pw_essential.cc
-mln_pw_value_SOURCES = mln_pw_value.cc
-mln_geom_size1d_SOURCES = mln_geom_size1d.cc
-mln_geom_size2d_SOURCES = mln_geom_size2d.cc
-mln_geom_bbox_SOURCES = mln_geom_bbox.cc
-mln_geom_nslis_SOURCES = mln_geom_nslis.cc
-mln_geom_ninds_SOURCES = mln_geom_ninds.cc
-mln_geom_all_SOURCES = mln_geom_all.cc
-mln_geom_seeds2tiling_SOURCES = mln_geom_seeds2tiling.cc
-mln_geom_min_row_SOURCES = mln_geom_min_row.cc
-mln_geom_ncols_SOURCES = mln_geom_ncols.cc
-mln_geom_nrows_SOURCES = mln_geom_nrows.cc
-mln_geom_delta_SOURCES = mln_geom_delta.cc
-mln_geom_nsites_SOURCES = mln_geom_nsites.cc
-mln_geom_max_col_SOURCES = mln_geom_max_col.cc
-mln_geom_seeds2tiling_roundness_SOURCES = mln_geom_seeds2tiling_roundness.cc
-mln_geom_min_ind_SOURCES = mln_geom_min_ind.cc
-mln_geom_max_sli_SOURCES = mln_geom_max_sli.cc
-mln_geom_max_row_SOURCES = mln_geom_max_row.cc
-mln_geom_essential_SOURCES = mln_geom_essential.cc
-mln_geom_pmin_pmax_SOURCES = mln_geom_pmin_pmax.cc
-mln_geom_min_sli_SOURCES = mln_geom_min_sli.cc
-mln_geom_resize_SOURCES = mln_geom_resize.cc
-mln_geom_max_ind_SOURCES = mln_geom_max_ind.cc
-mln_geom_chamfer_SOURCES = mln_geom_chamfer.cc
-mln_geom_min_col_SOURCES = mln_geom_min_col.cc
-mln_geom_size3d_SOURCES = mln_geom_size3d.cc
-mln_geom_complex_geometry_SOURCES = mln_geom_complex_geometry.cc
-mln_registration_multiscale_SOURCES = mln_registration_multiscale.cc
-mln_registration_all_SOURCES = mln_registration_all.cc
-mln_registration_internal_rms_SOURCES = mln_registration_internal_rms.cc
-mln_registration_icp_SOURCES = mln_registration_icp.cc
-mln_registration_registration_SOURCES = mln_registration_registration.cc
-mln_registration_essential_SOURCES = mln_registration_essential.cc
-mln_registration_get_rtransf_SOURCES = mln_registration_get_rtransf.cc
-mln_registration_get_rot_SOURCES = mln_registration_get_rot.cc
-mln_literal_white_SOURCES = mln_literal_white.cc
-mln_literal_all_SOURCES = mln_literal_all.cc
-mln_literal_black_SOURCES = mln_literal_black.cc
-mln_literal_grays_SOURCES = mln_literal_grays.cc
-mln_literal_zero_SOURCES = mln_literal_zero.cc
-mln_literal_essential_SOURCES = mln_literal_essential.cc
-mln_literal_origin_SOURCES = mln_literal_origin.cc
-mln_literal_one_SOURCES = mln_literal_one.cc
-mln_literal_colors_SOURCES = mln_literal_colors.cc
-mln_literal_ops_SOURCES = mln_literal_ops.cc
+mln_subsampling_essential_SOURCES = mln_subsampling_essential.cc
TESTS = $(check_PROGRAMS)
diff --git a/milena/tests/unit_test/mln_convert_impl_from_float_to_value.cc b/milena/tests/unit_test/mln_convert_impl_from_float_to_value.cc
new file mode 100644
index 0000000..b420300
--- /dev/null
+++ b/milena/tests/unit_test/mln_convert_impl_from_float_to_value.cc
@@ -0,0 +1,11 @@
+// Unit test for mln/convert/impl/from_float_to_value.hh.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/impl/from_float_to_value.hh>
+#include <mln/convert/impl/from_float_to_value.hh>
+
+int main()
+{
+ // Nothing.
+}
diff --git a/milena/tests/unit_test/mln_convert_impl_from_int_to_value.cc b/milena/tests/unit_test/mln_convert_impl_from_int_to_value.cc
new file mode 100644
index 0000000..812091d
--- /dev/null
+++ b/milena/tests/unit_test/mln_convert_impl_from_int_to_value.cc
@@ -0,0 +1,11 @@
+// Unit test for mln/convert/impl/from_int_to_value.hh.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/convert/impl/from_int_to_value.hh>
+#include <mln/convert/impl/from_int_to_value.hh>
+
+int main()
+{
+ // Nothing.
+}
diff --git a/milena/tests/unit_test/mln_set_card.cc b/milena/tests/unit_test/mln_set_card.cc
new file mode 100644
index 0000000..5e99da0
--- /dev/null
+++ b/milena/tests/unit_test/mln_set_card.cc
@@ -0,0 +1,11 @@
+// Unit test for mln/set/card.hh.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/set/card.hh>
+#include <mln/set/card.hh>
+
+int main()
+{
+ // Nothing.
+}
diff --git a/milena/tests/unit_test/mln_set_unique.cc b/milena/tests/unit_test/mln_set_unique.cc
new file mode 100644
index 0000000..98bb31f
--- /dev/null
+++ b/milena/tests/unit_test/mln_set_unique.cc
@@ -0,0 +1,11 @@
+// Unit test for mln/set/unique.hh.
+// Generated by ./build_unit_test.sh, do not modify.
+
+// Include the file twice, so we detect missing inclusion guards.
+#include <mln/set/unique.hh>
+#include <mln/set/unique.hh>
+
+int main()
+{
+ // Nothing.
+}
--
1.5.6.5
1
0