Merge branch 'yaml_load_and_save' of ssh://localhost:9001/gitroot/eodev/eodev
This commit is contained in:
commit
0a37f66ef0
4 changed files with 72 additions and 860 deletions
|
|
@ -20,6 +20,10 @@
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
|
#ifdef HAVE_LIBYAML_CPP
|
||||||
|
#include <yaml-cpp/serializable.h>
|
||||||
|
#endif // HAVE_LIBYAML_CPP
|
||||||
|
|
||||||
|
|
||||||
namespace mlp
|
namespace mlp
|
||||||
{
|
{
|
||||||
|
|
@ -125,6 +129,21 @@ namespace mlp
|
||||||
if ( probability >= 1.0 || rng.uniform() < probability)
|
if ( probability >= 1.0 || rng.uniform() < probability)
|
||||||
perturb_num(bias, magnitude);
|
perturb_num(bias, magnitude);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_LIBYAML_CPP
|
||||||
|
YAML_SERIALIZABLE_AUTO(neuron)
|
||||||
|
void emit_yaml(YAML::Emitter&out) const {
|
||||||
|
out << YAML::BeginMap;
|
||||||
|
out << YAML::Key << "Class" << YAML::Value << "mlp::neuron";
|
||||||
|
YAML_EMIT_MEMBER(out,bias);
|
||||||
|
YAML_EMIT_MEMBER(out,weight);
|
||||||
|
out << YAML::EndMap;
|
||||||
|
}
|
||||||
|
void load_yaml(const YAML::Node& node) {
|
||||||
|
YAML_LOAD_MEMBER(node, bias);
|
||||||
|
YAML_LOAD_MEMBER(node, weight);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -140,8 +159,10 @@ namespace std {
|
||||||
return is >> n.bias >> n.weight;
|
return is >> n.bias >> n.weight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
namespace mlp {
|
namespace mlp {
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
@ -190,6 +211,21 @@ namespace mlp {
|
||||||
for(iterator n = begin(); n != end(); ++n)
|
for(iterator n = begin(); n != end(); ++n)
|
||||||
n->perturb();
|
n->perturb();
|
||||||
}
|
}
|
||||||
|
#ifdef HAVE_LIBYAML_CPP
|
||||||
|
friend ostream& operator<<(YAML::Emitter& e, const layer &l) {
|
||||||
|
e << ((std::vector<neuron>)l);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend void operator>>(const YAML::Node& n, layer &l) {
|
||||||
|
// These temporary variable shenanegins are necessary because
|
||||||
|
// the compiler gets very confused about which template operator>>
|
||||||
|
// function to use.
|
||||||
|
// The following does not work: n >> l;
|
||||||
|
// So we use a temporary variable thusly:
|
||||||
|
std::vector<mlp::neuron> *obviously_a_vector = &l;
|
||||||
|
n >> *obviously_a_vector;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -222,6 +258,9 @@ namespace mlp {
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
class net: public std::vector<layer>
|
class net: public std::vector<layer>
|
||||||
|
#ifdef HAVE_LIBYAML_CPP
|
||||||
|
, public YAML::Serializable
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
net(const unsigned& num_inputs = 0,
|
net(const unsigned& num_inputs = 0,
|
||||||
|
|
@ -235,6 +274,18 @@ namespace mlp {
|
||||||
net(istream &is) {
|
net(istream &is) {
|
||||||
load(is);
|
load(is);
|
||||||
}
|
}
|
||||||
|
#ifdef HAVE_LIBYAML_CPP
|
||||||
|
YAML_SERIALIZABLE_AUTO(net)
|
||||||
|
void emit_members(YAML::Emitter&out) const {
|
||||||
|
const std::vector<layer>* me_as_layer_vector = this;
|
||||||
|
out << YAML::Key << "layers" << YAML::Value << *me_as_layer_vector;
|
||||||
|
}
|
||||||
|
|
||||||
|
void load_members(const YAML::Node& node) {
|
||||||
|
std::vector<layer>* me_as_layer_vector = this;
|
||||||
|
node["layers"] >> *me_as_layer_vector;
|
||||||
|
}
|
||||||
|
#endif // HAVE_LIBYAML_CPP
|
||||||
|
|
||||||
/** Virtual destructor */
|
/** Virtual destructor */
|
||||||
virtual ~net() {};
|
virtual ~net() {};
|
||||||
|
|
@ -305,10 +356,13 @@ namespace mlp {
|
||||||
for(const_iterator l = begin(); l != end(); ++l)
|
for(const_iterator l = begin(); l != end(); ++l)
|
||||||
os << l->size() << " ";
|
os << l->size() << " ";
|
||||||
os << "\n";
|
os << "\n";
|
||||||
os << *this;
|
os << "< ";
|
||||||
os << "\n";
|
for(const_iterator l = begin(); l != end(); ++l)
|
||||||
|
os << *l << " ";
|
||||||
|
os << ">\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
unsigned num_inputs() const { return front().front().length() - 1; }
|
unsigned num_inputs() const { return front().front().length() - 1; }
|
||||||
unsigned num_outputs() const { return back().size(); }
|
unsigned num_outputs() const { return back().size(); }
|
||||||
unsigned num_hidden_layers() const {
|
unsigned num_hidden_layers() const {
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,22 @@ AC_TYPE_SIZE_T
|
||||||
dnl Checks for libraries and library functions.
|
dnl Checks for libraries and library functions.
|
||||||
AC_CHECK_LIB(m, cos)
|
AC_CHECK_LIB(m, cos)
|
||||||
|
|
||||||
|
|
||||||
|
dnl Check for C++ library yaml-cpp (AC_CHEC_LIB only supports checking for C libraries)
|
||||||
|
AC_MSG_CHECKING('libyaml-cpp available')
|
||||||
|
AC_LANG(C++)
|
||||||
|
SAVED_LDFLAGS=$LDFLAGS
|
||||||
|
LDFLAGS="$LDFLAGS -lyaml-cpp"
|
||||||
|
AC_LINK_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([#include <yaml-cpp/yaml.h>], [YAML::Emitter dummy])],
|
||||||
|
[ AC_MSG_RESULT([yes])
|
||||||
|
SAVED_LDFLAGS="$SAVED_LDFLAGS -lyaml-cpp"
|
||||||
|
AC_DEFINE(HAVE_LIBYAML_CPP,1,[Define to 1 if you have libyaml-cpp installed]) ],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
LDFLAGS=$SAVED_LDFLAGS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dnl user-switches
|
dnl user-switches
|
||||||
AC_APPLICATIONS
|
AC_APPLICATIONS
|
||||||
AC_DEBUG
|
AC_DEBUG
|
||||||
|
|
|
||||||
|
|
@ -1,659 +0,0 @@
|
||||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
|
||||||
# with or without modifications, as long as this notice is preserved.
|
|
||||||
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
||||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
# PARTICULAR PURPOSE.
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
SHELL = @SHELL@
|
|
||||||
|
|
||||||
srcdir = @srcdir@
|
|
||||||
top_srcdir = @top_srcdir@
|
|
||||||
VPATH = @srcdir@
|
|
||||||
prefix = @prefix@
|
|
||||||
exec_prefix = @exec_prefix@
|
|
||||||
|
|
||||||
bindir = @bindir@
|
|
||||||
sbindir = @sbindir@
|
|
||||||
libexecdir = @libexecdir@
|
|
||||||
datadir = @datadir@
|
|
||||||
sysconfdir = @sysconfdir@
|
|
||||||
sharedstatedir = @sharedstatedir@
|
|
||||||
localstatedir = @localstatedir@
|
|
||||||
libdir = @libdir@
|
|
||||||
infodir = @infodir@
|
|
||||||
mandir = @mandir@
|
|
||||||
includedir = @includedir@
|
|
||||||
oldincludedir = /usr/include
|
|
||||||
|
|
||||||
DESTDIR =
|
|
||||||
|
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
|
||||||
|
|
||||||
top_builddir = ..
|
|
||||||
|
|
||||||
ACLOCAL = @ACLOCAL@
|
|
||||||
AUTOCONF = @AUTOCONF@
|
|
||||||
AUTOMAKE = @AUTOMAKE@
|
|
||||||
AUTOHEADER = @AUTOHEADER@
|
|
||||||
|
|
||||||
INSTALL = @INSTALL@
|
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
||||||
transform = @program_transform_name@
|
|
||||||
|
|
||||||
NORMAL_INSTALL = :
|
|
||||||
PRE_INSTALL = :
|
|
||||||
POST_INSTALL = :
|
|
||||||
NORMAL_UNINSTALL = :
|
|
||||||
PRE_UNINSTALL = :
|
|
||||||
POST_UNINSTALL = :
|
|
||||||
host_alias = @host_alias@
|
|
||||||
host_triplet = @host@
|
|
||||||
AS = @AS@
|
|
||||||
CC = @CC@
|
|
||||||
CXX = @CXX@
|
|
||||||
DLLTOOL = @DLLTOOL@
|
|
||||||
LD = @LD@
|
|
||||||
LIBTOOL = @LIBTOOL@
|
|
||||||
LN_S = @LN_S@
|
|
||||||
MAINT = @MAINT@
|
|
||||||
MAKEINFO = @MAKEINFO@
|
|
||||||
NM = @NM@
|
|
||||||
OBJDUMP = @OBJDUMP@
|
|
||||||
PACKAGE = @PACKAGE@
|
|
||||||
RANLIB = @RANLIB@
|
|
||||||
VERSION = @VERSION@
|
|
||||||
|
|
||||||
DEPS = $(top_builddir)/src/libeo.a $(top_builddir)/src/obsolete/libeoobsolete.a $(top_builddir)/src/utils/libeoutils.a
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
INCLUDES = -I$(top_builddir)/src
|
|
||||||
LDADDS = $(top_builddir)/src/libeo.a $(top_builddir)/src/obsolete/libeoobsolete.a $(top_builddir)/src/utils/libeoutils.a
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
noinst_PROGRAMS = t-eobreeder t-eoinclusion t-eoinsertion t-eo t-eofitness t-eoproblem t-eobin t-eolottery t-eo2dVector t-eogeneration t-eoEasyEA t-eoNonUniform t-eoUniform t-eoRandom t-eoStateAndParser t-eoAtomOps t-selectOne t-eoGOpSel t-eoVector t-eoCheckpointing t-eoExternalEO t-eoESFull
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoVector_SOURCES = t-eoVector.cpp
|
|
||||||
t_eoVector_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoVector_LDFLAGS = -lm
|
|
||||||
t_eoVector_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoGOpSel_SOURCES = t-eoGOpSel.cpp
|
|
||||||
t_eoGOpSel_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoGOpSel_LDFLAGS = -lm
|
|
||||||
t_eoGOpSel_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_selectOne_SOURCES = t-selectOne.cpp
|
|
||||||
t_selectOne_DEPENDENCIES = $(DEPS)
|
|
||||||
t_selectOne_LDFLAGS = -lm
|
|
||||||
t_selectOne_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoAtomOps_SOURCES = t-eoAtomOps.cpp
|
|
||||||
t_eoAtomOps_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoAtomOps_LDFLAGS = -lm
|
|
||||||
t_eoAtomOps_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
#disabled
|
|
||||||
#t_eoESOps_SOURCES = t-eoESOps.cpp
|
|
||||||
#t_eoESOps_DEPENDENCIES = $(DEPS)
|
|
||||||
#t_eoESOps_LDFLAGS = -lm
|
|
||||||
#t_eoESOps_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoESFull_SOURCES = t-eoESFull.cpp real_value.h
|
|
||||||
t_eoESFull_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoESFull_LDFLAGS = -lm
|
|
||||||
t_eoESFull_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoNonUniform_SOURCES = t-eoNonUniform.cpp
|
|
||||||
t_eoNonUniform_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoNonUniform_LDFLAGS = -lm
|
|
||||||
t_eoNonUniform_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoUniform_SOURCES = t-eoUniform.cpp
|
|
||||||
t_eoUniform_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoUniform_LDFLAGS = -lm
|
|
||||||
t_eoUniform_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoRandom_SOURCES = t-eoRandom.cpp
|
|
||||||
t_eoRandom_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoRandom_LDFLAGS = -lm
|
|
||||||
t_eoRandom_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eogeneration_SOURCES = t-eogeneration.cpp
|
|
||||||
t_eogeneration_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eogeneration_LDFLAGS = -lm
|
|
||||||
t_eogeneration_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoEasyEA_SOURCES = t-eoEasyEA.cpp binary_value.h
|
|
||||||
t_eoEasyEA_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoEasyEA_LDFLAGS = -lm
|
|
||||||
t_eoEasyEA_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eobreeder_SOURCES = t-eobreeder.cpp binary_value.h
|
|
||||||
t_eobreeder_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eobreeder_LDFLAGS = -lm
|
|
||||||
t_eobreeder_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoinclusion_SOURCES = t-eoinclusion.cpp
|
|
||||||
t_eoinclusion_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoinclusion_LDFLAGS = -lm
|
|
||||||
t_eoinclusion_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoinsertion_SOURCES = t-eoinsertion.cpp
|
|
||||||
t_eoinsertion_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoinsertion_LDFLAGS = -lm
|
|
||||||
t_eoinsertion_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eo_SOURCES = t-eo.cpp
|
|
||||||
t_eo_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eo_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eofitness_SOURCES = t-eofitness.cpp
|
|
||||||
t_eofitness_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eofitness_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoproblem_SOURCES = t-eoproblem.cpp
|
|
||||||
t_eoproblem_LDFLAGS = -lm
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eobin_SOURCES = t-eobin.cpp
|
|
||||||
t_eobin_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eobin_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eolottery_SOURCES = t-eolottery.cpp
|
|
||||||
t_eolottery_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eolottery_LDFLAGS = -lm
|
|
||||||
t_eolottery_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eo2dVector_SOURCES = t-eo2dVector.cc
|
|
||||||
t_eo2dVector_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eo2dVector_LDFLAGS = -lm
|
|
||||||
t_eo2dVector_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoStateAndParser_SOURCES = t-eoStateAndParser.cpp
|
|
||||||
t_eoStateAndParser_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoStateAndParser_LDFLAGS = -lm
|
|
||||||
t_eoStateAndParser_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoCheckpointing_SOURCES = t-eoCheckpointing.cpp
|
|
||||||
t_eoCheckpointing_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoCheckpointing_LDFLAGS = -lm
|
|
||||||
t_eoCheckpointing_LDADD = $(LDADDS)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
t_eoExternalEO_SOURCES = t-eoExternalEO.cpp
|
|
||||||
t_eoExternalEO_DEPENDENCIES = $(DEPS)
|
|
||||||
t_eoExternalEO_LDFLAGS = -lm
|
|
||||||
t_eoExternalEO_LDADD = $(LDADDS)
|
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
|
||||||
CONFIG_CLEAN_FILES =
|
|
||||||
PROGRAMS = $(noinst_PROGRAMS)
|
|
||||||
|
|
||||||
|
|
||||||
DEFS = @DEFS@ -I. -I$(srcdir)
|
|
||||||
CPPFLAGS = @CPPFLAGS@
|
|
||||||
LDFLAGS = @LDFLAGS@
|
|
||||||
LIBS = @LIBS@
|
|
||||||
t_eobreeder_OBJECTS = t-eobreeder.o
|
|
||||||
t_eoinclusion_OBJECTS = t-eoinclusion.o
|
|
||||||
t_eoinsertion_OBJECTS = t-eoinsertion.o
|
|
||||||
t_eo_OBJECTS = t-eo.o
|
|
||||||
t_eo_LDFLAGS =
|
|
||||||
t_eofitness_OBJECTS = t-eofitness.o
|
|
||||||
t_eofitness_LDFLAGS =
|
|
||||||
t_eoproblem_OBJECTS = t-eoproblem.o
|
|
||||||
t_eoproblem_LDADD = $(LDADD)
|
|
||||||
t_eoproblem_DEPENDENCIES =
|
|
||||||
t_eobin_OBJECTS = t-eobin.o
|
|
||||||
t_eobin_LDFLAGS =
|
|
||||||
t_eolottery_OBJECTS = t-eolottery.o
|
|
||||||
t_eo2dVector_OBJECTS = t-eo2dVector.o
|
|
||||||
t_eogeneration_OBJECTS = t-eogeneration.o
|
|
||||||
t_eoEasyEA_OBJECTS = t-eoEasyEA.o
|
|
||||||
t_eoNonUniform_OBJECTS = t-eoNonUniform.o
|
|
||||||
t_eoUniform_OBJECTS = t-eoUniform.o
|
|
||||||
t_eoRandom_OBJECTS = t-eoRandom.o
|
|
||||||
t_eoStateAndParser_OBJECTS = t-eoStateAndParser.o
|
|
||||||
t_eoAtomOps_OBJECTS = t-eoAtomOps.o
|
|
||||||
t_selectOne_OBJECTS = t-selectOne.o
|
|
||||||
t_eoGOpSel_OBJECTS = t-eoGOpSel.o
|
|
||||||
t_eoVector_OBJECTS = t-eoVector.o
|
|
||||||
t_eoCheckpointing_OBJECTS = t-eoCheckpointing.o
|
|
||||||
t_eoExternalEO_OBJECTS = t-eoExternalEO.o
|
|
||||||
t_eoESFull_OBJECTS = t-eoESFull.o
|
|
||||||
CXXFLAGS = @CXXFLAGS@
|
|
||||||
CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
|
||||||
LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
|
||||||
CXXLD = $(CXX)
|
|
||||||
CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
|
|
||||||
CFLAGS = @CFLAGS@
|
|
||||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
|
||||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
|
||||||
CCLD = $(CC)
|
|
||||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
|
||||||
DIST_COMMON = Makefile.am Makefile.in
|
|
||||||
|
|
||||||
|
|
||||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
|
||||||
|
|
||||||
TAR = gtar
|
|
||||||
GZIP_ENV = --best
|
|
||||||
DEP_FILES = .deps/t-eo.P .deps/t-eo2dVector.P .deps/t-eoAtomOps.P \
|
|
||||||
.deps/t-eoCheckpointing.P .deps/t-eoESFull.P .deps/t-eoEasyEA.P \
|
|
||||||
.deps/t-eoExternalEO.P .deps/t-eoGOpSel.P .deps/t-eoNonUniform.P \
|
|
||||||
.deps/t-eoRandom.P .deps/t-eoStateAndParser.P .deps/t-eoUniform.P \
|
|
||||||
.deps/t-eoVector.P .deps/t-eobin.P .deps/t-eobreeder.P \
|
|
||||||
.deps/t-eofitness.P .deps/t-eogeneration.P .deps/t-eoinclusion.P \
|
|
||||||
.deps/t-eoinsertion.P .deps/t-eolottery.P .deps/t-eoproblem.P \
|
|
||||||
.deps/t-selectOne.P
|
|
||||||
SOURCES = $(t_eobreeder_SOURCES) $(t_eoinclusion_SOURCES) $(t_eoinsertion_SOURCES) $(t_eo_SOURCES) $(t_eofitness_SOURCES) $(t_eoproblem_SOURCES) $(t_eobin_SOURCES) $(t_eolottery_SOURCES) $(t_eo2dVector_SOURCES) $(t_eogeneration_SOURCES) $(t_eoEasyEA_SOURCES) $(t_eoNonUniform_SOURCES) $(t_eoUniform_SOURCES) $(t_eoRandom_SOURCES) $(t_eoStateAndParser_SOURCES) $(t_eoAtomOps_SOURCES) $(t_selectOne_SOURCES) $(t_eoGOpSel_SOURCES) $(t_eoVector_SOURCES) $(t_eoCheckpointing_SOURCES) $(t_eoExternalEO_SOURCES) $(t_eoESFull_SOURCES)
|
|
||||||
OBJECTS = $(t_eobreeder_OBJECTS) $(t_eoinclusion_OBJECTS) $(t_eoinsertion_OBJECTS) $(t_eo_OBJECTS) $(t_eofitness_OBJECTS) $(t_eoproblem_OBJECTS) $(t_eobin_OBJECTS) $(t_eolottery_OBJECTS) $(t_eo2dVector_OBJECTS) $(t_eogeneration_OBJECTS) $(t_eoEasyEA_OBJECTS) $(t_eoNonUniform_OBJECTS) $(t_eoUniform_OBJECTS) $(t_eoRandom_OBJECTS) $(t_eoStateAndParser_OBJECTS) $(t_eoAtomOps_OBJECTS) $(t_selectOne_OBJECTS) $(t_eoGOpSel_OBJECTS) $(t_eoVector_OBJECTS) $(t_eoCheckpointing_OBJECTS) $(t_eoExternalEO_OBJECTS) $(t_eoESFull_OBJECTS)
|
|
||||||
|
|
||||||
all: all-redirect
|
|
||||||
.SUFFIXES:
|
|
||||||
.SUFFIXES: .S .c .cc .cpp .lo .o .s
|
|
||||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
|
||||||
cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile
|
|
||||||
|
|
||||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
|
|
||||||
cd $(top_builddir) \
|
|
||||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
|
||||||
|
|
||||||
|
|
||||||
mostlyclean-noinstPROGRAMS:
|
|
||||||
|
|
||||||
clean-noinstPROGRAMS:
|
|
||||||
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
|
|
||||||
|
|
||||||
distclean-noinstPROGRAMS:
|
|
||||||
|
|
||||||
maintainer-clean-noinstPROGRAMS:
|
|
||||||
|
|
||||||
.s.o:
|
|
||||||
$(COMPILE) -c $<
|
|
||||||
|
|
||||||
.S.o:
|
|
||||||
$(COMPILE) -c $<
|
|
||||||
|
|
||||||
mostlyclean-compile:
|
|
||||||
-rm -f *.o core *.core
|
|
||||||
|
|
||||||
clean-compile:
|
|
||||||
|
|
||||||
distclean-compile:
|
|
||||||
-rm -f *.tab.c
|
|
||||||
|
|
||||||
maintainer-clean-compile:
|
|
||||||
|
|
||||||
.s.lo:
|
|
||||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
|
||||||
|
|
||||||
.S.lo:
|
|
||||||
$(LIBTOOL) --mode=compile $(COMPILE) -c $<
|
|
||||||
|
|
||||||
mostlyclean-libtool:
|
|
||||||
-rm -f *.lo
|
|
||||||
|
|
||||||
clean-libtool:
|
|
||||||
-rm -rf .libs _libs
|
|
||||||
|
|
||||||
distclean-libtool:
|
|
||||||
|
|
||||||
maintainer-clean-libtool:
|
|
||||||
|
|
||||||
t-eobreeder: $(t_eobreeder_OBJECTS) $(t_eobreeder_DEPENDENCIES)
|
|
||||||
@rm -f t-eobreeder
|
|
||||||
$(CXXLINK) $(t_eobreeder_LDFLAGS) $(t_eobreeder_OBJECTS) $(t_eobreeder_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoinclusion: $(t_eoinclusion_OBJECTS) $(t_eoinclusion_DEPENDENCIES)
|
|
||||||
@rm -f t-eoinclusion
|
|
||||||
$(CXXLINK) $(t_eoinclusion_LDFLAGS) $(t_eoinclusion_OBJECTS) $(t_eoinclusion_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoinsertion: $(t_eoinsertion_OBJECTS) $(t_eoinsertion_DEPENDENCIES)
|
|
||||||
@rm -f t-eoinsertion
|
|
||||||
$(CXXLINK) $(t_eoinsertion_LDFLAGS) $(t_eoinsertion_OBJECTS) $(t_eoinsertion_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eo: $(t_eo_OBJECTS) $(t_eo_DEPENDENCIES)
|
|
||||||
@rm -f t-eo
|
|
||||||
$(CXXLINK) $(t_eo_LDFLAGS) $(t_eo_OBJECTS) $(t_eo_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eofitness: $(t_eofitness_OBJECTS) $(t_eofitness_DEPENDENCIES)
|
|
||||||
@rm -f t-eofitness
|
|
||||||
$(CXXLINK) $(t_eofitness_LDFLAGS) $(t_eofitness_OBJECTS) $(t_eofitness_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoproblem: $(t_eoproblem_OBJECTS) $(t_eoproblem_DEPENDENCIES)
|
|
||||||
@rm -f t-eoproblem
|
|
||||||
$(CXXLINK) $(t_eoproblem_LDFLAGS) $(t_eoproblem_OBJECTS) $(t_eoproblem_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eobin: $(t_eobin_OBJECTS) $(t_eobin_DEPENDENCIES)
|
|
||||||
@rm -f t-eobin
|
|
||||||
$(CXXLINK) $(t_eobin_LDFLAGS) $(t_eobin_OBJECTS) $(t_eobin_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eolottery: $(t_eolottery_OBJECTS) $(t_eolottery_DEPENDENCIES)
|
|
||||||
@rm -f t-eolottery
|
|
||||||
$(CXXLINK) $(t_eolottery_LDFLAGS) $(t_eolottery_OBJECTS) $(t_eolottery_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eo2dVector: $(t_eo2dVector_OBJECTS) $(t_eo2dVector_DEPENDENCIES)
|
|
||||||
@rm -f t-eo2dVector
|
|
||||||
$(CXXLINK) $(t_eo2dVector_LDFLAGS) $(t_eo2dVector_OBJECTS) $(t_eo2dVector_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eogeneration: $(t_eogeneration_OBJECTS) $(t_eogeneration_DEPENDENCIES)
|
|
||||||
@rm -f t-eogeneration
|
|
||||||
$(CXXLINK) $(t_eogeneration_LDFLAGS) $(t_eogeneration_OBJECTS) $(t_eogeneration_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoEasyEA: $(t_eoEasyEA_OBJECTS) $(t_eoEasyEA_DEPENDENCIES)
|
|
||||||
@rm -f t-eoEasyEA
|
|
||||||
$(CXXLINK) $(t_eoEasyEA_LDFLAGS) $(t_eoEasyEA_OBJECTS) $(t_eoEasyEA_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoNonUniform: $(t_eoNonUniform_OBJECTS) $(t_eoNonUniform_DEPENDENCIES)
|
|
||||||
@rm -f t-eoNonUniform
|
|
||||||
$(CXXLINK) $(t_eoNonUniform_LDFLAGS) $(t_eoNonUniform_OBJECTS) $(t_eoNonUniform_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoUniform: $(t_eoUniform_OBJECTS) $(t_eoUniform_DEPENDENCIES)
|
|
||||||
@rm -f t-eoUniform
|
|
||||||
$(CXXLINK) $(t_eoUniform_LDFLAGS) $(t_eoUniform_OBJECTS) $(t_eoUniform_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoRandom: $(t_eoRandom_OBJECTS) $(t_eoRandom_DEPENDENCIES)
|
|
||||||
@rm -f t-eoRandom
|
|
||||||
$(CXXLINK) $(t_eoRandom_LDFLAGS) $(t_eoRandom_OBJECTS) $(t_eoRandom_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoStateAndParser: $(t_eoStateAndParser_OBJECTS) $(t_eoStateAndParser_DEPENDENCIES)
|
|
||||||
@rm -f t-eoStateAndParser
|
|
||||||
$(CXXLINK) $(t_eoStateAndParser_LDFLAGS) $(t_eoStateAndParser_OBJECTS) $(t_eoStateAndParser_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoAtomOps: $(t_eoAtomOps_OBJECTS) $(t_eoAtomOps_DEPENDENCIES)
|
|
||||||
@rm -f t-eoAtomOps
|
|
||||||
$(CXXLINK) $(t_eoAtomOps_LDFLAGS) $(t_eoAtomOps_OBJECTS) $(t_eoAtomOps_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-selectOne: $(t_selectOne_OBJECTS) $(t_selectOne_DEPENDENCIES)
|
|
||||||
@rm -f t-selectOne
|
|
||||||
$(CXXLINK) $(t_selectOne_LDFLAGS) $(t_selectOne_OBJECTS) $(t_selectOne_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoGOpSel: $(t_eoGOpSel_OBJECTS) $(t_eoGOpSel_DEPENDENCIES)
|
|
||||||
@rm -f t-eoGOpSel
|
|
||||||
$(CXXLINK) $(t_eoGOpSel_LDFLAGS) $(t_eoGOpSel_OBJECTS) $(t_eoGOpSel_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoVector: $(t_eoVector_OBJECTS) $(t_eoVector_DEPENDENCIES)
|
|
||||||
@rm -f t-eoVector
|
|
||||||
$(CXXLINK) $(t_eoVector_LDFLAGS) $(t_eoVector_OBJECTS) $(t_eoVector_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoCheckpointing: $(t_eoCheckpointing_OBJECTS) $(t_eoCheckpointing_DEPENDENCIES)
|
|
||||||
@rm -f t-eoCheckpointing
|
|
||||||
$(CXXLINK) $(t_eoCheckpointing_LDFLAGS) $(t_eoCheckpointing_OBJECTS) $(t_eoCheckpointing_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoExternalEO: $(t_eoExternalEO_OBJECTS) $(t_eoExternalEO_DEPENDENCIES)
|
|
||||||
@rm -f t-eoExternalEO
|
|
||||||
$(CXXLINK) $(t_eoExternalEO_LDFLAGS) $(t_eoExternalEO_OBJECTS) $(t_eoExternalEO_LDADD) $(LIBS)
|
|
||||||
|
|
||||||
t-eoESFull: $(t_eoESFull_OBJECTS) $(t_eoESFull_DEPENDENCIES)
|
|
||||||
@rm -f t-eoESFull
|
|
||||||
$(CXXLINK) $(t_eoESFull_LDFLAGS) $(t_eoESFull_OBJECTS) $(t_eoESFull_LDADD) $(LIBS)
|
|
||||||
.cc.o:
|
|
||||||
$(CXXCOMPILE) -c $<
|
|
||||||
.cc.lo:
|
|
||||||
$(LTCXXCOMPILE) -c $<
|
|
||||||
.cpp.o:
|
|
||||||
$(CXXCOMPILE) -c $<
|
|
||||||
.cpp.lo:
|
|
||||||
$(LTCXXCOMPILE) -c $<
|
|
||||||
|
|
||||||
tags: TAGS
|
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP)
|
|
||||||
list='$(SOURCES) $(HEADERS)'; \
|
|
||||||
unique=`for i in $$list; do echo $$i; done | \
|
|
||||||
awk ' { files[$$0] = 1; } \
|
|
||||||
END { for (i in files) print i; }'`; \
|
|
||||||
here=`pwd` && cd $(srcdir) \
|
|
||||||
&& mkid -f$$here/ID $$unique $(LISP)
|
|
||||||
|
|
||||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
|
||||||
tags=; \
|
|
||||||
here=`pwd`; \
|
|
||||||
list='$(SOURCES) $(HEADERS)'; \
|
|
||||||
unique=`for i in $$list; do echo $$i; done | \
|
|
||||||
awk ' { files[$$0] = 1; } \
|
|
||||||
END { for (i in files) print i; }'`; \
|
|
||||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
|
||||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
|
||||||
|
|
||||||
mostlyclean-tags:
|
|
||||||
|
|
||||||
clean-tags:
|
|
||||||
|
|
||||||
distclean-tags:
|
|
||||||
-rm -f TAGS ID
|
|
||||||
|
|
||||||
maintainer-clean-tags:
|
|
||||||
|
|
||||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
|
||||||
|
|
||||||
subdir = test
|
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
|
||||||
here=`cd $(top_builddir) && pwd`; \
|
|
||||||
top_distdir=`cd $(top_distdir) && pwd`; \
|
|
||||||
distdir=`cd $(distdir) && pwd`; \
|
|
||||||
cd $(top_srcdir) \
|
|
||||||
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu test/Makefile
|
|
||||||
@for file in $(DISTFILES); do \
|
|
||||||
d=$(srcdir); \
|
|
||||||
if test -d $$d/$$file; then \
|
|
||||||
cp -pr $$/$$file $(distdir)/$$file; \
|
|
||||||
else \
|
|
||||||
test -f $(distdir)/$$file \
|
|
||||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
|
||||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
|
||||||
fi; \
|
|
||||||
done
|
|
||||||
|
|
||||||
DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
|
|
||||||
|
|
||||||
-include $(DEP_FILES)
|
|
||||||
|
|
||||||
mostlyclean-depend:
|
|
||||||
|
|
||||||
clean-depend:
|
|
||||||
|
|
||||||
distclean-depend:
|
|
||||||
-rm -rf .deps
|
|
||||||
|
|
||||||
maintainer-clean-depend:
|
|
||||||
|
|
||||||
%.o: %.c
|
|
||||||
@echo '$(COMPILE) -c $<'; \
|
|
||||||
$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
|
|
||||||
@-cp .deps/$(*F).pp .deps/$(*F).P; \
|
|
||||||
tr ' ' '\012' < .deps/$(*F).pp \
|
|
||||||
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
|
|
||||||
>> .deps/$(*F).P; \
|
|
||||||
rm .deps/$(*F).pp
|
|
||||||
|
|
||||||
%.lo: %.c
|
|
||||||
@echo '$(LTCOMPILE) -c $<'; \
|
|
||||||
$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
|
|
||||||
@-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
|
|
||||||
< .deps/$(*F).pp > .deps/$(*F).P; \
|
|
||||||
tr ' ' '\012' < .deps/$(*F).pp \
|
|
||||||
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
|
|
||||||
>> .deps/$(*F).P; \
|
|
||||||
rm -f .deps/$(*F).pp
|
|
||||||
|
|
||||||
%.o: %.cc
|
|
||||||
@echo '$(CXXCOMPILE) -c $<'; \
|
|
||||||
$(CXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
|
|
||||||
@-cp .deps/$(*F).pp .deps/$(*F).P; \
|
|
||||||
tr ' ' '\012' < .deps/$(*F).pp \
|
|
||||||
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
|
|
||||||
>> .deps/$(*F).P; \
|
|
||||||
rm .deps/$(*F).pp
|
|
||||||
|
|
||||||
%.lo: %.cc
|
|
||||||
@echo '$(LTCXXCOMPILE) -c $<'; \
|
|
||||||
$(LTCXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
|
|
||||||
@-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
|
|
||||||
< .deps/$(*F).pp > .deps/$(*F).P; \
|
|
||||||
tr ' ' '\012' < .deps/$(*F).pp \
|
|
||||||
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
|
|
||||||
>> .deps/$(*F).P; \
|
|
||||||
rm -f .deps/$(*F).pp
|
|
||||||
|
|
||||||
%.o: %.cpp
|
|
||||||
@echo '$(CXXCOMPILE) -c $<'; \
|
|
||||||
$(CXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
|
|
||||||
@-cp .deps/$(*F).pp .deps/$(*F).P; \
|
|
||||||
tr ' ' '\012' < .deps/$(*F).pp \
|
|
||||||
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
|
|
||||||
>> .deps/$(*F).P; \
|
|
||||||
rm .deps/$(*F).pp
|
|
||||||
|
|
||||||
%.lo: %.cpp
|
|
||||||
@echo '$(LTCXXCOMPILE) -c $<'; \
|
|
||||||
$(LTCXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
|
|
||||||
@-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
|
|
||||||
< .deps/$(*F).pp > .deps/$(*F).P; \
|
|
||||||
tr ' ' '\012' < .deps/$(*F).pp \
|
|
||||||
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
|
|
||||||
>> .deps/$(*F).P; \
|
|
||||||
rm -f .deps/$(*F).pp
|
|
||||||
info-am:
|
|
||||||
info: info-am
|
|
||||||
dvi-am:
|
|
||||||
dvi: dvi-am
|
|
||||||
check-am: all-am
|
|
||||||
check: check-am
|
|
||||||
installcheck-am:
|
|
||||||
installcheck: installcheck-am
|
|
||||||
install-exec-am:
|
|
||||||
install-exec: install-exec-am
|
|
||||||
|
|
||||||
install-data-am:
|
|
||||||
install-data: install-data-am
|
|
||||||
|
|
||||||
install-am: all-am
|
|
||||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
|
||||||
install: install-am
|
|
||||||
uninstall-am:
|
|
||||||
uninstall: uninstall-am
|
|
||||||
all-am: Makefile $(PROGRAMS)
|
|
||||||
all-redirect: all-am
|
|
||||||
install-strip:
|
|
||||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
|
||||||
installdirs:
|
|
||||||
|
|
||||||
|
|
||||||
mostlyclean-generic:
|
|
||||||
|
|
||||||
clean-generic:
|
|
||||||
|
|
||||||
distclean-generic:
|
|
||||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
|
||||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
|
||||||
|
|
||||||
maintainer-clean-generic:
|
|
||||||
mostlyclean-am: mostlyclean-noinstPROGRAMS mostlyclean-compile \
|
|
||||||
mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
|
|
||||||
mostlyclean-generic
|
|
||||||
|
|
||||||
mostlyclean: mostlyclean-am
|
|
||||||
|
|
||||||
clean-am: clean-noinstPROGRAMS clean-compile clean-libtool clean-tags \
|
|
||||||
clean-depend clean-generic mostlyclean-am
|
|
||||||
|
|
||||||
clean: clean-am
|
|
||||||
|
|
||||||
distclean-am: distclean-noinstPROGRAMS distclean-compile \
|
|
||||||
distclean-libtool distclean-tags distclean-depend \
|
|
||||||
distclean-generic clean-am
|
|
||||||
-rm -f libtool
|
|
||||||
|
|
||||||
distclean: distclean-am
|
|
||||||
|
|
||||||
maintainer-clean-am: maintainer-clean-noinstPROGRAMS \
|
|
||||||
maintainer-clean-compile maintainer-clean-libtool \
|
|
||||||
maintainer-clean-tags maintainer-clean-depend \
|
|
||||||
maintainer-clean-generic distclean-am
|
|
||||||
@echo "This command is intended for maintainers to use;"
|
|
||||||
@echo "it deletes files that may require special tools to rebuild."
|
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
|
||||||
|
|
||||||
.PHONY: mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \
|
|
||||||
clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS \
|
|
||||||
mostlyclean-compile distclean-compile clean-compile \
|
|
||||||
maintainer-clean-compile mostlyclean-libtool distclean-libtool \
|
|
||||||
clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
|
|
||||||
distclean-tags clean-tags maintainer-clean-tags distdir \
|
|
||||||
mostlyclean-depend distclean-depend clean-depend \
|
|
||||||
maintainer-clean-depend info-am info dvi-am dvi check check-am \
|
|
||||||
installcheck-am installcheck install-exec-am install-exec \
|
|
||||||
install-data-am install-data install-am install uninstall-am uninstall \
|
|
||||||
all-redirect all-am all installdirs mostlyclean-generic \
|
|
||||||
distclean-generic clean-generic maintainer-clean-generic clean \
|
|
||||||
mostlyclean distclean maintainer-clean
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
||||||
.NOEXPORT:
|
|
||||||
|
|
@ -1,199 +0,0 @@
|
||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
||||||
<meta name="GENERATOR" content="Mozilla/4.75 [en] (X11; U; Linux 2.2.17-21mdk i686) [Netscape]">
|
|
||||||
<title>Tutorial EO</title>
|
|
||||||
</head>
|
|
||||||
<body text="#000000" link="#0000EF" vlink="#51188E" alink="#FF0000" background="beige009.jpg">
|
|
||||||
<a href="eoTopDown.html">Algorithm-Based</a> - <a href="eoBottomUp.html">Component-Based</a>
|
|
||||||
- <a href="eoProgramming.html">Programming hints</a> - <b><font face="Arial,Helvetica"><font size=+1><a href="../../doc/html/index.html">EO
|
|
||||||
documentation</a></font></font></b>
|
|
||||||
<hr WIDTH="100%">
|
|
||||||
<center><b><font color="#FF0000">Welcome to EO, the Evolving Objects library,
|
|
||||||
and to</font></b>
|
|
||||||
<b><font color="#FF0000"></font></b>
|
|
||||||
<h1>
|
|
||||||
<font color="#FF0000">EO Tutorial</font></h1></center>
|
|
||||||
|
|
||||||
<center><font color="#FF0000">Version 0.92 - Jan. 5 2001</font></center>
|
|
||||||
|
|
||||||
<p>The short term idea of this tutorial is to help you <font color="#FF6600">build
|
|
||||||
your own Evolutionary Algorithms</font> using EO - while the long term
|
|
||||||
idea is that you will be able to contribute to EO, and ultimately write
|
|
||||||
<font color="#FF6600">our</font>
|
|
||||||
EAs :-)
|
|
||||||
<h3>
|
|
||||||
|
|
||||||
<hr WIDTH="100%"><b><font color="#000099"><font size=+2>About this tutorial</font></font></b></h3>
|
|
||||||
This tutorial can be used in 2 different ways: algorithm-based and component-based.
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="eoTopDown.html">Algorithm-Based</a> means you start from a <font color="#FF6600">very
|
|
||||||
simple, ready-to-run algorithm,</font> and gradually modify it, making
|
|
||||||
it both more powerful and more complex.</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="eoBottomUp.html">Component-Based</a> means you start by examining
|
|
||||||
the
|
|
||||||
<font color="#FF6600">components of an EA one by one</font>, down to
|
|
||||||
the level of complexity you feel comfortable with, and then build the whole
|
|
||||||
algorithm using those components you need (or the one you are mastering).
|
|
||||||
Such approach might be viewed as going through a simplified user guide,
|
|
||||||
too.</li>
|
|
||||||
</ul>
|
|
||||||
However, it is <b><font color="#FF6600">strongly recommended</font></b>
|
|
||||||
that you take some time on the first lesson of the Algorithm-Based approach
|
|
||||||
to get familiar with the basic concepts that are used throughout EO. Anyway,
|
|
||||||
as of today, December 19, the Component-Based is only very sparsely written
|
|
||||||
:-)
|
|
||||||
<p>
|
|
||||||
<hr WIDTH="100%"><b><font color="#000099"><font size=+2>Links and Related
|
|
||||||
documents</font></font></b>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
There are of course a few (very few) <a href="eoProgramming.html">programming
|
|
||||||
hints</a> that you should know.</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
THe <a href="../../doc/html/index.html">EO documentation </a>- automatically
|
|
||||||
generated from the comments in the code - is very helpful to get an idea
|
|
||||||
of the <b><font color="#FF6600">inheritance diagrams</font></b> of EO classes,
|
|
||||||
and to quickly reach some specific part of the code.</li>
|
|
||||||
|
|
||||||
<br>The top page of each class documentation is for instance the inheritance
|
|
||||||
diagram of the class, and you'll learn a lot by simply looking at it.
|
|
||||||
<li>
|
|
||||||
And, last but not least, we assume you know approximately that an Evolutionary
|
|
||||||
Algorithm looks like this, but otherwise you can try this <a href="eoIntroEA.html">very
|
|
||||||
brief introduction</a> (not written yet, Jan. 2001, sorry).</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p><br>
|
|
||||||
<hr WIDTH="100%"><b><font color="#000099"><font size=+2>Colors and navigation:</font></font></b>
|
|
||||||
<p>You will see this diagram in quite many places, as for instance at the
|
|
||||||
top of all examples - usually it will be clickable and will help you navigate
|
|
||||||
among the different parts of an EO program. See the <a href="eoIntroEA.html">brief
|
|
||||||
introduction to Evolutionary Computation</a> for a detailed explanation.
|
|
||||||
<center>
|
|
||||||
<p><img SRC="EA_tutorial.jpg" ></center>
|
|
||||||
<a NAME="colors"></a>
|
|
||||||
<p>But in the text itself, <b><font color="#FF6600">colors are important</font></b>,
|
|
||||||
as they will be used throughout this tutorial to clearly mark which part
|
|
||||||
of the algorithm we are discussing. So please keep in mind that, whereas
|
|
||||||
<b><font color="#FF6600">orange
|
|
||||||
is for emphasis</font></b>,
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<b><font color="#999900">Yellowish</font></b> is for <b><font color="#999900">representation</font></b>,
|
|
||||||
i.e. the choice of the <b><font color="#999900">genotype</font></b></li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<font color="#CC33CC">Magenta</font> is for the <font color="#CC33CC">stochastic
|
|
||||||
operators</font> that are <b><font color="#999900">representation-dependent</font>,</b>
|
|
||||||
i.e. <font color="#CC33CC">initialisation</font> and variation operators
|
|
||||||
(<font color="#CC33CC">crossover</font>, <font color="#CC33CC">mutation</font>
|
|
||||||
and the like).</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<font color="#009900">Green</font> is for the implementation of <font color="#009900">Darwinism</font>,
|
|
||||||
i.e. the way the individuals are <font color="#009900">selected</font>
|
|
||||||
for reproduction and <font color="#009900">survive.</font></li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<font color="#CC0000">Red</font> is for evaluation, i.e. the computation
|
|
||||||
of the <font color="#CC0000">fitness</font> of all individuals</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<font color="#3366FF">Blue</font> is for interactions of the user and the
|
|
||||||
program, as for instance choice of <font color="#3366FF">stopping criterion</font>,
|
|
||||||
on-line display of nice <font color="#3366FF">statistics</font> or initial
|
|
||||||
<font color="#3366FF">choice
|
|
||||||
of all program parameters</font>.</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<font color="#993300">Brown</font> is for everything that is NOT part of
|
|
||||||
any of the above, i.e. random number generator, or basic C++/STL syntax
|
|
||||||
.</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
Note that <font color="#FF6666">pink</font> will be used to describe the
|
|
||||||
syntax of compile orders (i.e. at the operating system level, see e.g.
|
|
||||||
<a href="#install">below</a>).</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<b><font face="Arial,Helvetica"><font size=+1>Last, but not least, all
|
|
||||||
links into EO documentation will use the Helvetica typeface, like this
|
|
||||||
line you are now reading.</font></font></b></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<hr WIDTH="100%"><b><font color="#000099"><font size=+1>This tutorial is
|
|
||||||
not</font></font></b>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
A course on Evolutionary Computation. You can find such things on the Internet,
|
|
||||||
maybe you can start <a href="http://www.wi.leidenuniv.nl/~gusz/Flying_Circus/">here.</a></li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
An interface that would allow you to build your Evolutionary Programs by
|
|
||||||
a few clicks; such a thing does exist, is called <a href="http://www-rocq.inria.fr/EASEA/">EASEA</a>,
|
|
||||||
and is complementary to this tutorial as it helps the user to build some
|
|
||||||
simple EO programs from simple description. But there are things that EASEA
|
|
||||||
cannot do, and you will have to do it yourself and will need to increase
|
|
||||||
your knowledge about EO for that - hence this tutorial.</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
A coffee machine - though you might want to spend some time here when you're
|
|
||||||
tired of everything else, to improve your knowledge of EO slowly and gradually
|
|
||||||
rather than when you have something urgent to code :-)</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<hr WIDTH="100%"><a NAME="install"></a><b><font color="#000099"><font size=+1>Before
|
|
||||||
you start</font></font></b>
|
|
||||||
<p>You should of course have downloaded and installed the whole <a href="http://www.sourceforge.net/projects/eodev">EO
|
|
||||||
library</a> (how did you get this file if not???).
|
|
||||||
<br>So we'll assume that you are now in the Tutorial directory, and that
|
|
||||||
your prompt looks something like
|
|
||||||
<p><b><tt><font color="#FF6666">(myname@myhost) EOdir/Tutorial %</font></tt></b>
|
|
||||||
<p>so you should now type in
|
|
||||||
<p><b><tt><font color="#FF6666">make lesson1</font></tt></b>
|
|
||||||
<p>and see something like
|
|
||||||
<p><font face="Courier New,Courier"><font color="#000000">(myname@myhost)
|
|
||||||
EOdir/Tutorial % make lesson1</font></font>
|
|
||||||
<br><b><tt><font color="#FF6666">c++ -DPACKAGE=\"eo\" -DVERSION=\"0.9.1\"
|
|
||||||
-I. -I../../src -Wall -g -c FirstBitGA.cpp</font></tt></b>
|
|
||||||
<br><b><tt><font color="#FF6666">c++ -Wall -g -o FirstBitGA FirstBitGA.o
|
|
||||||
../../src/libeo.a ../../src/utils/libeoutils.a</font></tt></b>
|
|
||||||
<br><b><tt><font color="#FF6666">c++ -DPACKAGE=\"eo\" -DVERSION=\"0.9.1\"
|
|
||||||
-I. -I../../src -Wall -g -c FirstRealGA.cpp</font></tt></b>
|
|
||||||
<br><b><tt><font color="#FF6666">c++ -Wall -g -o FirstRealGA FirstRealGA.o
|
|
||||||
../../src/libeo.a ../../src/utils/libeoutils.a</font></tt></b>
|
|
||||||
<p>and two now executable files should have appeared in the subdirectory
|
|
||||||
Lesson1, namely <b><tt><font color="#990000">FirstBitGA</font></tt></b>
|
|
||||||
and <b><tt><font color="#990000">FirstRealGA</font></tt></b> (see <a href="eoLesson1.html">First
|
|
||||||
lesson</a> to know more about these two ready-to-run programs). If this
|
|
||||||
doesn't work, please go back to the main EO directory and run the installation
|
|
||||||
program.
|
|
||||||
<p>You should also test that you can access the EO documentation in the
|
|
||||||
menu line below: you might not need to go there immediately, but just in
|
|
||||||
case you make rapid progress ... This menu bar should be on all pages of
|
|
||||||
this tutorial, allowing you to navigate easily.
|
|
||||||
<p>Last, but not least: EO is improving only from the good will of
|
|
||||||
contributors. This is also true for this tutorial: If you find anything
|
|
||||||
that you think could be improved, you are welcome to <a href="mailto:Marc.Schoenauer@polytechnique.fr">e-mail
|
|
||||||
me</a>.
|
|
||||||
<center>
|
|
||||||
<p><font color="#000099"><font size=+2>Enjoy!
|
|
||||||
<hr WIDTH="100%"></font></font><a href="eoTopDown.html">Algorithm-Based</a>
|
|
||||||
- <a href="eoBottomUp.html">Component-Based</a> - <a href="eoProgramming.html">Programming
|
|
||||||
hints</a> -<b><font size=+1> <font face="Arial,Helvetica"><a href="../../doc/html/index.html">EO
|
|
||||||
documentation</a></font></font></b></center>
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
<address>
|
|
||||||
<a href="mailto:Marc.Schoenauer@polytechnique.fr">Marc Schoenauer</a></address>
|
|
||||||
|
|
||||||
<br><!-- Created: Mon Oct 30 07:27:13 CET 2000 --><!-- hhmts start -->Last
|
|
||||||
modified: Fri Nov 28 2000 <!-- hhmts end -->
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Reference in a new issue