2006-08-29 Roland Levillain <roland(a)lrde.epita.fr>
Add a third version of the computation of a the max-tree based on
Fiorio's and Gustedt's labelling algorithm.
* oln/lrde/ufmt/fiorio-3.hh: New file.
* oln/lrde/ufmt/bin/fiorio.cc: Handle fiorio-3.hh.
Add copyright notice.
* oln/lrde/ufmt/bin/Makefile.am (AM_CXXFLAGS): Add -DNDEBUG.
(check_PROGRAMS): Add fiorio-3.
(fiorio_3_SOURCES, fiorio_3_CPPFLAGS): New.
* oln/lrde/ufmt/Makefile.am (noinst_HEADERS): Add fiorio-3.hh.
* oln/lrde/ufmt/fiorio-1.hh, oln/lrde/ufmt/fiorio-2.hh: Typo in
comment.
* oln/lrde/ufmt/README: Update.
--- 10.255/olena/oln/lrde/ufmt/README Mon, 28 Aug 2006 14:48:16 +0200 theo
(oln/x/22_README 1.5 644)
+++ 10.256/olena/oln/lrde/ufmt/README Tue, 29 Aug 2006 14:48:46 +0200 levill_r
(oln/x/22_README 1.6 644)
@@ -142,3 +142,12 @@
** fiorio-2.hh
My second implementation of the max-tree computation using Fiorio's and
Gustedt's algorithm, using routines of Theo's (anc, insert, etc.)
+
+** fiorio-3.hh
+A variation on fiorio-2.hh, which computes a max-tree for each line
+of the image independently, and then merges them column per column.
+
+
+Local Variables:
+ispell-local-dictionary: "american"
+End:
--- 10.255/olena/oln/lrde/ufmt/Makefile.am Mon, 28 Aug 2006 18:31:56 +0200 berger_c
(oln/x/26_Makefile.a 1.2 644)
+++ 10.256/olena/oln/lrde/ufmt/Makefile.am Tue, 29 Aug 2006 14:48:46 +0200 levill_r
(oln/x/26_Makefile.a 1.3 644)
@@ -16,6 +16,7 @@
basic_salembier.hh \
fiorio-1.hh \
fiorio-2.hh \
+ fiorio-3.hh \
hdc_maxtree.hh \
hpc_maxtree.hh \
log.hh \
--- 10.255/olena/oln/lrde/ufmt/fiorio-1.hh Fri, 25 Aug 2006 18:19:26 +0200 levill_r
(oln/x/27_fiorio-1.h 1.2 644)
+++ 10.256/olena/oln/lrde/ufmt/fiorio-1.hh Tue, 29 Aug 2006 14:48:46 +0200 levill_r
(oln/x/27_fiorio-1.h 1.3 644)
@@ -26,7 +26,7 @@
// Public License.
-/** \brief An adadpatation of Fiorio's and Gustedt's algorithm
+/** \brief An adaptation of Fiorio's and Gustedt's algorithm
(fiorio.96.tcs).
Ref.: Christophe Fiorio and Jens Gustedt. Two linear time
--- 10.255/olena/oln/lrde/ufmt/fiorio-2.hh Fri, 25 Aug 2006 18:19:26 +0200 levill_r
(oln/x/28_fiorio-2.h 1.2 644)
+++ 10.256/olena/oln/lrde/ufmt/fiorio-2.hh Tue, 29 Aug 2006 14:48:46 +0200 levill_r
(oln/x/28_fiorio-2.h 1.3 644)
@@ -26,7 +26,7 @@
// Public License.
-/** \brief An adadpatation of Fiorio's and Gustedt's algorithm
+/** \brief An adaptation of Fiorio's and Gustedt's algorithm
(fiorio.96.tcs).
Ref.: Christophe Fiorio and Jens Gustedt. Two linear time
@@ -237,6 +237,44 @@
merge_(r, t);
}
+// FIXME: ``New'' Version (iterative, instead of recursive). To be tested.
+#if 0
+ void merge_(point p, point q)
+ {
+ precondition (p != q);
+ precondition (ima_[p] >= ima_[q]);
+
+ point r = find_ancestor(p, ima_[q]);
+ point s = find_level_root(q);
+
+ // Stop the recursion when R and S are equal (i.e., they are
+ // already merged).
+ while (r != s)
+ {
+ invariant (p != q);
+ invariant (ima_[p] >= ima_[q]);
+
+ point t = parent_[s];
+ if (ima_[s] == ima_[r])
+ {
+ parent_[s] = r;
+ // Update the number of level roots.
+ --n_level_roots_cpt_;
+ }
+ else
+ {
+ if (not is_top(r))
+ parent_[s] = parent_[r];
+ parent_[r] = s;
+ }
+ p = r;
+ q = t;
+ r = find_ancestor(p, ima_[q]);
+ s = find_level_root(q);
+ }
+ }
+#endif
+
/// \note Theo calls this function ``is_root'.
bool is_top(const point& p) const
{
--- 10.255/olena/oln/lrde/ufmt/bin/Makefile.am Mon, 28 Aug 2006 18:31:56 +0200 berger_c
(oln/x/29_Makefile.a 1.2 644)
+++ 10.256/olena/oln/lrde/ufmt/bin/Makefile.am Tue, 29 Aug 2006 14:48:46 +0200 levill_r
(oln/x/29_Makefile.a 1.3 644)
@@ -1,19 +1,22 @@
-AM_CXXFLAGS = -O3 -ggdb -Wall -Werror -ansi -pedantic
+AM_CXXFLAGS = -Wall -Werror -ansi -pedantic -ggdb -O3 -DNDEBUG
AM_LDFLAGS = $(ZLIB_LDFLAGS)
-check_PROGRAMS = basic_maxtree basic_najman basic_salembier fiorio-1 fiorio-2 \
+check_PROGRAMS = \
+ basic_maxtree basic_najman basic_salembier \
+ fiorio-1 fiorio-2 fiorio-3 \
hdc_maxtree hpc_maxtree r1ic_maxtree rpc_maxtree
basic_maxtree_SOURCES = basic_maxtree.cc
basic_najman_SOURCES = basic_najman.cc
basic_salembier_SOURCES = basic_salembier.cc
+fiorio_1_SOURCES = fiorio.cc
+fiorio_2_SOURCES = fiorio.cc
+fiorio_2_CPPFLAGS = -DFIORIO_VERSION=2
+fiorio_3_SOURCES = fiorio.cc
+fiorio_3_CPPFLAGS = -DFIORIO_VERSION=3
hdc_maxtree_SOURCES = hdc_maxtree.cc
hpc_maxtree_SOURCES = hpc_maxtree.cc
r1ic_maxtree_SOURCES = r1ic_maxtree.cc
rpc_maxtree_SOURCES = rpc_maxtree.cc
-fiorio_1_SOURCES = fiorio.cc
-fiorio_2_SOURCES = fiorio.cc
-fiorio_2_CPPFLAGS = -DFIORIO_VERSION=2
-
# FIXME: Write (runtime) tests!
--- 10.255/olena/oln/lrde/ufmt/bin/fiorio.cc Fri, 25 Aug 2006 18:19:26 +0200 levill_r
(oln/x/30_fiorio.cc 1.2 644)
+++ 10.256/olena/oln/lrde/ufmt/bin/fiorio.cc Tue, 29 Aug 2006 14:48:46 +0200 levill_r
(oln/x/30_fiorio.cc 1.3 644)
@@ -1,3 +1,30 @@
+// Copyright (C) 2006 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
+// 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.
+
#include <cstdlib>
#include <ntg/int.hh>
@@ -7,10 +34,14 @@
#include <oln/level/fill.hh>
// Max-tree computation base on Fiorio's and Gustedt's algorithm.
-#if defined(FIORIO_VERSION) && FIORIO_VERSION == 2
-# include <oln/lrde/ufmt/fiorio-2.hh>
+#if defined(FIORIO_VERSION) && FIORIO_VERSION == 3
+# include <oln/lrde/ufmt/fiorio-3.hh>
#else
-# include <oln/lrde/ufmt/fiorio-1.hh>
+# if defined(FIORIO_VERSION) && FIORIO_VERSION == 2
+# include <oln/lrde/ufmt/fiorio-2.hh>
+# else
+# include <oln/lrde/ufmt/fiorio-1.hh>
+# endif
#endif
--- 10.255/olena/oln/lrde/ufmt/fiorio-3.hh Tue, 29 Aug 2006 14:52:01 +0200 levill_r ()
+++ 10.256/olena/oln/lrde/ufmt/fiorio-3.hh Tue, 29 Aug 2006 14:48:46 +0200 levill_r
(oln/x/44_fiorio-3.h 1.1 644)
@@ -0,0 +1,281 @@
+// Copyright (C) 2006 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
+// 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.
+
+
+/** \brief An adaptation of Fiorio's and Gustedt's algorithm
+ (fiorio.96.tcs).
+
+ Ref.: Christophe Fiorio and Jens Gustedt. Two linear time
+ Union-Find strategies for image processing. Theoretical Computer
+ Science, 1996.
+
+ \note This is the third version of my implementation, augmented
+ with Theo's (better) routines and ideas + another merge/update
+ method. */
+
+
+#ifndef OLENA_LRDE_UFMT_FIORIO_3_HH
+# define OLENA_LRDE_UFMT_FIORIO_3_HH
+
+# include <algorithm>
+
+# include <oln/core/image2d.hh>
+# include <oln/level/fill.hh>
+
+namespace oln
+{
+ namespace lrde
+ {
+ namespace ufmt
+ {
+
+ // FIXME: Not generic (works only on 2-D images).
+ template <typename I>
+ class fiorio
+ {
+ typedef oln_point_type(I) point;
+ typedef oln_value_type(I) value;
+ typedef oln_iter_type(I) piter;
+ typedef typename mute<I, point>::ret parent_type;
+
+ public:
+ fiorio(const abstract::image<I>& ima) :
+ ima_(ima.exact().clone()), parent_(ima.size()),
+ n_level_roots_cpt_(ima.npoints())
+ {
+ // Init the image of parents.
+ piter p (parent_);
+ for_all (p)
+ parent_[p] = p;
+ }
+
+ /// Entry point of the algorithm.
+ void go()
+ {
+ scan_line();
+ }
+
+
+ /// Images accessors.
+ /// \{
+ public:
+ const I& ima() const
+ {
+ return ima_;
+ }
+
+ const parent_type& parent() const
+ {
+ return parent_;
+ }
+ /// \}
+
+
+ /// Level roots.
+ /// \{
+ /// Get the number of level roots (method 1, using a counter
+ /// updated by the algorithm).
+ unsigned n_level_roots1() const
+ {
+ return n_level_roots_cpt_;
+ }
+
+ /// Get the number of level roots (method 2, computing from the
+ /// PARENT image.
+ unsigned n_level_roots2() const
+ {
+ unsigned n_level_roots = 0;
+ oln_iter_type(parent_type) p(parent_);
+ for_all (p)
+ if (is_level_root(p))
+ ++n_level_roots;
+ return n_level_roots;
+ }
+
+ /// The type of an image of level roots
+ typedef typename mute<parent_type, bool>::ret level_roots_image_type;
+
+ /// \brief Compute the image of level roots.
+ ///
+ /// A value of \a true means that the point is a level root in ima.
+ level_roots_image_type level_roots() const
+ {
+ // Image of level roots.
+ level_roots_image_type level_roots (ima_.size());
+ oln_iter_type(parent_type) p(ima_);
+ for_all (p)
+ level_roots[p] = is_level_root(p);
+ return level_roots;
+ }
+ /// \}
+
+
+ protected:
+ // FIXME: Improve to handle other neighborhoods than 4-c.
+ void scan_line()
+ {
+ // Build the max-tree of each line separately.
+ for (coord i = 0; i < ima_.nrows(); ++i)
+ build_tree_of_line(i);
+ // Then merge all max-trees, line per line.
+ for (coord j = 0; j < ima_.ncols(); ++j)
+ for (coord i = 0; i < ima_.nrows() - 1; ++i)
+ merge(point(i, j), point(i + 1, j));
+ }
+
+ void build_tree_of_line(coord row)
+ {
+ // Start at the second pixel (the first pixel has no left
+ // neighbor.
+ for (coord j = 1; j < ima_.ncols(); ++j)
+ {
+ point left = find_level_root(point(row, j - 1));
+ point this_one = point(row, j);
+ insert(this_one, left);
+ }
+ }
+
+ /// Insert \a p in a tree of which \a n is a neighbor of \a p.
+ void insert(const point& p, const point& n)
+ {
+ point r = find_ancestor(n, ima_[p]);
+ if (ima_[r] <= ima_[p])
+ {
+ parent_[p] = r;
+ if (ima_[r] == ima_[p])
+ // Update the number of level roots.
+ --n_level_roots_cpt_;
+ }
+ else
+ {
+ if (not is_top(r))
+ parent_[p] = parent_[r];
+ parent_[r] = p;
+ }
+ }
+
+ /// \brief Front-end to \a merge_.
+ /// \note Theo calls this method ``update'.
+ void merge(const point& p, const point& q)
+ {
+ // The \a merge_ routine assumes that P has a value greater
+ // or equal to Q; swap them if needed.
+ if (ima_[p] >= ima_[q])
+ merge_(p, q);
+ else
+ merge_(q, p);
+ }
+
+ // FIXME: Turn this recursive method into a loop!
+ void merge_(const point& p, const point& q)
+ {
+ precondition (p != q);
+ precondition (ima_[p] >= ima_[q]);
+
+ point r = find_ancestor(p, ima_[q]);
+ point s = find_level_root(q);
+
+ // Stop the recursion when R and S are equal (i.e., they are
+ // already merged).
+ if (r == s)
+ return;
+
+ point t = parent_[s];
+
+ if (ima_[s] == ima_[r])
+ {
+ parent_[s] = r;
+ // Update the number of level roots.
+ --n_level_roots_cpt_;
+ }
+ else
+ {
+ if (not is_top(r))
+ parent_[s] = parent_[r];
+ parent_[r] = s;
+ }
+ merge_(r, t);
+ }
+
+ /// \note Theo calls this function ``is_root'.
+ bool is_top(const point& p) const
+ {
+ return parent_[p] == p;
+ }
+
+ point find_top(point p) const
+ {
+ while (not is_top(p))
+ p = parent_[p];
+ return p;
+ }
+
+ bool is_level_root(const point& p) const
+ {
+ return
+ is_top(p) ||
+ (ima_[parent_[p]] != ima_[p]);
+ }
+
+ /// \brief Find the level root of the component that P belongs to.
+ /// \note From Theo.
+ point find_level_root(const point& p)
+ {
+ // Is P a level root at the end the routine?
+ if (is_level_root(p))
+ return p;
+ else
+ // Path compression.
+ return parent_[p] = find_level_root(parent_[p]);
+ }
+
+ /// \note From Theo.
+ /// \note Theo calls this method ``anc''.
+ point find_ancestor(point p, const value& level)
+ {
+ while (not is_top(p) and ima_[parent_[p]] >= level)
+ p = find_level_root(parent_[p]);
+ return p;
+ }
+
+ protected:
+ /// \note Theo calls this image ``f''.
+ I ima_;
+ /// \note Theo calls this image ``par''.
+ parent_type parent_;
+ // Counter of level roots (method 1).
+ unsigned n_level_roots_cpt_;
+
+ };
+
+ } // end of namespace oln::lrde::ufmt
+
+ } // end of namespace oln::lrde
+
+} // end of namespace oln
+
+#endif // ! OLENA_LRDE_UFMT_FIORIO_3_HH
--- 10.255/oln.prj
+++ 10.256/oln.prj
@@ -1,13 +1,27 @@
;; -*- Prcs -*-
(Created-By-Prcs-Version 1 3 3)
(Project-Description "Olena")
-(Project-Version oln 10 255)
-(Parent-Version oln 10 254)
-(Version-Log "Fix ChangeLog and add entries for basic_najman in Makefiles(.am).
+(Project-Version oln 10 256)
+(Parent-Version oln 10 251)
+(Version-Log "2006-08-29 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Add a third version of the computation of a the max-tree based on
+ Fiorio's and Gustedt's labelling algorithm.
+
+ * oln/lrde/ufmt/fiorio-3.hh: New file.
+ * oln/lrde/ufmt/bin/fiorio.cc: Handle fiorio-3.hh.
+ Add copyright notice.
+ * oln/lrde/ufmt/bin/Makefile.am (AM_CXXFLAGS): Add -DNDEBUG.
+ (check_PROGRAMS): Add fiorio-3.
+ (fiorio_3_SOURCES, fiorio_3_CPPFLAGS): New.
+ * oln/lrde/ufmt/Makefile.am (noinst_HEADERS): Add fiorio-3.hh.
+ * oln/lrde/ufmt/fiorio-1.hh, oln/lrde/ufmt/fiorio-2.hh: Typo in
+ comment.
+ * oln/lrde/ufmt/README: Update.
")
(New-Version-Log "")
-(Checkin-Time "Mon, 28 Aug 2006 18:31:56 +0200")
-(Checkin-Login berger_c)
+(Checkin-Time "Tue, 29 Aug 2006 14:48:46 +0200")
+(Checkin-Login levill_r)
;; diff-ignore tests/data/.*pbm$
;; diff-ignore .*\.pbm$
;; diff-ignore .*\.pgm$
@@ -36,6 +50,7 @@
"stamp-h\\([0-9]\\)\\?$"
"CVS/"
".cvsignore$"
+ "^_build"
"obsolete/"
"/obsolete/"
"autom4te.cache"
@@ -67,11 +82,15 @@
"^\\(.*/\\)\\?aclocal.m4$"
"/configure$"
"^configure$"
+ "^config\\.site$"
"utilities/morpho/morpho-rules.make$"
"doc/ref/filelists.make$"
"config.h\\(in\\)\\?$"
"doc/ref/ref-level.tex"
"doc/ref/ref-morpho.tex"
+ "^doc/ref/exdoc\\.mk$"
+ "^doc/ref/doxygen\\.config$"
+ "^doc/ref/out/exdoc\\.config$"
"utilities/.*\\.1$"
"^attic/"
"oln-"
@@ -93,6 +112,7 @@
"olena/img/lena16b.ppgm"
"olena/img/lena16b.pgm"
"^tools/swilena/src/.*\\.i"
+ "^tools/swilena/doc/swilena\\.info$"
"olena/img/lena1d.ppbm"
"olena/img/lena1d128.pgm"
"olena/img/lena1d.pppm"
@@ -106,16 +126,10 @@
"olena/img/lena1d16b.ppbm"
"\\.xvpics/"
"old/"
- "^config/config\\.sub$"
- "^doc/ref/exdoc\\.mk$"
- "^doc/ref/out/exdoc\\.config$"
- "^config/config\\.guess$"
- "^doc/ref/doxygen\\.config$"
- "^config/ltmain\\.sh$"
"^libtool$"
- "^_build"
- "^tools/swilena/doc/swilena\\.info$"
- "^config\\.site$"))
+ "^config/ltmain\\.sh$"
+ "^config/config\\.guess$"
+ "^config/config\\.sub$"))
(Project-Keywords)
(Files
@@ -123,7 +137,7 @@
(doc/ChangeLog (oln/o/31_ChangeLog 1.38.1.7.1.5.1.14.1.17 600))
(integre/ChangeLog (oln/q/35_ChangeLog 1.12.1.2.1.51 600))
(metalic/ChangeLog (oln/q/30_ChangeLog 1.3.1.44 600))
- (olena/ChangeLog (oln/o/30_ChangeLog 1.27.1.36.1.3.1.11.1.5.1.64.1.47.1.93.1.27.2.17
600))
+ (olena/ChangeLog (oln/o/30_ChangeLog 1.27.1.36.1.3.1.11.1.5.1.64.1.47.1.93.1.27.2.18
600))
(tools/ChangeLog (oln/o/32_ChangeLog 1.10.1.17 600))
(tools/swilena/ChangeLog (oln/n/37_ChangeLog 1.7.1.48 600))
@@ -1559,7 +1573,7 @@
- (olena/oln/lrde/ufmt/README (oln/x/22_README 1.5 644))
+ (olena/oln/lrde/ufmt/README (oln/x/22_README 1.6 644))
;; Files deleted by depopulate at Fri, 04 Aug 2006 18:41:16 +0200,
;; from version 10.245(w), by theo:
@@ -1571,17 +1585,29 @@
; (olena/oln/lrde/ufmt/bin/exe/basic_salembier () :no-keywords)
; (olena/oln/lrde/ufmt/bin/exe/basic_maxtree () :no-keywords)
+;; Files deleted by depopulate at Thu, 17 Aug 2006 10:46:05 +0200,
+;; from version 10.246(w), by levill_r:
+
+ ; (libtool ())
+ ; (config/ltmain.sh ())
+ ; (config/config.sub ())
+ ; (config/config.guess ())
+ ; (doc/ref/exdoc.mk ())
+ ; (doc/ref/doxygen.config ())
+ ; (doc/ref/out/exdoc.config ())
+
+;; Files added by populate at Fri, 25 Aug 2006 17:30:22 +0200,
+;; to version 10.248(w), by levill_r:
(TODO (oln/x/23_TODO 1.1 644))
(olena/TODO (oln/x/24_TODO 1.1 644))
(olena/oln/lrde/Makefile.am (oln/x/25_Makefile.a 1.1 644))
- (olena/oln/lrde/ufmt/Makefile.am (oln/x/26_Makefile.a 1.2 644))
- (olena/oln/lrde/ufmt/fiorio-1.hh (oln/x/27_fiorio-1.h 1.2 644))
- (olena/oln/lrde/ufmt/fiorio-2.hh (oln/x/28_fiorio-2.h 1.2 644))
- (olena/oln/lrde/ufmt/bin/Makefile.am (oln/x/29_Makefile.a 1.2 644))
- (olena/oln/lrde/ufmt/bin/fiorio.cc (oln/x/30_fiorio.cc 1.2 644))
-;; Files added by populate at Mon, 28 Aug 2006 10:51:36 +0200,
-;; to version 10.249(w), by theo:
+ (olena/oln/lrde/ufmt/Makefile.am (oln/x/26_Makefile.a 1.3 644))
+ (olena/oln/lrde/ufmt/fiorio-1.hh (oln/x/27_fiorio-1.h 1.3 644))
+ (olena/oln/lrde/ufmt/fiorio-2.hh (oln/x/28_fiorio-2.h 1.3 644))
+ (olena/oln/lrde/ufmt/bin/Makefile.am (oln/x/29_Makefile.a 1.3 644))
+ (olena/oln/lrde/ufmt/bin/fiorio.cc (oln/x/30_fiorio.cc 1.3 644))
+
(olena/oln/lrde/ufmt/hpx_maxtree.hh (oln/x/31_hpx_maxtre 1.1 644))
(olena/oln/lrde/ufmt/attributes.hh (oln/x/32_attributes 1.1 644))
@@ -1590,38 +1616,29 @@
(olena/oln/lrde/ufmt/bin/hdx_maxtree.cc (oln/x/35_hdx_maxtre 1.1 644))
(olena/oln/lrde/ufmt/bin/gen_worst_salembier.cc (oln/x/36_gen_worst_ 1.1 644))
(olena/oln/lrde/ufmt/bin/hpx_maxtree.cc (oln/x/37_hpx_maxtre 1.1 644))
-
-;; Files added by populate at Mon, 28 Aug 2006 14:40:45 +0200,
-;; to version 10.252(w), by theo:
-
(olena/oln/lrde/ufmt/bin/sp_maxtree.cc (oln/x/38_sp_maxtree 1.1 644))
-
-;; Files added by populate at Mon, 28 Aug 2006 14:40:49 +0200,
-;; to version 10.252(w), by theo:
-
(olena/oln/lrde/ufmt/bin/spx_maxtree.cc (oln/x/39_spx_maxtre 1.1 644))
-
-;; Files added by populate at Mon, 28 Aug 2006 14:40:54 +0200,
-;; to version 10.252(w), by theo:
-
(olena/oln/lrde/ufmt/spx_maxtree.hh (oln/x/40_spx_maxtre 1.1 644))
-
-;; Files added by populate at Mon, 28 Aug 2006 14:40:58 +0200,
-;; to version 10.252(w), by theo:
-
(olena/oln/lrde/ufmt/sp_maxtree.hh (oln/x/41_sp_maxtree 1.1 644))
-
-;; Files added by populate at Mon, 28 Aug 2006 18:08:07 +0200,
-;; to version 10.253(w), by berger_c:
-
(olena/oln/lrde/ufmt/basic_najman.hh (oln/x/42_basic_najm 1.1 644))
+ (olena/oln/lrde/ufmt/bin/basic_najman.cc (oln/x/43_basic_najm 1.1 644))
-;; Files added by populate at Mon, 28 Aug 2006 18:08:14 +0200,
-;; to version 10.253(w), by berger_c:
+;; Files added by populate at Tue, 29 Aug 2006 11:05:19 +0200,
+;; to version 10.251(w), by levill_r:
- (olena/oln/lrde/ufmt/bin/basic_najman.cc (oln/x/43_basic_najm 1.1 644))
+ (olena/oln/lrde/ufmt/fiorio-3.hh (oln/x/44_fiorio-3.h 1.1 644))
)
(Merge-Parents
- (10.254 complete)
+ (10.255 complete
+ (olena/ChangeLog olena/ChangeLog olena/ChangeLog r) (olena/oln/lrde/ufmt/utils.hh
olena/oln/lrde/ufmt/utils.hh olena/oln/lrde/ufmt/utils.hh r)
+ (olena/oln/lrde/ufmt/rpc_maxtree.hh olena/oln/lrde/ufmt/rpc_maxtree.hh
olena/oln/lrde/ufmt/rpc_maxtree.hh r) (olena/oln/lrde/ufmt/hpc_maxtree.hh
olena/oln/lrde/ufmt/hpc_maxtree.hh olena/oln/lrde/ufmt/hpc_maxtree.hh r)
+ (olena/oln/lrde/ufmt/README olena/oln/lrde/ufmt/README olena/oln/lrde/ufmt/README m)
(olena/oln/lrde/ufmt/Makefile.am olena/oln/lrde/ufmt/Makefile.am
olena/oln/lrde/ufmt/Makefile.am m)
+ (olena/oln/lrde/ufmt/bin/Makefile.am olena/oln/lrde/ufmt/bin/Makefile.am
olena/oln/lrde/ufmt/bin/Makefile.am m) (() () olena/oln/lrde/ufmt/hpx_maxtree.hh a)
+ (() () olena/oln/lrde/ufmt/attributes.hh a) (() () olena/oln/lrde/ufmt/hdx_maxtree.hh
a)
+ (() () olena/oln/lrde/ufmt/attributes_bis.hh a) (() ()
olena/oln/lrde/ufmt/bin/hdx_maxtree.cc a)
+ (() () olena/oln/lrde/ufmt/bin/gen_worst_salembier.cc a) (() ()
olena/oln/lrde/ufmt/bin/hpx_maxtree.cc a)
+ (() () olena/oln/lrde/ufmt/bin/sp_maxtree.cc a) (() ()
olena/oln/lrde/ufmt/bin/spx_maxtree.cc a)
+ (() () olena/oln/lrde/ufmt/spx_maxtree.hh a) (() () olena/oln/lrde/ufmt/sp_maxtree.hh
a)
+ (() () olena/oln/lrde/ufmt/basic_najman.hh a) (() ()
olena/oln/lrde/ufmt/bin/basic_najman.cc a))
)
(New-Merge-Parents)