milena r4032: Move logical accumulators to their own directory

URL: https://svn.lrde.epita.fr/svn/oln/trunk/milena ChangeLog: 2009-06-08 Edwin Carlinet <carlinet@lrde.epita.fr> Move logical accumulators to their own directory. * mln/accu/all.hh, * mln/accu/logic/all.hh: Update all.hh with respect to new logical accus directory. * mln/accu/land.hh, * mln/accu/land_basic.hh, * mln/accu/lor.hh, * mln/accu/lor_basic.hh: Move to... * mln/accu/logic, * mln/accu/logic/land.hh, * mln/accu/logic/land_basic.hh * mln/accu/logic/lor.hh, * mln/accu/logic/lor_basic.hh: Move land, land_basic, lor, lor_basic accumulators to logic directory. * mln/morpho/dilation.hh, * mln/morpho/erosion.hh, * sandbox/abraham/mln/morpho/vector_median.hh, * sandbox/abraham/mln/morpho/vmt.hh, Replace accu::accu_name by accu::logic::accu_name, accu::meta::accu_name by accu::meta::logic::accu_name, accu/accu_name.hh by accu/logic/accu_name.hh, and update mln_morpho_select_accu call maccro. --- mln/accu/all.hh | 5 mln/accu/logic/all.hh | 58 +++++++++ mln/accu/logic/land.hh | 179 ++++++++++++++++++++++++++++ mln/accu/logic/land_basic.hh | 177 +++++++++++++++++++++++++++ mln/accu/logic/lor.hh | 179 ++++++++++++++++++++++++++++ mln/accu/logic/lor_basic.hh | 176 +++++++++++++++++++++++++++ mln/morpho/dilation.hh | 14 +- mln/morpho/erosion.hh | 14 +- sandbox/abraham/mln/morpho/vector_median.hh | 4 sandbox/abraham/mln/morpho/vmt.hh | 4 10 files changed, 788 insertions(+), 22 deletions(-) Index: trunk/milena/mln/accu/lor.hh (deleted) =================================================================== Index: trunk/milena/mln/accu/land_basic.hh (deleted) =================================================================== Index: trunk/milena/mln/accu/lor_basic.hh (deleted) =================================================================== Index: trunk/milena/mln/accu/land.hh (deleted) =================================================================== Index: trunk/milena/mln/accu/logic/all.hh =================================================================== --- trunk/milena/mln/accu/logic/all.hh (revision 0) +++ trunk/milena/mln/accu/logic/all.hh (revision 4032) @@ -0,0 +1,58 @@ +// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE) +// +// This file is part of the Milena 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_ACCU_LOGIC_ALL_HH +# define MLN_ACCU_LOGIC_ALL_HH + +/// \file mln/accu/logic/all.hh +/// +/// File that includes all logical accumulator types. + + +namespace mln +{ + namespace accu + { + namespace meta + { + /// Namespace of logical meta-accumulators. + namespace logic {} + } + + /// Namespace of logical accumulators. + namespace logic {} + + } +} + +# include <mln/accu/logic/lor.hh> +# include <mln/accu/logic/lor_basic.hh> +# include <mln/accu/logic/land.hh> +# include <mln/accu/logic/land_basic.hh> + +#endif // ! MLN_ACCU_LOGIC_ALL_HH + Property changes on: trunk/milena/mln/accu/logic/all.hh ___________________________________________________________________ Added: svn:mergeinfo Index: trunk/milena/mln/accu/logic/lor.hh =================================================================== --- trunk/milena/mln/accu/logic/lor.hh (revision 0) +++ trunk/milena/mln/accu/logic/lor.hh (revision 4032) @@ -0,0 +1,179 @@ +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) +// +// This file is part of the Milena 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_ACCU_LOGIC_LOR_HH +# define MLN_ACCU_LOGIC_LOR_HH + +/// \file mln/accu/logic/lor.hh +/// +/// Define a 'logical-or' accumulator. +/// +/// \todo Have lor be parameterized. + +# include <mln/core/concept/meta_accumulator.hh> +# include <mln/accu/internal/base.hh> + + +namespace mln +{ + + namespace accu + { + + namespace logic + { + // Forward declaration. + struct lor; + } + + namespace meta + { + + namespace logic + { + /// Meta accumulator for lor. + struct lor : public Meta_Accumulator< lor > + { + template <typename T> + struct with + { + typedef accu::logic::lor ret; + }; + }; + + } // end of namespace mln::accu::meta::logic + } // end of namespace mln::accu::meta + + namespace logic + { + + /// \brief "Logical-or" accumulator. + /// + /// \ingroup modaccuvalues + // + struct lor : public mln::accu::internal::base< bool, lor > + { + typedef bool argument; + + lor(); + + /// Manipulators. + /// \{ + void init(); + void take_as_init_(const argument& t); + + void take(const argument& t); + void take(const lor& other); + + void untake(const argument& t); + void untake(const lor& other); + /// \} + + /// Get the value of the accumulator. + bool to_result() const; + + /// Check whether this accu is able to return a result. + /// Always true here. + bool is_valid() const; + + protected: + unsigned ntrue_; + }; + +# ifndef MLN_INCLUDE_ONLY + + inline + lor::lor() + { + init(); + } + + inline + void + lor::init() + { + ntrue_ = 0; + } + + inline + void lor::take_as_init_(const argument& t) + { + ntrue_ = t ? 1 : 0; + } + + inline + void lor::take(const argument& t) + { + if (t == true) + ++ntrue_; + } + + inline + void + lor::take(const lor& other) + { + ntrue_ += other.ntrue_; + } + + inline + void lor::untake(const argument& t) + { + if (t == true) + --ntrue_; + } + + inline + void + lor::untake(const lor& other) + { + mln_precondition(other.ntrue_ <= ntrue_); + ntrue_ -= other.ntrue_; + } + + inline + bool + lor::to_result() const + { + return ntrue_ != 0; + } + + inline + bool + lor::is_valid() const + { + return true; + } + +# endif // ! MLN_INCLUDE_ONLY + + } // end of namespace mln::accu::logic + } // end of namespace mln::accu +} // end of namespace mln + + +#endif // ! MLN_ACCU_LOGIC_LOR_HH Property changes on: trunk/milena/mln/accu/logic/lor.hh ___________________________________________________________________ Added: svn:mergeinfo Index: trunk/milena/mln/accu/logic/lor_basic.hh =================================================================== --- trunk/milena/mln/accu/logic/lor_basic.hh (revision 0) +++ trunk/milena/mln/accu/logic/lor_basic.hh (revision 4032) @@ -0,0 +1,176 @@ +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) +// +// This file is part of the Milena 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_ACCU_LOGIC_LOR_BASIC_HH +# define MLN_ACCU_LOGIC_LOR_BASIC_HH + +/// \file mln/accu/logic/lor_basic.hh +/// +/// Define a basic 'logical-or' accumulator. +/// +/// \todo Have lor_basic be parameterized. + +# include <mln/core/concept/meta_accumulator.hh> +# include <mln/accu/internal/base.hh> + + +namespace mln +{ + + namespace accu + { + + namespace logic + { + // Forward declaration. + struct lor_basic; + } + + namespace meta + { + + namespace logic + { + /// Meta accumulator for lor_basic. + struct lor_basic : public Meta_Accumulator< lor_basic > + { + template <typename T> + struct with + { + typedef accu::logic::lor_basic ret; + }; + }; + + } // end of namespace mln::accu::meta::logic + } // end of namespace mln::accu::meta + + + namespace logic + { + + /// \brief "Logical-or" accumulator class. + /// Conversely to accu::logic::lor, this version does not have the 'untake' + /// method but features the 'can_stop' method. + /// + /// \ingroup modaccuvalues + // + struct lor_basic : public mln::accu::internal::base< bool, lor_basic > + { + typedef bool argument; + + lor_basic(); + + /// Manipulators. + /// \{ + void init(); + void take_as_init_(const argument& t); + + void take(const argument& t); + void take(const lor_basic& other); + /// \} + + /// Get the value of the accumulator. + bool to_result() const; + + /// Check whether this accu is able to return a result. + /// Always true here. + bool is_valid() const; + + /// Test if it is worth for this accumulator to take extra data. + /// If the result is already 'true' (because this accumulator + /// has already taken a 'true' value), can_stop returns true. + bool can_stop() const; + + protected: + bool res_; + }; + +# ifndef MLN_INCLUDE_ONLY + + inline + lor_basic::lor_basic() + { + init(); + } + + inline + void + lor_basic::init() + { + res_ = false; + } + + inline + void lor_basic::take_as_init_(const argument& t) + { + res_ = t; + } + + inline + void lor_basic::take(const argument& t) + { + if (res_ == false && t == true) + res_ = true; + } + + inline + void + lor_basic::take(const lor_basic& other) + { + res_ = res_ || other.res_; + } + + inline + bool + lor_basic::to_result() const + { + return res_; + } + + inline + bool + lor_basic::is_valid() const + { + return true; + } + + inline + bool + lor_basic::can_stop() const + { + return res_ == true; + } + +# endif // ! MLN_INCLUDE_ONLY + + } // end of namespace mln::accu::logic + } // end of namespace mln::accu +} // end of namespace mln + + +#endif // ! MLN_ACCU_LOGIC_LOR_BASIC_HH Property changes on: trunk/milena/mln/accu/logic/lor_basic.hh ___________________________________________________________________ Added: svn:mergeinfo Index: trunk/milena/mln/accu/logic/land.hh =================================================================== --- trunk/milena/mln/accu/logic/land.hh (revision 0) +++ trunk/milena/mln/accu/logic/land.hh (revision 4032) @@ -0,0 +1,179 @@ +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) +// +// This file is part of the Milena 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_ACCU_LOGIC_LAND_HH +# define MLN_ACCU_LOGIC_LAND_HH + +/// \file mln/accu/logic/land.hh +/// +/// Define a 'logical-and' accumulator. +/// +/// \todo Have land be parameterized. + +# include <mln/core/concept/meta_accumulator.hh> +# include <mln/accu/internal/base.hh> + + +namespace mln +{ + + namespace accu + { + + namespace logic + { + // Forward declaration. + struct land; + } + + namespace meta + { + namespace logic + { + + /// Meta accumulator for land. + struct land : public Meta_Accumulator< land > + { + template <typename T> + struct with + { + typedef accu::logic::land ret; + }; + }; + + } // end of namespace mln::accu::meta::logic + } // end of namespace mln::accu::meta + + namespace logic + { + + /// \brief "Logical-and" accumulator. + /// + /// \ingroup modaccuvalues + // + struct land : public mln::accu::internal::base< bool, land > + { + typedef bool argument; + + land(); + + /// Manipulators. + /// \{ + void init(); + void take_as_init_(const argument& t); + + void take(const argument& t); + void take(const land& other); + + void untake(const argument& t); + void untake(const land& other); + /// \} + + /// Get the value of the accumulator. + bool to_result() const; + + /// Check whether this accu is able to return a result. + /// Always true here. + bool is_valid() const; + + protected: + unsigned nfalse_; + }; + + +# ifndef MLN_INCLUDE_ONLY + + inline + land::land() + { + init(); + } + + inline + void + land::init() + { + nfalse_ = 0; + } + + inline + void land::take_as_init_(const argument& t) + { + nfalse_ = t ? 0 : 1; + } + + inline + void land::take(const argument& t) + { + if (t == false) + ++nfalse_; + } + + inline + void + land::take(const land& other) + { + nfalse_ += other.nfalse_; + } + + inline + void land::untake(const argument& t) + { + if (t == false) + --nfalse_; + } + + inline + void + land::untake(const land& other) + { + mln_precondition(other.nfalse_ <= nfalse_); + nfalse_ -= other.nfalse_; + } + + inline + bool + land::to_result() const + { + return nfalse_ == 0; + } + + inline + bool + land::is_valid() const + { + return true; + } + +# endif // ! MLN_INCLUDE_ONLY + + } // end of namespace mln::accu::logic + } // end of namespace mln::accu +} // end of namespace mln + +#endif // ! MLN_ACCU_LOGIC_LAND_HH Property changes on: trunk/milena/mln/accu/logic/land.hh ___________________________________________________________________ Added: svn:mergeinfo Index: trunk/milena/mln/accu/logic/land_basic.hh =================================================================== --- trunk/milena/mln/accu/logic/land_basic.hh (revision 0) +++ trunk/milena/mln/accu/logic/land_basic.hh (revision 4032) @@ -0,0 +1,177 @@ +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development +// Laboratory (LRDE) +// +// This file is part of the Milena 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_ACCU_LOGIC_LAND_BASIC_HH +# define MLN_ACCU_LOGIC_LAND_BASIC_HH + +/// \file mln/accu/logic/land_basic.hh +/// +/// Define a basic 'logical-and' accumulator. +/// +/// \todo Have land_basic be parameterized. + +# include <mln/core/concept/meta_accumulator.hh> +# include <mln/accu/internal/base.hh> + + +namespace mln +{ + + namespace accu + { + + namespace logic + { + // Forward declaration. + struct land_basic; + } + + namespace meta + { + + namespace logic + { + + /// Meta accumulator for land_basic. + struct land_basic : public Meta_Accumulator< land_basic > + { + template <typename T> + struct with + { + typedef accu::logic::land_basic ret; + }; + }; + + } // end of namespace mln::accu::meta::logic + } // end of namespace mln::accu::meta + + + namespace logic + { + + /// \brief "Logical-and" accumulator. + /// Conversely to accu::logic::land, this version does not have the 'untake' + /// method but features the 'can_stop' method. + /// + /// \ingroup modaccuvalues + // + struct land_basic : public mln::accu::internal::base< bool, land_basic > + { + typedef bool argument; + + land_basic(); + + /// Manipulators. + /// \{ + void init(); + void take_as_init_(const argument& t); + + void take(const argument& t); + void take(const land_basic& other); + /// \} + + /// Get the value of the accumulator. + bool to_result() const; + + /// Check whether this accu is able to return a result. + /// Always true here. + bool is_valid() const; + + /// Test if it is worth for this accumulator to take extra data. + /// If the result is already 'false' (because this accumulator + /// has already taken a 'false' value), can_stop returns true. + bool can_stop() const; + + protected: + bool res_; + }; + +# ifndef MLN_INCLUDE_ONLY + + inline + land_basic::land_basic() + { + init(); + } + + inline + void + land_basic::init() + { + res_ = true; + } + + inline + void land_basic::take_as_init_(const argument& t) + { + res_ = t; + } + + inline + void land_basic::take(const argument& t) + { + if (res_ == true && t == false) + res_ = false; + } + + inline + void + land_basic::take(const land_basic& other) + { + res_ = res_ && other.res_; + } + + inline + bool + land_basic::to_result() const + { + return res_; + } + + inline + bool + land_basic::is_valid() const + { + return true; + } + + inline + bool + land_basic::can_stop() const + { + return res_ == false; + } + +# endif // ! MLN_INCLUDE_ONLY + + } // end of namespace mln::accu::logic + } // end of namespace mln::accu +} // end of namespace mln + + +#endif // ! MLN_ACCU_LOGIC_LAND_BASIC_HH Property changes on: trunk/milena/mln/accu/logic/land_basic.hh ___________________________________________________________________ Added: svn:mergeinfo Index: trunk/milena/mln/accu/all.hh =================================================================== --- trunk/milena/mln/accu/all.hh (revision 4031) +++ trunk/milena/mln/accu/all.hh (revision 4032) @@ -64,11 +64,7 @@ # include <mln/accu/height.hh> # include <mln/accu/histo.hh> # include <mln/accu/label_used.hh> -# include <mln/accu/land.hh> -# include <mln/accu/land_basic.hh> # include <mln/accu/line.hh> -# include <mln/accu/lor.hh> -# include <mln/accu/lor_basic.hh> # include <mln/accu/nil.hh> # include <mln/accu/pair.hh> # include <mln/accu/rank.hh> @@ -93,6 +89,7 @@ # include <mln/accu/image/all.hh> # include <mln/accu/site_set/all.hh> # include <mln/accu/stat/all.hh> +# include <mln/accu/logic/all.hh> #endif // ! MLN_ACCU_ALL_HH Index: trunk/milena/mln/morpho/erosion.hh =================================================================== --- trunk/milena/mln/morpho/erosion.hh (revision 4031) +++ trunk/milena/mln/morpho/erosion.hh (revision 4032) @@ -1,4 +1,4 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory // (LRDE) // // This file is part of the Milena Library. This library is free @@ -37,8 +37,8 @@ # include <mln/morpho/general.hh> # include <mln/morpho/includes.hh> -# include <mln/accu/land.hh> -# include <mln/accu/land_basic.hh> +# include <mln/accu/logic/land.hh> +# include <mln/accu/logic/land_basic.hh> # include <mln/accu/stat/min.hh> # include <mln/accu/stat/min_h.hh> @@ -61,18 +61,18 @@ { template <typename I> - mln_morpho_select_accu(I, land_basic, stat::min) + mln_morpho_select_accu(I, logic::land_basic, stat::min) accu(const Image<I>&) const { - mln_morpho_select_accu(I, land_basic, stat::min) tmp; + mln_morpho_select_accu(I, logic::land_basic, stat::min) tmp; return tmp; } template <typename I> - mln_morpho_select_accu(I, land, stat::min_h) + mln_morpho_select_accu(I, logic::land, stat::min_h) accu_incr(const Image<I>&) const { - mln_morpho_select_accu(I, land, stat::min_h) tmp; + mln_morpho_select_accu(I, logic::land, stat::min_h) tmp; return tmp; } Index: trunk/milena/mln/morpho/dilation.hh =================================================================== --- trunk/milena/mln/morpho/dilation.hh (revision 4031) +++ trunk/milena/mln/morpho/dilation.hh (revision 4032) @@ -1,4 +1,4 @@ -// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory // (LRDE) // // This file is part of the Milena Library. This library is free @@ -37,8 +37,8 @@ # include <mln/morpho/includes.hh> # include <mln/morpho/general.hh> -# include <mln/accu/lor.hh> -# include <mln/accu/lor_basic.hh> +# include <mln/accu/logic/lor.hh> +# include <mln/accu/logic/lor_basic.hh> # include <mln/accu/stat/max.hh> # include <mln/accu/stat/max_h.hh> @@ -62,18 +62,18 @@ { template <typename I> - mln_morpho_select_accu(I, lor_basic, stat::max) + mln_morpho_select_accu(I, logic::lor_basic, stat::max) accu(const Image<I>&) const { - mln_morpho_select_accu(I, lor_basic, stat::max) tmp; + mln_morpho_select_accu(I, logic::lor_basic, stat::max) tmp; return tmp; } template <typename I> - mln_morpho_select_accu(I, lor, stat::max_h) + mln_morpho_select_accu(I, logic::lor, stat::max_h) accu_incr(const Image<I>&) const { - mln_morpho_select_accu(I, lor, stat::max_h) tmp; + mln_morpho_select_accu(I, logic::lor, stat::max_h) tmp; return tmp; } Index: trunk/milena/sandbox/abraham/mln/morpho/vmt.hh =================================================================== --- trunk/milena/sandbox/abraham/mln/morpho/vmt.hh (revision 4031) +++ trunk/milena/sandbox/abraham/mln/morpho/vmt.hh (revision 4032) @@ -37,8 +37,8 @@ # include <mln/morpho/includes.hh> # include <mln/morpho/general.hh> -# include <mln/accu/land.hh> -# include <mln/accu/land_basic.hh> +# include <mln/accu/logic/land.hh> +# include <mln/accu/logic/land_basic.hh> # include <mln/accu/stat/min.hh> # include <mln/accu/stat/min_h.hh> # include <mln/norm/l2.hh> Index: trunk/milena/sandbox/abraham/mln/morpho/vector_median.hh =================================================================== --- trunk/milena/sandbox/abraham/mln/morpho/vector_median.hh (revision 4031) +++ trunk/milena/sandbox/abraham/mln/morpho/vector_median.hh (revision 4032) @@ -37,8 +37,8 @@ # include <mln/morpho/includes.hh> # include <mln/morpho/general.hh> -# include <mln/accu/land.hh> -# include <mln/accu/land_basic.hh> +# include <mln/accu/logic/land.hh> +# include <mln/accu/logic/land_basic.hh> # include <mln/accu/stat/min.hh> # include <mln/accu/stat/min_h.hh> # include <mln/norm/l2.hh>
participants (1)
-
Edwin Carlinet